神经网络的每一层都是干嘛的?这才是神经网络结构的核心

 神经网络层才是神经网络的核心,不同的神经网络的差别就在于神经网络层的不同 



在前面的文章中介绍过,组成一个神经网络从技术上来说主要有以下几个部分:


  • 数据集

  • 神经网络结构

  • 损失函数

  • 优化函数

  • 反向传播


而不同神经网络模型之间最主要的区别就是神经网络结构的异同,当然最相似的地方也是神经网络结构。


原因就在于神经网络结构是由多个神经网络层所组成的;而使用不同的层就实现了不同功能的神经网络模型。





神经网络的层




一个神经网络是由多种神经网络层所组成的,而每个神经网络层实现不同的功能;然后由此组成神经网络模型。


抛开具体的神经网络结构来说,我们大概听说过一些神经网络层;比如,输入层,输出层,全连接层,卷积层,激活层,池化层等等。


当然,有些网络层只针对特定的神经网络结构;比如卷积层就只针对卷积神经网络;而全连接层基本上在所有神经网络结构中都扮演着重要角色,全连接层的作用就是将上一层的所有神经元与当前层所有神经元进行连接,进行线性变换和非线性激活。




比如,在分类任务中,最后一层全连接层通常输出类别的概率分布。


在众多的网络层中,输入层与输出层属于比较特殊的层;因为其需要与外界环境进行交互;输入层需要接受外界数据的输入,而输出层需要输出数据到外界环境,因此会对数据格式有特定的要求。




还有一点比较特殊的就是,输入层不会对数据做任何处理;它的主要任务就是接受数据输入,并传递到下一层;而输出层一般是网络结构中的最后一层作为输出层。


从本质上来说,神经网络模型就是一个复杂的数学函数;因此,每个神经网络层的作用就是进行数学计算。



而以具体的神经网络结构来说,如Transformer神经网络架构;主要由编码器和解码器组成,而每个编码器和解码器都是由多个神经网络层所组成。




比如从Transformer的经典架构图中可以看到,一个编码器器是由一个多头注意力层,两个残差连接归一化层和一个前馈神经网络组成;而解码器比编码器多了一个多头注意力层。


其它神经网络层还有归一化层(normalization layer),如Transformer中的编码器和解码器都有归一化层的存在;其它还有Dropout层等,为了防止过拟合现象,会随机丢弃一部分神经元。


因此,我们在学习神经网络技术的过程中,不要一上来就去研究那些复杂的神经网络架构;而应该从最简单的神经网络结构开始,去弄明白每个神经网络层都具有哪些功能,以及其每个层的作用是什么;等把这些问题给弄明白了,那么自然就知道怎么去实现一个能解决特定问题的神经网络模型了。








(文:AI探索时代)

欢迎分享

发表评论