梯度消失和梯度爆炸一直是深度学习的难点,而人脑有接近900亿个神经元,可以说是一个非常规模庞大的网络。那么人脑是如何防止梯度消失和梯度爆炸的?小编在知乎上发现了这个有意思的问题,分享给大家思考。
观点一
感觉这个问题跟我的科研方向有一点关系,所以就厚着脸皮强答一波了。(1)动物的神经元都是以脉冲的形式进行信息交流的,而脉冲是离散的,所以从数学角度人脑(往大了说就是动物)交换信息的方式是离散的,也就是不能求导,所以就不存在所谓的“梯度”这一概念了;当然也有论文可以建模,以一种伪bp的方式进行脉冲迭代,当然这就是后话了;

(2)基础知识准备:要解决题主的这两个问题,首先就要知道人脑是怎样基于脉冲的形式进行学习的:当一个神经元通过突触(准确的说是轴突)传输脉冲到下一个神经元,下一个神经元收到脉冲后就会引起膜电位的上升,不发射脉冲的时候,由于神经元存在离子泄露,导致膜电位下降;而当该神经元的膜电位达到一定阈值的时候,就会发射脉冲到下下个神经元了,当然你也得让神经元歇一会,在它发射脉冲后的一段时间内,你咋扒拉它,它也不射了,哦,不是,是不发射脉冲了(说白了就是贤者时间呗)。



观点二
现在大家普遍认为人脑并没有像DNN那样的梯度回传机制...了解一点生物学就知道神经元的传递是单向的。但是至于能不能2个神经元一个前馈一个回传?现在的研究并没有发现...而且一般都是把这种链接看成循环结构的(RNN)。其次新生的动物大概率不需要学习就能掌握很多基本的信息处理能力。例如牛羊马这些一生下来就能走路的。说明他们基因里就预编程了走路运动,视觉等一些基本能力,而这些能力我们都是通过backpropagation训练模型来达成的。人类之所以生下来看不清。现有的解释大约是人类在出生时并没有发育完全,不然婴儿头太大无法顺利生产。但是,大脑里肯定是存在回传error从而修改突触权重的机制的。这一类机制里现在最靠谱的就是predictive coding。4月18号,Hinton老爷子昨天刚在nature上发了一篇paper。里面提出了一种不需要backpropagation的local优化方法。感兴趣的可以去下面这个链接看一下。https://www.nature.com/articles/s41583-020-0277-3论文中有一段专门讲了一点先验知识的部分。和之前答案的第二段观点基本相吻合。

文章主要基于The NGRAD hypothesis。之前很多模型具体实现这个假设就是依托于predictive coding。本文在我看来也是类似于predictive coding的。没有细读,还有望其他大佬来纠正。原文链接:https://www.zhihu.com/question/380335971/answer/1086366831
观点三
1.为什么会有梯度爆炸?神经网络的层数太多,对激活函数求导,如果结果大于1,由于随层数增加求出的梯度信息指数增加,即为梯度爆炸。若小于1,则指数减小,即为梯度消失。2.人脑是怎么运作的?是你给一个图像进去人脑就全脑同时激活了吗?显然不是,大脑是分区激活的。但是,将信息储存在一个较远的地方只是人脑算法一个很小的部分,它与动物与人惊人的识物能力无关。我觉得它更多的与短时记忆的储存(在变为长时记忆之前)有关。3.先天结构?拜托,现在人脑大块的,广泛分布的解剖结构和神经编码机制都没发掘完,就着眼小方向上的小结构了?皮质微柱,这个开发完了吗?回传通路呢,这个在大脑中比正传通路都要多,这个应用了吗?4.关于先天结构的解读?现在AI研究认为人脑结构没用多少是建立在对先天结构错误或片面的解读上?典型的如大脑中大量的抑制性突触。这个在主流观点中被解读为了这是大脑让兴奋维持在一个较均衡的值的方法,目的防止梯度爆炸或消失的发生,在AI研究领域表现为操作上表现为加上或减去一个高斯分布。但是那为什么大脑越高级皮质区的神经网络抑制性突触更多?按照这个理论不应该中间层最多吗?大量的对人脑结构的评估建立在以深度学习为基础的标尺上,说的冷静一点是盲目的假设深度学习是机器学习的终点,说不好听一点那就是“键盘指挥大脑的行为”。5.深度神经网络一定要做深吗?显然不是,大脑从来没有这么深的神经网络,而且大脑的识物能力一点也不比现在的神经网络弱(见第6条)。当然了,这还有一种解读就是,自然没我们聪明嘛,我们能做出80层,但人脑只有6层,看我们多厉害,自然用6层可以解决,我们80层都解决不了嘛。6.深度学习的缺陷?不要说现在AI识物能力超过人类了。请问现在训练的神经网络,可不可以帮我们把一个生物(动物或植物)分类到种?可不可以充当智能生物图鉴?(就是我输入一个照片,它不是输出蛾子,而是输出草地贪夜蛾?)可不可以帮助我们发现环境中隐藏的拟态生物?不行,真不行。那有没有人可以做到?真有!请搜索“博物学家”。7.未来的方向?一种当然是变更算法,从基础的层面去革新,而不能满足小修小改,因为输入的数据在现在的框架下并没有被充分利用。一种当然是等待更大的计算机,然后整天幻想有了太阳那么大的计算机,就可以实现强人工智能的美梦了。8.为什么一定要解决梯度爆炸(梯度消失)的问题?对啊,为什么一定要起解决呢?解决这个问题是未来AI发展必然的方向吗?还是这只是一种可能的途径?9.关于反向传播算法。虽然人们一直希望找到反向传播算法的生理基础,但可惜一直没找到。反而出现了打击反传算法的证据,比如Hinton的胶囊神经网络,就不是用反传算法来实现机器学习的(虽然效率现在并不高)。补图:其实从图中可以看出有六层(不算子层),且每层神经细胞形状不同(大概率对应不同功能)但大脑中确实不存在单单一个皮质区(脑区)就有80层的神经网络。不同于大多数,我恰恰认为大脑并没有去解决梯度爆炸,而且很好的绕开了它,并且这使得它比任何现有的程序都强大。
