人工智能相关
下采样:使图像符合显示区域的大小,生成对象的略缩图,下采样就是池化
池化:特征降维。池化虽然会使得图像变得模糊但不影响图像的辨认跟位置判断
上采样:主要目的是放大原图像,以更高分辨率显示在显示设备上
共有5个版本的ResNet,resnet-18、resnet-34、resnet-50、resnet-101、resnet-152
。他们的不同体型在:一、基本单元不同;二:每一个layer的基本单元数量不同。Resnet中有两个基础单元BasicBlock和BottlenetBlock,RestNet 18/34采用BasicBlock作为基本单元,而ResNet 50/101/152采用BottlenetBlock作为基本单元。下图的左边模块就是BasicBlock,仅包括两个3×3的卷积。右边的是BollteneckBlock,采用了两个1×1的卷积来减少参数量。
前向传播:通过训练数在·据和权重参数计算输出结果;
反向传播:通过导数链式法则计算损失函数对各参数的梯度,并根据梯度进行参数的更新
梯度下降:是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。
图像的锐化和边缘检测很像,我们先检测边缘,然后把边缘叠加到原来的边缘上,原本图像边缘的值如同被加强了一般,亮度没有变化,但是更加锐利。
边缘检测:
在边缘(也就是台阶处),二阶微分值非常大,其他地方值比较小或者接近0 。
CNN 入门讲解:什么是卷积(Convolution)? - 知乎 (zhihu.com)
卷积层负责提取特征,采样层负责特征选择,全连接层负责分类
卷积神经网络的出现,以参数少,训练快,得分高,易迁移的特点全面碾压之前的简单神经网络
输入图像好比甘蔗。
卷积层好比A君要吃甘蔗,吃完之后(卷积),他得出一系列结论,这个甘蔗真好吃,我还想再吃!
啊不是,说错了
他得出结论,这个甘蔗是圆柱形,长条,甜的,白的,多汁的等等(提取特征)
采样层就好比第一个吃甘蔗的人告诉B君,吃甘蔗,重要的是吃个开心,为什么开心,因为它又甜又多汁,还嘎嘣脆(特征选取)
第二个卷积层就好比,B君并没有去吃剩下的甘蔗,而是
头也不回。
拦也拦不住的
去吃A君吐出的甘蔗渣
然后得出结论,嗯~~,
咦~~?
哦~~!
‘原来这甘蔗渣是涩的,是苦的,不易嚼,不好咽’B君这么说道(二次提取特征)
第二个采样层就好比,B君对别人说,这个甘蔗渣啊,吃的我不开心,因为它很涩,不好咽(二次特征选取)
如果你们要吃,注意点!
注意点!
意点!
点!
全连接层的作用,就好比是一个决策者,他听取了A,B君的描述
这样,如果有人吃很多东西,其中就有甘蔗
他们吃的时候,有一样东西吃起来,感觉和A,B君描述的非常接近,那么决策者就认为
这个很大概率是甘蔗了
我们实现卷积运算最后的方式
就是从左到右,每隔x列Pixel,向右移动一次卷积核进行卷积(x可以自己定义)
黄---蓝---紫,就是卷积核移动的顺序,这里x =1
当已经到最右
从上到下,每隔X行pixel,向下移动一次卷积核,移动完成,再继续如上所述,从左到右进行
就这样,我们先从左到右,再从上到下,直到所有pixels都被卷积核过了一遍,完成输入图片的第一层卷积层的特征提取
这里的x我们叫作stride,就是步长的意思,如果我们x = 2, 就是相当每隔两行或者两列进行卷积
我们称之为补0(zero padding)
因为添了一圈0,实际上什么信息也没有添,但是
同样是stride x=1 的情况下,补0比原来没有添0 的情况下进行卷积,从左到右,从上到下都多赚了2次卷积,这样第一层卷积层输出的特征图(feature map)仍然为5x5,和输入图片的大小一致
而没有添0的第一层卷积层输出特征图大小为3x3
这样有什么好处呢
(1)我们获得的更多更细致的特征信息,上面那个例子我们就可以获得更多的图像边缘信息
(2)我们可以控制卷积层输出的特征图的size,从而可以达到控制网络结构的作用,还是以上面的例子,如果没有做zero-padding以及第二层卷积层的卷积核仍然是3x3, 那么第二层卷积层输出的特征图就是1x1,CNN的特征提取就这么结束了。
同样的情况下加了zero-padding的第二层卷积层输出特征图仍然为5x5,这样我们可以再增加一层卷积层提取更深层次的特征