斯坦福实验研究(斯坦福大学新研究)
选自Reddit
作者:Ian Williamson机器之心编译
参与:王子嘉、魔王
斯坦福大学的一项研究发现:物理学中波动与 RNN 中的计算存在对应关系。
论文地址:https://advances.sciencemag.org/content/5/12/eaay6946GitHub 地址:https://github.com/fancompute/wavetorch
最近,机器学习与物理和数值科学的一些领域碰撞出了不少火花。这让机器学习框架在物理模型优化问题中有了用武之地,同时机器学习领域也在物理概念的帮助下出现了很多令人兴奋的新模型(如神经 ODE 和哈密顿神经网络等)。
本文作者所在小组的研究重点是:物理本身就可以作为计算引擎。换句话说,作者们感兴趣的是那些可以作为硬件加速器(或是专门用于快速高效的机器学习计算的模拟处理器)的物理系统。
他们最近发表在《Science Advances》上的论文,证明了波的物理特性可被直接映射到循环神经网络的时序变化。利用这种联系,作者们通过 PyTorch 开发了一个数值模型,该模型证明我们可以训练一个声学/光学系统,并利用它从人类说话者录音中准确地识别出元音。本质上,作者们将元音元音波形引入物理模型,并允许优化器在域内的 1000 个点上添加和删除材料,这个操作实际上可以当做模型的权重。
因为这个机器学习模型实际上对应于一个物理系统,这也就意味着研究者可以把经过训练的材料分布「打印」到真实的物理设备中。其结果类似于 ASIC (Application Specific Integrated Circuit),但只能针对特定的 RNN 计算。这令人感到非常兴奋,因为这些结果表明可以在不消耗多余能量(除了脉冲本身携带的能量)的情况下,执行复杂的循环机器学习计算。
以下是对这篇研究核心思想的介绍。
波动与 RNN 的联系
这一部分将介绍 RNN 的操作与波动之间的联系。
RNN 一步步对输入序列的每一部分执行相同的操作,从而将输入序列转换成输出序列(图 1A)。之前步的信息被编码存储在 RNN 的隐藏状态中,隐藏状态在每一步都会更新。正是这些隐藏状态使得 RNN 记住过去的信息,同时学习数据中的时序结构和长距离依赖关系。在给定时间步 t 处,RNN 同时处理输入序列中的当前输入向量 x_t 以及前一步传来的隐藏状态向量 h_t-1,从而得到输出向量 y_t,并更新当下的隐藏状态 h_t。
图 1:标准 RNN 与基于波的物理系统之间的概念比较。
训练一个分辨元音的物理系统
这一部分将说明如何使用波动方程来训练元音分类器,其主要通过构建非均匀材料分布来实现。为了完成这个任务,该研究所用数据集包含 45 位男性和 48 位女性关于 10 个元音的 930 条原始录音。在模型训练过程中,该研究选取了关于这 3 个元音(ae、ei、iy)的 279 条录音作为训练集(图 2A)。
图 2:元音识别的设置和训练过程示意图。
对初始网络 5 次交叉验证训练的结果取均值后得到的训练集与测试集上的混淆矩阵参见图 3(A、B)。混淆矩阵中对角线上的值定义了正确预测元音的比例,非对角线上的值则是未能正确预测的比例。从结果可以看出,初始结构是无法完成识别任务的。
图 3 中的 C 和 D 展示了优化后训练集和测试集上的最终混淆矩阵。这些结果同样是对 5 次交叉验证运行的结果取均值得到的。训练后的混淆矩阵是对角占优的,也就是说现在这个结构可以执行元音识别任务了。
图 3:元音识别任务的训练结果。
图 3 中的 E 和 F 分别展示了交叉熵损失和预测准确率,横坐标是训练集和测试集上的训练 epoch 数。图中的实线表示平均值,阴影区域则是交叉验证训练运行的标准差。从中我们看到第一个 epoch 使损失下降了最多,而且对于准确率的提升也是最大的。从图 3F 中可以看出,这个系统在训练集上的平均准确率是 92.6 ±1.1%,而在测试集上的平均准确率是 86.3 ± 4.3%。
从图 3 的 C 和 D 中可以观察到系统在元音 ae 的识别上表现近乎完美,也能很好地将 iy 和 ei 分辨开来(不过准确率稍低),这种特征在测试集的未见样本上尤为明显。图 3 的 G 到 I 展示了:将每个元音类的代表性样本注入到训练结构中时的综合场强分布(integrated field intensity)∑_t u_t^2。
该研究用视觉化的方式证明了,产生目标结构的优化过程将大部分信号发送至正确的地方。该任务以传统 RNN 作为性能基准,其分类准确率与波动方程差不多,但是它需要大量自由参数。此外,我们观察到,训练线性波动方程所获得的分类准确率也是很有竞争力的,有关性能的更多细节会参见原论文。
讨论
该研究提出的这种基于波的 RNN 有很多优势,这些优势使得它在处理时序编码信息时可以得心应手。与传统 RNN 不同,波动方程在从一个时间步到另一个时间步的更新过程中,通过拉普拉斯算子(图 1E 中的稀疏矩阵)实现隐藏状态元素之间的最近邻耦合。最近邻耦合主要得益于,波动方程是信息以有限速度传播的双曲型偏微分方程。因此,模拟 RNN 的隐藏状态大小和存储容量直接取决于传播介质的大小。此外,与传统 RNN 不同的是,波动方程遵循能量守恒约束,防止隐藏状态和输出信号的范数无限增长。相比之下,定义标准 RNN 更新关系的无约束密集矩阵会导致梯度消失和爆炸,这是传统 RNN 训练过程中的主要挑战。
该研究证明波动方程在概念上等价于 RNN。这种概念上的联系为一类新的模拟硬件平台提供了思路,在这类平台中,演化时序在物理和数据集中都扮演着重要的角色。当我们专注于用标量波动方程描述的最普遍波动示例时,我们的结果可以很容易地扩展到其他类似于波的物理概念。这种利用物理执行计算的方法可能促进新型模拟机器学习设备新平台的研发,模拟设备有望比对应的数字设备更自然高效地执行计算。该方法的通用性进一步表明,许多物理系统可能是对动态信号(如光学、声学或地震学中的动态信号)执行类 RNN 计算的有力候选者。
参考链接:https://www.reddit.com/r/MachineLearning/comments/ej3bgf/r_acoustic_optical_and_other_types_of_waves_are/
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com