模拟 or 数字电路,机器学习如何选择?

近年来,我们目睹了“深度学习”的兴起,这一领域试图实现类似于人类行为的推理和智能水平。

人工神经网络(ANN)精炼出的数学公式是相对于能够有效运行这些网络的物理设备的开发而开发的。人们经常拿计算机和人类大脑进行比较,它们的底层结构截然不同。神经网络的一个明显特性是它们的蜂窝状特性。因此,基本的“cell”结构是探索的方面之一,一个显而易见的原因是它多次重复。因此,效率的重要性。将是本文讨论的重点。

ANN理论指引

人工神经网络的基础是一大堆称为神经元的元素,通常以紧密相连的束排列。简而言之,神经元是一种特征在于具有多个输入和单个输出的单元。单元的输出是输入的直接函数,每个输入在对输出的总体贡献中得到不同的“关注”,这种“关注”水平通常被称为权重。此外,输出可能带有一些阈值效应,只有当神经元超过阈值(也称为“已触发”)时才会产生响应。连接到“射击”(firing)神经元的线下神经元的相关输入将被“激发”,并且该过程将在整个网络中传输以达到最终输出。

图1 :神经元生物学灵感(左)及其人工,概念等效图(右)。树突作为输入; 轴突是输出,聚合发生在“细胞”内。

在定义等效模型时,最常见的方法是加权求和,并将非线性应用于输出。这种方法在以简单而有意义的方式捕捉概念的本质方面非常有用。然而,在尝试捕获生物行为的更精细方面时,要寻求更复杂的模型。这些反映了可能导致更完整的神经元描述的其他属性,并且出于实际原因,可以提供克服基本表示法固有的一些性能障碍的实现替代方案。

模拟神经元行为的选项涉及时域,频域和幅域表示。这些选项可以用闭合的数学形式很容易地表达,如下所述。

直接的离散模型,将神经元表示为输入的加权和(图2a); 脉冲序列,其中脉冲序列代表活动,它们的时间速率决定激发水平 - 这是表示人体中神经细胞活动的最接近表示的图形(图2b)和连续表示。

图2:a)离散(b)脉冲和(c)连续模型的数学表示。

模拟和数字实现

用于神经元实现的各种方法需要解决两个基本问题:(i)处理 - 负责计算输入和权重输出的部分;(ii)数据传输 - 负责数据传输和存储的部分。

虽然采用数字电路实现在现代大规模IC设计中更为常见,但最近的方法越来越多地通过模拟电路实现。神经元的数字实现基于乘法和累加电路。每个操作都涉及读取输入和权重,并产生中间结果。该过程重复多次。在求和结束之后,需要将非线性应用于结果值,并且将结果呈现为神经元输出。每N个循环可获得一次结果。此后应存储该结果。

图3:数字电路构建功能块

模拟电路则利用信号的连续性来表示某些物理电平的总和(例如,电压电位的总和,或电流的总和),并获得免除有限世界长度表示问题的连续信号。

图4:模拟电路构建的功能块(连续操作)

模拟电路的另一种变型是基于脉冲的电路,其利用恒定幅度的脉冲序列的概念。在这种情况下,激励水平取决于速率。这个概念大部分类似于脑神经元活动。

图5:模拟电路构建的功能块(脉冲操作)

在模拟情况下,数据存储是一项非常重要的挑战。它可以通过转换到数字域来解决,这意味着需要进行某种模数转换,同时在获取数据时进行数据和数模转换。或者,输出可以直接馈送到下一级,从而避免任何存储操作。如果设计能够支持所需的带宽,则后一种方法是高效的。如果需要,可以应用一些电容以允许带宽控制。(注意:图3、4和5显示了实现每个前面提到的方法的一个选项,并没有包含所有实现细节)

性能

在研究各种方法的性能时,很明显,虽然数字化方案已经得到了很好的建立,但它受到CMOS技术障碍的限制,如~0.4V的晶体管级阈值电压,低于3GHz的标准单元、与工艺相关的最大时钟频率和占空比限制。对于单个8位乘加运算,这将导致处理节点的下界约为~100fJ。

相反,模拟电路在理论上受热噪声的约束,热噪声大约为0.01fJ。这比数字电路低四个数量级。因此,有理由基于模拟计算结构构建电路。然而,实际部署受到各种问题的挑战,例如将数据传递到所描述的大量计算单元,与其连接相关的寄生效应,有效存储输出以及最终转化为大规模设计流程和批量生产技术的能力。在实践中,有报告表明,计算单元的可实现能量为1~10fJ。在这些实现中,实际上计算单元能量变得可以忽略不计,然而,总能量主要由周围电路和存储单元支配。

总而言之,在基于数字电路构建的功能块之上的X10~X100的实际效率在小规模下是可以实现的,但是一旦单元规模扩大,其效率就会迅速下滑。

图6:相关的操作域图

图6是不同方法的定性描述。模拟电路的效率损失主要是由于实现损耗(即,检测器电路具有一些内部噪声,其降低了信噪比并且需要更好的裕度)。在这种情况下,脉冲方法具有较低的检测阈值。放大模拟解决方案时,会观察到噪声耦合。这种效应随着解决方案规模的增长而增长(在连续方法中更为显着)。数字方法受这种耦合效应的影响较小。实际上,从模拟到数字的能量差距归因于更高的电压电平和工作频率,这在模拟情况下要高得多。

实际上,大规模电路设计在过去几十年中已经成熟,且获得的行业经验不容易被忽视。因此,可扩展性和产品化在很大程度上限制了使基于模拟的解决方案成为解决一般问题的主要方法的能力。此外,在系统层面,不能忽视次要贡献者。一旦计算单元贡献降低到合理水平,进一步改进就变得不那么重要了。

系统层面

到目前为止,这个讨论一直致力于构建功能块级别。但是,忽略系统的其余部分是不完整的。系统级分析应该考虑所有贡献者,并考虑到在某个时刻基本处理的改进因素可以忽略不计的事实。能量分布就是这种情况。

迄今为止,在运行机器学习任务时,最先进的解决方案正在努力达到0.1~1TOPS / W. 这相当于每次操作1~10pJ。如前所述,由于0.1pJ的神经元平台的数字实现,然后90%~99%的能量仍然存在于包括存储单元、控制结构和总线架构的其他领域中。因此,利用潜力进行架构改造至关重要。仅通过转换到模拟方案回收的能量上限为所消耗的总能量的10%。

对照

下表列出了各种方法的一些关键属性,并总结了上面提到的大多数项目。

表1:模拟和数字电路基础神经网络的比较

结语

总而言之,显而易见的是,机器学习的活跃特性将带来新的和有趣的技术,这些技术将逐步成熟并满足各种市场需求。

模拟解决方案在神经网络计算引擎领域展现出了巨大的发展潜力。一旦成熟,它很可能成为各种神经计算解决方案中的补充元素,并可能解决一些具有挑战性的案例。尽管如此,由于其有限的可扩展性,技术节点敏感度,以及它提供的解决方案与相对有限的应用程序子集相关,而数字解决方案可提供有效的解决方案,因此,目前还很难预见基于模拟电路的解决方案何时能在该领域实现灵活的替代,并占据主导地位。

今天是《半导体行业观察》为您分享的第1664期内容,欢迎关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180731B0NCYH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券