如何做Google外贸网站,江门seo网站排名,廊坊关键词优化平台,孝感网站建设孝感部分内容参考之前的笔记 PyTorch深度学习实践 文章目录第一周#xff1a;卷积神经网络边缘检测Padding、Stride三维卷积卷积神经网络中的一层池化层第二周#xff1a;深度卷积网络实例探究残差网络1x1卷积Inception模块和网络卷积神经网络的迁移学习第三周#xff1a;目标检…部分内容参考之前的笔记 PyTorch深度学习实践
文章目录第一周卷积神经网络边缘检测Padding、Stride三维卷积卷积神经网络中的一层池化层第二周深度卷积网络实例探究残差网络1x1卷积Inception模块和网络卷积神经网络的迁移学习第三周目标检测目标定位基于滑动窗口的目标检测滑动窗口的卷积实现Bounding Box 预测 /YOLO算法基础交并比 loU非极大值抑制Anchor Boxes第四周特殊应用——人脸识别和神经风格转换One-Shot学习Siamese 网络Triplet Loss三元组损失人脸验证与二分类替换Triplet Loss神经风格迁移第一周卷积神经网络
边缘检测
有关卷积运算在此不记录。见PyTorch深度学习实践。 (n, n) * (f, f) (n-f1, n-f1)
Padding、Stride
Padding要解决的问题①每次做卷积操作图像都会缩小 ②在角落或者边缘区域的像素点在输出中采用较少丢掉了图像边缘位置的许多信息 根据填充像素的不同卷积操作分为Valid卷积不填充和Same卷积填充后卷积前后图像大小不变
三维卷积 卷积神经网络中的一层 池化层
池化操作具有参数大小f步长sPaddingSize少见 池化操作的分类最大池化、平均池化 池化层有一组超参数但并没有参数需要学习。一旦确定了f和s它就是一个固定运算梯度下降无需改变任何值。所以反向传播并不改变池化层的参数。 常用的参数是f2, s2将输入的高度和宽度缩减为一半。
第二周深度卷积网络实例探究
残差网络 残差网络起作用的主要原因就是这些残差块学习恒等函数非常容易能确定网络性能不会受到影响很多时候甚至可以提高效率或者说至少不会降低网络的效率。
1x1卷积
1x1卷积可以减少压缩通道数/保持仅添加非线性函数/增加输入的通道数且不改变H和W。
1×1 卷积可以从根本上理解为在输入的切片中对这 32 个不同的位置都应用一个全连接层全连接层的作用是输入32个数字。并在这 36 个单元上重复此过程输出结果是 6×6×#filters。
Inception模块和网络
对同一输入进行不同卷积合并最终结果取最优解。 不同路径只能改变频道数不能改变宽度和高度因为最终需要合并。 最终将不同的卷积结果沿着通道方向合并。
对Inception模块进行多层调用以构建深层的Inception网络。
卷积神经网络的迁移学习
相比于从头训练权重或者说从随机初始化权重开始下载别人已经训练好网络结构的权重通常能够进展的相当快用这个作为预训练然后转换到目标任务上。 如果目标任务的数据量较小可以在下载好的神经网络和参数的基础上仅训练最后一层的激活函数使其输出想要的结果。在此情况下之前的神经网络可以看作是冻结的不需要对其进行训练可以先计算前层网络的计算结果存在硬盘里只需训练最后一层网络。 如果目标任务数据量较大可以训练网络最后的若干层甚至整个网络。
第三周目标检测
目标定位
Localization和Detection问题
当前问题属于第二类即给出一张图片可能是行人、汽车、摩托车和背景中的一种要求输出类型并给出位置背景除外。
基于滑动窗口的目标检测
针对上例最初可以使用适当剪切的图片使得整张图片x几乎都被汽车占据使用该标签训练集训练卷积网络。 首先选定一个特定大小的窗口将这个红色小方块输入卷积神经网络卷积网络开始进行预测即判断红色方框内有没有汽车。然后将方框按照一定步长向右滑动直到这个窗口滑过整个图像。 缺点是如果步幅很大显然会减少输入卷积网络的窗口个数但是粗糙间隔尺寸可能会影响性能。反之如果采用小粒度或小步幅传递给卷积网络的小窗口会特别多这意味着超高的计算成本。
滑动窗口的卷积实现
①将全连接层转换成卷积层 即将第一层FC转换成5x5x16输入规模的4005x5x16即Flatten后的元素个数个过滤器。对第二层FC进行相同操作。
②滑动窗口的卷积实现
Bounding Box 预测 /YOLO算法基础
在输入图像上添加网格并将对象分配给 包含对象中点 的网格。即使对象可以横跨多个格子也只会被分配到 9 个格子其中之一。 对于上述例子应用3x3的网格输出应该是3x3x8 算法优点是它显式地输出边界框坐标所以这能让神经网络输出边界框可以具有任意宽高比并且能输出更精确的坐标不会受到滑动窗口分类器的步长大小限制。其次这是一个卷积实现有很多共享计算步骤算法效率很高。
交并比 loU 非极大值抑制
使用YOLO算法时同一个对象可能被多个方格检测为了排除部分不准确的方格所采用的方法。 具体步骤针对只检测车辆而不检测行人、摩托车的问题此时的输出为[pc, bx, by, bh, bw]T ①排除pc0.6的方格 ②当剩下还有方格时输出pc值最大的方格并排除与其loU0.5的方格即针对同一个物体但是不够准确的方格
Anchor Boxes
目的是在YOLO算法中处理不同的对象被分配到同一方格的情况。考察不同Anchor Box和对象的交并比并取最大值。 此时的输出为3x3x2x8(3x3x16)
第四周特殊应用——人脸识别和神经风格转换
人脸验证Face Verification有一张输入图片以及某人的 ID 或者是名字这个系统要做的是验证输入图片是否是这个人。有时候也被称作 1 对 1 问题只需要弄明白这个人是否和他声称的身份相符。 人脸识别Face Recognition1对K问题有K个人的数据库输入一张图片输出该人是否属于K个人之一。
One-Shot学习
在一次学习问题中只能通过一个样本进行学习。当深度学习只有一个训练样例时它的表现并不好。 为了能有更好的效果你现在要做的应该是学习Similarity函数。(1,2) 它以两张图片作为输入然后输出这两张图片的差异值。如果你放进同一个人的两张照片它输出一个很小的值如果放进两个长相差别很大的人的照片它就输出一个很大的值。在识别过程中如果这两张图片的差异值小于某个阈值那么这时就能预测这两张图片是同一个人。
Siamese 网络
实现函数d的一种方式是通过Siamese网络。
Triplet Loss三元组损失 人脸验证与二分类替换Triplet Loss
选取 Siamese 网络使其同时计算这些嵌入然后将其输入到逻辑回归单元然后进行预测如果是相同的人那么输出是 1若是不同的人输出是 0。这就把人脸识别问题转换为一个二分类问题训练这种系统时可以替换 Triplet loss 的方法。 最后的逻辑回归单元进行如下操作。
可以对数据库中的图片提前计算并存储以加快验证速度。
神经风格迁移
使用来表示内容图像表示风格图像表示生成的图像 本质上是定义代价函数J(G)并使其最小化 J(G) α Jcontent(C, G) β Jstyle(S, G)