在过去的 50 年中,神经网络的流行程度的上升/下降/上升已成为 AI 研究的“晴雨表”。
从这个网站上的问题可以清楚地看出,人们有兴趣将深度学习 (DL) 应用于各种各样的难题。
因此,我有两个问题:
- 从业者——您认为将“开箱即用”的深度学习应用于您的问题的主要障碍是什么?
- 研究人员——您使用(或开发了)哪些技术可能有助于解决实际问题?他们是在深度学习中还是提供了另一种方法?
在过去的 50 年中,神经网络的流行程度的上升/下降/上升已成为 AI 研究的“晴雨表”。
从这个网站上的问题可以清楚地看出,人们有兴趣将深度学习 (DL) 应用于各种各样的难题。
因此,我有两个问题:
总而言之,应用深度学习存在两个主要问题。
第一个是计算上的,它是详尽的。普通 CPU 需要大量时间来执行深度学习的基本计算/训练。因此建议使用 GPU,即使在很多情况下它们可能还不够。典型的深度学习模型不支持多项式的理论时间。但是,如果我们查看 ML 中针对相同任务的相对简单的模型,我们通常会在数学上保证这种简单算法所需的训练时间在多项式中。这对我来说,至少可能是最大的不同。
不过,有一些解决方案可以解决这个问题。一种主要方法是仅将 DL 算法优化为多次迭代(而不是在实践中查看全局解决方案,只需将算法优化为良好的局部解决方案,而“好”的标准由用户定义)。
另一个对年轻的深度学习爱好者来说可能有点争议的问题是深度学习算法缺乏理论理解和推理。深度神经网络已成功应用于很多情况,包括手写识别、图像处理、自动驾驶汽车、信号处理、NLP 和生物医学分析。在其中一些情况下,它们甚至超过了人类。然而,话虽如此,它们在任何情况下都不像大多数统计方法那样理论上是合理的。
我不会详细介绍,而是由您决定。每种算法/方法都有利有弊,深度学习也不例外。正如在很多情况下证明的那样,它非常有用,每个年轻的数据科学家都必须至少学习深度学习的基础知识。但是,对于相对简单的问题,最好使用著名的统计方法,因为它们有很多理论结果/保证来支持它们。此外,从学习的角度来看,最好先从简单的方法开始,然后先掌握它们。
我在 ML/DL 方面的经验很少称自己为从业者,但这是我对第一个问题的回答:
DL 的核心是很好地解决了分类任务。并不是每一个实际问题都可以用分类来重新表述。分类域需要预先知道。尽管分类可以应用于任何类型的数据,但有必要使用将应用它的特定域的样本来训练 NN。如果在某个时候切换域,同时保持相同的模型(NN 结构),则必须使用新样本对其进行重新训练。此外,即使是最好的分类器也有“差距”——对抗样本可以很容易地从训练样本中构建出来,这样人类无法察觉到变化,但会被训练模型错误分类。
问题 2. 我正在研究超维计算是否可以替代深度学习。Hyper-D 使用非常长的位向量(10,000 位)来编码信息。这些向量是随机的,因此它们是近似正交的。通过对这些向量的集合进行分组和平均,可以形成一个“集合”,然后查询未知向量是否属于该集合。该集合可以被认为是一个概念或一个概括的图像等。训练和识别一样快。需要做的是模拟深度学习已经成功的领域,并将 Hyper-D 与它进行比较。
从数学的角度来看,具有多层的深度网络的主要问题之一是梯度消失或不稳定。每个附加隐藏层的学习速度都明显变慢,几乎抵消了附加层的好处。
现代深度学习方法可以改善这种行为,但在简单的老式神经网络中,这是一个众所周知的问题。你可以在这里找到一个写得很好的分析来进行更深入的研究。