“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 D 2 N N )。 D2NN D 2 N N 的训练由计算机实现,完成训练后的网络由3D打印的被动衍射层构成,可以光速完成各种复函数运算。目前 D2NN D 2 N N 已实现手写数字识别、简单物体分类、成像镜的功能,并且D2NN在全光图像分析、特征检测、目标分类及新型相机设计等领域都将具有很多的应用。
一. D2NN D 2 N N 原理
如图所示,
D2NN
D
2
N
N
由一系列透射或反射衍射层组成,层上每点相当于神经网络中的神经元,通过衍射作用与下一层各点连接。
按照Rayleigh-Sommerfeld diffraction equation(Principles of Optics, P548),
D2NN
D
2
N
N
每个节点可视为二次光源,遵守以下光学模式(Optical mode):
l为第l层网络,i为第i个节点,节点坐标为(
xi
x
i
,
yi
y
i
,
zi
z
i
),
该节点产生的二次波的振幅和相对相位,由该节点的入射波和节点的透射系数t决定(二者均为复函数)。那么,第l层网络的第i个节点,其输出为:
将
mli
m
i
l
定义为该节点的入射波,|A|为二次波的相对振幅,Δθ为透射系数造成的附加相位延迟。二次波在层与层之间衍射传播,并在下一层网络上形成一个入射复数波。节点的透射系数t由振幅和相位两部分组成,若振幅为常数,则该网络为phase-only D2NN。
二. D2NN D 2 N N 正向传播模型
D2NN
D
2
N
N
网络结构如图所示。可将第l层网络的第i个节点输出重写为下式,其中p为下一层网络中某个节点。
D2NN
D
2
N
N
的照明光源为第0层的
h0k
h
k
0
,是一个复数值,携带相位和振幅信息。照明光源经衍射后得到
n0k,p
n
k
,
p
0
,即为
D2NN
D
2
N
N
第一层的输入波。
假设该
D2NN
D
2
N
N
共有M层(除输入输出面外),那么在输出面上的探测器可以接收到光场强度为:
三. D2NN D 2 N N 网络训练方法
使用误差反向传播算法及随机梯度下降优化方法对网络进行训练。损失函数为输出面光强
sM+1i
s
i
M
+
1
和目标
gM+1i
g
i
M
+
1
之间的MSE:
K为输出面测量点的数量。网络的训练即优化以下问题:
第l层网络i节点的
∅li
∅
i
l
相对于误差的梯度可计算为下式:
四. D2NN D 2 N N 与普通神经网络的区别
如上图所示:
1.
D2NN
D
2
N
N
中神经元的输入为复数值,权重(weights)由自由空间的衍射决定,与层与层之间的物理距离有关,乘法偏置(multiplicative bias)由每个神经元的透射/反射系数决定。
2.
D2NN
D
2
N
N
每个神经元调制输入波的相位及振幅,输出一个二次波,它与sigmoid、ReLU或其他普通神经网络中使用的非线性神经元不同。(也可以在
D2NN
D
2
N
N
中增加光学非线性)
3. 上一层网络中各神经元的输出,通过波的传播及相干(或部分相干)干涉耦合,这为网络提供了一种独特的互联性。虽然神经元产生的二次波会向各角度产生衍射,但是波的强度会随传播距离发生衰减,这样,下一层网络每个神经元只能接收有限半径内的波,这称为
D2NN
D
2
N
N
的接收域(receptive field)。
D2NN
D
2
N
N
的互联性由网络层间距、入射光束光强、探测SNR、照明光源的相干长度和半径有关。
五. D2NN D 2 N N 实验搭建方法
网络训练完成后,通过Poisson surface reconstruction(Screened poisson surface reconstruction)生成网络各衍射层的3D模型,然后经3D打印机打印,如下图所示。
具体过程:
1. 将各节点的相位转化为相对高度(Δz=λø/2πΔn),式中Δn为3D打印材料(VeroBlackPlus RGD875)和空气的折射率之差。λ=0.75mm,即0.4THz。在此频率下,该3D打印材料的折射率和消光系数k分别为1.7227和0.0311,对应衰减系数α=520.7177
m−1
m
−
1
。
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填充以匹配网络的入射孔径。而在实验时,在入射平面使用铝箔来实现零透射率。
由
D2NN
D
2
N
N
构建的分类器和成像器在参数设置上有所不同,如下表所示:
项目 | 分类器 | 成像器 |
---|---|---|
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打印技术有关。最大衍射半角由照明光源波长与空间频率决定:
对于成像器,其图像所含特征尺寸大,对应的衍射角小;此外其层距相对较小(4mm),因而其神经元连接数也较分类器少。
实验装置如上图所示。一个大小为16dBm、频率为11.11GHz正弦信号作为RF输入信号,经AMC放大26倍,成为频率为0.4THz的连续电磁波,电调制频率为1KHz。照明光束为高斯型,光束通过物体并进入神经网络,最后被输出面上的单信号探测器检测。
实验所用的数据集为经3D打印的MNIST数据集。其中,MNIST手写数字集,经上采样、二值化后打印。这里,只需要使用振幅通道即可,即把打印的数字镀上铝箔,这样光透过率为0。而MNIST时尚物件数据集,由于其所含物体更为复杂,因而需要将其在相位通道编码,灰度值对应0-2π的相位,振幅相同。
六. D2NN D 2 N N 实现分类器和成像器
分类器:实现对MNIST数据集中数字或时尚物件的分类。数字分类器如下图所示。待检测数字被编码为输入信号的振幅大小,有数字的区域振幅为0。信号经
D2NN
D
2
N
N
后,映射到10个探测器区域,分别对应10个数字。分类器输入数字及输出结果如下图所示。使用5层衍射层,网络的正确率为91.75%;如在5层网络的基础上,保持这5层结构不变,再增加两层,正确率提高到93.39%。此外,从实验结果来看,使用complex-valued调制(同时使用相位和振幅)比phase-only调制能实现更高的正确率。另外,增加网络深度(即增加网络层数),或增加层间距(即增加层与层之间连接神经元个数),也可以提高网络性能。
成像器:实现放大率为1的成像系统。该网络使用ImageNet数据库进行训练。如下图S6所示,
D2NN
D
2
N
N
经训练后,可将信号在输出面的位置映射到与输入面相同的位置,这与信号在自由空间衍射的效果完全不同。实验结果如图S8所示。
七. D2NN D 2 N N 优点及未来可实现应用
这种全光实现的深度神经网络,由于其并行计算能力、低能耗特性,具有非常好的应用前景。
D2NN
D
2
N
N
网络可以通过各种高产量、大面积的3D加工方式及大视场光学元件和检测系统实现。这允许我们低成本地实现千万、亿万的神经元数量,或是千亿的神经元连接。同时这项技术还可以迁移到其他应用如图像分析,特征检测和物体识别等等。作者列举了三个可能可以实现的应用:
1. 增强显微成像。利用
D2NN
D
2
N
N
增强特定带宽的空间频率,提高获取图像的对比对;且只需将
D2NN
D
2
N
N
放置在成像芯片顶端,可实现非常紧凑的芯片尺寸的显微镜。
2. 人脸识别。把
D2NN
D
2
N
N
作为传感器设计的一部分,那么将不需要超百万像素的成像器。
3. 化学检测或药品成分检测。这是针对光谱THz部分的应用。
文中不明确的地方:
作者在补充材料的Comparison with standard deep neural networks中第三点提出网络神经元接收域的问题,训练结果也有体现,但是在网络训练优化中并未体现这一点。不清楚具体在网络训练时如何处理这个问题。