第 50 节 基于自然仿生算法的 AI 芯片(第1页)

以上介绍的自然仿生算法在 DNN 的应用,大部分还是在 CPU 上进行模拟运算,很少使用专门的芯片。如果把自然仿生算法在专用芯片上实现,将可以达到高得多的效率和性能。事实上,近年来已经有很多在芯片上实现自然仿生算法的例子 [177,178] 。2019 年,方言等人已经基于铁电脉冲神经网络(F-SNN)实现了一种群体优化器 [179] 。本节介绍一些 PSO 和模拟退火芯片实现方面的探索。

粒子群优化的芯片实现

粒子群优化(PSO)算法的芯片实现难度较高。PSO 算法源于鱼类和鸟类群落的社会行为 [180] 。群体中的每个粒子(个体)都具有位置矢量,代表该问题的潜在解决方案。算法在整个搜索空间和每次迭代中将粒子初始化为随机位置,再算出速度矢量并用于更新每个粒子的位置。每个粒子的速度都受到粒子自身经验及邻居经验的影响。

基于 FPGA 来实现 PSO 算法相对比较容易 [177] 。图 9.7 为一种 PSO 芯片的实现框图。假设群体由 N 个粒子组成,每次迭代使用成本函数 f 来测量群体中每个粒子 i 的拟合度(Fitness)。然后更新每个粒子 i 的位置,这受 3 个因素的影响:最后一次迭代的粒子速度、已知最佳位置的粒子和当前位置粒子之间的差异,以及已知最佳位置的群体与当前位置粒子之间的差异。后两项各自乘以 [0,1] 中的一个均匀随机数来随机改变每一项的影响,并乘以一个加速系数以扩展和平衡每一项的影响。每个粒子获得的最佳位置存储在矢量 p i 中(图 9.7 中的 PBest),而群体中任何粒子获得的最佳位置存储在矢量 p g 中(图中的 GBest)。然后更新每个粒子的速度矢量 v i 。

图 9.7 PSO 芯片实现框图  [177]

图 9.7 PSO 芯片实现框图 [177]

PSO 的算法实现通常使用浮点值。但是,
(本章节未完结,点击下一页翻页继续阅读)