机器学习必知的八大神经网络架构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器学习必知的八年夜神经网络架构
令狐采学
为什么需要机器学习?
有些任务直接编码较为庞杂,我们不克不及处理所有的细微之处和简单编码,因此,机器学习很有需要。相反,我们向机器学习算法提供年夜量数据,让算法不竭探索数据并构建模型来解决问题。比方:在新的杂乱照明场景内,重新的角度识别三维物体;编写一个计算信用卡交易诈骗几率的法度。
机器学习办法如下:它没有为每个特定的任务编写相应的法度,而是收集年夜量事例,为给定输入指定正确输出。算法利用这些事例产生法度。该法度与手写法度不合,可能包含数百万的数据量,也适用于新事例以及训练过的数据。若数据修改,法度在新数据上训练且被更新。年夜量的计算比支付手写法度要廉价的多。
机器学习的应用如下:
1.模式识别:识别实际场景的面部或脸色、语言识别。
2.识别异常:信用卡交易顺序异常,核电厂传感器读数模式异常。
3.预测:未来股价或货币汇率,个人观影喜好。
什么是神经网络?
神经网络是一种通用机器学习模型,是一套特定的算法集,在机器学习领域掀起了一场变动,自己就是普通函数的迫近,可以应用就任何机器学习输入到输出的庞杂映射问题。一般来说,神经网络架构可分为3类:
1.前馈神经网络:是最罕见的类型,第一层为输入,最后一层为输出。如果有多个隐藏层,则称为“深度”神经网络。它能够计算出一系列事件间相似转变的变更,每层神经元的活动是下一层的非线性函数。
2.循环神经网络:各节点之间构成循环图,可以依照箭头的标的目的回到初始点。循环神经网络具有庞杂的静态,难以训练,它模拟连续数据,相当于每个时间片段具有一个隐藏层的深度网络,除在每个时间片段上使用相同的权重,也有输入。网络可以记住隐藏状态的信息,可是很难用这点来训练网络。
3.对称连接网络:和循环神经网络一样,但单位间的连接是对称的(即在两个标的目的的连接权重相同),它比循环神经网络更容易阐发,可是功能受限。没有隐藏单位的对称连接的网络被称为“Hopfiels网络”,有隐藏单位的对称连接的网络则被称为“波兹曼机器”。
一、感知机(Perceptron)
作为第一代神经网络,感知机是只有一个神经元的计算模型。首先将原始输入矢量转化为特征矢量,再用手写法度界说特征,然后学习如何对每个特征加权获得一个标量,如果标量值高于某一阈值,则认为输入矢量是目标类的一个积极样例。标准的感知机结构是前馈模型,即输入传送到节点,处理后产生输出结果:从底部输入,顶部输出,如下图所示。但也有其局限性:一旦确定了手写编码特征,在学习上就受到了较年夜限制。这对感知器来说是毁灭性的,尽管转换类似于翻译,可是模式识另外重点是识别模式。如果这些转换形成了一个组,学习的感知器部分不克不及学会识别,所以需要使用多个特征单位识别子模式的转换。
没有隐藏单位的网络在输入输出映射建模上也有很年夜局限性。增加线性单位层也解决不了,因为线性叠加依然是线性的,固定的非线性输出也不克不及建立这种映射。因此需要建立多层自适应的非线性隐藏单位。
二、卷积神经网络(Convolutional Neural Network)
一直以来,机器学习研究广泛集中在对象检测上,但仍有诸多因素使其难以
识别对象:1.对象联系、遮挡问题;2.照明影响像素强度;3.物体以各种不合的形式展现;4.相同功能的对象具有不合的物理形状;5.视觉不合带来的变更;6.维度跳跃问题。
复制特征办法是以后CNN用于目标检测的主要办法,年夜规模的复制不合位置上相同的特征检测图,年夜年夜减少了要学习的自由参数数量。它使用不合的特征类型,每种类型都有自己的复制检测图,也允许以各种方法暗示每个图像块。
CNN可用于手写数字识别到3D对象识别等,但从黑色图像中识别对象比手写数字识别要庞杂,它的类别、像素是数字的100倍(1000 vs 100,256*256黑色vs28*28灰度)。
的ILSVRC竞赛中的ImageNet提供一个包含120万张高辩白率训练图像的数据集。测试图像没有标注,参赛者需要识别图像中对象的类型。获胜者 Alex Krizhevsky开发了一个深度卷积神经网络,除一些最年夜池化层,架构还有7个隐藏层,前面都是卷积层,最后2层是全局连接。激活函数在每个隐藏层都是线性单位,比逻辑单位速度更快,还使用竞争性规范标准抑制隐藏活动,有助于强度变更。硬件上,在两个Nvidia GTX 580 GPU(超出1000个快速内核)上使用一个高效卷积网络实现,很是适合矩阵乘法,具有很高的内存带宽。
三、循环神经网络(Recurrent Neural Network)
循环神经网络(RNN)有两个强年夜的属性可以计算任何计算机计算出来的工具:(1)允许存储年夜量有效信息的散布式隐藏状态(2)用庞杂的方法允许更新隐藏状态的非线性静态。RNN强年夜的计算能力和梯度消失(或爆炸)使其很难训练。通过多层反向传播时,若权重很小,则梯度呈指数缩小;若权重很年夜,则梯度呈指数增长。典范的前馈神经网络的一些隐藏层可以应对指数效应,另一方面,在长序列RNN中,梯度容易消失(或爆照),即使有好的初始权重,也很难检测出以后依赖于多个时间输入的目标输出因此很难处理远程依赖性。
学习RNN的办法如下:
1.长短时间记忆:用具有长期记忆值的小模块制作RNN。
2.Hessian Free Optimization:使用优化器处理梯度消失问题。
3.回声状态网络:初始化输入→隐藏和隐藏→隐藏和输出→隐藏链接,使隐藏状态有一个巨年夜的弱耦合振荡器蕴藏,可以选择性的由输入驱动。
4.用动量初始化:和回声状态网络一样,再用动量学习所有连接。
长短时间记忆网络(Long/Short Term Memory Network)Hochreiter &
Schmidhuber
(1997年)构建了长短时间记忆网络,解决了获取RNN长时间记忆问题,使用乘法逻辑线性单位设计存储单位,只要坚持“写入”门掀开,信息就会写入并坚持在单位中,也可以掀开“读取”门从中获取数据。
RNN可以阅读行书,笔尖的输入坐标为(x,y,p),p代表笔是向上还是向下,输出则为一个字符序列,使用一系列小图像作为输入而不是笔坐标。Graves & Schmidhuber()称带有LSTM的RNN