一些研究职员急于探寻新的方向,比如可以用更少数据进行演习的算法,或者可以更快运行这些算法的硬件。
IBM 的研究职员提出了一个不同的方案。
他们将减少表示数据所需的位(即 1 和 0)的数量,从目前的行业标准 16 位减少到 4 位。

想要演习人工智能?一台小小的4位计算机就够了_缩放_数字 智能问答

研究职员在最大的年度人工智能研究会议 NeurIPS 上展示了这项事情,它可能会让演习深度学习的速率加快 7 倍,并将能源本钱降落 7 倍以上。
它还可能让在智好手机和其他小型设备上演习强大人工智能模型这一想法成为可能,这将有助于把个人信息保存在本地设备上,从而更好地保护隐私。
而且,这将使资源丰富的大型科技公司以外的研究职员更随意马虎实现深度学习这一过程。

位是如何事情的

你以前可能听说过电脑用二进制数 1 和 0 存储数据。
这些基本的信息单位被称为比特,或位。
当位 “打开” 时,它对应 1;当它 “关闭” 时,就变成 0。
换句话说,每一个位只能存储两种信息。

但一旦把它们串在一起,能够编码的信息量就会呈指数增长。
2 位可以表示 4 条信息,由于有 2 的二次方,也便是 4 种组合:00、01、10 和 11。
4 位可以表示 2 的四次方,也便是 16 条信息。
8 位可以表示 2 的 8 次方,也便是 256 条信息。

位的精确组合可以表示数字、字母和颜色等数据类型,或加法、减法和比较等操作类型。
如今,大多数条记本电脑都是 32 位或 64 位,但这并不虞味着打算机统共只能编码 232 或 264 条信息。
(那这台电脑就太垃圾了。
)这表示它可以利用这么多繁芜度的位来对每一段数据或单个操作进行编码。

4 位深度学习

4 位演习是什么意思?首先,我们有一台 4 位打算机,因此繁芜度是 4 位。
我们可以这样想:我们在演习过程中利用的每一个数字都必须是 - 8 到 7 之间的 16 个整数中的一个,由于打算机只能表示这些数字。
我们输着迷经网络的数据点,用来表示神经网络的数字,以及我们在演习期间须要存储的中间数字都是如此。

接下来要怎么做呢?我们先要考虑演习数据。
想象一下,摆在我们面前的是一大堆黑白照片。
第一步:我们须要把这些图像转换成数字,这样打算性能力理解它们。
为此,我们根据灰度值来表示每个像素 ——0 表示玄色,1 表示白色,小数点表示灰色的深浅度。
现在,我们的图像是一个范围从 0 到 1 的数字列表。
但在 4 位域中,我们须要把范围扩展到从 - 8 到 7。
这里的技巧是把数字列表线性缩放,以是 0 变成 - 8,1 变成 7,小数点映射到中间的整数。
如下图所示:

图|您可以将数字列表从 0 到 1 扩展到 - 8 到 7,然后将任意小数四舍五入到整数。

这个过程并不完美。
比如说,如果你从 0.3 开始,你会得到缩放后的数字 - 3.5。
但是我们的 4 位打算机只能表示整数,以是你必须四舍五入到 - 4。
这样终极会失落去图像中的一些灰色阴影,也便是精度。
我们可以不才面的图片中看到它的样子。

图|位数越低,照片的细节就越少。
这便是精度丢失。

这个技巧对付演习数据来说并不算难用。
但当我们把它再次运用到神经网络本身时,事情就变得有点繁芜了。

图|一个神经网络

神经网络常常被绘制成有节点和连接起来的东西,就像上图。
但是对付打算机来说,这些都会变成一系列数字。
每个节点都有一个激活值,常日取值范围为 0 到 1,每个连接都有一个权值,常日取值范围为 - 1 到 1。

我们同样可以用途理像素的方法来缩放它们,但激活值和权值也会随着每一轮演习而改变。
例如,有时一轮演习的激活值范围是从 0.2 到 0.9,但在另一轮演习中是从 0.1 到 0.7。
因此,IBM 团队在 2018 年想出了一个新方法:每轮演习重新调度这些范围,使其在 - 8 到 7 之间 (如下图所示),这有效地避免了丢失太多精度。

图|IBM 的研究职员为每一轮演习重新调度神经网络的激活值和权值,以避免丢失太多精度。

但我们还须要进行末了一个部分:如何用 4 位表示演习过程中溘然涌现的中间值。
与我们处理图像,权值和激活值的数字不同,这些值可以超过几个数量级。
它们可能很小,比如 0.001,也可能很大,比如 1000。
考试测验将其线性缩放到 - 8 到 7 之间会失落去缩放范围最小真个所有粒度。

图|超过几个数量级的线性缩放数字在极小的一端失落去了所有的粒度。
正如这张图所示,任何小于 100 的数都会被缩放成 - 8 或 - 7。
精确度的降落会影响人工智能模型的终极性能。

经由两年的研究,研究职员终于办理了这个寻衅:他们借鉴了别人的想法,将这些中间数字按对数比例缩放。
下面这个对数缩放大概能让你明白我在说什么,以 10 为 “基数”,只利用了 4 位繁芜度。
(研究职员转而利用 4 为基数,由于反复试验表明这种方法效果最好。
)你可以看到它是如何在位约束内编码小数字和大数字的。

图|以 10 为基数的对数缩放。

这篇最新的论文展示了如何把所有这些成分结合在一起。
IBM 的研究职员进行了几个实验,他们在打算机视觉、语音和自然措辞处理的各种深度学习模型上仿照 4 位演习。
结果表明,与 16 位深度学习比较,模型的整体性能丢失了有限的准确性,但全体过程也快了 7 倍多,并且会节能 7 倍多。

未来的研究

在 4 位深度学习成为实际运用之前还须要很多研究。
本文仅仿照这类演习的结果。
想运用在现实天下还须要新的 4 位硬件。
2019 年,IBM 研究院成立了人工智能硬件中央,以加快开拓和生产此类设备的进程。
卖力这项事情的 IBM 高等经理凯拉斯・戈帕拉克里希南表示,他估量三到四年内, 将涌现能够为深度学习演习所用的 4 位硬件。

斯坦福大学教授鲍里斯・穆尔曼没有参与这项研究,但他称这些结果令人愉快。
他说:“这项进步为在资源有限的环境中进行演习打开了大门。
” 它不一定会让新运用涌现,但它会让现有运用的速率更快,更省电,“它有很大的上风”。
例如,苹果和谷歌更加探寻如何将人工智能模型(如语音转文本和自动更正系统)的演习过程从云端转移到用户手机上。
通过将用户的数据保存在个人手机上,能保护用户隐私,并提高设备的人工智能能力。

但穆尔曼也指出,还须要更多研究来验证这种方法的可靠性。
2016 年,他的团队揭橥了一篇论文,展示了 5 位演习法。
但这种方法多年来并没有见效。
“由于神经网络变得更加敏感,我们之前所用的大略方法已经无法利用了,” 他说,“以是还不清楚这样的技能是否能经受住韶光的磨练。

只管如此,他说,这篇论文 “将匆匆使其他人更加负责地研究这一问题,并引发新的想法。
这是一个非常受欢迎的进步。