神经网络搭建的那点事

1.全连接网络
python:
nn.Linear(in, out)
在这里插入图片描述
matlab:
layer = fullyConnectedLayer(outputSize)
layer = fullyConnectedLayer(outputSize,Name,Value)
2.add和concat的区别
concat作用

concat是通道数的增加,也就是说描述图像本身的特征数(通道数)增加了,而每一特征下的信息是没有增加;横向或纵向空间上的叠加。

add作用

add为简单的像素叠加,是描述图像的特征下的信息量增多了,但是描述图像的维度本身并没有增加,只是每一维下的信息量在增加,这显然是对最终的图像的分类是有益的。

add操作经典代表网络是ResNet,concate操作经典代表网络是Inception系统网络中的Inception结构和DenseNet。

add操作相当于加入一种先验知识。我觉得也就是相当于你对原始特征进行人为的特征融合。而你选择的特征处理的操作是element-wise add。通过add操作,会得到新的特征,这个新的特征可以反映原始特征的一些特性,但是原始特征的一些信息也会在这个过程中损失。

但是concate就是将原始特征直接拼接,让网络去学习,应该如何融合特征,这个过程中信息不会损失。

add其实是concate的一种特殊情况。但是concate带来的计算量较大,在明确原始特征的关系可以使用add操作融合的话,使用add操作可以节省计算代价

直接上例子

import torch
a=torch.tensor([[1,2],[3,4]])
b=torch.tensor([[7,8],[9,10]])
c=torch.cat((a,b),0)
print(c)
d=torch.add(a,b)
print(d)

运行结果如下

#concat运行结果
tensor([[ 1,  2],
        [ 3,  4],
        [ 7,  8],
        [ 9, 10]])
#add的运行结果
tensor([[ 8, 10],
        [12, 14]])
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值