建设网站的主要流程房地产销售话术
web/
2025/9/26 21:24:53/
文章来源:
建设网站的主要流程,房地产销售话术,专业团队下一句,遵义县住房和城乡建设局网站11-09 周四 CNN 卷积神经网络 时间版本修改人描述2023年11月9日09:38:12V0.1宋全恒新建文档
简介 学习一下CNN#xff0c;卷积神经网络。使用的视频课程。视觉相关的任务#xff1a;
人脸识别 卷积网络与传统网络的区别#xff1a;
img altimage-20231109094400591 s…11-09 周四 CNN 卷积神经网络 时间版本修改人描述2023年11月9日09:38:12V0.1宋全恒新建文档
简介 学习一下CNN卷积神经网络。使用的视频课程。视觉相关的任务
人脸识别 卷积网络与传统网络的区别
img altimage-20231109094400591 srchttps://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fyanchenmochen%2Fimgs%2Fimgsimage-20231109094400591.pngpos_idimg-Z35hmB60-1699522025179)
img altimage-20231109094414779 srchttps://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fyanchenmochen%2Fimgs%2Fimgsimage-20231109094414779.pngpos_idimg-08hzm0rf-1699522028665) 卷积神经网络是一个三维的数据是h*w*c 整体架构
img altimage-20231109094649673 srchttps://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fyanchenmochen%2Fimgs%2Fimgsimage-20231109094649673.pngpos_idimg-AGVXtOFG-1699522031824)
输入层卷积层池化层全连接层
卷积层
调度卷积核是5*5*3也是一个立方体的。 卷积神经网络也是使用一组权重参数进行加权求和得出的。
img altimage-20231109094831385 srchttps://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fyanchenmochen%2Fimgs%2Fimgsimage-20231109094831385.pngpos_idimg-pBCi31QD-1699522034969) 注 上图仅演示了一个通道图像是3通道。 相当于权重参数矩阵为:
img altimage-20231109095218835 srchttps://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fyanchenmochen%2Fimgs%2Fimgsimage-20231109095218835.pngpos_idimg-ZZahJ8Qu-1699522038141) 卷积神经网络的目的也是找到一组最佳的权重参数。 注 卷积核的第三个维度一定要一样才行。卷积采用内积实现。Filter的尺寸一般为3 57。 在进行卷积核的时候与卷积核的第三个维度数量相等。 img altimage-20231109105238890 srchttps://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fyanchenmochen%2Fimgs%2Fimgsimage-20231109105238890.pngpos_idimg-41nSowP4-1699522038975) 5x5x3代表一个卷积核该卷积核的深度为3与输入的深度相同。得到一个特征图深度与输入图相同。卷积核可以有多个则可以得到多个特征图。即Feature W0 Feature W1, … 经过多个卷积核得到多个特征图feture picture。 如下图所示 上图经过卷积层得到了28 * 28 * 6个特征图。 将经过卷积核卷积之后的图堆叠在一起得到了特征图堆。并且卷积应该经过多次依次得到Low-level Feature Mid-Level Feature High-Level Feature。也就是说一次卷积是不够的。 上图说明卷积核5 * 5 * 3得到的是一个值一个立方体得到一个值。也就是说一个图如果一个卷积核扫描完全部得到的是一个28 * 28 * 1的图。使用6个卷积核则得到的卷积图是28 * 28 * 6. 第二卷积是10个 5x5x6得到就是24 * 24 * 10。
卷积核涉及参数 步长 步长为1得到5 * 5 而步长为2 得到3 *3 。 相当于步长越小得到的特征较多越丰富。一般视觉任务使用的步长为1但相应的计算量较大文本类任务也有使用步长为2. 卷积核尺寸
卷积核尺寸越小越细粒度。 一般是3 * 3。
边缘填充
pad,边缘填充属性。 越往边界的点被利用的次数越少。下图中原始输入是5 * 5通过边缘填充在边缘上变成了7 * 7. 又不希望添加的值影响计算。所以一般使用zero padding。 卷积计算公式 对于下面的案例可以得到输出的尺寸 在听这个课程的时候学习了卷积核的作用。卷积核的深度与输入是相同的因此卷积核是一个立方体。但是得到的结果确实一个平面。因为一个输入图像区域只得到了一个值 具体可以参见 3D 2D卷积可以参见 2D卷积
卷积参数共享 卷积参数共享一个巨大的好处就是参数共享同样的一组参数对图像中每个小区域进行处理。相对于传统的神经网络参数降低了非常多。 10个 5 * 5 * 3卷积核共75 * 10 750个卷积参数 再加上10个偏置项共760个参数。 池化层 卷积层的特征点太多会导致计算量过大。而且有些特征对于任务并不重要。因此可以通过池化进行瘦身。降采样 downsample。 降采样的方式有最大值采样平均值采样。 降采样也有区域和步长。2 * 2 并且步长为2.池化层不涉及矩阵操作而是仅仅筛选动作。
max pooling 最好的特征。平均值池化 average pooling 用的比较少。
任务 如下图卷积层要经过relu 非线性变换。卷积层和relu是一组。经过卷积组池化然后最后一个全连接FC进行分类。 每个卷积组
卷积Relu 在卷积层最后进行全连接时需要将特征图进行拉长操作将图拉成一个特征向量。最后与分类数量个神经元进行全连接。 一层神经网络 带参数计算。relu是没有参数计算的。即激活没有参数。即POOL也没有参数计算的。如下图一共是7层神经网络。 特征图变化如下 上图中转换即拉伸成向量。
Alexnet-2012 227 * 227 * 3 VGG-经典网络-2014 VGG filter均为3 * 3卷积核比较小网络层数为16。在池化后通过增加卷积次数即增加特征图的数量来弥补池化的损失。但Alexnet训练8小时VGG可能需要3天才能训练完成。 VGG 在实验室 16层的网络比30层的时候效果好因为深度学习越深越好但实验结果令人失望深度学习进入低谷。
Resnet残差网络-2015 何凯明的工作将增加层数中具有促进效果的层数保留网络训练的结果一定不会比之前差。 相当于残差网络拯救了深度学习神经网络。Resnet更加经典更主流。 下图中橙色为Resnet误差更小。 感受野 感受野有什么作用希望感受野越来越大。3个3 * 3 得到的感受野为7 * 7 那么与直接使用7 * 7的卷积核进行卷积需要的区别。 堆叠小的卷积核需要的参数越少训练更快。而且小卷积核由于经过的relu次数多非线性特征保存的更好。 项目实战
构造神经网络 conv relu 是一个组合。 in_channels : 通道数。 out_channels: 16,使用16个特征图。 kernel_size5; 卷积核尺寸5 * 5 stride 1 步长。 padding2 边缘填充。 前向传播得到预测结果 训练 使用pytorch进行训练。 Vision模块 TorchVision有许多的数据集。 数据预处理 dataset数据集 网络模块设置 分类任务 semantic segmentation object detection instance segmentation and Person Keypoint Detection Video classfication 甚至可以拿到别人的预训练模型 网络模型保存和测试 transforms PIL Image
任务
任务介绍 flowers 一共102种分类。 要把数据和标签读进来。ImageFolder工具。
数据预处理 DataLoader模块直接读取batch数据 网络模块设置 迁移学习需要把head层改一改 256 * 256 224 * 224训练时可以全部重新训练也可以只训练咱们任务的层本质目标是一致的。 网络模型保存与测试
数据增强Data Augmentation 让数据量更多。 数据不够时这样做。 如何更好的利用数据倾斜水平和垂直翻转旋转放大和缩小即得到一个新的数据。 一般网络的输入大小是固定的因此需要resize成预期大小。 下面代码中CenterCrop(224)中心裁剪。 RandomhorizontalFlip(p0.5)概率值是随机翻转的概率。 亮度对比度饱和度 色相。 transforms.Normalize() 即要进行标准化参数1为均值 参数2为标准差 具体的样例代码 训练集做了标准化则测试集也要做相同的标准化。 数据加载 读取标签对应的名字 展示下数据 迁移学习 迁移学习的目标是用别人训练好的参数来执行任务。尽可能差异比较少一些。 那么迁移学习学那个部分呢
A: 使用卷积层的权重参数进行初始化。B 将人家训练好的参数冻住。对全连接层进行重新定义。 数据量越小冻住的参数越多。不到10000.数据量10000多两万。挑出来一些。 迁移学习学习的非常快。迁移学习拿过来的模型都是经过大量实验的结果经典网络结构得到的结果更快也更好。如VGG ResNet。 模型加载 需要指定模型名称 device torch.device(cuda:0 if torch.cuda.is_available() else cpu)需要修改最后全连接层为当前用户的任务分类数目。 加载模型并使用预训练模型。
~/.cache/checkpoints/resnet152-b121ed2d.pthmodel_ft models.resnet152(pretraineduse_pretrained)
set_parameter_requires_grad(model_ft, feature_extract)
num_ftrsmodel_ft.fc.in_features
model_ft.fc nn.Sequential(nn.Linear(num_ftrs,102), nn.LogSoftmax(dim1))
input_size 224设置那些层需要训练 如下的参数中
model_name 指定了要使用的模型102 指定了目标分类数feature_extract: 是否要冻住某些模型use_pretrained: 是否要使用预训练模型。 显示那些参数需要重新开始训练。 优化器设置 使用了学习率的衰减函数。效果会更稳定一些。 训练模块 保存模型参数权重字典 准确率 优化器参数权重字典 开始训练
model_fit, val_acc_history, train_acc_history, valid_losses, train_losses, LRs train_model(model_ft, dataloaders, criterion, optimizer, num_epoches10, is_inception(model_nameinception))测试网络效果
完整训练 将所有参数的require_grad设置为TRue将学习率调整的小一些以为之前用了别人的网络参数学习率过大可能会破坏掉之前的训练参数。
img alt srchttps://cdn.jsdelivr.net/gh/yanchenmochen/imgs/imgsimage-20231109165735676.png
Load the checkpoint 加载之前保存的最好的模型继续开始训练。 实际测试 加载模型 测试数据预处理 将一张图像处理成输入。
得到处理结果 8是因为batchsize。 总结 看了一天这个课程终于看完了对于卷积神经网络也算是有了更加进一步的理解了。现在就是要多多实战敲代码就好了。现在还有点困惑的点包括
优化器的选择损失函数的选择 不过这个课程让自己对于卷积的理解加深了许多。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82393.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!