神经启发的机器人电子皮肤

[Neuro-inspired electronic skin for robots](Neuro-inspired electronic skin for robots | Science Robotics)

local file here

Intro

这是篇综述文章,主要讲的是电子皮肤中多种计算模块的硬件实现,如何集成以实现类似人类皮肤或者周围神经系统的可行性。还有神经感知与数据处理技术,各种算法、硬件结构。同时也讲了一些超薄神经形态芯片用于局部计算,在柔性基底上实现印刷电子技术等内容,但考虑到我的研究方向,就主要关注这篇文章的前面的神经形态计算和硬件内容了。

这篇文献核心想讲的就是:Computational e-skin / Neuromorphic e-skin 即:传感+编码+局部计算+学习功能都分布在柔性皮肤上,使得skin本身成为一个computing substrate,实现真正的distributed intelligence。

Why not traditional e-skin?

传统的电子皮肤关注的是传感器本身,即压力、应变、温度等传感器搭载在柔性基底,如何实现可拉伸结构和大面积的传感器阵列。但是当传感器越来越多,后端采集硬件和算法需要处理的数据带宽会非常巨大,这和人体的传感是不一样的。人体的皮肤传感并不是皮肤上几十万个mechanorecepor的信号同时传递给大脑然后由大脑来处理。而是这样的流程:

receptor->local encoding->peripheral processing->sparse spike->brain

那么在传统的蒙皮下,把所有的原始传感数据发送到中央计算单元进行计算会由如下问题:

  1. 通讯带宽压力大
  2. 功耗大
  3. 延迟增加
  4. 柔性皮肤的互联会很困难 所以作者提出了一个概念:edge computing at skin level

人体的皮肤是如何工作的?

本身皮肤是一个柔性体,当外部激励施加在皮肤上时: external force->skin deformation->mechanically redistribute stress->different receptors stimulated differently 也就是皮肤自身的材料和几何构型本身就对传感信号做了某种mechanical preprocessing。也就是perception不一定发生在大脑,一部分的spatial information已经编码在了first-order neuron的spiking pattern中。例如:

edge orientation

就已经由皮肤的deformation + receptive fields进行了编码。由此的仿生学启发就是未来的电子皮肤的一个研究方向可以是:

mechanics + sensing + computing co-design

而传统的数据流向是:sensor -> ADC -> MCU -> neural network

作者在Conclusion中也提到了:

It is highlighted that the mechanical properties of the skin and the neurological behaviors are correlated in both tactile sensation and perception

也就是,皮肤的机械特性和神经行为在触觉和感知中均存在相关性。

Fig.1

Computational e-skin的硬件构成

作者将整个系统划分为三个Blocks:

  1. Sensor / sensory neuron: 负责将外部的物理刺激转换为可读的信号(physical stimulus -> spikes)
  2. Artificial synapse: 负责链接 + 权重 + 学习(connection + weight + learning)
  3. Artificial neuron: 负责集成、阈值、触发(integration -> threshold -> firing)

Sensory neuron

Sensory neuron不是单纯的传感器,而是基础的感知神经元单元 作者提出了两种架构

  1. Sensor + oscillator / edge detector:电路简单、数字化电路鲁棒性强、已经能够在柔性基底上实现
  2. Sensor + neuron circuit:depolarization、hyperpolarization、refractory period、frequency adaption。但是电路发杂实现困难,特别是在大面积的柔性基底上难以实现 这两种方法都能提供类生物的效果,但是各有优劣,由此也牵扯出一条全文反复涉及的Trade-Off:
biological plausibility & hardware complexity

Fig.3|697

Fig.3 The hardware implementation of an artificial neuron

Cuneate neuron

人工脉冲神经元是非常重要的,作者也花了比较大的篇幅对这个进行介绍。 主要是用来模拟脊髓/脑干中的楔形神经元,来实现时空整合。主要的技术路线如下:

技术路线原理生物合理性特点
相变器件(PCM)利用相变材料的绝缘-金属相变模拟神经细胞的离子通道最高(模拟几乎所有脉冲特征)最低的硬件复杂度
阻变期间(PRAM)易失性阻变存储器模拟泄漏电阻中等硬件复杂度低
CMOS器件利用CMOS的亚阈值区模拟泄露积分高硬件复杂度高
非脉冲神经元如VO₂ Mott器件、纳米线FET,输出连续激活值低复杂的布局和较高的功耗
Fig.3F中比较了每种方案的硬件复杂度和生物合理性

Why spiking?

spike本身是一个

$$ \boxed{event-driven ~ representation} $$

也就是在无刺激状态下不会有输出,只有在传感事件发生时会输出spike。相对于连续采样需要不断地采集和处理传感数据,spiking就由$continuous~sampling$变成$event-driven~communication$ 理论上即可以显著的降低数据量、通讯开销和能量消耗。

Artificial synapse

突触也是神经网络的核心,主要实现两个功能:

  1. 突触效能:信号的传递能力
  2. 突触可行性:权重能根据学习规划调整

人工突触主流器件:(Fig.4a)

  1. 二端器件:PRAM/PCM,优势是结构简单,适合交叉阵列,但是存在潜行电流(Sneak Path)和forming工艺复杂等问题
  2. 三端器件:浮栅晶体管、Fe-FET电化学突触晶体管等,易实现抑制/兴奋双极性,均匀性更好。 阵列架构(Fig.4b): 交叉阵阵列天然执行矩阵-向量乘法(MVM),即神经网络的核心运算。可以使用1T1M(1晶体管1忆阻器)或自选通器件抑制潜行电流。也可以用CMOS实现无源交叉阵列,或使用选通器与PRAM合并。

Why crossbar array?

在神经网络中,最常见的运算就是矩阵运算:

$$ y_i=\sum_{i}w_{ij}x_i $$

如果用crossbar: 输入电压:$V_i$ 电导(Conductance):$G_{ij}$ 根据欧姆(Ohm)定律和基尔霍夫(Kirchhoff)定律:

$$ I_{ij}=\sum_{i}G_{ij}V_i $$

就对应上了神经网络中的矩阵运算。 Crossbar直接把$matrix~multiplication$变成$physical~electrical~process$

What about memristor?

文章里没有直接表示对memristor的态度,但是提出了其的一系列问题:

  • sneak path 隐秘路径
  • forming 成形
  • device variability 器件变异性(不稳定性)
  • poor resistance tuning 电阻调谐不良
  • yield 良率
  • nonlinearity 非线性
  • asymmetry 不对称性
  • endurance 耐久性
  • retention 保留率
  • uniformity 均匀性 尤其是$computational~e-skin$追求 $$ large~area+flexibility+high~device~count $$ 那么$\boxed{uniformity}$就会变成极其严重的问题 所以作者认为,短期内更可能是: $$ \boxed{emerging~analog~devices+CMOS~digital~circuits} $$ 的hybrid architecture

Fig.4

Fig.4 Hardware Implementation of artificial synapse

Neural system implement

因为前文讲的其实都只是神经形态计算的器件和实施方案,还没有真的形成一个完整的$computational~e-skin$,那么就还有一个很重要的问题:

$$ How~to~connect~the~sensor,neuron~and~synapse? $$

作者提出的方案是:

$$ \boxed{two-layer~peripheral~neural~network} $$

第一层是:$sensory~neurons$ 第二层是:$cuneate-like~second-order~neurons$ 中间使用 $synapse$ 连接

What can this two-layer network do?

这种的网络规模其实是不可能能跑AI算法的,主要处理的其实是:

$$ \boxed{low-level~tactile~information} $$

比如说:

  • local tactile feature recognition
  • contact detection
  • slip detection
  • enviromental sensing
  • edge orientation 也就是作者设计的计算层次是: $raw~tactile~signals->local~preprocessing->local~features/events->central~controller$ 而对比传统的传感器数据路径是:$raw~tactile~signals->central~controller$ 作者明确认为这种局部 $sensory-motor~processing$ 能够降低数据延迟,并减少中央处理负担。

Why this is reservoir computing like?

在two-layer network中的第一层中,并不是$1~sensor->1~neuron$的简单关系,而是:

  • overlapping receptive fields
  • local interconnection
  • neighboring neuron interaction 所以一个tactile input会先被投影至一个更高维度的neural state:$x->\textbf{z}$ 然后再在$\textbf{z}$中提取特征,这和reservoir computing的思想有一定相似性 但是biological skin更复杂,因为receptive field还会随着机械变形而变化。 那么真正的人工皮肤可能需要一种: $$ \boxed{mechanically~modulated~neural~network} $$

How to train the network? ~STDP

$$ \boxed{Spike-Timing-Dependent~Plasticity} $$

也就是:$\Delta{t}=t_{post}-t_{pre}$来决定$\Delta{w}$ 如果pre neuron先发spike,post neuron随后发,那么就:$\Delta{w}>0$ 可能发生potentiation 如果顺序反过来则:$\Delta{w}<0$ 可能发生depression

更多关于STDP

为什么STDP适合memristor?

使用memristor时,可以在器件的两端分别接:$V_{pre}\&V_{post}$ 器件实际承受的电压则为:$V_{net}=V_{pre}-V{post}$ 由于两个spike的timing不同,存在不同$\Delta{t}$ 那么$V_{net}$不同,当它超过potentiation/depression threshold时: $G$改变,于是进一步的实现:

$$ \Delta{t}->\Delta{G}->\Delta{w} $$

也就是实现:

$$ \boxed{learning~algorithm->device~physics} $$

STDP is not enough, what about reinforcement learning

普通的STDP解决的是$correlation~learning$,但是在机器人中,需要的是$What~behavior~is~good?$,所以需要reward。作者便进一步讨论了:

$$\boxed{three-factor~STDP}$$

普通的STDP是:$\Delta{w}=f(t_{pre},t_{post})$ 而three-factor是:$\Delta{w}=f(t_{pre},t_{post},M)$ 其中,$M$类似于dopamine/acetylcholine这种global modulation signal 本文作者想要的最终的e-skin并不只是一个单纯的会感知的皮肤,而是: 可以局部产生perception、association甚至simple learning的皮肤

How to manufacture?

前面已经完成了完整的理论框架: $sensor->sensory~neuron->synapse->second-order~neuron->local~processing$ 但是如何将这一切生产,布置在机器人上,那么重心就来到了:

$$ \boxed{large-area~manufacturing} $$

短期可行方案

$$ \boxed{Flexible~PCB+ultrathin~silicon~chips} $$

基本的思路就是: 现成$silicon~neuromorphic~chip->wafer~thinning->$变成$ultrathin~chip->$贴在$flexible~PCB->$连接$flexible~sensors$ computing部分直接使用成熟的现有的silicon technology,可以最快实现computational e-skin

长期理想方案

$$ \boxed{Fully~printed~electronics} $$

也就是直接在柔性基底上打印所需要的所有器件:

  • sensors
  • transistors
  • neurons
  • synapses
  • interconnects 可以使用的方案有:
  • inkjet printing
  • transfer printing
  • contact printing
  • screen printing
  • roll-to-roll printing 这样的优势是:$large~area+soft+low~cost+scalable$ 问题是:$device~density,mobility,uniformity,yiled$目前仍不够 因此作者认为,在高空间分辨率区域,比如$fingertip$,可能仍需要$silicon-based~dense~electroncis$ 而身体其他地敏感区域:可以用printed electronics 这有点像$\boxed{heterogeneous~e-skin}$

e-skin workflow

本质上就是个:

$$ \boxed{Physical~stimulus} $$

$$ \downarrow $$

$$ \textbf{Sensing}:mechanoreceptor-like~sensor $$

$$ \downarrow $$

$$ \textbf{Encoding}:sensory~neuron $$

$$ \downarrow $$

$$ \textbf{Local~computing}:synapse+second-order~neuron $$
完成integration、feature extraction、association和learning
$$ \downarrow $$ $$ \textbf{Communication}:upload~events/features,not~all~raw~data $$ $$ \downarrow $$ $$ \textbf{Central~cognition}:planning,high-level~perception~\& ~decision $$ 所以作者理想的架构是: $$ \boxed{Skin=Sensor+Encoder+Processor} $$ # Some important opinion $$ \boxed{Large-area~sensing \Rightarrow Distributed~computing} $$ 大规模传感器会产生大规模的数据,不能无限的依赖于中心化计算 $$ \boxed{e-skin\neq sensor~array} $$ 未来的e-skin不应该只有单纯的传感功能,应当是传感、编码、计算、学习 $$ \boxed{mechanics+sensing+neural~processing} $$ 这四点不可分割,柔性皮肤的机械形变本身,也可能是信息处理的一部分