nn.Bilinear介绍和原理

部署运行你感兴趣的模型镜像

nn.Linear

回归nn.Linear,线性变换,数学计算公式是: y = x A T + b y = xA^{T} + b y=xAT+b。神经网络的全连接层可以调用实现
在这里插入图片描述

nn.Bilinear双线性变换层

也归属Linear Layers。torch官网的介绍如下:
在这里插入图片描述
数学计算公式为 y = x 1 T A x 2 + b y = x_{1}^{T}Ax_{2} +b y=x1TAx2+b。双线性变换在一些深度学习模型中被用来捕获输入之间的双线性关系,尤其在某些图像处理任务和多模态学习任务中非常有用。

示例

input1 = torch.tensor([[1.0, 2.0, 3.0, 4.0, 5.0]])
# input2 = torch.tensor([[1.0, 2.0, 3.0, 4.0]])
input2 = torch.tensor([[5.0, 4.0, 3.0, 2.0]])
# 定义双线性层
bilinear = torch.nn.Bilinear(5, 4, 1)
# 初始化权重和偏置
bilinear.weight.data = torch.ones(1, 5, 4) # 注意到权重是三维的
bilinear.bias.data = torch.zeros(1)
# 前向传播
output = bilinear(input1, input2)
print(f'输出分数为:{output}')

pytorch中的nn.Bilinear的计算原理详解

您可能感兴趣的与本文相关的镜像

PyTorch 2.7

PyTorch 2.7

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

所谓远行Misnearch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值