https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-0-ANN-and-NN/
2-30年前, 一想到神经网络, 我们就会想到生物神经系统中数以万计的细胞联结, 将感官和反射器联系在一起的系统. 但是今天, 你可能的第一反应却是.. 电脑 和电脑程序当中的人工神经网络. 昔日复杂的动神经网络系统居然神奇地放入了计算机? 而且人类正在将这种人工神经网络系统推向更高的境界. 今天的世界早已布满了人工神经网络的身影.
比如 Google 的收索引擎. 股票价格预测, 机器人学习, 围棋, 家庭助手, 等等等等, 从金融到仿生样样都能运用. 看起来人工神经网络的确很强大. 但, 是不是有这么一个问题一直在你脑海中环绕, 没有答案. “计算机领域的神经网络和我们自己身体里的神经网络究竟是一样的吗?” 科学家们通过长久的探索, 想让计算机像人一样思考, 所以研发了人工神经网络, 究竟和我们的神经网络有多像? 那我们就先来看看人的神经网络到底是什么.
9百亿神经细胞组成了我们复杂的神经网络系统, 这个数量甚至可以和宇宙中的星球数相比较. 如果仅仅靠单个的神经元, 是永远没有办法让我们像今天一样, 完成各种任务, 处理各种复杂的问题. 那我们是如何靠这些神经元来解决问题的呢? 首先需要知道的是我们的记忆是如何产生的. 想象我们还是婴儿,
包着尿布的我们什么都不知道, 神经元并没有形成系统和网络. 可能只是一些分散的细胞而已, 一端连着嘴巴的味觉感受器, 一端连着手部的肌肉. 小时候, 世界上有一种神奇的东西叫做 – 糖果, 当我们第一次品尝它的时候, 美妙的感觉, 让我们发现活着是多么有意义的事情. 这时候神经元开始产生联结 , 记忆形成, 但是形成的新联结怎么样变成记忆, 仍然是科学界的一个迷. 不过现在, 我们的手和嘴产生了某种特定的搭配. 每次发现有糖果的时候, 某种生物信号就会从我们的嘴,通过之前形成的神经联结, 传递到手上, 让手的动作变得有意义, 比如这样, 然后爸妈就会再给我们一颗糖果啦~ 哈哈, 吃糖的目的达成. 现在我们来看看人工神经网络要怎样达到这个目的.
首先, 替代掉生物神经网络的, 就是已经成体系的人工神经网络. 所有神经元之间的连接都是固定不可更换的, 这也就是说, 在人工神经网络里, 没有凭空产生新联结这回事. 人工神经网络典型的一种学习方式就是, 我已经知道吃到糖果时, 手会如何动, 但是我想让神经网络学着帮我做这件动动手的事情. 所以我预先准备好非常多吃糖的学习数据, 然后将这些数据一次次放入这套人工神经网络系统中, 糖的信号会通过这套系统传递到手. 然后通过对比这次信号传递后, 手的动作是不是”讨糖”动作, 来修改人工神经网络当中的神经元强度. 这种修改在专业术语中叫做”误差反向传递”, 也可以看作是再一次将传过来的信号传回去, 看看这个负责传递信号神经元对于”讨糖”的动作到底有没有贡献, 让它好好反思与改正, 争取下次做出更好的贡献. 这样看来, 人工神经网络和生物神经网络的确不是一回事.
人工神经网络靠的是正向和反向传播来更新神经元, 从而形成一个好的神经系统, 本质上, 这是一个能让计算机处理和优化的数学模型. 而生物神经网络是通过刺激, 产生新的联结, 让信号能够通过新的联结传递而形成反馈. 虽然现在的计算机技术越来越高超, 不过我们身体里的神经系统经过了数千万年的进化, 还是独一无二的, 迄今为止, 再复杂, 再庞大的人工神经网络系统也不能替代我们的小脑袋. 我们应该感到自豪, 也应该珍惜上天的这份礼物.