人工智能作业4-卷积
作业之前:先做个卷积神经网络的介绍
-
卷积神经网络的层级结构
• 数据输入层/ Input layer
• 卷积计算层/ CONV layer
• ReLU激励层 / ReLU layer
• 池化层 / Pooling layer
• 全连接层 / FC layer -
数据输入层:去均值与归一化,去相关与白化效果图:
-
卷积计算样例:
b0:偏置值 -
填充法
一:卷积、卷积核、多通道、特征图、特征选择
- 卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 它包括卷积层(convolutional layer)和池化层(pooling layer)。 对比:卷积神经网络、全连接神经网络:
概念理解:
主要区别是:卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。
卷积:通过两个函数f和g生成第三个函数的一种数学运算,其本质是一种特殊的积分变换,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。
卷积核:图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核。
多通道:CNN中的一次性卷积要处理的多组数据
特征图:在cnn的每个卷积层,数据都是以三维形式存在的。你可以把它看成许多个二维图片叠在一起(像豆腐皮一样),其中每一个称为一个feature map。
特征选择:寻找最优特征子集。特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的
二:卷积核原理及介绍
-
一般卷积:
首先,我们需要就定义卷积层的一些参数达成一致。 卷积核大小(Kernel Size):卷积核定义了卷积的大小范围,二维卷积核最常见的就是 3*3 的卷积核。 步长(Stride):步长定义了当卷积核在图像上面进行卷积操作的时候,每次卷积跨越的长度。在默认情况下,步长通常为 1,但我们也可以采用步长是 2 的下采样过程,类似于 MaxPooling 操作。 填充(Padding):卷积层采用一定数量的输入通道(I),并且设计特定数量的输出通道(O)。每一层所需的参数可以通过 I*O*K 来进行计算,其中 K 等于卷积核的数量。 输入和输出管道(Input & Output Channels):卷积层采用一定数量的输入通道
-
扩张的卷积:
-
转置卷积:
-
可分离的卷积:
在可分离的卷积中,我们可以将内核操作分成多个步骤。让我们将卷积表示为y = conv(x,k),其中y是输出图像,x是输入图像,k是核。简单。接下来,假设k可以通过以下公式计算:k = k1.dot(k2)。这将使它成为可分离的卷积,因为我们可以通过用k1和k2进行2个1D卷积来得到相同的结果,而不是用k进行2D卷积
三:code
边缘检测:
锐化:
模糊:
- 调整经典卷积核参数(我随便了哈)
1:
2:
四:总结
卷积挺复杂,我做好头秃的准备了。
小结:卷积核的个数可以随机定义,但是卷积核的个数越多,刻画的特征也就越细致。而卷积核的深度必须和待卷积的深度相同才可以。