深度学习做不了什么事

时间:2023-02-09 16:55:03

深度学习做为机器学习的一个分支,它基于试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的一系列算法。

本文源自2017年6月一次讨论深度学习缺陷的推文风暴,斯坦福大学的Bharath Ramsundar,在用深度学习进行药物研究的过程中发现,深度学习做不到事情其实有很多,比如无法鉴别对抗样本、处理不好高维数据、不能一边训练一边推断……他在Twitter上一一列出,并公开听取大家的见解。

这还不算是篇正式的文章,但这里的探索和分析,无疑有益于有心的学习者思考。Ramsundar的导师是斯坦福大学教授Vijay Pande,硅谷风投a16z知名成员。

深度学习做不了什么事

认脸、翻译、合成语音……深度学习在很多问题上都取得了非常好的成绩。

那么,还有什么问题不能用深度学习来解决呢?

斯坦福大学在读博士Bharath Ramsundar列出了下面15个方面,希望能对今后的算法开发有所帮助。

量子位翻译了这篇文章,以下为译文。

1.众所周知,深度学习方法很难学习到输入样本的微小变化。当样本的颜色交换时,所构建的目标识别系统可能会完全崩溃。

2.基于梯度的网络训练过程相当缓慢。一般按照固定模式来实现多种梯度下降方法,但是这种方法很难用于高维数据的预测。

3.深度学习方法在处理条件约束方面的效果也不佳,不能像线性规划方法那样,能快速找到满足约束的解决方案。

4.在训练复杂模型时,网络相当不稳定。通常不能很好地训练神经图灵机和GAN网络,严重依赖网络的初始化方式。

5.深层网络能较好地应用于图像处理和自然语言分析中,但是不适合现实世界的实际问题,如提取因果结构等等。

6.在实际应用中,要考虑关键影响者检测的问题。在参*投票的数据集中,应该如何检测出关键影响者,深度神经网络DNN还不能应用于此方面。

7.强化学习(Reinforcement learning)方法对输入数据非常挑剔,实际性能主要取决于调参技巧,虽然这个特殊问题仅存在于这个方面。

8.深度学习方法不容易理解未知实体,比如说当棒球击球手在视频中,深度学习不知道如何推断出屏幕外还有个投手。

9.实时训练深层网络几乎不可能,因此很难进行动态调整,上文已经提到网络训练缓慢的问题。

10.一般来说,网络需通过离线训练后才能进行智能辨识。

11.人们经常提出一些对深层网络的理论解释。但这可能不是一个大问题,人们才是一个真正的大问题。

12.目前很难确定深层网络学习到了什么。作为工程师的我们,怎样才能确保在网络训练过程中不存在偏见和种族歧视?

13.深度神经网络很难用来解决逻辑问题。3SAT求解器具有很强的能力,但是很难应用到深层网络。

14.深度神经网络在处理大维度的特征数据方面效果不佳。这种方法与强大的随机森林方法不同,在训练前需要大量的特征调整。

15.深度网络的超参数优化研究仍然处于起步阶段。研究者需要完成大量的计算或是手动调整许多网络结构。

以上这些并不是一个完整的列表,但是我觉得这些都是值得思考的问题。在这些问题的基础上,要思考:

这些问题是深层神经网络本身存在的问题,还是要被克服的工程挑战?

这些都很难说,其中的一些问题可能会得到解决,比如更多性能优秀的硬件被开发用于超参数自动搜索。有一些早期结构可以用来自动归一化和处理大维度的特征数据,因此处理特征的问题可能有所改善。

然而,逻辑、约束、隐藏结构和*等问题可能会进行更深入地研究。我很愿意看到大家对这些问题提出质疑,深度学习的研究者通常都是很有才华和有想象力的。摩尔定律仍然适用于GPU性能曲线,TPU和定制硬件还需要多久才能上市?

所以我对这些挑战持乐观态度。尽管如此,我还是怀疑深度神经网络不足以实现通用人工智能,当然,这可能只是我的偏见,事件上的专家可能是预测上的菜鸟,我们花了太多时间钻研技术。

千万不要只知其然,而不知其所以然!

我不想把这个随笔写成一篇文章,不确定是否有未知的主题还未被列出。

最后,作者还说,把这篇随笔送给聪明的读者。