1. 基础理论
《深度学习与医学图像处理》书中的第五章,讲述了的医学图像的分类。书中的医学图像分类是指使用深度学习对医学图像中的感兴趣区或者整个图像进行分类的过程。
书中的基本概念重点介绍了:
1. 损失函数
用于衡量模型预测结果与实际目标之间的差异或损失程度。损失函数通常是一个标量值,它越小表示模型的预测越接近真实值,反之越大表示预测偏离真实值较远。
在训练模型时,优化目标通常是最小化损失函数,即找到使损失函数取得最小值的模型参数。常见的损失函数有:
-
均方误差(Mean Squared Error,MSE):适用于回归问题,计算预测值与实际值之间的平方差,常用于线性回归等任务。
-
交叉熵损失(Cross-Entropy Loss):适用于分类问题,特别是二分类或多分类任务。
-
对数损失(Log Loss):与交叉熵损失类似,用于衡量分类问题中概率分布的差异。通常用于评估概率型模型(如逻辑回归)的性能。
-
Hinge Loss:用于支持向量机(SVM)等分类模型,在分类边界上的样本损失为0,其他样本的损失与其到分类边界的距离成正比。
-
Huber Loss:适用于回归问题,对异常值更具鲁棒性,结合了均方误差和绝对误差。
2. 评价指标
评价指标是衡量模型性能和效果的重要标准。选择合适的评价指标可以帮助我们了解模型在不同方面的表现,并据此做出改进或比较不同模型的决策。
-
准确率(Accuracy):用于分类任务,表示模型预测正确的样本比例。
-
精确率(Precision):表示预测为正类别的样本中,实际为正类别的比例。
-
召回率(Recall):表示实际为正类别的样本中,被模型预测为正类别的比例。
-
F1 分数(F1 Score):综合考虑了精确率和召回率,是精确率和召回率的调和平均值。
-
ROC 曲线和 AUC:ROC 曲线绘制了真正例率(True Positive Rate)与假正例率(False Positive Rate)之间的关系,AUC 表示 ROC 曲线下的面积,用于度量模型在不同阈值下的分类性能。
-
均方误差(Mean Squared Error,MSE):用于回归任务,表示模型预测值与真实值之间的平均平方差。
-
平均绝对误差(Mean Absolute Error,MAE):与 MSE 类似,但是使用的是绝对误差而不是平方误差。
-
对数损失(Log Loss):用于评估概率型模型(如逻辑回归)的性能,表示模型对样本的分类概率与实际标签的负对数似然之和。
2. 经典模型
在2012年的ILSVRC挑战赛中,AlexNet取得了冠军,并且大幅度领先于第二名。由此引发了对AlexNet广泛研究,并让大家树立了一个信念——“越深网络准确率越高”。这个信念随着VGGNet、Inception v1、Inception v2、Inception v3不断验证、不断强化,得到越来越多的认可。这个里面的关键是ResNet, 我们来看看ResNet。
ResNet团队分别构建了带有“快捷连接(Shortcut Connection)”的ResNet构建块、以及降采样的ResNet构建块,区降采样构建块的主杆分支上增加了一个1×1的卷积操作。
相比ResNet,DenseNet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。
可以看到,ResNet是每个层与前面的某层(一般是2~3层)短路连接在一起,连接方式是通过元素级相加。而在DenseNet中,每个层都会与前面所有层在channel维度上连接(concat)在一起。DenseNet在CIFAR-100和ImageNet数据集上与ResNet的对比结果:
综合来看,DenseNet的优势主要体现在以下几个方面:
- 由于密集连接方式,DenseNet提升了梯度的反向传播,使得网络更容易训练。
- 参数更小且计算更高效,这有点违反直觉,由于DenseNet是通过concat特征来实现短路连接,实现了特征重用,并且采用较小的growth rate,每个层所独有的特征图是比较小的;
- 由于特征复用,最后的分类器使用了低级特征。
3. 实战
书中给出了一个颅内CT检测的案例。实战用的数据集是 RSNA Intracranial Hemorrhage Detection Challenge (2019) 这个竞赛对应的数据集,可以去kaggle下载。RSNA-ICH-Det数据集的大小是167.5GB,这个我就没有直接去下载了。里面主要标注了以下的几类:
使用U-net类的网络对这类问题进行处理是比较普遍的做法。有兴趣的可以看:
【Challenge笔记】RSNA Intracranial Hemorrhage Detection-CSDN博客
|