用三张图理解深度学习的工作原理

用三张图理解深度学习的工作原理

 

https://www.toutiao.com/a6627243294743069192/

 

豆瓣评分 10.0 的经典书籍

● Keras之父、Google人工智能研究员François Chollet执笔,深度学习领域力作

● 通俗易懂,帮助读者建立关于机器学习和深度学习核心思想的直觉

● 16开全彩印刷

下文节选自《Python深度学习》, 已获人邮图灵授权许可, [遇见数学] 特此表示感谢!

 

1.1.5 用三张图理解深度学习的工作原理

现在你已经知道,机器学习是将输入(比如图像)映射到目标(比如标签“猫”),这一过程是通过观察许多输入和目标的示例来完成的。你还知道,深度神经网络通过一系列简单的数据变换(层)来实现这种输入到目标的映射,而这些数据变换都是通过观察示例学习到的。下面来具体看一下这种学习过程是如何发生的。

 

神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一串数字。用术语来说,每层实现的变换由其权重来参数化(parameterize,见图 1-7)。权重有时也被称为该层的参数(parameter)。在这种语境下,学习的意思是为神经网络的所有层找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。但重点来了:一个深度神经网络可能包含数千万个参数。找到所有参数的正确取值可能是一项非常艰巨的任务,特别是考虑到修改某个参数值将会影响其他所有参数的行为。

图 1-7 神经网络是由其权重来参数化

 

想要控制一件事物,首先需要能够观察它。想要控制神经网络的输出,就需要能够衡量该输出与预期值之间的距离。这是神经网络损失函数(loss function)的任务,该函数也叫目标函数(objective function)。损失函数的输入是网络预测值与真实目标值(即你希望网络输出的结果),然后计算一个距离值,衡量该网络在这个示例上的效果好坏(见图 1-8)。

图 1-8 损失函数用来衡量网络输出结果的质量

 

深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值(见图 1-9)。这种调节由优化器(optimizer)来完成,它实现了所谓的反向传播(backpropagation)算法,这是深度学习的核心算法。下一章中会详细地解释反向传播的工作原理。

图 1-9 将损失值作为反馈信号来调节权重

 

一开始对神经网络的权重随机赋值,因此网络只是实现了一系列随机变换。其输出结果自然也和理想值相去甚远,相应地,损失值也很高。但随着网络处理的示例越来越多,权重值也在向正确的方向逐步微调,损失值也逐渐降低。这就是训练循环(training loop),将这种循环重复足够多的次数(通常对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小。具有最小损失的网络,其输出值与目标值尽可能地接近,这就是训练好的网络。再次强调,这是一个简单的机制,一旦具有足够大的规模,将会产生魔法般的效果。

 

虽然深度学习是机器学习一个相当有年头的分支领域,但在 21 世纪前十年才崛起。在随后的几年里,它在实践中取得了革命性进展,在视觉和听觉等感知问题上取得了令人瞩目的成果,而这些问题所涉及的技术,在人类看来是非常自然、非常直观的,但长期以来却一直是机器难以解决的。

 

1.1.6 深度学习已经取得的进展

特别要强调的是,深度学习已经取得了以下突破,它们都是机器学习历史上非常困难的领域:

  • 接近人类水平的图像分类
  • 接近人类水平的语音识别
  • 接近人类水平的手写文字转录
  • 更好的机器翻译
  • 更好的文本到语音转换
  • 数字助理,比如谷歌即时(Google Now)和亚马逊 Alexa
  • 接近人类水平的自动驾驶
  • 更好的广告定向投放,Google、百度、必应都在使用
  • 更好的网络搜索结果
  • 能够回答用自然语言提出的问题
  • 在围棋上战胜人类

 

我们仍然在探索深度学习能力的边界。我们已经开始将其应用于机器感知和自然语言理解之外的各种问题,比如形式推理。如果能够成功的话,这可能预示着深度学习将能够协助人类进行科学研究、软件开发等活动。

 

 

猜你喜欢

转载自blog.csdn.net/weixin_42137700/article/details/85043568