神经网络的时空权衡

学习模型,开始蚕食人类智慧编写的传统算法程序了。
Google Brain 用 学习索引(Learned Index) 代替 B树索引,然后GPU/TPU/XPU并行加速,可以大幅度提高 数据检索的效率,这应该是Software2.0的一个比较新奇的应用。AlphaZero也是其中一个例子。

由此启发,我们可以用一个旧的模块产生数据,然后 神经网络模块 用这些数据训练,最后并行化的神经网络把传统不可并行的模块替换掉。找出一个通用高效的 神经网络架构,我们就可以解决很多算法问题了。

针对某个任务,先用简单的时间复杂度很高的算法解决,用于生成数据。然后用神经网络去拟合该数据,当数据足够多,生成模型的准确率和泛化能力都有极大的提升。最后得出可并行化 且 执行时间固定 且 准确率很高 的 神经网络模块。由于可以控制网络结构,我们可以控制该网络在推理阶段的时空复杂度。

神经网络是可以压缩搜索空间的,可以近似地有损压缩,同时具有记忆和泛化,在时空复杂度中做权衡。然后整个结构可微分,用随机梯度训练它,得到相对优的局部解。对一个模块来说,如果你有足够的空间去存储 输入和输出,那也没必要写算法了,只需要一个内存快速检索的算法即可。但你的空间不够大,你需要把一些数据的规律找出来,用计算的方法来节省空间。

而神经网络不仅记忆,还有足够强的泛化能力,根据数据搜索这个问题的解结构,用计算来减少所需的记忆空间。难道这就是 智能的本质?

猜你喜欢

转载自blog.csdn.net/linsoft1994/article/details/79562531