前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习中的矩阵乘法与光学实现

深度学习中的矩阵乘法与光学实现

作者头像
光学小豆芽
发布2020-08-13 23:58:42
2.3K1
发布2020-08-13 23:58:42
举报
文章被收录于专栏:硅光技术分享硅光技术分享

上篇笔记里(基于硅光芯片的深度学习)提到:深度学习中涉及到大量的矩阵乘法。今天主要对此展开介绍。

我们先看一下简单的神经元模型,如下图所示,

神经元接收到n个其他神经元(x1-xn)传递过来的信号,每个神经元的连接权重(connection weight)不一样,分别为w_1j...w_nj。神经元j(上图中的圆)接收到这些信号,并与阈值theta进行比较,通过激活函数f(activation function)处理并产生神经元的输出,整个过程的数学表示为,

进一步,我们可以把theta看成是w_0,x0=-1, 上式可以改写为,

可以看出函数f的变量可以写成矩阵乘法W*X的形式。对于含有多个隐藏层的人工神经网络,每个节点都会涉及矩阵乘法,因此深度学习中会涉及到大量的矩阵乘法。

接下来我们来看一看矩阵乘法如何在光芯片上实现。线性代数中,可以通过奇异值分解(singular value decomposition),将一个复杂的矩阵化简成对角矩阵与幺正矩阵相乘。具体来说,m*n阶矩阵M可以写成下式,

其中U是m*m阶幺正矩阵,Sigma是m*n阶对角矩阵,V是n*n阶幺正矩阵。

已经有文献证明,光学方法可以实现任意阶的幺正矩阵,具体可参看文献[1,2],公众号后续会对此做介绍。而对角矩阵Sigma也可以通过衰减器等方法实现。因此,矩阵M就可以通过光学方法实现。MIT研究组的深度学习光芯片如下图所示,其中红色对应幺正矩阵,蓝色对应对角矩阵。

通过多个MZ干涉器级联的方法,可以实现矩阵M,矩阵元对应深度学习中的连接权与阈值。 需要注意的是,激活函数f并没有在光芯片上实现,而是将信号输入进PC, 由PC实现激活函数,产生输出结果,进而调整矩阵M, 最终得到满足要求的学习模型。MIT研究组实现的是,两层伸进网络,示意图如下,

我的看法:

1) 是否可以把激活函数f也在光芯片上实现?目前看来还比较苦难,涉及到光计算。还是需要将光信号变换到电信号,然后在PC上进行信号处理。是否有变通的方法呢?

2) 目前实现的神经网络还过于简单,没有隐藏层,只有输入输出层,能做的学习任务还比较简单。后续可以尝试模型更为复杂的机器学习任务。

3) 光芯片可以实现深度学习,但是光芯片的优势是什么?功耗低?

公众号中编写公式不太方便,目前都是通过截图的方法实现,不太美观,大家见谅。

时间仓促,文章中如果有任何错误或不准确的地方,烦请大家指出!

参考文献:

1. 周志华 《机器学习》

2. Y. Shen, et.al. , Deep learning with coherent nanophotonic circuits

3. Miller, D. A. B. Perfect optics with imperfect components. Optica 2,

747–750 (2015).

4. Reck, M., Zeilinger, A., Bernstein, H. J. & Bertani, P. Experimental realization of any discrete unitary operator. Phys. Rev. Lett. 73, 58–61 (1994).

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 光学小豆芽 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档