神经网络无处不在

神经网络无处不在

人工智能系统(例如语音或面部识别程序)的最新进展是由神经网络、简单信息处理机的密集互连网格提供的,它们通过分析大量的训练数据来学习执行任务。

但是神经网络是大的,而且它们的计算是能量密集型的,所以它们对于手持设备不是很实用。大多数依赖于神经网络的智能手机应用程序只需将数据上传到因特网服务器上,然后进行处理,然后将结果发送回电话。

现在,麻省理工学院的研究人员已经开发出一种专用芯片,它将神经网络计算的速度提高了三倍到七倍,同时将功耗降低了94到95%。这样就可以在智能手机上运行本地的神经网络,甚至将其嵌入到家用电器中。

“一般的处理器模型,在芯片的某些部分的记忆,和在另一个处理器芯片,并将数据在两者之间来回的当你做这些事情,”Avishek Biswas说,在电气工程和计算机科学的一个麻省理工学院毕业的学生,谁领导新的芯片的发展。

由于这些机器学习算法需要大量的计算,所以数据的来回传输是能量消耗的主要部分。但是这些算法的计算可以简化为一个特定的操作,称为点积。我们的方法是,我们能在内存中实现这个点产品功能,这样你就不需要来回地传输这些数据吗?“

比斯瓦斯和他的导师,Anantha Chandrakasan,麻省理工大学的工程和电气工程和计算机科学学院院长Vannevar Bush教授,描述新的芯片在一篇研究在国际固态电路会议提交本周。

回到模拟

神经网络通常被分成层。网络的一个层中的单个处理节点通常接收下面层中几个节点的数据,并将数据传递给上述层中的几个节点。节点之间的每个连接都有自己的“权重”,这表明一个节点的输出在下一次计算中将发挥多大的作用。培训网络是建立这些权重的问题。

从下面层中的多个节点接收数据的节点将按相应连接的权重乘以每个输入并将结果相加。乘法运算的运算是点乘的定义。如果点积超过某个阈值,则节点将将其传输到下一层的节点上,通过与它们自己的权重的连接。

神经网络是一个抽象:“节点”只是存储在计算机内存中的权值。计算一个点积通常需要从内存中提取一个权值,获取关联的数据项,相乘两个数据,将结果存储在某个地方,然后将每个输入的操作重复到一个节点。考虑到一个神经网络将有成千上万个甚至数百万个节点,这是一个移动的大量数据。

但是这一系列的操作仅仅是大脑中发生的事情的数字近似,在那里,沿着多个神经元运行的信号在“突触”或神经元束之间的间隙相遇。神经元的放电频率和突触交叉的电化学信号对应于数据值和权值。麻省理工学院研究人员的新芯片通过更加忠实地复制大脑来提高效率。

在芯片中,一个节点的输入值被转换成电压,然后乘以适当的权值。只有合并后的电压才能转换成数字表示,并存储以便进一步处理。

因此,芯片可以在一个单一的步骤中计算多个节点的点积-每次16,在一个步骤中,而不是在处理器和内存之间来回穿梭,以进行每一次计算。

全或无

系统的关键之一是所有的权重都是1或1。这意味着它们可以在内存中作为简单的开关来实现,即关闭电路或打开电路。最近的理论工作表明,仅用两个权值训练的神经网络的准确率很低——介于1到2%之间。

他和Chandrakasan的研究,预测出熊。在实验中,他们在传统计算机上完全实现了一个神经网络,并在芯片上实现了二进制重量相等。他们的芯片的结果一般在2至3%的传统网络。

IBM人工智能副总裁Dario Gil说:“这是一个很有前景的基于内存模拟计算的SRAM,用于深学习应用。”结果显示了令人印象深刻的规范,高效地实现了卷积运算的内存阵列。它肯定会打开更多的可能性使用更复杂的卷积神经网络的图像和视频分类在物联网[物联网]在未来。

人工智能系统(例如语音或面部识别程序)的最新进展是由神经网络、简单信息处理机的密集互连网格提供的,它们通过分析大量的训练数据来学习执行任务。

 

但是神经网络是大的,而且它们的计算是能量密集型的,所以它们对于手持设备不是很实用。大多数依赖于神经网络的智能手机应用程序只需将数据上传到因特网服务器上,然后进行处理,然后将结果发送回电话。

 

现在,麻省理工学院的研究人员已经开发出一种专用芯片,它将神经网络计算的速度提高了三倍到七倍,同时将功耗降低了94到95%。这样就可以在智能手机上运行本地的神经网络,甚至将其嵌入到家用电器中。

 

“一般的处理器模型,在芯片的某些部分的记忆,和在另一个处理器芯片,并将数据在两者之间来回的当你做这些事情,”Avishek Biswas说,在电气工程和计算机科学的一个麻省理工学院毕业的学生,谁领导新的芯片的发展。

 

由于这些机器学习算法需要大量的计算,所以数据的来回传输是能量消耗的主要部分。但是这些算法的计算可以简化为一个特定的操作,称为点积。我们的方法是,我们能在内存中实现这个点产品功能,这样你就不需要来回地传输这些数据吗?“

 

比斯瓦斯和他的导师,Anantha Chandrakasan,麻省理工大学的工程和电气工程和计算机科学学院院长Vannevar Bush教授,描述新的芯片在一篇研究在国际固态电路会议提交本周。

 

回到模拟

 

神经网络通常被分成层。网络的一个层中的单个处理节点通常接收下面层中几个节点的数据,并将数据传递给上述层中的几个节点。节点之间的每个连接都有自己的“权重”,这表明一个节点的输出在下一次计算中将发挥多大的作用。培训网络是建立这些权重的问题。

 

从下面层中的多个节点接收数据的节点将按相应连接的权重乘以每个输入并将结果相加。乘法运算的运算是点乘的定义。如果点积超过某个阈值,则节点将将其传输到下一层的节点上,通过与它们自己的权重的连接。

 

神经网络是一个抽象:“节点”只是存储在计算机内存中的权值。计算一个点积通常需要从内存中提取一个权值,获取关联的数据项,相乘两个数据,将结果存储在某个地方,然后将每个输入的操作重复到一个节点。考虑到一个神经网络将有成千上万个甚至数百万个节点,这是一个移动的大量数据。

 

但是这一系列的操作仅仅是大脑中发生的事情的数字近似,在那里,沿着多个神经元运行的信号在“突触”或神经元束之间的间隙相遇。神经元的放电频率和突触交叉的电化学信号对应于数据值和权值。麻省理工学院研究人员的新芯片通过更加忠实地复制大脑来提高效率。

 

在芯片中,一个节点的输入值被转换成电压,然后乘以适当的权值。只有合并后的电压才能转换成数字表示,并存储以便进一步处理。

 

因此,芯片可以在一个单一的步骤中计算多个节点的点积-每次16,在一个步骤中,而不是在处理器和内存之间来回穿梭,以进行每一次计算。

和;

全或无

 

系统的关键之一是所有的权重都是1或1。这意味着它们可以在内存中作为简单的开关来实现,即关闭电路或打开电路。最近的理论工作表明,仅用两个权值训练的神经网络的准确率很低——介于1到2%之间。

 

他和Chandrakasan的研究,预测出熊。在实验中,他们在传统计算机上完全实现了一个神经网络,并在芯片上实现了二进制重量相等。他们的芯片的结果一般在2至3%的传统网络。

 

IBM人工智能副总裁Dario Gil说:“这是一个很有前景的基于内存模拟计算的SRAM,用于深学习应用。”结果显示了令人印象深刻的规范,高效地实现了卷积运算的内存阵列。它肯定会打开更多的可能性使用更复杂的卷积神经网络的图像和视频分类在物联网[物联网]在未来。

相关新闻