Answers:
这是倒退,但它遵循参数的逻辑。
在效率方面,我可以看到经典神经网络的一些主要问题。
大型神经网络需要大量数据进行训练。该数量可能会有所不同,具体取决于网络的大小和任务的复杂性,但根据经验,通常与权数成正比。对于某些监督学习任务,根本没有足够的高质量标签数据。收集大量的专业培训数据可能要花费数月甚至数年,并且标记可能很麻烦且不可靠。可以通过数据增强来部分缓解这种情况,这意味着可以从已有的示例中“合成”更多示例,但这不是万能的。
学习率通常很小,因此训练进度很慢。大型模型可能需要花费数周的时间在台式机CPU上进行训练,而使用一个功耗为几kW的GPU集群,则可以在两个小时内完成训练。由于培训程序的性质,这是一个基本的权衡。也就是说,GPU的效率越来越高-例如,新的nVidia Volta GPU架构允许15.7 TFLOP,而功耗不到300W。
目前,几乎每个不同的问题都需要设计,培训和部署自定义神经网络。虽然解决方案通常的工作原理,它是一种锁定到这个问题。例如,AlphaGo在Go方面很出色,但是在开车或提供音乐建议方面是没有希望的-它不是为执行此类任务而设计的。在我看来,这种压倒性的冗余是神经网络的主要缺点,并且它也是总体上神经网络研究进展的主要障碍。有一个整个研究领域称为转移学习这涉及寻找将在一项任务上训练有素的网络应用于另一任务的方法。通常这与以下事实有关:在第二项任务上可能没有足够的数据来从头开始训练网络,因此能够使用经过预先训练的模型进行一些额外的调整非常吸引人。
问题的第一部分比较棘手。除了纯粹的统计模型,我还没有看到任何与神经网络完全不同的杰出的机器学习方法。但是,有一些有趣的进展值得一提,因为它们解决了上述一些低效率问题。
首先有一些背景知识。
尖峰神经网络在计算能力方面具有巨大潜力。实际上,已经证明它们比具有S型激活的经典神经网络严格更强大。
除此之外,尖峰神经网络具有对时间的内在把握-自从经典网络诞生以来,这一直是主要障碍。不仅如此,尖峰网络也是事件驱动的,这意味着神经元仅在有输入信号时才起作用。这与经典网络相反,在经典网络中,每个神经元无论其输入如何都进行评估(再次,这只是评估过程的结果,通常将其作为两个密集矩阵的乘法来实现)。因此尖峰网络采用稀疏编码方案,这意味着在任何给定时间只有一小部分神经元处于活动状态。
现在,基于稀疏峰值的编码和事件驱动的操作适用于基于尖峰网络的基于硬件的实现,称为神经形态芯片。例如,IBM的TrueNorth芯片可以模拟100万个神经元和2.56亿个连接,而平均仅消耗约100 mW的功率。这比当前的nVidia GPU效率高出几个数量级。神经形态芯片可能是我上面提到的训练时间/能量权衡的解决方案。
同样,忆阻器是一个相对较新但非常有前途的发展。忆阻器基本上是一个基本电路元件,与电阻非常相似,但可变电阻与在其整个寿命中流经它的电流总量成正比。从本质上讲,这意味着它会维持流过它的电流量的“内存”。忆阻器令人兴奋的潜在应用之一是极其高效地在硬件中对突触进行建模。
我认为这些值得一提,因为它们是解决不可转让性问题的有前途的候选人。这些不限于神经网络-受奖励驱动,RL和进化在理论上适用于通用环境,适用于可以定义奖励或代理要达到的目标的任何任务。这不一定是一件容易的事,但它比通常的错误驱动方法要通用得多,在错误驱动方法中,学习代理试图将其输出与基本事实之间的差异最小化。这里的要点是关于转移学习的:理想情况下,将受过训练的代理人应用于其他任务应该与更改目标或奖励一样简单(尽管它们还没有达到那个水平……)。
In particular it is shown that networks of spiking neurons are, with regard to the number of neurons that are needed, computationally more powerful than these other neural network models.
max(0, x)
)非常危险被卡住x < 0
,导致神经元死亡。无论如何,重点在于尖刺网的计算能力及其在功耗方面的超高效硬件实现。
更换神经网络
可能存在可能取代神经网络的新算法。但是,神经网络的特征之一是它们使用简单的元素,每个元素对以几何图案计算资源的需求都很低。
通过将计算映射到DSP设备或其他并行计算硬件,可以并行运行人造神经元(无需CPU时间共享或循环)。因此,许多神经元基本相同是一个强大的优势。
我们将取代什么?
当我们考虑对神经网络进行算法替换时,就意味着神经网络设计是一种算法。它不是。
神经网络是一种在实时电路上收敛的方法,该方法基于最优公式,对输入到输出进行非线性转换。这样的表述可以是将误差或差异的量度与某些已定义的理想最小化。这可能是必须最大化健康的一种度量。
任何给定网络行为的适应性确定的来源可能是内部的。我们称之为无监督学习。它可能是外部的,当外部适应性信息与所需输出值形式的输入向量(称为标签)耦合时,我们称之为监督。
适应度也可能在外部源自与输入数据不相关的标量或向量,而是实时的,我们称其为增强。这需要可重入的学习算法。在堆叠式网络或其他配置(例如拉普拉斯层次结构)的情况下,网络行为适应性还可以由系统内的其他网络评估。
一旦选择了数学和过程设计,算法的选择就与比较智能无关。算法设计与最大程度地减少对计算资源的需求并减少时间需求直接相关。这种最小化也取决于硬件和操作系统。
有更换指示吗?
当然。如果网络更像哺乳动物的神经元,那就更好了。
区域信号传导是指除了跨突触的信号传递以外的许多化学信号。
我们甚至可以考虑超越哺乳动物的神经病学。
神经网络效率
由于温度可以以开氏度为单位进行量化,因此无法以某种通用的规模来量化效率。效率只能量化为某个测量值超出某个理论理想值的商。请注意,分母是理想的,而不是最大值。在热力发动机中,理想的是能量输入率,永远不能将其完全传递给输出。
同样,神经网络永远也不会在零时间内学习。神经网络也不能在任意长时间的生产中实现零误差。因此,信息在某种程度上像能量一样,这是贝尔实验室的克劳德·香农在数字自动化曙光中研究的一个概念,信息熵和热力学熵之间的关系现在已成为理论物理学的重要组成部分。
不会有不良的学习效率或良好的学习效率。如果我们希望以逻辑和科学的方式进行思考,那么就不会有不良的性能或良好的性能-对于一组非常特定的性能场景,只有相对于某些其他系统配置而言,某些系统配置只能相对改善。
因此,如果没有两个硬件,操作系统和软件配置的明确说明以及用于相对评估的完全定义的测试套件,效率就毫无意义。
我们确实在那方面潜伏着希望。截至目前,我们拥有J.Hinton的胶囊网络,该网络使用另一种称为“挤压”功能的非线性激活。
胶囊网络本身也有一些缺点。因此,已经朝着超越神经网络的方向进行了研究。在阅读J.Hinton的论文之前,您可以阅读此博客以更好地理解。