(2018)All-optical machine learning using diffractive deep neural networks

“All-optical machine learning using diffractive deep neural networks”,这篇Science上的文章发表于2018年6月{Lin X, Rivenson Y, Yardimci N T, et al. All-Optical Machine Learning Using Diffractive Deep Neural Networks[J]. Science, 2018.}。写个博客当作读书笔记~(版权声明:本文为博主原创文章,转载请注明出处!)

这篇文章提出全光衍射深度神经网络(Diffractive Deep Neural Network, D2NN)。D2NN的训练由计算机实现,完成训练后的网络由3D打印的被动衍射层构成,可以光速完成各种复函数运算。目前D2NN已实现手写数字识别、简单物体分类、成像镜的功能,并且D2NN在全光图像分析、特征检测、目标分类及新型相机设计等领域都将具有很多的应用。

一. D2NN原理

如图所示,D2NN由一系列透射或反射衍射层组成,层上每点相当于神经网络中的神经元,通过衍射作用与下一层各点连接。
(2018)All-optical machine learning using diffractive deep neural networks
按照Rayleigh-Sommerfeld diffraction equation(Principles of Optics, P548),D2NN每个节点可视为二次光源,遵守以下光学模式(Optical mode):
(2018)All-optical machine learning using diffractive deep neural networks
l为第l层网络,i为第i个节点,节点坐标为(xi,yi,zi),
(2018)All-optical machine learning using diffractive deep neural networks
该节点产生的二次波的振幅和相对相位,由该节点的入射波和节点的透射系数t决定(二者均为复函数)。那么,第l层网络的第i个节点,其输出为:
(2018)All-optical machine learning using diffractive deep neural networks
(2018)All-optical machine learning using diffractive deep neural networks
mil定义为该节点的入射波,|A|为二次波的相对振幅,Δθ为透射系数造成的附加相位延迟。二次波在层与层之间衍射传播,并在下一层网络上形成一个入射复数波。节点的透射系数t由振幅和相位两部分组成,若振幅为常数,则该网络为phase-only D2NN。
(2018)All-optical machine learning using diffractive deep neural networks

二.D2NN正向传播模型

(2018)All-optical machine learning using diffractive deep neural networks
D2NN网络结构如图所示。可将第l层网络的第i个节点输出重写为下式,其中p为下一层网络中某个节点。
(2018)All-optical machine learning using diffractive deep neural networks
D2NN的照明光源为第0层的hk0,是一个复数值,携带相位和振幅信息。照明光源经衍射后得到nk,p0,即为D2NN第一层的输入波。
(2018)All-optical machine learning using diffractive deep neural networks
假设该D2NN共有M层(除输入输出面外),那么在输出面上的探测器可以接收到光场强度为:
(2018)All-optical machine learning using diffractive deep neural networks

三.D2NN网络训练方法

使用误差反向传播算法及随机梯度下降优化方法对网络进行训练。损失函数为输出面光强siM+1和目标giM+1之间的MSE:
(2018)All-optical machine learning using diffractive deep neural networks
K为输出面测量点的数量。网络的训练即优化以下问题:
(2018)All-optical machine learning using diffractive deep neural networks
第l层网络i节点的il相对于误差的梯度可计算为下式:
(2018)All-optical machine learning using diffractive deep neural networks

四.D2NN与普通神经网络的区别

(2018)All-optical machine learning using diffractive deep neural networks
如上图所示:
1. D2NN中神经元的输入为复数值,权重(weights)由*空间的衍射决定,与层与层之间的物理距离有关,乘法偏置(multiplicative bias)由每个神经元的透射/反射系数决定。
2. D2NN每个神经元调制输入波的相位及振幅,输出一个二次波,它与sigmoid、ReLU或其他普通神经网络中使用的非线性神经元不同。(也可以在D2NN中增加光学非线性)
3. 上一层网络中各神经元的输出,通过波的传播及相干(或部分相干)干涉耦合,这为网络提供了一种独特的互联性。虽然神经元产生的二次波会向各角度产生衍射,但是波的强度会随传播距离发生衰减,这样,下一层网络每个神经元只能接收有限半径内的波,这称为D2NN的接收域(receptive field)。D2NN的互联性由网络层间距、入射光束光强、探测SNR、照明光源的相干长度和半径有关。

五.D2NN实验搭建方法

网络训练完成后,通过Poisson surface reconstruction(Screened poisson surface reconstruction)生成网络各衍射层的3D模型,然后经3D打印机打印,如下图所示。
(2018)All-optical machine learning using diffractive deep neural networks
具体过程:
1. 将各节点的相位转化为相对高度(Δz=λø/2πΔn),式中Δn为3D打印材料(VeroBlackPlus RGD875)和空气的折射率之差。λ=0.75mm,即0.4THz。在此频率下,该3D打印材料的折射率和消光系数k分别为1.7227和0.0311,对应衰减系数α=520.7177m1
2. 为每层加上一个均匀的,厚度为0.5mm的基层。
3. 通过Meshlab软件,计算曲面法线并执行Poisson reconstruction,完成3D建模。
4. 用3D打印机打印模型(Objet30 Pro 3D, Stratasys Ltd, Eden Prairie, Minnesota USA)。

经MNIST和Fashion-MNIST数据集训练所获得的各层相位板,如下图所示。由于打印的衍射层尺寸为8cm×8cm,在训练时需将各图进行0填充以匹配网络的入射孔径。而在实验时,在入射平面使用铝箔来实现零透射率。
(2018)All-optical machine learning using diffractive deep neural networks
D2NN构建的分类器和成像器在参数设置上有所不同,如下表所示:

项目 分类器 成像器
Sigmoid function 0-π 0-2π
神经元大小 400 μm 300 μm
层数 5 5
层距 3cm 4mm
相邻层神经元连接数 8billion ~1/10*8billion
层尺寸 8cm×8cm 9cm×9cm
训练数据集 MNIST ImageNet
训练epoch 10 50
训练batch size 8
训练时长 8h 10h

Sigmoid function 是用来限制神经元的相位大小。神经元越小,同一层中神经元的个数越多,相邻层神经元之间的连接也越多,可以实现越复杂的任务;而神经元的尺寸与3D打印技术有关。最大衍射半角由照明光源波长与空间频率决定:
(2018)All-optical machine learning using diffractive deep neural networks
(2018)All-optical machine learning using diffractive deep neural networks
对于成像器,其图像所含特征尺寸大,对应的衍射角小;此外其层距相对较小(4mm),因而其神经元连接数也较分类器少。
(2018)All-optical machine learning using diffractive deep neural networks
实验装置如上图所示。一个大小为16dBm、频率为11.11GHz正弦信号作为RF输入信号,经AMC放大26倍,成为频率为0.4THz的连续电磁波,电调制频率为1KHz。照明光束为高斯型,光束通过物体并进入神经网络,最后被输出面上的单信号探测器检测。

实验所用的数据集为经3D打印的MNIST数据集。其中,MNIST手写数字集,经上采样、二值化后打印。这里,只需要使用振幅通道即可,即把打印的数字镀上铝箔,这样光透过率为0。而MNIST时尚物件数据集,由于其所含物体更为复杂,因而需要将其在相位通道编码,灰度值对应0-2π的相位,振幅相同。

六.D2NN实现分类器和成像器

分类器:实现对MNIST数据集中数字或时尚物件的分类。数字分类器如下图所示。待检测数字被编码为输入信号的振幅大小,有数字的区域振幅为0。信号经D2NN后,映射到10个探测器区域,分别对应10个数字。分类器输入数字及输出结果如下图所示。使用5层衍射层,网络的正确率为91.75%;如在5层网络的基础上,保持这5层结构不变,再增加两层,正确率提高到93.39%。此外,从实验结果来看,使用complex-valued调制(同时使用相位和振幅)比phase-only调制能实现更高的正确率。另外,增加网络深度(即增加网络层数),或增加层间距(即增加层与层之间连接神经元个数),也可以提高网络性能。
(2018)All-optical machine learning using diffractive deep neural networks

成像器:实现放大率为1的成像系统。该网络使用ImageNet数据库进行训练。如下图S6所示,D2NN经训练后,可将信号在输出面的位置映射到与输入面相同的位置,这与信号在*空间衍射的效果完全不同。实验结果如图S8所示。
(2018)All-optical machine learning using diffractive deep neural networks
(2018)All-optical machine learning using diffractive deep neural networks

七.D2NN优点及未来可实现应用

这种全光实现的深度神经网络,由于其并行计算能力、低能耗特性,具有非常好的应用前景。D2NN网络可以通过各种高产量、大面积的3D加工方式及大视场光学元件和检测系统实现。这允许我们低成本地实现千万、亿万的神经元数量,或是千亿的神经元连接。同时这项技术还可以迁移到其他应用如图像分析,特征检测和物体识别等等。作者列举了三个可能可以实现的应用:
1. 增强显微成像。利用D2NN增强特定带宽的空间频率,提高获取图像的对比对;且只需将D2NN放置在成像芯片顶端,可实现非常紧凑的芯片尺寸的显微镜。
2. 人脸识别。把D2NN作为传感器设计的一部分,那么将不需要超百万像素的成像器。
3. 化学检测或药品成分检测。这是针对光谱THz部分的应用。

文中不明确的地方:
作者在补充材料的Comparison with standard deep neural networks中第三点提出网络神经元接收域的问题,训练结果也有体现,但是在网络训练优化中并未体现这一点。不清楚具体在网络训练时如何处理这个问题。