从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

相关推荐
坚持就完事了3 小时前
YARN资源管理器
大数据·linux·hadoop·学习
吃着火锅x唱着歌3 小时前
深度探索C++对象模型 学习笔记 第四章 Function语意学(2)
c++·笔记·学习
ting94520004 小时前
动手学深度学习(PyTorch版)深度详解(6):现代卷积神经网络-从经典模型到图像分类实战
人工智能·分类·cnn
勤劳的进取家4 小时前
应用层基础
运维·网络·学习
xian_wwq4 小时前
【学习笔记】储能系统的铁三角:BMS、PCS、EMS分别管啥
笔记·学习·储能系统
QiZhang | UESTC4 小时前
学习并复现minimind
学习
stm32 菜鸟5 小时前
nucleo-f411re学习记录-14,OTA 固件升级-bootloader与app分区实现
学习
Bechamz5 小时前
大数据开发学习Day24
大数据·学习
在下_诸葛5 小时前
langgraph学习笔记
笔记·python·学习·langgraph教程
科研前沿6 小时前
镜像视界浙江科技有限公司的核心引擎关键技术有哪些?
人工智能·数码相机·计算机视觉