当前位置: 首页 > 机器学习 > 正文

关于深度学习与多层神经网络

如果要做事,想赶快入门,速度出活,请先死记住:
深度学习=多层的神经网络
如果要写论文,要作报告,要闲聊,请坚持一个原则:
深度学习绝不仅仅是多层的神经网络


从广义上说深度学习的网络结构也是多层神经网络的一种。

传统意义上的多层神经网络是只有输入层、隐藏层、输出层。其中隐藏层的层数根据需要而定,没有明确的理论推导来说明到底多少层合适。
而深度学习中最著名的卷积神经网络CNN,在原来多层神经网络的基础上,加入了特征学习部分,这部分是模仿人脑对信号处理上的分级的。具体操作就是在原来的全连接的层前面加入了部分连接的卷积层与降维层,而且加入的是一个层级。
输入层 – 卷积层 -降维层 -卷积层 – 降维层 — …. — 隐藏层 -输出层
简单来说,原来多层神经网络做的步骤是:特征映射到值。特征是人工挑选。
深度学习做的步骤是 信号->特征->值。 特征是由网络自己选择。


为了克服神经网络中训练的问题,DL采用了很不同的训练机制。

传统神经网络中,采用的是Back propagation的方式进行,简单说来就是采用迭代的算法来训练整个网络,随机设定初值,计算当前网络的输出,然后根据当前网络输出与label之间的差值去改变前面各层的参数,直至收敛(整体上是一个梯度下降法)。

而DL整体上是一个layer-wise的训练机制。原因在于如果采用Back propagation的机制,对于一个deep network(7层以上),残差传播到最前面的层已经变得很小,会出现梯度扩散,影响精度。
另外DL第一步也不是随机初始化!而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够获得更好的效果。

总体说来,初值选取和训练机制等方面截然不同。

本文固定链接: http://sdnhub.cn/index.php/deeplearning-and-multilayer-neural-network/ | 软件定义网络SDN

该日志由 sdnhub 于2016年04月07日发表在 机器学习 分类下, 通告目前不可用,你可以至底部留下评论。
原创文章转载请注明: 关于深度学习与多层神经网络 | 软件定义网络SDN
关键字:

关于深度学习与多层神经网络:等您坐沙发呢!

发表评论

*

快捷键:Ctrl+Enter