二、算法

二、算法

(一)深度学习架构

近年来,数据驱动的深度学习已广泛应用于基于眼底图像的眼科疾病诊断。与以使用手动设计为特征的传统方法相比,深度学习模型可以通过端到端的方式自动优化特征来获得更好的性能。卷积神经网络(CNN)是最流行的深度学习模型,用于包括医学成像在内的计算机视觉任务。在系统中实现的其他深度学习算法包括CNN的集成、迁移学习、CNN与传统机器学习的结合、完全卷积神经网络和自动编码器。

1.卷积神经网络(CNN)

CNN模型通常由四种类型的层组成:卷积层、激活层、池化层和全连接层。激活函数为模型提供非线性并复制神经元的放电。反向传播是调整权重并使模型学习的算法。批量归一化和dropout是实现更快收敛和避免过拟合的常用方法。典型CNN中各个层的作用是:①卷积层。使用给定的内核大小和步长执行卷积以生成特征图。②激活层。在卷积层的输出上应用Re LU等激活函数。③池化层。池化,用于减小特征尺寸。通常,池化后卷积层的内核数是前一层的2倍,用以保留信息。④全连接层。与前馈神经网络相同,用作分类的最后一层。

2.全卷积网络

从名称中可以看出,全卷积网络由局部连接的卷积层组成,如下采样(卷积)、上采样(反卷积)和池化。可以理解为没有全连接层的CNN,用于图像分割等任务。没有全连接层会导致计算更快和参数数量减少。通常,这些由卷积层组成的下采样路径和由反卷积层组成的上采样路径可以跳过多个层的连接,并以不同的分辨率跨层传输信息以更好地学习。

3.自动编码器

这是一种无监督的神经网络,用于有效地压缩和编码数据,然后从减少的编码中重建数据。它由一个降低维度的编码器、一个具有最低输入数据维度的瓶颈、一个学习从编码和重建损失中重建数据的解码器组成,该损失用于衡量解码器输出的性能。使用反向传播训练网络以最小化重建损失,以使重建数据尽可能与原始数据相似。

(二)训练方法

神经网络的训练通常通过初始化随机权重并使用随机梯度下降和反向传播来进行。以下是使用眼底图像训练眼科疾病诊断的相关文献中使用的一些神经网络技术。

1.监督学习和无监督学习

在监督学习中,CNN提供训练数据和输出标签,神经网络尝试在可用基本事实的监督下使用指定的学习方法学习标签,解决分类问题。无监督学习用于模式识别,也有输入层、隐藏层和输出层。这些层可以是部分或全连接的,也可以有一个终止的全连接分类层。无监督网络获取输入图像并对其进行压缩,其原理是在输入图像的压缩版本上重建输入图像。此外,半监督学习利用大量图像级标注的图像做半监督的分割,利用少量像素级标注的图像做半监督的分类。伪mask帮助微调分类网络,分类网络又会帮助微调生成器,把分割和分类问题放到一个端到端的网络里互相监督、互相提高。

2.迁移学习

深度学习算法通常需要大型数据集才能进行有效训练。眼科疾病诊断中可用的数据集通常很小,可能导致模型过拟合。迁移学习通过拟合大型数据集(通常属于不同领域)来初始化权重,从而提供了一种解决方案。然后在目标数据集上微调模型的某些或所有层的权重。

3.集成学习

这涉及独立训练的多个深度学习模型,针对给定数据样本轮询它们的结果以获得对其的预测。多数投票所涉及的选择最频繁的结果作为最终预测是常用的方法。它基于这样一个假设,即独立训练的模型的错误不太可能重合。

(三)任务类别

大多数深度学习在眼底图像中的应用可以粗略地分为分类、分割和合成任务。眼科疾病的诊断和分级是分类任务的两个例子,VGGNet、Inception、Res Net和DenseNet是使用最广泛的分类骨架网络。在分割任务方面,识别病变和生物标志物在眼科疾病诊断中具有重要意义。除了用于分类的网络,其他广泛用于眼底图像分割的网络包括FCN、Seg Net、U-Net、Mask RCNN和Deeplab V3+。最后,在眼底图像合成领域,生成对抗网络(generative adversarial network,GAN)是主导架构。

(四)性能指标

如果一个算法的预测和真实情况非常接近,则该算法被认为是有效的。这种接近度只能通过使用一些定量措施来测试,而这些量化指标也有助于评估和比较不同算法的能力。复杂的性能指标源自基本性能指标(真阳性、假阳性、真阴性和假阴性)。视网膜图像分析的性能指标见表2-2。

表2-2 视网膜图像分析的性能指标