训练神经网络来执行识别物体,自动驾驶汽车或玩游戏等任务会耗费大量的计算能力和时间。通常需要具有数百到数千个处理器的大型计算机来学习这些任务,并且培训时间可能需要数周到数月。这是因为进行这些计算涉及在两个的单元,内存和处理器之间来回传输数据 - 这在神经网络训练期间消耗了大部分能量和时间,资深作者Duygu Kuzum说,他是电气和计算机工程教授。大学分校雅各布工程学院。
为了解决这个问题,Kuzum和她的实验室与Adesto Technologies合作开发了硬件和算法,允许这些计算直接在内存单元中执行,无需重复调整数据。“我们正在从两端解决这个问题 - 设备和算法 - 在神经网络训练期间最大限度地提高能效,”第一作者Yuhan Shi说,他是一名电气工程博士。Kuzum在大学分校的研究小组的学生。硬件组件是一种超高能效类型的非易失性存储器技术 - 512千比特子量子导电桥接RAM(CBRAM)阵列。它比现有的领先内存技术消耗的能量低10到100倍。该器件基于Adesto的CBRAM存储器技术 - 它主要用作仅具有“0”和“1”状态的数字存储设备,但Kuzum和她的实验室证明它可以编程为具有多个模拟状态来模拟人脑中的生物突触。这种所谓的突触装置可用于进行神经网络训练的内存计算。
“传统处理器中的片上存储器非常有限,因此它们没有足够的容量在同一芯片上执行计算和存储。但在这种方法中,我们有一个高容量存储器阵列,可以进行与神经相关的计算内存中的网络培训,无需将数据传输到外部处理器。这将在培训期间实现大量性能提升并降低能耗,“Kuzum说。Kuzum隶属于大学分校的机器集成计算与安全中心,负责开发可轻松映射到此突触设备阵列的算法。该算法在神经网络训练期间提供了更多的能量和时间节省。该方法使用一种称为尖峰神经网络的节能神经男人断掌手相图解网络,用于在硬件中实现无监督学习。最重要的是,Kuzum的团队应用了他们开发的另一种称为“软修剪”的节能算法,这使得神经网络训练更加节能,而不会在准确性方面太多。
神经网络是一系列连接的人工神经元层,其中一层的输出为下一层提供输入。这些层之间的连接强度由所谓的“权重”表示。训练神经网络处理更新这些权重。传统的神经网络花费大量精力来不断更新这些权重中的每一个。但是在尖峰神经网络中,只有与尖峰神经元相关的权重才会更新。这意味着更少的更新,这意味着更少的计算能力和时间。该网络还执行所谓的无监督学习,这意味着它本质上可以训练自己。例如,如果网络显示了一系列手写的数字,它将弄清楚如何区分零,一,二,等等。一个好处是网络不需要在标记的示例上进行训练 - 这意味着它不需要被告知它看到零,一个或两个 - 这对于等自主应用非常有用。为了使训练更快,更节能,Kuzum的实验室开发了一种新的算法,他们称之为“软修剪”,用无监督的尖峰神经网络实现。软修剪是一种方法,可以找到在训练期间已经成熟的权重,然后将它们设置为常量非零值。这可以他们在剩余的训练中更新,从而最大限度地降低计算能力。
软修剪与传统的修剪方法不同,因为它是在训练期间而不是之后实施的。当神经网络将其训练用于测试时,它还可以导致更高的准确度。通常在修剪中,完全去除冗余或不重要的重量。缺点是你修剪的权重越多,网络在测试过程中执行的准确性就越低。但软修剪只是将这些权重保持在低能量设置中,因此它们仍然可以帮助网络以更高的精度执行。该团队在子量子CBRAM突触装置阵列上实现了神经的无监督尖峰神经网络和软修剪算法。然后,他们训练网络对MNIST数据库中的手写数字进行分类。
在测试中,即使高达75%的权重经过软修剪,网络也能对93%的数字进行分类。相比之下,当使用传统的修剪方法仅修剪40%的重量时,网络的准确度低于90%。在节能方面,该团队估计,与现有技术相比,他们的神经硬件 - 软件协同设计方法最终可以将神经网络训练期间的能耗降低两到三个数量级。“如果我们将新硬件与其他类似的内存技术进行对比,我们估计我们的设备可以将能耗降低10到100倍,那么我们的算法协同设计可以将其减少到另外10个。总的来说,我们可以期望获得100的增益根据我们的方法,在能源消耗方面,千倍,“Kuzum说。
本文由来源于财鼎国际(www.hengpunai.cn)
网友评论 ()条 查看