6.3.4 神经网络

6.3.4 神经网络

神经网络是一种学习算法,它构成了大多数深度学习方法的基础。神经网络由具有一些激活a和参数θ={W,B}的神经元或单元组成,其中W是一组权重,B是一组偏差。激活表示输入x与神经元和参数的线性组合,然后是元素方式的非线性σ(·),称为传递函数:

传统神经网络的典型传递函数是S形和双曲正切函数。多层感知器(MLP)是传统神经网络中最著名的,它具有以下几层转换:

这里,W n是包括行wk的矩阵,其与输出中的激活k相关联。符号n表示当前层的编号,其中L是最后一层。输入和输出之间的层通常被称为“隐藏”层。当神经网络包含多个隐藏层时,通常被认为是“深层”神经网络,因此称为“深度学习”。

通常,网络最后一层的激活通过softmax函数映射生成类上的分布:

其中,表示通向与类i相关的输出节点的权重向量。

随机梯度下降的最大可能性是目前最流行的拟合参数θ的方法。在随机梯度下降中,一小部分数据(小批量)用于每个梯度更新,而不是完整数据集的更新。在实践中优化最大可能性相当于最小化负对数似然:

这导致两类问题的二元交叉熵损失和多类任务的分类交叉熵损失。这种方法的缺点是通常不会直接优化我们感兴趣的数量,如受试者工作特征曲线(receiver operating characteristic,ROC)下面积或用于分割的常用评估测量,如骰子系数。

长期以来,因深度神经网络(deep neural networks,DNN)参数过多,训练过程中容易产生过拟合。DNN在2006年才获得普及,当时显示(训练前)以无人监督的方式逐层训练DNN,随后通过监督微调的堆叠网络,可以带来良好性能。以这种方式训练的两种流行架构是堆叠自动编码器(stacked auto-encoders,SAE)和深信度网络(deep belief networks,DBN)。然而,这些技术相当复杂,需要大量运算才能产生令人满意的结果。

目前最受欢迎的模型以受监督的方式端到端地进行训练,大大简化了培训过程。最流行的架构是卷积神经网络(CNNs)和循环神经网络(recurrent neural networks,RNNs)。尽管RNNs越来越受欢迎,但CNNs目前在医学图像分析中使用最广泛。以下部分将简要介绍CNNs,并讨论它在应用于医疗问题时与MLPs的差异和潜在挑战。

MLPs和CNNs之间存在两个主要差异。

首先,在CNNs中网络的权重以网络对图像执行卷积运算的方式共享。这样,模型不需要为在图像中的不同位置处出现的相同对象学习单独的检测器,使得网络在输入的翻译方面是等同的;还极大地减少了需要学习的参数数量(即权重的数量不再取决于输入图像的大小)。

在每一层,输入图像与一组K个内核W={W1,W2,…,Wk}的和增加的偏差B={b1……bk}卷积,每个都生成一个新的特征映射Xk。这些特征受到元素方式的非线性变换σ(·)的影响,并且每一个卷积层l都重复相同的过程:

CNNs和MLPs之间的第二个关键差异是CNNs中池化层的典型结合,其中邻域的像素值使用置换不变函数(通常是最大或平均运算)来聚合,这可以诱导一定量的平移不变性并增加后续卷积层的感受野。在网络卷积流的末尾,通常添加不再共享权重的完全连接的层,即规则的神经网络层。与MLPs类似,其通过softmax函数传递最终层中的激活来生成类上的分布,并且使用最大似然训练网络。