Julie Chang 等作者高璇 刘晓坤编译

光学CNN层替换传统CNN层,超省电

CNN 计算效率的研究一直备受关注,但由于功率和带宽的严格限制,CNN 仍难以应用在嵌入式系统如移动视觉、自动驾驶中。在斯坦福大学发表在 Nature 旗下 Scientific Reports 的这篇论文中,研究者提出在 CNN 网络前端替换一个光学卷积层(opt-conv)的方案,可以在保持网络性能的同时显著降低能耗,并在 CIFAR-10 数据集的分类任务上验证了其结论。光学卷积层也就是用光学器件实现的卷积层,其光学运算具备高带宽、高互联和并行处理特性,并能光速执行运算,功耗接近于零。该技术有望在低功耗机器学习领域得到进一步发掘。

引言

深度神经网络已在各个领域取得了广泛应用,从计算机视觉自然语言处理以及游戏等。卷积神经网络(CNN)利用各种图像特征的空间不变性,在图像分类、图像分割甚至图像生成等计算机问题中非常受欢迎。随着各类任务的性能大幅提高,这些网络中的参数和节点数也急剧增加,训练和使用这些网络的能耗和内存也相应增加。

虽然学习网络权值的训练阶段很缓慢,但在推理过程中,由于要数百万次的引用内存和矩阵乘法,就算是大型模型也需要大量能耗和内存。为了提高效率,可采取保持性能的同时压缩 CNN 的方法,包括修剪法、量化训练、霍夫曼编码,以及更换架构。硬件方面,有很多机器学习的专门处理单元,如如 IBM 的 TrueNorth 芯片、Movidius 视觉处理单元(VPU)、谷歌的张量处理单元(TPU)。其他以推理为重点的针对嵌入式视觉应用尝试将一部分图像处理结合到传感器上,以消除或减少将完整图像数据传送到处理器的需求。CNN 计算效率的研究一直备受关注,但由于功率和带宽的严格限制,CNN 仍难以应用在嵌入式系统如移动视觉、自动驾驶和机器人、无线智能传感器中。

研究者试图采取一种互补的策略,在模拟电路或数字电路计算前增加一层光学计算,提高性能的同时,仅增加最小电路的计算成本和处理时间。光学计算因其高带宽、高互联和固有的并行处理特性而备受关注,计算速度都为光速。在自由空间或光子芯片上就可以进行一些超低功耗甚至零功耗的操作。作为构建光学 CNN 的框架,可优化和扩展的光学配置将保留这些优势,并将引起计算机视觉、机器人、机器学习和光学社区的兴趣。光学神经网络(ONN)最初是由光学器件执行计算量巨大的全连接层矩阵乘法的研究引起。最近在学术研究和工业领域都重新引起了人们的关注。然而,ONN 的文献中都未涉及卷积层,但卷积层在计算机视觉应用中非常重要。此外,这些方法都是利用相干光作为信号发展起来的,这使它们难以适应计算摄像系统。

研究者从计算成像的角度实现光学 CNN:通过光学和算法协同设计,将图像采集和计算结合起来。计算型摄像机利用定制光学器件中光的物理传播特性,来编码在标准 2D 图像抓取中丢失的场景信息。研究者提出一个位于前馈 CNN 之后的计算成像系统模型,用来协助输入图像的分类。通过将 CNN 的第一个卷积层引入光学器件,可以减少推理过程中的电路处理器的负载。此外,在成像场景中,输入信号已经是光信号了,所以在传感器读取之前,很容易通过额外的无源光学元件进行传播。ASP 视觉系统曾探究过一种混合光电 CNN 的概念,使用 angle sensitive pixel(APS)来近似经典 CNN 的第一个卷积层,但是卷积核集是固定的。同时另一项研究将优化的元素结合到神经网络启发的多层光学系统中,但并没有创建出新的 CNN。相比之下,他们的目标是设计一个带有光学卷积层的系统,用于解决特定分类优化问题,进而通过自定义的光电 CNN,实现低功耗推理。

本文提出一种光学卷积(opt-conv)层的设计,该层具有可优化的相位掩模,该掩模利用由线性和空间不变的成像系统执行的固有卷积。首先研究者在两个模拟模型的图像分类中测试了他们的方法。光学相关器作为卷积层中最简单的应用,由一个对图像进行了模板匹配的卷积层构成,曾被用于光学目标检测和追踪。下面将说明 opt-conv 层如何拟合更大的混合光电 CNN,该卷积层的输出会馈送到数字化的全连接层。在这两种情况下,研究者证明了模拟光电配置的分类准确率可以与同一网络结构的无约束电子的分类准确率相媲美。最后研究者通过创建优化的相位掩模并构建双层混合光电网络原型,在灰度 CIFAR-10 数据集上进行分类,验证了模拟结果。数字全连接层在测试数据集上的分类准确率约为 30%,而研究者采用的模型原型得到了 44% 以上的准确率,在计算成本相同时,可得到近 50% 的单层性能提升。相比之下,增加一个标准卷积层也能提升相似的准确率,但会使计算成本数量级增加。综上,研究者证明了包含初始光学计算层的混合光电卷积神经网络如何在性能上得到提升,同时将系统的延迟或功耗降到最低。

论文:Hybrid optical-electronic convolutional neural networks with optimized diffractive optics for image classification

论文链接:https://www.nature.com/articles/s41598-018-30619-y#author-information

卷积神经网络(CNN)在各类计算机视觉应用中都有惊艳表现,但它们的高性能需要以高计算成本为代价。尽管在算法和硬件方面都有所提高,但由于功率限制,在嵌入式系统中运行 CNN 仍然很困难。在本文中,研究者尝试采取一种互补的策略,在电路计算前增加一层光学计算,在提高图像分类性能同时,仅增加最小电路计算成本和处理时长。研究者设计了一种基于优化衍射光学元件的光学卷积层,并在两个模拟实验中进行了测试:一个学习到的光学相关器和一个双层光电 CNN。研究者在仿真和光学原型中证明了他们的光学系统的分类准确率可以与对应的电学实现相媲美,同时大大节省了计算成本。

图 1:光学卷积层设计。(a)4f 系统图,可以通过在傅里叶平面上放置相位掩模来实现光学卷积层(opt-conv)。(b)数字卷积层的标准组成,包括输入图像、卷积核堆栈和相应的输出量。(c)opt-conv 层中的等效组成,核和输出以二维数组的形式平铺在平面,而不是堆叠在深度维数中。

实验结果

图 2:学习到的光学相关器。(a)光学相关器示意图,其中 conv 块由图 1 所示的 4f 系统组成。(b)多通道无约束数字卷积层、多通道非负数字卷积层、平铺核单通道 opt-conv 层,以及以先前优化的平铺核为目标的相位掩模优化产生的 PSF 的特征优化核。

图 3:混合光电 CNN。(a)有单个 opt-conv 层的模型原理图,对传感器图像进行处理并送入后续的数字 CNN 层。(b)优化的相位掩模模板和生成的相位掩模在不同缩放级别的显微图像。(c)在相应的正(顶部两行)和负(底部两行)子图像做差后,由相位掩模、样本输入图像、各自传感器图像和假阴性子图像产生的 PSF 的仿真和捕获版本的比较。

表 1:各类模型中的混合光电 CNN 在灰度 CIFAR-10 中分类的表现。模拟模型的分类准确率是五次试验的平均值。计算了模拟模型的标准差。在相关时,学习参数和 FLOP 被分为网络的光学部分和电学部分。


参考链接:https://www.nature.com/articles/s41598-018-30619-y#author-information

理论斯坦福大学NatureCNN
6
相关数据
自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

嵌入式系统技术

嵌入式系统,是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。嵌入式系统常被用于高效控制许多常见设备,被嵌入的系统通常是包含数字硬件和机械部件的完整设备,例如汽车的防锁死刹车系统。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~