DNN是指深度神经网路算法,是近几年在工业界和学术界新型的一个机器学习领域的流行话题。DNN算法成功的将以往的识别率提高了一个显着的档次。
基本介绍
- 中文名:深度神经网路
- 外文名:Deep Neural Network
深度神经网路算法,近几年在工业界和学术界新型的一个机器学习领域的流行话题。DNN算法成功的将以往的识别率提高了一个显着的档次。
人工神经网路起源于上世纪40年代,第一个神经元模型是1943年McCulloch和Pitts提出的,称为threshold logic,它可以实现一些逻辑运算的功能。自此以后,神经网路的研究分化为两个方向,一个专注于生物信息处理的过程,称为生物神经网路;一个专注于工程套用,称为人工神经网路。
直到2006年深度网路(deep network)和深度学习(deep learning)概念的提出,神经网路又开始焕发一轮新的生命。深度网路,从字面上理解就是深层次的神经网路。至于为什幺不沿用以前的术语“多层神经网路”,个人猜测可能是为了与以前的神经网路相区分,表示这是一个新的概念。这个名词由多伦多大学的Geoff Hinton研究组于2006年创造[3]。事实上,Hinton研究组提出的这个深度网路从结构上讲与传统的多层感知机没有什幺不同,并且在做有监督学习时算法也是一样的。唯一的不同是这个网路在做有监督学习前要先做非监督学习,然后将非监督学习学到的权值当作有监督学习的初值进行训练。这个改变其实对应着一个合理的假设。我们用P(x)表示用无监督学习对网路进行预训练得到的数据的一种表示,然后用有监督学习对网路进行训练(如BP算法),得到P(Y|X),其中Y为输出(比如类别标籤)。该假设认为P(X)的学习有助于P(Y|X)的学习。这种学习思路相对于单纯的有监督学习而言有助于降低过拟合的风险,因为它不仅学习了条件机率分布P(Y|X),还学习了X和Y的联合机率分布。关于预训练有助于深度学习的原因还有其他解释,其中最直接的解释是预训练将网路参数训练到一组合适的初始值,从这组初始值出发会令代价函式达到一个更低的值,但Erhan等人的实验证明并不一定是这样的。