IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 疫情数据分析平台工作报告【42】CodeNet -> 正文阅读

[人工智能]疫情数据分析平台工作报告【42】CodeNet

还是看看远处的CodeNet吧。

线性回归
连续趋势预测
逻辑回归
离散数据分类
决策树
连续的else-if操作
随机森林
堆叠决策树
朴素贝叶斯
贝叶斯公式
假设所有特征独立
K邻近
利用最近的若干邻居数据点预测

残差结构
普通网络,随着深度的上升,性能将会退化
解决梯度消失和梯度爆炸问题

十倍交叉验证
将所有数据分为十份,循环使用每一份作为验证集,其他九份作为训练集
过程中保持超参数一致
衡量平均loss

准确率Accuracy
预测正确的样本/总样本
在数据极端不均衡的情况下效果不佳
精确率Precision
阳性精确率=真阳性/(真阳性+假阳性)
召回率Recall
阳性召回率=真阳性/(真阳性+假阴性)
阳性召回率即真阳性率
F1值
精确率P和召回率R的加权平均
F1=2PR/(P+R)

Shape的变化
第一个数据 -1/None batchSize 没有指定之前是不知道的

第二个数据 长
第三个数据 宽
经过卷积后的尺寸,由原尺寸、卷积核大小、步长决定

经过池化后,尺寸减半,向下取整

第四个数据 通道数 输入时取决于图像的通道数 彩色图像为3 灰度图为1
经过卷积后,通道数变成卷积核的个数

经过Flatten层后,除batchSize外的维度转为一维,结果等于转化的维度之积

Flatten层
将数据一维化
用于连接卷积层和全连接层
不影响batchSize

大于五年为阳性P
小于五年为阴性N

单独分别使用6个预训练网络
分别使用6个预训练网络加上SVM

5次10倍交叉验证 p值小于0.00001
具体怎么划分的也没说

阴性样本45
阳性样本75

NasNet-Large + SVM获得了最佳结果
准确率 ACC 85%
真阳性率SEN 90%
真阴性率 SPE 75%
精确率 PRE 88%
F1 0.9

独立NasNet-Large
准确率 ACC 72%
真阳性率SEN 77%
真阴性率 SPE 63%
精确率 PRE 87%
F1 0.8

Xception + SVM 第二高结果
准确率 ACC 75%
真阳性率SEN 74%
真阴性率 SPE 75%
精确率 PRE 87%
F1 0.78

Xception+SVM 和 ResNet-18 + SVM 的SEN和SPE相近
其他分类器的SPE都远低于SEN
这是由于阴性样本(45)少于阳性样本(75)

数据增强
尝试了平移、旋转、镜面翻转
效果没有提升
也有文献报道了增强医学图像数据的无效性

在NasNet - Large 的 global average pooling2d 2(编号1240)上
捕获了更精细的图像特征
2d 2 后接的是relu函数,因此只使用了正激活

使用SVM将提取的特征数据点二分,比直接使用预训练网络性能更好

NasNet-Large
现在的神经网络大多采用堆叠block的形式,而堆叠的参数正是一个序列
使用RNN随机采样一个网络A,训练这个网络得到它的精度R,用精度R更新RNN控制器的参数
但是难以训练
因此在小数据集上训练一个单元,再堆叠单元形成nas-net

SVM支持向量机
分类器间隔最大化

分离超平面
把样本分开的最优超平面了
支撑超平面
分离超平面平移到极限位置之后的两条直线
分离间隔
支撑超平面之间的距离
支持向量
两个极限位置的样本

分类
线性可分
硬间隔
近似线性
数据并非线性可分
软间隔,允许少量数据不满足约束
惩罚参数C
非线性
将原始数据映射到更高维空间,再进行线性切分
核函数
多项式核函数
高斯核函数
样本数远小于特征数时,使用线性核
理论上高斯核不会比线性核差,但花费更多时间调参

只有支持向量对决定最佳超平面起作用

凸优化,全局最优
只适用于二分类

CoroNet
Coronet: a deep neural network for detection and diagnosis of COVID-19 from chest X-ray ages.
数据集包含四类:新冠320,正常normal 445,细菌性肺炎449,病毒性肺炎424
其中有些质量不佳
最终选出了
不定尺寸,1000-2000 resize为224*224
其实就是在Xception后面直接加分类器

Luz et al(EfficientNet-C19)
Towards an efficient deep learning model for covid-19 patterns detection in x-ray images
EfficientNetB3+层级分类

层级分类,先分是否患病,再分肺炎类型
但是数据比较均衡时,还是扁平分类更好
实际上最好结果就是用的扁平分类,他创新了个寂寞

nCOVnet
Application of deep learning for fast detection of covid-19 in x-rays using ncovnet

第一层输入层
接下来18层是VGG16的一部分
再加分类器

代码未开源

Attention-VGG16
代码未开源

Attention-based VGG-16 model for COVID-19 chest X-ray image classification
设为A
Coronet: a deep neuralnetwork for detection and diagnosis of COVID-19 from chest X-ray ages.
设为B
Automated detection of COVID-19 cases using deep neural networks with X -ray images.
设为C

A
数据集1 包含三类:No finding无发现,新冠,普通肺炎 每个类别至少125张图片
数据集2 包含四类:新冠320,正常normal 445,细菌性肺炎449,病毒性肺炎424
不定尺寸,1000-2000
数据集3 将数据集1的无发现类别与数据集2组合在一起(5

数据集2来自于B
数据集1来自于C

C 第一个kaggle数据集包括
219新冠
1345病毒性肺炎
1341正常Normal

此数据集已经更新为
3616新冠
1345病毒性肺炎
10192正常
6012肺部浑浊(非新冠感染)
299*299

第二个COVIDGR数据集包括852张图片
426新冠
426非新冠

数据集A
包含四类:新冠320,正常normal 445,细菌性肺炎449,病毒性肺炎424
不定尺寸,1000-2000
手动筛一下 删了20张 把非正面的和CT图去掉

数据集B
3616新冠
1345病毒性肺炎
10192正常
6012肺部浑浊(非新冠感染)
299*299

又有一篇论文使用到了数据集B
Transfer Learning for the Detection and Diagnosis of Types of Pneumonia including Pneumonia Induced by COVID-19 from Chest X-ray Images
相当于直接用的ResNet50 94% acc

工作
独立的数据增强
主干用一个现成的模型改一下(vgg16 resnet50)
*对比学习
注意力

SimCLRv2
对ResNet进行无监督预训练
三个步骤
使用无标签数据的预训练
使用有监督的微调(1-10)
使用无标签的蒸馏

在半监督学习中,更大的模型可以从更少的标签中得到性能提升
非线性变换(投影头)的重要性

SimCLR对一个随机给定的小批量图像,随机裁剪、调色、高斯模糊增强两次,送入resnet产生两个y,再用投影头变换,产生两个z,计算损失

SimCLRv2的改进
使用更深的模型,从resnet50扩展到resnet152
使用更深的投影头(3层而非2层)
记忆网络(使性能提升了1%)

微调
一代仅在预训练时使用投影头,而在微调时丢弃投影头,仅使用resnet
将投影头的一部分保留
从投影头的中间微调,而非投影头的输入层

蒸馏(没源码)
损失函数

从投影头的第一层开始微调最好
全套代码都是tensorflow写的,tf1写的弄下来报错,tf2写的弄下来了,但是tf2模型.h5没找到办法转成pytorch格式

直接用在Imagenet上预训练的最大的模型,弄下来,然后用标签损失+无标签损失蒸馏给小模型

选择性内核SK 说人话就是自适应的卷积核大小、步长

感觉不如……带标签监督学习

用手写Alexnet(非预训练)在动物数据集上跑了一下,一开始的train/test acc都很低(10%),跑了几代稳步上涨;
又换成预训练的resnet50,第一代acc 70%,跑了几代达到90%,和kaggle上提供的参考数据一致。
说明我们的平台代码肯定没问题,这个covid数据就是难度非常低。

r50_1x_sk1
经过无标签数据预训练的小模型

r152_3x_sk1
经过无标签数据预训练的大模型

先让上述两个模型new新实例,跑五折,明确student和teacher的基线;

然后将数据集划分为10%测试集,90%训练集;

用训练集的100%微调大模型,保存最好结果为老师;

用其他来源的大量无标注数据蒸馏小模型;

小模型在训练集上训练,在测试集上测试;

r50跑了4折 一眼就超不过90% 感觉我的lr设置不太对 把lr改一下 重新跑个一折看看
总感觉我这个退火函数写错了

寄了 平均能有91%就不错了 之后再加个L2正则化再试试 感觉过拟合了

先搞老师吧 看下老师能不能跑得动 跑不动也没办法了 换更小的模型吧

老师跑不动 先换成152 1倍的吧

加了正则化

似乎有戏 但是最后一截刚上去就跑完了
先准备换老师上吧
老师拉长到300代
然后回头再看看学生 这最后5代看样子有戏啊 算了一下平均91%
下次跑学生的时候 在150代的时候把lr从3e-4退到1e-5

老师拉了大胯了 带着正则化也基本上不了90了
加个dropout再试一次吧

加了dropout也上不了90 为啥啊 按理说自己从头训练 只是更花时间 效果应该不比纯预训练差啊

很怪 我直接试试resnet50纯预训练 怒了
总不可能sk1是负优化吧

resnet50纯预训练 90% 寄了

别惦记着无监督预训练了 整点100%微调r1521x

好 100%微调r1521x也基本上寄了

那三个目标网络是没做数据扩增的 难道数据扩增是负优化?
下面试试把数据扩增减轻 不做色彩变动和旋转 只做随机缩放和水平翻转

ResNet152纯预训练 加入cutout、mix up 感觉没啥用

先换512*512

似乎好了一点
效果只能说不是特别明显 平均91%

换用了512*512 + 稍微复杂一点的分类头 略微提升 平均92%

再记一下手动筛过的小数据集 十折 91开
新冠 282
正常 445
病毒性 424
细菌性 449

再用effnet v2 (寄了)

Stacked Hourglass Networks和那个应用Transform的cnn

在未分割的图像上 gamma+chexNet 最高 DenseNet201次之
在分割图像上 gamma+DenseNet201最高

先裸跑一下Densenet201
跑的时候把gamma校正写了 都先把分割扔一边去 用原始数据跑

Gamma校正搞定了

baseLine

Coronet 0.8976(无数据扩增)
论文里没提数据扩增 代码里面有
EfficientNet_C19 0.9187
旋转15度、20%缩放、水平翻转
nCOVnet 0.9044
旋转20度 水平、竖直翻转

chexNet

Densenet201 + gamma 0.9236 0.9273

Densenet201 + gamma +注意力
CBAM_1x 0.9313
CBAM_2x 0.9243
SE_1x 0.9200 0.9270
SE_2x 0.9303

Densenet201 + gamma +对比学习 0.9254

Densenet201 + gamma +对比学习+注意力
0.9364

使用chexnet迁移到covid上的文章
COVID Detection from Chest X-rays with DeepLearning: CheXNet

横向对比
Roc图
PR图

混淆矩阵
热力图

框架图
和传统的特征对比Umap图

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-16 21:42:28  更:2022-06-16 21:44:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:08:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码