Unet使用,交叉验证的疑惑,卷积运算(卷积核、过滤器、特征图数量等问题),基础概念学习

困扰了快一天的一个问题,始终不理解卷积核与输出特征图的数量关系,看到有篇博客说的恍然大悟,记录一下
原文链接:https://blog.csdn.net/xiaotiig/article/details/109842718

关于交叉验证的问题,自己写了五折交叉验证之后,一直不知道结果该怎么用,或者说他的目的是什么,找了很多文章,都写的很难懂,看了知乎这篇文章https://zhuanlan.zhihu.com/p/113623623之后,恍然大悟,记录一下自己的理解,学习记录,有错指正。

学习Unet时候一些基础的概念:

池化:下采样
padding:填充边界像素,卷积后的矩阵越变越小丢失图像角落信息
卷积神经网络:卷积-(每层输出之后使用一个激活函数,引入非线性元素)-池化(下采样)-全连接
数据增强:数据增强后每个epoch的训练图片数量并没有变,只是增强之后(随机增强)每个epoch的训练图片都不一样,这样就间接导致数据量的增加。1、在线数据增强;2、离线数据增强
图像分割的评价指标:混淆矩阵的概念记得先熟悉

1、Pixel accurancy (像素准确性)
2、IoU (Intersection over Union)
3、Mean IoU
4、Dice score

Unet的五折交叉验证

这里记录一下综合网上信息我的学习理解

说明一下自己的目的:

1、首先,本人非炼丹选手,使用Unet的目的不是说改进模型或者对比自己的模型啥啥的,主要目的是对医学图像做一个分割,然后利用分割的信息去做伺服控制,在实际使用的时候,我直接把所有数据用作了训练集,选了loss最低的一个模型作为训练好的模型,来处理自己的数据,这个确实很好用。
2、然而,但在毕业论文中,需要说明这个模型的性能,所以我又将数据分为了训练集和测试集,简单的训练一个最好的模型,然后在测试集上计算了一下混淆矩阵,计算了IOU,miou,PA,Dice(F1 score)等评价指标。本来以为就可以了,但是有文章说,对于医学图像这种小样本数据,这样做下来很容易是过拟合的结果,评估模型性能,要用交叉验证的方式。
3、所以,我又写了五折交叉验证,大概就是把数据集,分为五份,每次取一份作为测试集,训练五次,得到五个模型的评价指标,然后就麻了,网上查了一下,说交叉验证是用作超参数选择,模型选择,还有说模型评估,还有分训练集,测试集,验证集等等,周志华的西瓜书也只是简单说了交叉验证的基本方法,对于实际应用和使用交叉验证的目的没有阐述,因此有点懵。

交叉验证的两个作用

N折交叉只是一种划分数据集的方法,可以避免固定划分数据集的局限性、特殊性,这个优势在小规模数据集上更明显,用来避免因为数据集划分导致的过拟合,N折交叉验证是一种优化的手段,不用交叉验证也可以训练和评估模型。

1、模型选择(超参数选择)

前提:有好多个模型可供选择,假设我们有unet,fcn,Mask-RCNN三个网络模型可供选择,或者一个网络的不同的学习速度,epoch,batchsize等超参数,为了方便,这里我们用不同的网络模型举例。
数据集:分为训练集和测试集,对训练集做五折交叉验证(此时训练集被拆分为训练集和验证集)
具体步骤
(1)将训练集分为五份,依次取其中一份作为验证集,其余四份作为训练集,在unet,fcn,Mask-RCNN三个模型中,选择一个训练出一个模型,计算出模型的误差,总共训练五轮,每轮通过验证集得到一个误差,最后得到五个模型的误差,计算出平均误差。
(2)依次用unet,fcn,Mask-RCNN三个网络模型进行交叉验证训练,得到平均误差最小的网络模型(或者超参数),这里我们假设为Unet。
(3)然后将第一步的中训练集和测试集合并为训练集,用选好网络模型unet训练一遍,得到一个模型,这个模型再去在测试集上测试性能,即就是测试泛化性能。

2、模型评估

前提:只有一个模型,假设是unet,需要对训练完的unet做评估
数据集:分为训练集和测试集,使用五折交叉验证的方法划分训练集和测试集。
具体步骤:将数据集分为五份,依次取其中一份作为测试集集,其余四份作为训练集,使用unet训练出一个模型,计算出模型的误差,总共训练五轮,每轮通过验证集得到一个误差,最后得到五个模型的误差,计算出平均误差。
优劣:进行模型评估时,交叉验证不能解决过拟合问题,但是能获得对模型更合理更准确的评估,尤其是数据集很小时,更能体现出这个优势,但增加计算量

卷积核的问题

卷积运算原理

  • 单通道对应一个输出通道,那就用一个二维矩阵(比如3*3)对输入图像进行运算,提取图像特征。(很好理解)
    在这里插入图片描述

  • 单通道输入得到多通道(k个通道)输出,就需要k个滤波器,每个滤波器是就是一个二维的3*3矩阵,也就是每个滤波器包含一个卷积核。下图是一个三维可视化的cnn识别数字的模型,第一层卷积就是单对多,链接,需科学上网:https://www.cs.ryerson.ca/~aharley/vis/conv/
    在这里插入图片描述

  • 当输入是多通道(T)得到多通道(K)输出,那这次卷积就包括K个滤波器,每个滤波器就是一个3x3xT矩阵,每个滤波器就包含T个卷积核,T个卷积核分别卷积后相加。上面输出通道是K,那就得到了K个特征图,每个输出通道就是一个特征图。比如下采样之后的第二次卷积,就是6->16
    在这里插入图片描述

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值