前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >卷积神经网络简介

卷积神经网络简介

作者头像
光学小豆芽
发布2021-03-30 15:07:09
8380
发布2021-03-30 15:07:09
举报
文章被收录于专栏:硅光技术分享硅光技术分享

前面介绍光学神经网络进展的笔记里(基于频率梳的光学神经网络),多次提到卷积神经网络(convolutional neural network, 以下简称CNN)。这里对CNN做一个更详细的介绍。

先解释下什么是卷积(convolution)。对于光学背景的朋友,卷积的概念肯定不陌生。在傅里叶光学中,输出面的频谱响应是输入面的频谱与传递函数的乘积,对应到实空间上,即为两者的卷积(函数卷积的傅里叶变换,等于函数傅里叶变换的乘积),如下式所示,

顾名思义,卷积=翻卷+积分,先把函数h(x,y)对于x',y'翻卷过去,然后再与f(x,y)进行积分。上式可以写成求和的形式,

乘积求和的形式与矩阵乘法非常相似。

对于计算机来说,一副图片就是一个大的矩阵,每个矩阵元对应单个像素点的信息。对于一张200*200的图片,包含RGB三种颜色通道,如果采用多层感知器的方式,将会有12万个神经元,通过训练得到每个神经元之间的weight,变得非常困难。卷积神经网络则巧妙地解决了这个问题,使用一个小的特征矩阵,与原先的矩阵做运算,矩阵规模得以降低。下图中,通过一个小矩阵的作用,原先8x8的矩阵变换为6x6,

(图片来自https://towardsdatascience.com/simple-introduction-to-convolutional-neural-networks-cdf8d3077bac)

上述的小矩阵称为卷积核,它的作用类似滤波器,提取出图片的特征信息,如下图所示,两个3x3的卷积核分别探测图案中的边界和对图片进行锐化。

(图片来自https://towardsdatascience.com/simple-introduction-to-convolutional-neural-networks-cdf8d3077bac)

下图是典型的卷积神经网络的流程图,

28x28的图片,经过第一组卷积核5x5矩阵的作用(多个卷积核,提取图片的不同特征),得到多个24x24的矩阵,进而经过池化层的作用,得到12x12的矩阵,接着再进行一次卷积核的作用,得到8x8的矩阵,再次经过池化层,得到4x4的矩阵,将这一矩阵展开为一个列矢量,得到一个全连接层,进而判断出所属的分类。

所谓的池化层(pooling layer), 对特征矩阵进行一定的作用,使得其维度大幅降低,例如max-pooling,即取一定区域内的最大特征值。这是因为在图片中,相邻像素点的信息是有一定冗余的,所以可以进特征矩阵进行进一步压缩。池化层更加有效地降低数据的维度。

全连接层是CNN网络的最后一层,将原先的特征矩阵转换为一维列向量,并由此判断出图片所属的类别。

以上是对卷积神经网络的简单介绍, 认识比较肤浅。核心思想是采用较小的卷积核矩阵,提取图片的特征信息(feature map),将较大数据量的图片转换为较小维度的矩阵进行处理,并有效保留原图片的特征信息。卷积神经网络一定程度模拟了人类的视觉皮层的层次结构。卷积神经网络广泛用于计算机视觉中,包括图片的识别、分类、搜索等。

文章中如果有任何错误和不严谨之处,还望大家不吝指出,欢迎大家留言讨论。也欢迎大家向我提问,小豆芽会尽自己的能力给出解释。另外,微信讨论3群还有空位,有需要的朋友可以加入进来讨论硅光技术。

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

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

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

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

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