第 34 节 模拟计算的应用范围及其他实现方法(第1页)

CNN 对图像处理等应用非常有用,但对其他应用如机器翻译、字幕和其他自然语言处理则不太理想。此类应用使用 LSTM 和门控循环单元(Gated Recurrent Unit,GRU)网络之类的 RNN,并且可以依赖 DNN 的 FC 层来完成。幸运的是,就像数字加速器似乎特别适合于卷积层(CONV 层)一样,基于模拟计算的加速器似乎也特别适合于 FC 层。

在使用 NVM 进行模拟计算时,每个 FC 层每次计算整个 VMM,每个权重仅使用一次,效率相当高。相比之下,用基于数字计算的加速器来计算 FC 层是有问题的,因为要计算的权重数量庞大,但很少有机会巧妙地重复使用数据。CONV 层的情况恰好相反。由于许多激活都需要乘以相同的权重,因此基于模拟计算的加速器要么将花费时间来实现这一点,要么花费面积。任一种选择都会降低以单位面积、单位时间的操作数(TOPS/mm 2 )衡量的计算效率。

因此,数字深度学习加速器十分适用于每个权重分到大量神经元的层(如 CONV 层)。同样,如果加速器的有效精度合适,并且数据路由不会牺牲基于交叉开关的矩阵乘法的固有效率,那么模拟加速器对于每个神经元具有很多权重的层(如 FC 层)就十分理想。这就是说,混合式的模拟数字加速器可能将是这些互补特性的理想融合,从而为 DNN 带来两全其美的优势,DNN 可以受益于各种类型层的混合。

除了新型 NVM 之外,新颖的基于电容器的 CMOS 器件,是一种比较奇特的思路,也被试验用于模拟计算。

考虑到现有 NVM 固有的非线性和不对称性使芯片训练变得困难,金世荣(Seyong Kim)等人 [115] 提出了一种基于电容器的模拟突触。突触的权重与电容器的电压值成正比,并把电容器的电压直接连到一个读取晶体管的栅极,从而控制该晶体管的沟道电阻值。这个电容器和几个晶体管组成了一个基于 CMOS 的模拟阻性处理单元(Resistive Processing Unit,RPU)。这些单元组成了一个基于 CMOS 的交叉开关阵列(而不是前面讲述的基于 RRAM、PCM 等 NVM 的交叉开关阵列)来进行深度学习的模拟计算。

金世荣等人建议在每个单元中使用逻辑电路来确定权重更新期间是否需要触发向上或向下的脉冲,并设计成每个单元 10
(本章节未完结,点击下一页翻页继续阅读)