三、深度学习
9、常见神经网络
常见的神经网络有卷积神经网络(AlexNet、VGGNet)、循环神经网络(RNN)
长短时记忆网络(LSTM)。
(1)AlexNet
AlexNet于2012年由Hinton学生Alex提出,是Lenet加宽版,包含65万神经元,5个卷积层,3个后面带有池化层,最后用了3个全连接。
Alex采用了一系列新技术,首次采用了GPU硬件加速,成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmod,成功解决了Sigmod在网络较深时的梯度弥散问题。
(2)VGGNet
又牛津大学的视觉几何组和Goole DeeoMind公司的研究院一起研发的深度卷积神经网络,它主要的共享是展示出网络的深度是算法优良性能的关键部分,导目前为止,VGGNet依然经常被用来提取图像特征。
(3)循环神经网络
a、循环神经网络的基本结构
卷积神经网络层与层之间全连接或部分连接,但每层之间的节点没有连接,因而处理序列信息CNN并不擅长,由此出现了可以处理和预测序列信息的循环神经网络。
循环网络的展开在模型训练中有重要意义,假设序列长度为N,将RNN展开后可以视为一个有N个中间层的前馈神经网络,可以用反向传播算法进行训练。
b、循环神经网络的计算
RNN可以看做同意神经网络结构(输入层-隐藏层-输出层)在时间序列上被复制多次的结果,这个被复制多次的结构称为循环体。
(4)LSTM
循环神经网络处理序列的数据效果较好,但是当序列较长时,RNN可能会丧失学习到长距离信息的能力,比如用RNN构建模型预测下一个词,当预测the clouds are in the后面是什么词时,RNN可以预测到是SKY,但如果预测 I grew up in China — I speak,后面是什么词,RNN能预测到这里是一种语言的名字,但是什么语言RNN则不能有效的预测到。
理论上,RNN可以处理这样的问题,但在时间中,即使仔细挑选参数,RNN也不能有效处理这种长期依赖问题。除此之外、RNN还很容易出现梯度消失和梯度爆炸问题。由此,Hochreiter和Schmidhuber提出了长短时记忆网络,LSTM可以解决RNN中普遍存在的长期以来问题,能有效传递和表达长时间序列中的信息并且不会导致长时间前的有效信息被忽略。