小议动态神经网络

深度学习的发展很快将到达一个瓶颈期,因为从更高的维度来看,从开始到现在我们对待时间问题的处理方式都可能存在的方向上的错误,虽然RNN相关的技术在时序相关问题上取得了不错的成果,但应用范围依然有限。

那么,问题到底出现在哪里?在下献一拙思。

梳理生物等级链的智能演化,大家可以发现,对于时间性问题的处理,是神经网络在诞生之初就最先具备的,而我们的人工神经网络恰恰是从诞生到现在都不具备的,举个例子,对视频进行实时的物体识别、定位与标注是怎样做的?利用训练好的深度神经网络对当下选取的一帧进行计算,算出的向量用于展示,再选取一帧重复计算,整个流程是由人类算法控制的,网络的计算呈现的是时间无关性,亦即就像时间静止时网络做了一件工作,再推动时间向前一步,再静止工作一样,我称之为静态识别网络,进而可以理解如果是动态识别网络,那就像生物学神经网络那样,信息流源源不断地流入,计算在每个局部都在发生,结果在时间流上持续出现。显然,我们现在已知的网络都没有走这条路,这其中可能有计算量的问题,也可能有理论上刻意的选择,但我的见解是动态网络才是智能进阶的关键点。
当然,在整个智能系统中,特征的自动发现、层级组合性等诚然至关重要,但这些关键的能力之外,我们可能还忽略了若干重要的能力,动态性就是其中一个,有了这个能力,我们的网络就可以更加容易地处理时间流上的东西,比如运动控制、传感器流的处理(包括视觉流处理能力,更好的声音流处理能力以及其他知觉的感知能力)、联想、观察、思考、甚至产生意识。

那么现在的RNN存在什么问题呢?

就是因为RNN虽然引入了时间性,但是不彻底,他的本质是直接处理静态化后的数据流,再进行处理。静态化就是将随时间流逝的东西借助缓存等手段变成一个共存的东西,静态化是智能系统面对时间性问题的解决方案,比如视听觉暂留机制、缓存机制,但RNN在静态化方面是被动的,因为网络本身不提供静态化的机制,他只能将人为静态化后的成果进行处理;RNN是图灵完备的,他可以模拟任何计算过程,而程序也是静态化的,每一条指令的执行是基于CPU的时间片的,RNN本质上也是,是通过程序控制RNN的step的,倒不是说这种序列步骤有什么错误,问题在于序列步骤的基础仍然是人为的,所以网络缺乏了施展空间,这种结构限制了RNN具备更加复杂的时间性数据的处理能力,所以你无法用RNN进行实时地观察、联想、思考甚至互动等等。

那应该怎样做呢?

我的一个思路是这样的,基本就是生物脑运行模式,先抛弃计算量的问题不谈,假定我们不需训练已经掌握了一个权重直接确定法,我们先让这个用于某种功能的网络可以实时不断地接收外部数据,每个神经元都独立计算,一个完全的分布式模式;从运动控制、简单的感受器做起,沿着生物进化的脚步增加该神经网络的复杂性。


微信公众号: 深度学习
qrcode_for_gh_79a66349c8c4_258
版权所有,转载请注明出处: dengfanxin.cn