第3章
前馈神经网络
故事从一个十分发达的地外文明开始,“球球星”住着科技高度发达的“球球人”。他们热爱和平,但也惧怕战争,于是就监听其他星系的文明,而地球就属于士兵小飞的监控范围。一天少校问士兵小飞,地球怎么样了。小飞就说,“地球文明还很原始,地球上最高级的物种,是一种名叫汽车的生物,汽车的速度很快,但其不靠阳光,也不会主动觅食,汽车专门奴役一种称为人的生物,当该生物进入汽车时,汽车就会获得燃料,然后就可以四处活动。当燃料用尽时,汽车就会吐出这种生物,让其四处补充能量,以便下一次循环利用。该生物还比较低级,经常还会因为自身速度过快,或因误食变质人类而失控,导致互相残杀,不知少校如何处置?”少校思考稍许之后说道,“他们内耗严重,过于愚蠢,暂不处理,继续暗中观察。”你可能会嘲笑士兵小飞的无知,明明是人在使用汽车,结果却观察到汽车奴役人类。但如果把“汽车和人”换成“人和基因”,那会不会让你后背发凉呢?
某种程度上,我们观察到的世界或许和“球球星”人观察到的地球差不多,我们即使找到了非常“合理”的解释,但其也不过是我们的幻象罢了。虽然很难想象一堆粉红色的肉团如何能造出缤纷的世界,但以现代科学的观点,人的智能行为,或者人们所说的“灵魂”,可能仅仅是由一些脑神经组合起来的行为而已。也许就如人工智能之父,马文·明斯基的那句名言一样,“大脑无非是肉做的机器而已(The brain happens to be a meat machine)”。
要解开大脑的秘密,可能还需要很多代人的不懈努力。如果说神经科学是以生物的方式去破解智能密码,那么深度学习就是以计算机的方式去寻找智能钥匙,并且深度学习与神经科学也是相辅相成,很多研究者经常在这两种学科间互换。但神经网络的研究已经不仅仅是“大脑模型”而已,同时也遵循许多数学与工程原则,神经网络也被看成是一些并行的处理单元,因此“神经元(neuron)”有时也用“单元(unit)”替换,但这仅仅是文字游戏,希望不要被其弄晕。
在本章的3.1节中,我们将介绍神经元,其是神经网络的基本组成单元,就像人与人聚在一起组成了社会一样,研究社会的起点及终点都应该是人,而研究神经网络的起点也是从简单的神经元开始,但深度学习中的神经元并不是一个生物概念,和生物神经元的差别也非常大。
在本章的3.2节中,我们将介绍前馈神经网络,该网络是通用的深度学习模型,并且后续章节的卷积神经网络,循环神经网络都是该网络的变种,因此该网络是更高级神经网络的基础,你需要认真学习。
本章的3.3节中,我们会详细地介绍反向传播算法(BP算法),该算法自20世纪80年代起就一直统治着深度学习,其算法思想其实非常简单,但对于初学者而言可能有些摸不着头脑,因此在本小节中会详解该算法的每一步,让你充分理解该算法。
而在3.4节的编程实践环节中,我们将逐步地从简单的仿射传播,到单层传播,再到浅层网络,最后到全连接神经网络,一步一步构造出完整的深层神经网络。你需要耐心且独立地完成每一小节的任务,同样在本章最后,我们也会给出参考代码来帮助你学习。