从0开始学习计算机视觉--Day08--卷积神经网络

之前我们提到,神经网络是通过全连接层对输入做降维处理,将输入的向量通过矩阵和激活函数进行降维,在神经元上输出激活值。而卷积神经网络中,用卷积层代替了全连接层。

不同的是,这里的输入不再需要降维,而是可以保留输入的空间结构,例如输入的是32×32×3的图片,在全连接层中是3072×1的向量,而卷积层里则保持不变。这里的改变的地方是对于同样的WX的函数形式,这里是把5×5×3的权重矩阵(也叫卷积核)向量化了,从而做的是向量点积运算(可以看到权重矩阵的写法与图片的数据量写法类似,这是为了更好地理解为什么选择这个数量,可以把输入和权重矩阵看成是放缩的一个过程,权重矩阵由于空间结构类似,相当于是保留了图片原有的一部分性质,在数学角度上是因为向量的点积与两个向量的夹角有关,夹角越小,向量越相似,这也与卷积层的初衷相符,是为了尽可能地保留输入的信息不缺失)。

而在卷积层中,卷积核会遍历输入的每一个数据量(假如卷积网络的层数只有一层,边缘的数据点相比其他区域,只会被遍历一次,一般会用pading或增加权重的方式来使其不那么特殊),每次滑动都输出一个点积,输出的数据大小一般是输入减去卷积核除以步长再加1(之所以要加1,是因为单纯的减法会漏掉矩阵的第一列或最后一列,而步长的选择我们一般会选择除得尽的,不然会导致有部分边缘数据被忽略,当然硬要计算也可以,习惯上是对结果向下取整)。

在例子中,一个卷积核的激活衍射是28×28×1,假如我们有六个卷积核,输出的就是28×28×6。这里的每一层激活衍射,对应的就是我们平时所提到的提取出来的每一个特征,不同的卷积核会提取出不同的特征,且我们可以在这些激活衍射之后再设置一些函数来卷化,生成一些不一样的特征供模型学习(本质上还是卷积核在学习,然后输出值给模型应用)。一般来说。越往后排的衍射值,对应的是更高级的特征。比如假如输入的是一张小狗的照片,那么一开始的可能是颜色的特征,中间的是小狗身上的斑点,后面的是小狗的神态。

学习来自斯坦福教程:Stanford University CS231n: Deep Learning for Computer Vision

相关推荐
老虎06271 分钟前
黑马点评学习笔记01(手机号校验(正则表达式))
笔记·学习
Nan_Shu_6146 分钟前
学习:uniapp全栈微信小程序vue3后台(28)
前端·学习·微信小程序·小程序·uni-app
xiaofan6720131 小时前
金融分析师职场学习技能提升方法分享
学习·金融
赴3351 小时前
dlib库关键点定位和疲劳检测
人工智能·opencv·计算机视觉·关键点·疲劳检测·dlib
Lyre丶2 小时前
Ubuntu 24.04 LTS 安装GAMIT
linux·经验分享·学习·ubuntu·gamit
荼蘼2 小时前
Dlib+OpenCV 人脸轮廓绘制
人工智能·opencv·计算机视觉
strongwyy2 小时前
esp32墨水屏学习3
学习
_dindong2 小时前
Linux系统编程:线程概念
linux·运维·笔记·学习
Francek Chen3 小时前
【深度学习计算机视觉】07:单发多框检测(SSD)
人工智能·pytorch·深度学习·计算机视觉·单发多框检测
贝塔实验室4 小时前
LDPC码的概念
科技·学习·程序人生·算法·学习方法·程序员创富·改行学it