当前位置 : 主页 > 编程语言 > java >

深度学习基本概念|卷积和池化

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ 卷积神经网络CNN是一种特殊类型的深度神经网络,其结构如下 由卷积层,池化层,全连接层等各种类型的结构构成。在图像处理等领域,与普通的深度神经网络相比,CNN拥有更好的

卷积神经网络CNN是一种特殊类型的深度神经网络,其结构如下

深度学习基本概念|卷积和池化_数据分析

由卷积层,池化层,全连接层等各种类型的结构构成。在图像处理等领域,与普通的深度神经网络相比,CNN拥有更好的处理效果。CNN中有两层结构是其特有的

1. 卷积层

卷积层是CNN网络中独立的一层,用来进行一种称之为卷积,即convolution的操作,该操作的示意图如下

深度学习基本概念|卷积和池化_卷积_02

原始图像用一个8x8的矩阵表示,对于这个矩阵,使用了一个3X3的矩阵对其进行映射运算,图中的红色光柱标记了第一个九宫格的中心点6,映射的过程其实是将6与3X3矩阵中的每个元素相乘,然后结果再相加,最后总得到的值为-3。

只需要定义移动的步长,我们就可以遍历图像中的所有点,比如定义步长为1,遍历过程如下图所示

深度学习基本概念|卷积和池化_卷积_03

上述过程是基于无填充的情况,在有填充的情况下,对于图像边缘的点,会用0填充,示意如下

深度学习基本概念|卷积和池化_子窗口_04

遍历所有点从而得到一张新的图,这样的图称之为特征图,示例如下

深度学习基本概念|卷积和池化_数据分析_05

所以卷积层是用来做特征提取的。

2.  池化层

池化是一种down-sampling技术,本质是基于滑动窗口的思想,可以去除特征图中的冗余信息,降低特征图的维度。事先定义好窗口和步长,然后对原始图像进行分割,对于分割的子窗口,采取某种策略取一个样本点出来,常用的有两种策略

1. 取最大值,对应max pooling

2. 取平均值, 对应average pooling

定义窗口大小为2X2, 步长为2,两种策略的结果如下

深度学习基本概念|卷积和池化_数据分析_06

图像被分割成了4个子窗口,然后每个子窗口内取最大值或者平均值,就构成了一幅新图像。新图像的维度比原始图像小,达到了降维的目的。

·end·

深度学习基本概念|卷积和池化_卷积_07

一个只分享干货的

生信公众号



网友评论