【白话AI】机器是如何模仿大脑学习的?(二)
先回顾一下上一篇我们了解的人工神经元——感知器(Perceptron)。
这个人工神经元的设计特别像一个投票机制,每个输入信号代表一个人,这个信号的权重就代表这个人有多大的发言权。然后把所有人的投票汇总,如果最终票数过半就激活下一个细胞。当这种机制自己运作的时候没什么问题,毕竟连总统这么重要的事都是用类似的方法选出来的。
可是当我们想用这种感知器去构建一个更复杂的系统的时候,感知器的输出就会缺失一些细节。我们的神经元输出的信号并不是一种简单的开关模式。例如当我们看到一个模糊的照片的时候,我们感觉上面的人像是自己,但是又不是很确定。这时候神经元就可以输出一种不是100%确定的信号,例如70%确定这个照片是自己这种信号。这样后面连接的神经元就可以根据其他的神经元的信息进一步判断这个照片是不是自己。假设掌管记忆的神经元想起来了确实有照过这张照片,那么综合这两个神经元的输出结果,最后的神经元就可以输出100%确定这个照片是自己的信号。
为了模拟这些不确定的灰色地带,感知器的“开关”的输出模式被改进成了一个S型曲线,而不再是简单的1和0,这个S型曲线叫做逻辑曲线。用来产生这个逻辑曲线的数学公式叫做激活公式。
这里选用S型曲线而没有选用直线的原因有两个——(1)曲线能用来表达更复杂的数学公式;(2)这个曲线本身可以代表很多生活中的现象,例如产生水蒸气的过程和冰融化的过程等等。另外从我们直觉的角度来看这个曲线也比直线更真实,更符合我们日常生活的实际情况。我们可以看到这个曲线中间的部分几乎是直的,只有开始和结束的地方是弯的,并且这个弯的部分是逐渐变化的,开始的地方是逐渐变陡峭,结束的地方是逐渐变缓慢。在现实生活中,大部分的事情也都是缓慢开始的,并缓慢结束的。没有任何事情是突然出现的或者戛然而止的。即使像打雷这样转瞬即逝的一个现象,在毫秒层面来看也是逐步产生并且逐步结束的。
从某种层面上讲,这个S型曲让感知器可以输出更多的信息。它不仅能输出态度(1或者0)还能表达对于这个态度的确定程度。当我们把这样的感知器链接成一个网络的时候也就能表达出更复杂且缜密的模型。这个改进了的感知器就是现在非常火的深度神经网络学习的最基本组成部分。
通过不同方式叠加组合这些神经元,我们设计出了很多种神经网络来学习解决不同类型的问题。最早最简单的网络就是直白的叠加这些基本的人工神经元,叫做前馈型神经网络。
这里的输入层和输出层负责输入和输出。如果任务是决定明天是否买入“万达院线”,输入层就是关于万达院线股票的信息,输出层就是买卖信号。这里我们把中间的两层叫做隐藏层,因为使用这个神经网络的人只需要知道输入输出,并不需要知道这个网络的内部结构。另外需要指出的是,虽然这个图里面只画了两个隐藏层并且每层只有四个神经元,但是实际中我们可以让每一层有无限个神经元,也可以有无限多个隐藏层。也就是说理论上我们可以构建成任意宽和任意深的神经网络。(宽代表每层的神经元数量,深代表隐藏层的层数)
这个隐藏层就是奇迹产生的地方。通过这种可以无限扩张的网状结构,我们可以模拟任意复杂的数学公式,甚至达到人无法理解的程度。还是拿股票系统举例,如果股票未来的价格确实是可以通过我们已经知道的信息预测的话,不管这个预测系统有多么复杂,我们都应该可以通过更宽更深的神经网络来模拟这个预测过程。也就是说我们可以通过这个神经网络解决或者学会任何复杂的问题!
不过别高兴的太早,虽然说我们找到了一个理论上可以解决任何问题的模型,但是别忘了这个神经网络里面的每个神经元上面的那些权重都还是未知的。同时,更复杂的神经网络就有更多未知的权重。这里,如果我们能想出一个办法自动寻找这些权重,我们就还是有可能让机器自己学会解决任意复杂的任务的。这个寻找神经元权重的过程就是机器学习的过程。
那么这个学习到底是如何进行的呢?且听下回分解。
© 版权声明:本文首发自本人微信公共帐号:思故是(sikaoguwozai);无需授权即可转载,但转载时请务必注明作者 。