深度学习理论篇之 (六) -- 初出茅庐的神经网络

在人工智能研究领域,Yann LeCun、Geoffrey Hinton 和 Yoshua Bengio一直被公认为深度学习三巨头。

杰弗里·埃弗里斯特·辛顿(Geoffrey Everest Hinton),计算机学家、心理学家,被称为“神经网络之父”、“深度学习鼻祖”。他研究了使用神经网络进行机器学习、记忆、感知和符号处理的方法,并在这些领域发表了超过200篇论文。他是将(Backpropagation)反向传播算法引入多层神经网络训练的学者之一,他还联合发明了波尔兹曼机(Boltzmann machine)。他对于神经网络的其它贡献包括:分散表示(distributed representation)、时延神经网络、专家混合系统(mixtures of experts)、亥姆霍兹机(Helmholtz machines)等。

1970年,Hinton在英国剑桥大学获得文学学士学位,主修实验心理学;1978年,他在爱丁堡大学获得哲学博士学位,主修人工智能。此后Hinton曾在萨塞克斯大学、加州大学圣迭戈分校、剑桥大学、卡内基梅隆大学和伦敦大学学院工作。2012年,Hinton获得了加拿大基廉奖(Killam Prizes,有“加拿大诺贝尔奖”之称的国家最高科学奖)。Hinton是机器学习领域的加拿大首席学者,是加拿大高等研究院赞助的“神经计算和自适应感知”项目的领导者,是盖茨比计算神经科学中心的创始人,目前担任多伦多大学计算机科学系教授。

2013年3月,谷歌收购 Hinton 的公司 DNNResearch 后,他便随即加入谷歌,直至目前一直在 Google Brain 中担任要职。在他的带领下,谷歌的图像识别和安卓系统音频识别的性能得到大幅度提升。他将神经网络带入到研究与应用的热潮,将“深度学习”从边缘课题变成了谷歌等互联网巨头仰赖的核心技术,并将反向传播算法应用到神经网络与深度学习。

Hinton 是鲁梅哈特奖的首位获奖者,1998年当选皇家学会会士。2005年,Hinton获得IJCAI杰出学者奖终生成就奖,同时也是2011年赫茨伯格加拿大科学和工程金奖获得者。     

深度学习理论篇之 (六) -- 初出茅庐的神经网络

前言

还记得在之前的文章中,我们学习了感知机,学习过程,梯度下降算法,而今天我们要学习的东西正是以之前的学习为基础的神经网络,神经网络是我们后期要学习的深度神经网络的开端,而深度神经网络恰恰是深度学习路上最重要的一个环节,也将是我们后期重点分享的部分,切记我们每一期的文章都不能懈怠哦。一起来走进今天的内容吧,希望不会让大家失望哦。

神经网络

深度学习理论篇之 (六) -- 初出茅庐的神经网络

提到神经网络,就不得不说到它的基本构成单元--神经元,是的,你没有听错,就是以前我们在生物学中的学习的神经元,名字一样,功能却没有生物的强大,至少单个神经元来说如此,神经网络中的神经元可以理解为我们最开始学习的感知机,一个感知机就代表了一个神经元,一个个神经元就构成了神经网络。

深度学习理论篇之 (六) -- 初出茅庐的神经网络

1.1 神经元

先来看看之前的感知机长什么样:

深度学习理论篇之 (六) -- 初出茅庐的神经网络

感知机示例图

神经元在本质上就是一个感知机,稍微有点不同的是,神经元的最后一步(step function)变成了其他的**函数,例如sigmoid,tanh,relu等等(不知道**函数是啥?不急,后期我们单独用一篇文章来学习),通过**函数,可以将神经元的前一级输出映射到我们指定的范围,而不是让输出在一个随机的不可控制的范围。

1.2 神经网络

深度学习理论篇之 (六) -- 初出茅庐的神经网络

神经网络示例图

如上图,一个较为简单的神经网络就是这样构成的,一共包括三个部分:输入层,隐藏层,输出层。而我们后期需要学习的深度神经网络和这个的区别是什么呢?答案就在一个深字上,只需要在当前神经网络的隐藏层上做文章就可以啦,将神经网络中的隐藏层进行扩增为多个隐藏层即可认为该网络为深度神经网络。图中的1-9表示为神经元,也就是说每一个神经元就相当于一个感知机,不同层之间的神经元通过权重线连接,上图展示的神经网络其实是一个全连接网络(full connected, FC),通过观察我们可以发现: 

  • 每一个神经元都与它后面一层的神经元相连接。

  • 神经网络的不同层之间都存在神经元,且通过权重线连接,统一层次之间神经元未联通,输入层负责接收数据(例如图中的x1-x3,需要注意的是这里的三个x表示每一个样本的多个属性维度,就像人一样有颜值,身高,体重等等),中间的一层叫做隐藏层,用来对数据进行高纬度的运算,通常用于特征提取,最后一层为输出层,神经网络计算后的输出数据就从这里接收,如果是做图像识别任务,输出通常为识别的对象。

  • 后一层神经元的输入为前一层神经元的输出。

深度学习理论篇之 (六) -- 初出茅庐的神经网络

1.3 神经网络的计算方式

为了方便计算,我们需要对不同层次神经元之间的权重线标识不同的符号:

深度学习理论篇之 (六) -- 初出茅庐的神经网络

如上图,这里我们仅对隐藏层神经元中的4与输出层中的8号神经元进行列权重标识,例如w41表示,4号神经元对1号神经元的权重为w41,与此类推。

定义:我们对隐藏层的4-5-6-7号神经元定义为:h4,h5,h6,h7

过程:关于神经元的输出计算过程,我们可以反向来推导,y1的输入为隐藏层4-7号神经元乘以对应的权重w相加而来,而隐藏层的输入为输入层1-3号神经元乘以对应权重而来。

计算过程:

隐藏层中第四号神经元h4的输出值为:

深度学习理论篇之 (六) -- 初出茅庐的神经网络

同样的,我们可以计算出隐藏层中的h5,h6,h7如此,我们就得到了隐藏层中的所有输出:

深度学习理论篇之 (六) -- 初出茅庐的神经网络

输出层中第8号神经元y1的输出值为:

深度学习理论篇之 (六) -- 初出茅庐的神经网络

按照上面的计算过程,我们可以得到y2的输出值,公式中f代表**函数(可以是relu,sigmoid等等),如此,输出层所有神经元计算完毕。

小结:根据以上计算过程,我们可以得到该神经网络的输出值,y1,y2,这在后期我们会称之为前向传播计算,为了简便,小编这里没有采用矩阵的形式进行公式编写,但是在神经元较多的情况下,通常采用矩阵的形式,在深度学习代码中,前向传播的公式都会以矩阵的计算形式展开,如果我们后期遇到了,小编会再次提醒大家,有了前向传播,肯定有后向传播对不对,那么后向传播到底是啥呢?我们呢可以先想一想之前我们学习训练过程的时候做了什么,学习对吧?学习啥呢?学习输入与输出之间的映射关系呢。输入与输出之间的映射关系体现在哪上面呢?从图中我们可以很清晰的看到,这种关系体现在权重w上,因此我们的反向传播其实就是学习权重w的过程,之前我们用的学习方法是什么呢?梯度下降?是的,我们后期的反向传播过程也是采用了梯度下降的方式进行w的学习(其实也叫做权重w的更新)。反向传播算法我们将在下一期的文章进行讲解,通过具体的公式,具体的数值带入进行讲解。大家可能会问神经网络的反向传播算法与感知机里面用的梯度下降算法有什么区别没呢?本质上都是采用的梯度下降算法,但是,却变得复杂了,之前学习的时候是一层w,而今天的神经我网络却是有两层w,而且还存在了**函数,一次。神经网络的反向传播算法与原始的感知机的梯度下降算法相比没有什么不同,有的仅仅是参数变得多了而已,权重更新方式都是相同的。

END

深度学习理论篇之 (六) -- 初出茅庐的神经网络

结语

今天的分享结束了,神经网络的前向计算过程比较简单,容易理解,真正的精髓却在于后期的反向传播,反向传播除了用到梯度下降算法以外,还用到了链式求导法则,希望粉丝们下去好好补补这方面的知识,以便我们的下一期文章你能够更好的理解哦。

编辑:玥怡居士|审核:小圈圈居士

深度学习理论篇之 (六) -- 初出茅庐的神经网络

IT进阶之旅

深度学习理论篇之 (六) -- 初出茅庐的神经网络

深度学习理论篇之 (六) -- 初出茅庐的神经网络

深度学习理论篇之 (六) -- 初出茅庐的神经网络

深度学习理论篇之 (五) -- 梯度下降算法的数学推导

深度学习理论篇之 (四) -- 梯度下降算法的魅力展现

深度学习理论篇之 (三) -- 感知机的横空出世

深度学习理论篇之 (六) -- 初出茅庐的神经网络

点亮在看哦~