深度神经网络具体的工作流程是啥样的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度神经网络具体的工作流程是啥样的?相关的知识,希望对你有一定的参考价值。
第一,深度神经网络不是黑盒,个人电脑开机直到神经网络运行在内存中的每一比特的变化都是可以很细微的观察的。没有任何神秘力量,没有超出科学解释的现象发生。第二,深度神经网络的工作方式是基于传统的电脑架构之上的,就是数据+算法。但人们确实从中窥探到了一种全新的电子大脑方式。所以目前有研究提炼一些常用神经网络算法加速硬件。微软等巨头则在开发量子计算。第三,深度神经网络是一个很初级的特征自动提取器。说初级因为简单粗暴。以前为了节约算力特征关键模型都是人工亲自设定。而现在这部分工作随着算力的提高可以自动化。所以从某种意义上来说深度神经网络也是一种自动编程机,但和人们相比,一点点小小的自动化都需要很多很多的计算力支持,这一点也不重要,重要的是,它能工作(手动英文)。那么深度神经网络究竟是什么呢?它是一个能迭代更新自己的特征提取算法。现在这个算法可是像全自动高级工厂,数据往里一丢,不得了!整个工厂里面所有机器都动了起来。没见过的小伙伴当场就被吓呆瓜了,用流行的话说叫懵住。几千只机械手把数据搬来搬去,拿出魔方一样的盒子装来装去又倒出来。整个场面就叫一个震撼。算法运行规模也更大了。
参考技术A
我用乐高做例子,不做公式罗列了。深度学习就好比用乐高搭房子。如果用基础件搭房子,我需要许多的参数,几个方块,几个圆柱,几个三角,几个环形,几个红色,几个绿色……(输入层);如果我将基础块进行简单的组合,组合成几块墙壁,几块屋顶,几块窗户和几个门…(隐含层),这时参数就比较少了,特征也很明显了,这些特征是无导师监督学习到的,而且是完备的(这些墙壁屋顶足够你搭房子用,不会出现不够用)。隐含层多了,组件也越整合,所需组件的个数也越少(特征的可描述性越强,参数越少)。这时再拿一个乐高模型给你,很快就可以通过判断有没有屋顶、窗户、墙壁和门,来断定这个模型是不是房子,而不用再去数有多少个类型的乐高基础块。与之前神经网络学习算法比较,DL的优势还在于它的特征是网络自己学习到的(无导师监督),不需要人工探索特征提取的方法,不用依赖个人的经验选取特征。它最终得到的特征空间具有理论依据,更为可靠(通过看有没有屋顶、墙壁、窗户和门判断是否是房子,比数有几块方块、几个圆柱、几个三角更可靠)。
参考技术B
所谓神经网络算法,就是对人类学习能力的一种模拟算法。理论认为人的认知模式,处事方式是存储在神经元与神经元之间的连接上的,称为“神经元连接权重”,人脑神经布局类似网状结构,神经元是网的交叉点,权重就是网的连线,这些连线有粗有细,也就是权重的大小不同。而人类的学习能力就是去不断改变权重的值,从而改变自己的认知模式和处事方式,简单的说,不同人对同一个外部事物有不同看法,就是因为同样的初始信号,在不同粗细的神经元连线放大或缩小后,变成了侧重点不同的最终信号。最开始的“感知机"只用了2层神经元,即输入层和输出层,发现很多问题无法模拟,最著名的就是“异或”问题。 后来聪明的人在输入层和输出层之间加了一层神经元叫做隐藏层,3层的神经网络已经可以模拟二维上的任意函数曲线。只不过此时对“连接权重”的训练过程就变得非常复杂,通常使用一种叫“误差反传”的计算方法。参考人脑,人脑大概有亿级层数的神经元(当然,人脑是多任务处理器集合,某些特定的任务如人脸识别,只需用到大脑的某个局部)。于是人们会猜想,更多的隐藏层是否会有更高的学习效果。事实证明的确如此,随着隐藏层数的增加,一些图片,语音的识别率越来越高。因此,就有了深度神经网络这一概念。但隐藏层数越多训练过程也越复杂,且误差会在多层传递的时候衰减,导致GradientVanish问题,最终导致训练结果收敛在局部最优或者难以收敛。后来又有聪明的人不断改进误差训练算法,神经网路的层数深度越来越大,现在最NB的是微软的“残差神经网络”,已经将隐藏层提高至152层。
以上是关于深度神经网络具体的工作流程是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章