零基础入门深度学习(3) - 神经网络和反向传播算法.pdfVIP

零基础入门深度学习(3) - 神经网络和反向传播算法.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

[关闭]

零基础入门深度学习(3)-神经网络和反向传播算法

机器学习深度学习入门

无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追

求的程序员,不懂深度学习(DeepLearning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了,《零基础入门深

度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行

了,没错,这是专门为程序员写的文章。虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看

懂的(我周围是一群狂热的CleanCode程序员,所以我写的代码也不会很差)。

文章列表

零基础入门深度学习(1)-感知器

零基础入门深度学习(2)-线性单元和梯度下降

零基础入门深度学习(3)-神经网络和反向传播算法

零基础入门深度学习(4)-卷积神经网络

零基础入门深度学习(5)-循环神经网络

零基础入门深度学习(6)-长短时记忆网络(LSTM)

零基础入门深度学习(7)-递归神经网络

往期回顾

在上一篇文章中,我们已经掌握了机器学习的基本套路,对模型、目标函数、优化算法这些概念有了一定程度的理解,而且已经会训练单个

的感知器或者线性单元了。在这篇文章中,我们将把这些单独的单元按照一定的规则相互连接在一起形成神经网络,从而奇迹般的获得了强

大的学习能力。我们还将介绍这种网络的训练算法:反向传播算法。最后,我们依然用代码实现一个神经网络。如果您能坚持到本文的结

尾,将会看到我们用自己实现的神经网络去识别手写数字。现在请做好准备,您即将双手触及到深度学习的大门。

神经元

神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数是阶跃函数;而当我们说神经元时,激活函数往往选择为

sigmoid函数或tanh函数。如下图所示:

计算一个神经元的输出的方法和计算一个感知器的输出是一样的。假设神经元的输入是向量,权重向量是(偏置项是),激活函数是

sigmoid函数,则其输出:

sigmoid函数的定义如下:

将其带入前面的式子,得到

sigmoid函数是一个非线性函数,值域是(0,1)。函数图像如下图所示

sigmoid函数的导数是:

可以看到,sigmoid函数的导数非常有趣,它可以用sigmoid函数自身来表示。这样,一旦计算出sigmoid函数的值,计算它的导数的值就非常

方便。

神经网络是啥

神经网络其实就是按照一定规则连接起来的多个神经元。上图展示了一个全连接(fullconnected,FC)神经网络,通过观察上面的图,

我们可以发现它的规则包括:

神经元按照层来布局。最左边的层叫做输入层,负责接收输入数据;最右边的层叫输出层,我们可以从这层获取神经网络输出数据。

输入层和输出层之间的层叫做隐藏层,因为它们对于外部来说是不可见的。

同一层的神经元之间没有连接。

第N层的每个神经元和第N-1层的所有神经元相连(这就是fullconnected的含义),第N-1层神经元的输出就是第N层神经元的输入。

每个连接都有一个权值。

上面这些规则定义了全连接神经网络的结构。事实上还存在很多其它结构的神经网络,比如卷积神经网络(CNN)、循环神经网络(RNN),他们

都具有不同的连接规则。

计算神经网络的输出

神经网络实际上就是一个输入向量到输出向量的函数,即:

根据输入计算神经网络的输出,需要首先将输入向量的每个元素的值赋给神经网络的输入层的对应神经元,然后根据式1依次向前计算每

一层的每个神经元的值,直到最后一层输出层的所有神经元的值计算完毕。最后,将输出层每个神经元的值串在一起就得到了输出向量。

接下来举一个例子来说明这个过程,我们先给神经网络的每个单元写上编号。

如上图,输入层有三个节点,我们将其依次编号为1、2、3;隐藏层的4个节点,编号依次为4、5、6、7;最后输出层的两个节点编号为8、

9。因为我们这个神经网络是全连接网络,所以可以看到每个节点都和上一层的所有节点有连接。比如,我们可以看到隐藏层的节点4,它

和输入层的三个节点1、2、3之间都有连接,其连

文档评论(0)

138****1516 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档