这样:
每个神经元都收到上一层神经元传来的信号
每个信号都乘上了一个权重
加权后的输入值加总起来,通过一个限制的功能,将输出值的范围缩小为一个固定范围。
通过限制器后的输出值继而向下一层的所有神经元传播
人工神经网络最常见的学习算法叫做反向传播(Back Propagation,简称BP),即「误差反向传播」。为了利用神经网络,我们给第一层施加输入值,让信号通过网络传播,读取输出。一个BP网络通过例子学习,也就是说,我们必须提供一套学习模式,由一些输入值和已知的正确输出值组成。这样,我们将这些输入-输出的例子展示给网络,告诉它哪些行为是我们期望得到的。BP算法通过网络反向传播误差值,调整权重值,并以此让网络适应。这些神经元的每个链接都有着独一无二的权重值。网络的「智能」就隐藏于权重的值中。随着每个误差迭代返回,权重以此得到调整。每个案例中整个过程都在重复。因此,为了检测目标函数,程序员将会通过迅速发送许多包含目标的数字化数据版本(例如图片)来训练网络。如果网络没有准确识别一个具体的模式,权重就会被调整。训练的最终目的是去让网络能始终如一地识别我们能够识别的模式(例如猫咪)。
深度学习如何帮助解决直觉问题?
深度学习的总体目标还是要去解决一个「直觉」问题,也就是以高维度和无规则为特征的问题。前文介绍的机制展示了一个基于有限神经元模型的监督式学习算法——但是我们需要理解更多。
深度学习让计算机解决直觉问题,这是因为:
有了深度学习,计算机可以不仅从经验中学习,还可以根据概念的层级结构来理解世界——这个层级结构中,每个概念都由更简单的概念来定义。
概念的层级结构是通过解决「表示问题」而「自下而上」地构建,并没有提前定义好的规则。
这与孩子们学习「狗狗是什么」的方式相似,通过理解概念中的一个组成部分,如行为(例如狗吠),脑袋的形状,尾巴,皮毛等等,继而将这些概念组成为一个更大的概念,也就是狗本身。
(知识)表征问题在计算机科学中是一个重复出现的主题。
知识表征与心理学中的理论相结合,后者主要研究理解人们如何解决问题,以及表征知识。这个想法是:如果像人类一样,计算机可以从经验中整合知识,它就不再需要人类操作者正式指定解决问题所需的所有知识。
对于计算机来说,表征的选择对机器学习算法的成果有着巨大的影响。例如,基于音调的高低可以知道讲话者是一个男人、女人还是孩子。然而,对于很多应用来说,知道哪些特征表示着准确的信息并不容易。例如,在检测汽车图像中,轮子应该是圆形的——但是实际上轮子的照片有着很多不同的部分(例如金属部分)。因此,表征学习的概念就是要同时找到映射与表征。
如果我们能够自动(即没有人类的干预)找到知识的表征和它们的映射,我们就有了一个灵活的设计去解决直觉问题。我们可以适应新的任务,甚至可以不需观察就可以产生新见解。举个例子,基于音调的高低我们可以知道其主人的口音,从而了解种族。这种机制是自我学习。深度学习最适用于数据庞大、参数之间关系复杂的环境。训练一个神经网络涉及重复地向它展示:「给定一个输入,就会有一个正确的输出」。如果这个过程被进行了足够多次,这个网络就拥有了有效的训练,它就能模仿出你所模拟的方程。它会忽视与解无关的输入。但反过来,如果你没有给出关键性的输入,它就无法给出一个正确的解。这种模型可以应用于很多情况,如以下所给出的简单案例。
多层学习的案例
深度学习涉及到通过神经层学习,让计算机能够基于简单概念构建起复杂概念的层级结构。这种方法对很难表达的主观与直觉问题很有用。
来看看图像数据吧。计算机无法理解像素集合的意义。从一组像素中映射出复杂的目标函数,是非常困难的事。