#神经网络训练流程:
##数据预处理:
1、数据归一化(常用z-score,均值和方差,从参考文献获取)
2、阈值分割(从参考文献获取)
3、图像增强(自适应直方图均衡化)
4、图像去噪
5、保存图像,等待训练
##设计模型(针对数据类型)
1、寻找相似类型数据或同一数据集论文
2、复现别人的模型(从git-hub上面找,一般能找到公开代码(参考文献会公开git-hub地址,不行的话,直接在git-hub搜数据集名字)),
实验结果(loss文件:学长一般用tensorboard保存训练数据,建议用这个。模型:保存,并用实验超参命名,利于后期调参!)
3、神经网络是个玄学的东西,如果脑海没什么火花,别犹豫,直接去copy顶会顶刊最新研究进展,把合适的方法加入到你复现的模型中,
如果模型臃肿了,直接去掉多余的结构,该剪枝就剪枝!(用tensorboard监控运行过程)
##实验
1、设置超参
2、定义网络
3、加载数据(数据增强,这是一个重点,单独说,这里有一个batchsize属于超参)
4、挑选损失函数(根据你的参考文献选择损失函数类型(医学图像一般选择dice),有时损失函数的改进也可以发论文,但难😊)
5、选择优化器(根据数据集或者网络来选,我一般初始选择Adam,时间和精力允许,换成别的优化器跑一下)
6、学习率(数据越多,学习率设置要越小,反之,属于超参)
7、评价指标(这个太多了,网上一大堆,一般提供你数据的官方会指定,我们)
8、炼丹结束
监控一般看loos、评价指标、两者结合(因为一般loss和评价指标的计算方式是不同的,要结合实际情况来看),主要注意欠拟合、过拟合!
时间允许,多选几个基准模型,基准数据集
##调参
bacthsize:一般设为2(要求你的gpu个数不能是奇数),大了可能更好,可能更差,自己尝试
learning rate:数据少,初始就设为0.01,然后学习率衰减(根据loss或者epoch的变化,自己设置具体参数)
image shape:一般为2的次幂(256/512 etc,自己试),这个跟底层架构有关,利于梯度计算
深度监督系数:这个属于训练方式的范畴,可加可不加,最后其它的都尘埃落定,加一个试试?然后拜一拜佛祖,没准有意外收获。
##论文撰写
1、摘要
2、引言
3、*相关工作
4、方法
5、实验和分析
6、总结
7、*结论
8、致谢
9、参考文献
*可选
重点不是这个,hhhhh,重点是论文里面的图和表,这个可以让你们少走很多弯路#########实验一般分为基准模型对比和消融实验,第二步算一个baseline或者消融实验,看你选择。
一般我们论文的图和表分为:
原始数据的可视化(两到三个例子),图一
训练过程图(loss变化图,分训练集和验证集,),图二、图三、或图四(基准模型对比和消融实验)。
训练过程可视化:如果有注意力,会有个特征可视化
训练结果可视化,一图
表,评价指标(基准模型对比和消融实验,和其它参考文献的结果对比)
##数据增强
旋转:
裁剪:(滑动窗口的方式,最多)
平移:(用的不多,容易把目标给弄没了)
变换:
我们在加载数据时进行数据增强,也有人在数据预处理时进行数据增强(不太可取)
这个数据增强,我是根据记忆写的,不全,而且要根据自己的数据集进行选择,特别是二维数据和三维数据
###不定时总结、更新
#############################################################################第一次,2020年9月30日16点12分########################################################################