A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Processor and a CIS Integrated with Always-On Haar-Like Face Detector
单位:KAIST(韩国科学技术院)——ISSCC上大神级的机构···
DNN的加速器,面向不同的应用有着不同的能效需求:0.1W~1W,1W~5W等,不同的应用场景需要不同的架构。但是在0.1w以下的空间,目前成熟的工作还不多。本篇是一款面向Always-on 和IoT的0.62mW的人脸识别系统,面向IoT等极低功耗需求的计算场景。分为两个部分:人脸检测和人脸识别。下面主要讲一讲人脸识别部分的CNN引擎。
下图想说的是用分布式内存架构比集中式的会更好:
在卷积中,采用一个2D转两次1D的trick,比如5*5的卷积,先做一次5 *1再做一次1 *5卷积,可以得到一样大小的输出;结果是计算参数减少了,更重要的是计算量显著减少。(这个trick在算法中很容易想,但是在硬件中直接做效率不一定高,所以也就有了后面的T-SRAM的设计,可以一次取出一列的数据)
虽然计算减少了,但是精度损失比较少:
对于SF-CONV的访存:垂直方向的图像滤波效率很低,同时增加了4.7x的翻转率。基于此,提出了T-SRAM。T-SRAM支持两种访问方式:V-WD和V-SA是倒序访存,输出的是垂直方向的1D向量;而H-WD和H-SA是顺序访存,输出的是水平方向的1D向量。
用了TSRAM以后:
具体电路设计细节可以参考paper,我也是外行。
芯片版图:65nm工艺下,FD部分的CIS处理单元为3.3mmx3.36mm(320×240的阵列,支持哈尔检测的芯片,采用模拟存储);FR部分的CNNP单元为4mmx4mm(4×4的PE阵列,使用T-SRAM作为本地存储)。
V和F的调整情况:
SF-CONV的精度损失在1%以内,整体精确度达到97%(CNN网络,LFW数据)
总结:面向Always-on 和IoT的0.62mW的人脸识别系统[1]
1、超级功耗的人脸识别SoC(采用CIS和CNN实现)
2、数模混合的哈尔特征人脸检测电路
3、卷积分离的近似计算技术
4、支持水平、垂直数据读取的新结构T-SRAM
5、采用电压、频率可调的NVT实现
参考资料
[1] https://reconfigdeeplearning.com/2017/02/09/isscc-2017-session-14-slides14-6/
[2] A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Processor and a CIS Integrated with Always-On Haar-Like Face Detector