但最终的结果是,如果我们把一幅图像的像素值集合输入这个函数,就会得出一个数字,指
定我们的图像是哪个数字。稍后,我们将讨论如何构建这样一个函数,以及神经网络的概
念。但现在让我们把这个函数当作黑匣子,我们输入例如手写数字的图像(作为像素值的阵
列),然后我们得到这些数字对应的数字:
但这里到底发生了什么?比方说,我们逐步模糊一个数字。有一段时间,我们的函数仍然
“识别” 它,在这里是一个 “2”。但很快它就 “失去” 了,并开始给出 “错误” 的结果:
但为什 么我们说 这是一个 “错误” 的结 果呢?在 这种情况下,我们知道我们通 过模糊一 个
“2” 得到所有的图像。但是,如果我们的目标是制作一个人类识别图像的模型,那么真正要
问的问题是,如果遇到这些模糊的图像,在不知道其来源的情况下,人类会做什么。
如果我们从我们的功能中得到的结果通常与人类会说的话一致,我们就有一个 “好的模型”。
而非微不足道的科学事实是,对于像这样的图像识别任务,我们现在基本上知道如何构建这
样的函数。
我们能 “从数学上证明” 它们的作用吗?嗯,不能。因为要做到这一点,我们必须有一个关
于我们人类正在做什么的数学理论。以 “2” 图像为例,改变几个像素。我们可以想象,只有
几个像素 “不合适”,我们还是应该认为这个图像是 “2”。但这应该到什么程度呢?这是一个
关于人类视觉感知的问题。而且,是的,对于蜜蜂或章鱼来说,答案无疑是不同的 —— 对
于假定的外星人来说,可能完全不同。
— 3
—
神经网路
好吧,那么我们用于图像识别等任务的典型模型究竟是如何工作的呢?目前最流行、最成功
的方法是使 用神经网络。在 20 世纪 40 年代,神经网络的发明形式与今天的使用非常接
近,它可以被认为是大脑似乎工作方式的简单理想化。
在人类的大脑中,有大约 1000 亿个神经元(神经细胞),每个神经元都能产生电脉冲,每
秒可能有一千次。这些神经元在一个复杂的网络中连接起来,每个神经元都有树状的分支,
允许它将电信号传递给可能有成千上万的其他神经元。
粗略估计,任何给定的神经元是否在某一时刻产生电脉冲,取决于它从其他神经元那里收到
的脉冲 —— 不同的连接有不同的 “权重” 贡献。
当我 们 “看 到一 个图 像” 时 ,所 发生 的事 情是 ,当图像的光子落在 眼睛 后面 的( “光 感受
器”)细胞上时,它们在神经细胞中产生电信号。这些神经细胞与其他神经细胞相连,最终
信号通过一整层的神经元。而正是在这个过程中,我们 “识别” 了图像,最终 “形成了一个
想法”,即我们 “看到了一个 2”(也许最后会做一些事情,如大声说 “2” 这个词)。
上一节中的 “黑盒子” 函数是这样一个神经网络的 “数学化” 版本。它刚好有 11 层(虽然只
有 4 个 “核心层”)。