天机芯片(TJ)能支持CS.based ANN(artificial neural network,nonspiking 传递float value)和NS.based SNN(spike NN,传递二进制序列)。支持多核、等级平行计算、可configure各类网络各种拓扑,concurrently做多domain多算法多种tasks。
Fig2:TJ.Fcore (function core)包括axon(buffer input activation/spike train),synapse (存储上下游神经元间的权重W),dendrite(根据上游输入xi与所存储权重Wij,做mutiplication and accumulaiton (MAC)运算),soma(对ANN做非线性变换产生activation输出,对SNN做膜电位积分,达到阈值fire spike(同时膜电位reset)),router根据查找表(RLUT)接受和发出msg到指定的Fcore。
Fcore的axon可被configure成ANN型(接受float的activation输入)或SNN型(接受spike train输入)。Fcore的soma也可以被configure成ANN型(做非线性变换(线性如sigmoid或Relu可以存储在LUT表)产生activation给下游Fcore),或configure成SNN型(通过膜电位和阈值产生spike train给下游)。TJ.Chip有12*13=156个Fcore,Fcore为converter(即ANN输入SNN输出,SNN输入ANN输出),chip可被configure成均质(如全部Fcore为ANN做CNN功能)或异质(有ANN和SNN)。router可随意连接各Fcore(根据RLUT)实现点到点连接,Recurrent,多播(同样输出经由多Fcore提升fan-out量)等Fig2.e。
本文用单一TJ芯片做无人驾驶自行车,实现CNN做物体detection,CANN(continuous attractor NN)做人tracking,SNN做voice control,NSM(neural state machine)做系统状态transition控制,MLP做自行车运动控制(接受NSM command和IMU的自行车姿态参数)。
系统有5种状态:S0=voice ctrl;S1=人detection;S2=人tracking;S3=躲避障碍;S4=躲避完成。NSM来控制五种状态的transition(Figs.s4)三组神经元做系统状态、transfer、output表达。三组矩阵做状态间transition。
硬件连接同软件上的架构,软件上训练好各参数(BP来训练),搬到TJ的localized内存上来做实时提取与计算用。
领取专属 10元无门槛券
私享最新 技术干货