《Neural Networks and Deep Learning》(1)

感知机 感知器在 20 世纪五、六⼗年代由科学家Frank Rosenblatt 发明,其受到Warren McCulloch 和Walter Pitts 早期
的⼯作的影响。 “感知机”属于人工神经元 今天,使用其它人工神经元模型更为普遍 在这本书中,以及更多现代的神 经⽹络⼯作中,主要使⽤的是⼀种叫做 S 型神经元 的神经元模型。 引入权重, 感知器: 依据权重来作出决定的设备 随着权重和阈值的变化,你可以得到不同的决策模型 多个感知器输出箭头仅仅便于说明⼀个感 知器的输出被⽤于其它感知器的输⼊ 其结果是我们可以设计学习算法,能够⾃动调整⼈ ⼯神经元的权重和偏置。 这种调整可以响应外部的刺激,⽽不需要⼀个程序员的直接⼲预 S型神经元 Q: 为什么引入 S型神经元? A:问题在于当我们的⽹络包含感知器时这不会发⽣。 实际上,⽹络中单个感知器上⼀个权重或 偏置的微⼩改动有时候会引起那个感知器的输出完全翻转, 如 0 变到 1。那样的翻转可能接下来 引起 其余⽹络的⾏为以极其复杂的⽅式完全改变。因此,虽然你的“9”可能被正确分类,⽹络 在其它图像上的⾏为很可能以⼀些很难控制的⽅式被完全改变。这使得逐步修改权重和偏置来 让⽹络接近期望⾏为变得困难。也许有其它聪明的⽅式来解决这个问题。但是这不是显⽽易⻅
地能让⼀个感知器⽹络去学习。 我们可以引⼊⼀种称为 S 型神经元的新的⼈⼯神经元来克服这个问题。 S 型神经元和感知器 类似,但是被修改为权重和偏置的微⼩改动 只引起输出的微⼩变化 。 这对于让神经元⽹络学习起来是很关键的。 σ 的代数形式⼜是什么?我们怎样去理解它呢?实际上,σ 的精确形式不重要——重要的是 这个函数绘制的形状。是这样: 图 sigmoid function 顺便提⼀下,σ 有时被称为 逻辑函数 ,⽽这种新的神经元类型被称为 逻辑神经元 。既然这些术语被很多从事于神 经元⽹络的⼈使⽤,记住它是有⽤的。然⽽,我们将继续使⽤ S 型这个术语。 这个形状是 阶跃函数 平滑后的版本: 图 step function Q: 我们应该如何解释⼀个S型神经元的输出呢? A: 很明显,感知器和S型神经元之间⼀个很⼤的 不同是S型神经元不仅仅输出 0 或 1。 神经⽹络的架构 中间层,既然这层中的神经元 既不是输⼊也不是输出 ,则被称为 隐藏 层。 有些令⼈困惑的是,由于历史的原因,尽管是由 S 型神经元⽽不是感知器构成,这种 多层⽹络 有时被称为 多层感知器 或者 MLP 。在这本书中我不会使⽤MLP这个术语,因为我认为这会引起混淆,但这⾥想提醒你它的存在。 ​ 设计⽹络的输⼊输出层通常是⽐较直接的。例如,假设我们尝试确定⼀张⼿写数字的图像上 是否写的是“9”。很⾃然地,我们可以将图⽚像素的强度进⾏编码作为输⼊神经元来设计⽹络。 如果图像是⼀个 64 × 64 的灰度图像,那么我们会需要 4096 = 64 × 64 个输⼊神经元,每个强度 取 0 和 1 之间合适的值。 输出层只需要包含⼀个神经元 ,当输出值⼩于 0.5 时表⽰“输⼊图像不
是⼀个 9”,⼤于 0.5 的值表⽰“输⼊图像是⼀个 9”。 ​ ⽬前为⽌,我们讨论的神经⽹络,都是 以上⼀层的输出作为下⼀层的输⼊ 。这种⽹络被称为 前馈神经⽹络 。这意味着⽹络中是没有回路的——信息总是向前传播,从不反向回馈。如果确 实有回路,我们最终会有这样的情况:σ 函数的输⼊依赖于输出。这将难于理解,所以我们不允许这样的环路。 ​ 然⽽,也有⼀些⼈⼯神经⽹络的模型,其中 反馈环路是可⾏的 。这些模型被称为 递归神经⽹ 络 。这种模型的设计思想, 是具有休眠前会在⼀段有限的时间内保持激活状态的神经元 。这种 激活状态可以刺激其它神经元,使其随后被激活并同样保持⼀段有限的时间。 这样会导致更多 的神经元被激活,随着时间的推移,我们得到⼀个级联的神经元激活系统。因为⼀个神经元的输出只在⼀段时间后⽽不是即刻影响它的输⼊, 在这个模型中回路并不会引起问题。 Q&A 补充 参考 感谢帮助! Another Chinese Translation of Neural Networks and Deep Learning