三句版本:
就像你五岁一样:
如果您希望计算机告诉您图片中是否有总线,那么如果计算机具有正确的工具,则可能会更轻松。
因此,您的公交车检测器可能由轮式检测器(以帮助您告诉它是车辆),盒子检测器(因为公交车的形状像个大盒子)和大小检测器(以告诉您它太大而不能成为汽车)制成)。这是隐藏层的三个元素:它们不是原始图像的一部分,而是旨在帮助您识别总线的工具。
如果所有这三个检测器都打开(或者也许它们特别活跃),那么很有可能在您面前有一辆公共汽车。
神经网络之所以有用,是因为有很好的工具(例如反向传播)来构建很多检测器并将它们组合在一起。
就像你是大人一样
前馈神经网络将一系列功能应用于数据。确切的函数将取决于您使用的神经网络:最常见的是,这些函数各自计算前一层的线性变换,然后压缩非线性。有时,这些函数还会执行其他操作(例如,在示例中计算逻辑函数,或者对图像中相邻像素进行平均)。因此,不同层的角色可能取决于要计算的功能,但是我将尝试变得非常笼统。
XHÿFXHGHÿ
F(x )G(f(x ))
FG
G(f(x ))FG
具有逻辑功能的示例:
FG
第一层功能:
- 确保至少一个元素为“ TRUE”(使用OR)
- 确保它们并非全部为“ TRUE”(使用NAND)
第二层功能:
网络的输出只是第二个功能的结果。第一层将输入转换为第二层可以使用的东西,以便整个网络可以执行XOR。
图片示例:
演讲的幻灯片61(也可作为单个图像在此处获得)显示(一种可视化方式)特定神经网络中不同的隐藏层在寻找什么。
第一层寻找图像中的短边:很容易从原始像素数据中找到它们,但是它们本身对告诉您看脸,公共汽车还是大象的用处不大。
下一层构成边缘:如果底部隐藏层的边缘以某种方式组合在一起,则最左列中间的检眼器之一可能会打开。很难制作出一个能很好地从原始像素中找到如此特殊的东西的单层:与边缘像素相比,从边缘检测器中构建眼睛检测器要容易得多。
下一层将眼睛检测器和鼻子检测器组成面部。换句话说,当来自上一层的眼睛探测器和鼻子探测器以正确的模式打开时,这些指示灯将亮起。这些非常适合查找特定种类的面孔:如果其中一个或多个点亮,则您的输出层应报告存在面孔。
这是有用的,因为人脸检测器很容易在眼睛检测器和鼻子检测器中构建,但实际上很难在像素强度中构建。
因此,每一层都使您离原始像素越来越远,并且更接近最终目标(例如人脸检测或总线检测)。
回答其他各种问题
“为什么输入层中的某些层连接到隐藏层,而有些却没有呢?”
网络中断开连接的节点称为“偏置”节点。有一个非常好的解释这里。简短的答案是,它们就像回归中的截距项。
“图像示例中的“眼睛检测器”图片来自何处?”
我没有仔细检查链接到的特定图像,但总的来说,这些可视化效果显示了输入层中的一组像素,这些像素可最大化相应神经元的活动。因此,如果我们将神经元视为眼睛检测器,这就是神经元认为最像眼睛的图像。人们通常通过优化(爬山)过程找到这些像素集。
在一些使用世界上最大的神经网络的Google员工的这篇论文中,他们以这种方式以及第二种方式分别显示了“面部检测器”神经元和“猫检测器”神经元:它们还显示了激活神经网络的实际图像。神经元最强(图3,图16)。第二种方法很不错,因为它显示了网络的灵活性和非线性-这些高级“检测器”对所有这些图像都敏感,即使它们在像素级别看起来并不特别相似。
让我知道这里是否不清楚或还有其他问题。