【深度学习】全连接网络

1.全连接网络

全连接神经网络(Fully Connected Netural Network,FCN),是一种连接方式较为简单的人工神经网络结构,属于前馈神经网络的一种,只要有输入层、隐藏层和输出层构成,并且在每个隐藏层中可以有多个神经元。多层感知机(MLP, Multi-Layer Perceptron),也叫人工神经网络(ANN,Artificial Neural Network)就属于是全连接网络,MLP 网络是可以应用于几乎所有任务的多功能学习方法,包括分类、回归,甚至是无监督学习。
在这里插入图片描述

2.全连接是如何实现的

大家都知道全连接是输入层的每个参数都参与了输出层每个参数的计算。但具体是如何实现的呢?

总结来说:是用和输入层同样大小同样通道数的卷积来实现的。

举例来说:

在这里插入图片描述

  • 全连接把卷积输出的二维特征图(feature map)转化成一个一维向量,也就是说:最后的两列小圆球就是两个全连接层,在最后一层卷积结束后,又进行了一次池化操作,输出了20个12x12的图像(20指最后一层的厚度),然后通过了一个全连接层变成了1x100的向量(第一个全连接层神经元的个数是100)

怎么做到的?

  • 该操作其实就是用100个20x12x12的卷积核卷积出来的,对于输入的每一张特征图,都使用一个和图像大小一样的核卷积进行卷积运算,这样整幅图就变成了一个数了,如果厚度是20就是那20个核卷积完了之后相加求和。这样就能把一张图高度浓缩成一个数了。
  • 但是全连接的参数实在是太多了,你想这张图里就有20个12x12x100个参数,前面随便一层卷积,假设卷积核是7*7的,厚度是64,那也才7x7x64,所以现在的趋势是尽量避免全连接,目前主流的一个方法是全局平均池化(GlobalAveragePooling)。也就是最后那一层的feature map(最后一层卷积的输出结果),直接求平均值。有多少种分类就训练多少层,这十个数字就是对应的概率。

3.全连接代码实现

import torch.nn as nn
fc1 = nn.Linear(320, 50) #输入320维,输出50维的全连接网络

参考资料:

  • https://blog.csdn.net/gongliming_/article/details/89634243
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

繁星知微

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

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

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

打赏作者

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

抵扣说明:

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

余额充值