误差反向传播算法

时间:2024-12-03 09:44:06

在关于深度学习的段落中,羽生先生以传话游戏的比喻解释它的原理。在这里,我想向大家更详细地介绍一下这种算法。

人类的大脑在受到刺激后,脑内大量的神经细胞(神经元)会相互联系——增强或减弱联系——来进行信息的传递和处理。而且,神经元的联系并非一对一,而是多对多。也就是说,神经元的出入口都是由复数个通路连接的,是一个名副其实的网络。

误差反向传播算法

例如,电子信号通过多个通路进入一个神经元,该信号的合计数量超过一定的数值(阙值)后,神经元就会兴奋起来,将信号传给另一个神经元。如果无法超过该阙值,神经元就不会传输信息,信息的传递就会停止。此外,从某个神经元的输入结合度会很高,电子信号强度也很高,但来自其他神经元的输入信号则不是这样——这是神经元根据经验形成(学习)的一种“权重”,用以调节信号通度的难易度。

支撑深度学习的神经网络,正是根据人类大脑的网络结构获得的灵感。例如,让人工智能识别手写的日文平假名“あ”。因为是手写体,所以不同的人写出的文字形状各不相同,有些会被人工智能识别成“あ”,有些则可能会被误认为是日文平假名“め”。这时候,我们就可以认为是网络的某处出了问题。“逆推”神经回路究竟是在哪个地方产生了较大误差后,调整相关结合处的“权重”来修改信息通过的难易度(其中也包括了权重设置为零,停止传递信息),说不定人工智能就能顺利地进行识别了。就像羽生先生在说明中用的传话游戏的比方一样,当发生误传的时候,就去寻找源头,去除传错话的人,并让游戏重新开始。

发生识别错误时,从结果回溯逆推,即让信号逆流,自动地改变可能有问题的节点的“权重”。这样重复若干次之后,识别的精度就会提高。这就是误差反向传播算法,对此加以优化,就是深度学习了。