从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

相关推荐
晓幂6 小时前
【2025】HECTF
笔记·学习·web安全
慕云紫英6 小时前
基金申报的一点经验
学习·aigc
微露清风6 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
宝贝儿好6 小时前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人
大、男人6 小时前
python之asynccontextmanager学习
开发语言·python·学习
做cv的小昊7 小时前
【TJU】信息检索与分析课程笔记和练习(8)(9)发现系统和全文获取、专利与知识产权基本知识
大数据·笔记·学习·全文检索·信息检索
智驱力人工智能7 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
盐焗西兰花7 小时前
鸿蒙学习实战之路-蓝牙设置完全指南
学习·华为·harmonyos
hkNaruto7 小时前
【AI】AI学习笔记:MCP协议与gRPC、OpenAPI的差异
人工智能·笔记·学习
笨鸟笃行8 小时前
0基础小白使用ai能力将本地跑的小应用上云(作为个人记录)
人工智能·学习