从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

相关推荐
لا معنى له25 分钟前
学习笔记:循环神经网络(RNN)
人工智能·笔记·学习·机器学习
炒毛豆32 分钟前
前端可视化-----svg学习笔记
笔记·学习
暗之星瞳35 分钟前
PYTHON学习——决策树
python·学习·随机森林
啊阿狸不会拉杆39 分钟前
《数字图像处理》第7章:小波变换和其他图像变换
图像处理·人工智能·python·算法·机器学习·计算机视觉·数字图像处理
炽烈小老头40 分钟前
【 每天学习一点算法 2025/12/17】验证二叉搜索树
学习·算法
骄傲的心别枯萎1 小时前
RV1126 NO.57:ROCKX+RV1126人脸识别推流项目之读取人脸图片并把特征值保存到sqlite3数据库
数据库·opencv·计算机视觉·sqlite·音视频·rv1126
Century_Dragon1 小时前
在虚拟工位练真技——汽车塑料件拆装修复软件
学习
lin张1 小时前
Ansible学习总结:从基础命令到Playbook实战
网络·学习·ansible
AA陈超1 小时前
Lyra Starter Game 中 GameFeature 类(如 ShooterCore)的加载流程
c++·笔记·学习·ue5·虚幻引擎
代码游侠2 小时前
应用——管道与文件描述符
linux·服务器·c语言·学习·算法