2015网站建设,html网页设计实例范例带代码,wordpress修改教程视频,肇庆东莞网站建设1. 卷积神经网络简单介绍
图像识别任务主要利用神经网络对图像进行特征提取#xff0c;最后通过全连接层将特征和分类个数进行映射。传统的网络是利用线性网络对图像进行分类#xff0c;然而图像信息是二维的#xff0c;一般来说#xff0c;图像像素点和周围邻域像素点相关…1. 卷积神经网络简单介绍
图像识别任务主要利用神经网络对图像进行特征提取最后通过全连接层将特征和分类个数进行映射。传统的网络是利用线性网络对图像进行分类然而图像信息是二维的一般来说图像像素点和周围邻域像素点相关。而线性分类网络将图像强行展平成一维不仅仅忽略了图像的空间信息而全连接层会大大增加网络的参数 为了更好把握图像像素的空间信息提出了 CNN 卷积神经网络利用卷积核(滤波器)对图像进行窗口化类似处理这样可以更好的把握图像的空间信息。
CNN 卷积神经网络一般处理流程将图像的宽高缩减增加图像的channel 信息。这是因为我们往往更在乎图像的语义信息所以正常神经网络都是将图像 size 缩半channel 翻倍一个通道提取一个语义尺寸缩半是因为最大池化层之类的操作可以增加网络的抗干扰能力。例如经典的VGG 网络就是每一层特征图size减半channel 翻倍 2. Transformer 介绍
Transformer 是在自然语言处理(NLP)任务中提出的之前的时序网络(RNN)不能并行化计算N1的数据需要计算N的数据。因此Transformer应运而生了。
图像处理中如果将图像划分为一个个patch这样Transformer就能向处理自然语言那样处理图像 Transformer 与 CNN 相比 CNN 网络有个关键的问题就是卷积核size 的设定大的kernel size 可以拥有更好的感受野把握更多图像的全局信息。但是size过大网络的参数就会增加。后来VGG网络的提出连续3*3卷积可以代替更大的卷积核所以后面的网络均采用3*3卷积核。 参考资料pytorch 搭建 VGG 网络 Transformer 是基于全局处理的可以把握图像的全局信息因此理论上Transformer 有比CNN更好的特征提取能力 Trasnformer 的 self-attention 和 multi-head self-attention
self-attention 部分 这里计算Q和K的相似度得到的值类似于权重然后和V相乘 Q和K的相似度点乘出的 α
这里是Q和每一个K匹配计算公式如下 例如q1和k1 1*12*1 / 根号 2 3/1.414 2.12 。q1和k2的相似度1*02*1 /根号2 2/1.414 1.41 q2和k1、k2的计算一样这里利用矩阵计算所以Transformer可以并行化计算 计算权重和V的值 multi-head self-attentionMSA
将数据均分成不同head 2.1 Vision Transformer
将图像划分为不同的patch输入Transformer 网络 Transformer Encoder结构 不同patch的相似度 Vision Transformer分类项目Vision Transformer 网络对花数据集的分类 2.2 Swin Transformer
swin Transformer 和 vision Transformer 区别
swin Transformer 有层次结构4、8、16倍下采样swin Transformer 窗口分割 Swin Transformer 网络框架 关于patch merging部分就是将图像size减半通道翻倍 W-MSA模块 shifted window 3. Swin-Transformer 使用
代码下载Swin-Transformer 迁移学习对数据集花的分类 如果需要更换数据集的话将data删除然后将自己的数据集按照data下面摆放即可 训练过程的超参数可以不做更改分类的个数由代码生成不需要自行更改
parser argparse.ArgumentParser()
parser.add_argument(--epochs, typeint, default100)
parser.add_argument(--batch-size, typeint, default32)
parser.add_argument(--lr, typefloat, default0.0001)
parser.add_argument(--lrf, typefloat, default0.1)
parser.add_argument(--freeze-layers, typebool, defaultTrue) # 是否冻结权重训练结果测试集的精度接近 98%效果很棒了 测试集的混淆矩阵 测试结果为