图解3种常见的深度学习网络结构:FC、CNN、RNN
导读:深度学习可以应用在各大领域中,根据应用情况的不同,深度神经网络的形态也各不相同。
常见的深度学习模型主要有全连接(Fully Connected,FC)网络结构、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)。
它们均有着自身的特点,在不同的场景中发挥着重要作用。本文将为读者介绍三种模型的基本概念以及它们各自适用的场景。
01 全连接网络结构
全连接(FC)网络结构是最基本的神经网络/深度神经网络层,全连接层的每一个节点都与上一层的所有节点相连。
全连接层在早期主要用于对提取的特征进行分类,然而由于全连接层所有的输出与输入都是相连的,一般全连接层的参数是最多的,这需要相当数量的存储和计算空间。
参数的冗余问题使单纯的FC组成的常规神经网络很少会被应用于较为复杂的场景中。常规神经网络一般用于依赖所有特征的简单场景,比如说房价预测模型和在线广告推荐模型使用的都是相对标准的全连接神经网络。FC组成的常规神经网络的具体形式如图2-7所示。
▲图2-7 FC组成的常规神经网络
02 卷积神经网络
卷积神经网络(CNN)是一种专门用来处理具有类似网格结构的数据的神经网络,如图像数据(可以看作二维的像素网格)。与FC不同的地方在于,CNN的上下层神经元并不都能直接连接,而是通过“卷积核”作为中介,通过“核”的共享大大减少了隐藏层的参数。
简单的CNN是一系列层,并且每个层都通过一个可微函数将一个量转化为另一个量,这些层主要包括卷积层(Convolutional Layer)、池化层(Pooling Layer)和全连接层(FC Layer)。
卷积网络在诸多应用领域都有很好的应用效果,特别是在大型图像处理的场景中表现得格外出色。图2-8展示了CNN的结构形式,一个神经元以三维排列组成卷积神经网络(宽度、高度和深度),如其中一个层展示的那样,CNN的每一层都将3D的输入量转化成3D的输出量。
▲图2-8 CNN的结构形式
03 循环神经网络
循环神经网络(RNN)也是常用的深度学习模型之一(如图2-9所示),就像CNN是专门用于处理网格化数据(如一个图像)的神经网络,RNN是一种用于处理序列数据的神经网络。
如音频中含有时间成分,因此音频可以被表示为一维时间序列;语言中的单词都是逐个出现的,因此语言的表示方式也是序列数据。RNN在机器翻译、语音识别等领域中均有非常好的表现。
▲图2-9 简单的RNN结构