视觉是人类与外界交流最重要的感知方式。过去十年里仿生机器视觉迅速发展,如今人工系统已经具备从图像和视频“看见”有价值信息的能力,不过相比人眼视觉效率还有一定的差距。奥地利维也纳理工大学Lukas Menne等研究人员最近在《自然》中发布了一种媲美于人脑的视觉系统设计,经过训练后能实现对简单图像的纳秒级分类。
数码相机所用的现代图像传感器基于半导体(固态)技术,并于二十世纪七十年代初问世。主要分为两种类型:电荷耦合器件(charge-coupled devices)和主动式像素传感器(active-pixel sensors)。它们可以“忠实地”从环境中捕获视觉信息,但会生成大量冗余数据。通常的方式是将大量光学信息转换为数电格式,然后传递到计算单元进行图像处理。
在传感器和处理单元之间大量数据移动会引起延迟和高功耗等问题。随着成像速度和像素数量的增加,带宽带来的限制使得难以将所有内容快速返回到中央计算机或基于云的计算机并进行实时处理和决策,这对一些对延迟非常敏感的应用如无人驾驶汽车、机器人或工业制造等尤为重要。
一种更好的解决方案是将一些计算任务转移到计算机系统外部边缘传感设备,从而减少不必要的数据移动。由于传感器的输出通常是模拟信号(连续变化),模拟处理胜于数字处理:众所周知,模数转换既耗时又耗能。
为了模拟大脑对信息的有效处理,生物神经形态工程采用了一种计算架构。该架构采用高度互连的元素(神经元,通过突触连接),从而实现并行计算(见图1a)。这些人工神经网络可以通过迭代学习周围环境——例如,为其提供已知示例展示,对事物进行分类(监督学习);或者,无需额外信息就能通过输入数据识别对象的特征结构(无监督学习)。在学习期间,算法会反复进行预测,并增强或削弱网络中的每个突触,直到达到最佳设置。
图1:在视觉传感器内进行计算,实现智能高效的预处理。(a)传统人工智能(AI)视觉传感器从光敏传感器收集信号,利用模数转换器(ADC)将模拟信号转换为数字信号,放大后输入到外部人工神经网络(ANN)——连接可以进行调整的互连计算单元(图中用圆形表示)层,经过训练后,此网络可以执行诸如图像分类之类的任务。ANN输入层接收的信号是编码后的简单物理元素(图中用点和线表示);在后续层中,这些已优化为中级特征(图中用简单形状表示);在输出层上形成精细图像(图中用3D形状表示)。整体响应可能是又慢又耗能。(b)Mennel等研究人员设计的系统中,芯片上的互连传感器(图中用正方形表示)不仅可以收集信号,还可以作为ANN来识别简单功能,从而减少了传感器和外部电路的冗余数据移动。
Mennel等研究人员直接在图像传感器加入了人工神经网络。他们在芯片上构建了光电二极管网络,这些光电二极管是对光敏感的微型单元,每个单元中有几层二硒化钨(WSe2)原子层。通过调节施加在二极管上的电压,半导体器件对光的响应程度发生变化,从而实现对每个二极管灵敏度的分别调节。实际上,这将光电传感器网络变成了神经网络(见图1b),能够执行简单的计算任务。改变光电二极管的光响应能力则改变网络的连接强度(突触权重)。因此,该器件实现了光学传感与神经形态计算的结合。
作者将光电二极管排列成九个像素的正方形阵列,每个像素有三个二极管。当图像投影到芯片上时,会产生不同的二极管电流,再进行组合和读取。硬件阵列提供了一种模拟计算形式:每个光电二极管都会产生与入射光强度成比例的输出电流,并且根据基尔霍夫定律(电路电流所遵循的基本规律)将沿行或列的电流值求和。
图2:光电二极管排列成九像素正方形阵列
接着对阵列进行执行任务的训练。芯片阵列产生的电流与预测电流(对于给定任务,阵列正确响应图像应产生的电流)的差异,并用于调整下一次训练周期的突触权重。这个学习阶段会占用时间和计算资源,但是一旦经过训练,该芯片将迅速执行其任务。
神经网络可以采用不同算法,作者在文中演示了两种神经形态功能。第一种是分类:3 x 3像素阵列可以将图像分类为三个简化字母“n、v、z”对应的三个类别之一,从而以纳秒为单位识别该字母。这样的简单阵列只是为了概念证明,如果按比例增加阵列的大小,则可以进一步扩展,识别更复杂的图像。