system: [SYSTEM]

user: 4. 实验与结果 4.1. 实验设置 实验环境为Ubuntu16.04操作系统，CPU为Intel® Xeon(R) CPU E5-1620 v3，主频为3.50 GHz，GPU为NVIDIA Quadro M4000，CUDA8.0，cuDNN5.0。分类实验使用Theano、Lasagne深度学习框架。训练过程中，使用Adam优化算法 [ 24 ] 最小化多分类交叉熵损失函数，Adam是一种自适应参数更新方法，包括3个参数值，分别为学习率和两个衰减率参数，取0.0001与0.9、0.999。权重参数W使用Xavier均匀分布初始化，偏置b使用常数0初始化。参数更新按小批量进行，每批样本量为16。 图8. 卷积神经网络基本结构示意图 4.2. 分类结果 4.2.1. 样本均衡 根据研究表明，当数据样本不均衡时，若少数类不能充分学习到有效特征，则会根据样本分布，以大概率判别为多数类 [ 25 ] 。为解决该问题，通常对少数类样本使用过采样方法以达到与多数类平衡。此处尺骨分类使用的训练样本量原始分布为150、200、100，存在轻微不平衡，分别对两少数类样本进行简单过采样，使得三个阶段类的样本量都为200。桡骨使用的训练样本量原始分布为50、50、150、50，分别对少数类样本进行简单过采样，使得三个阶段类的样本量都为150。 使用4层卷积、2层全连接的基本网络结构，进行对比试验，结果见表4所示。具体网络结构为第一层卷积为32个7 × 7卷积核，第二层64个5 × 5卷积核，第三层64个3 × 3卷积核，第四层为32个3 × 3卷积核，全连接层节点分别为4096和1024个，再接输出层3个节点。卷积均为有效卷积，不改变大小，每层卷积后接一层2 × 2的最大池化。 由表4实验结果知，对不平衡样本进行简单过采样，使各类样本均衡后，分类精度略有提高，但由于原数据样本不均衡性并不严重，所以提升不明显。但训练过程中，均衡样本收敛速度明显快于不均衡样本。如图9(a)所示，在非均衡样本下网络在训练迭代至40代左右才收敛，而在均衡样本下，如图9(b)所示，网络在训练迭代至20代左右就已收敛。 4.2.2. 数据增强 在训练神经网络模型过程中，为了避免过拟合，通常根据不同任务针对性的选取位置平移变换、尺度变换、旋转、反射变换、颜色变换、对比度变换、遮挡、噪声扰动等变换方式中的几种进行数据增强从而间接获取更多数据 [ 26 ] 。此处再使用位置平移变换、尺度缩放变换等，将尺骨与桡骨训练集分别扩增至5倍，即尺骨每类1000张样本，共3000张训练样本，桡骨每类750张，共3000张训练样本。 使用4层卷积、2层全连接的基本网络结构，进行对比试验，结果见表5所示。 由上述实验结果，可以看出数据增强对分类精度的提升效果明显。可见数据增强对于数据量不足的数据，提升效果显著。下面在数据增强的样本上，进行实验，调整网络结构。 4.2.3. 网络结构 对于不同的任务，不同的网络结构往往能够得到不同效果，正如“没有免费的午餐”理论指出的，不存在一个模型对于所有的任务都是最优的。所以针对特定的任务应尽量找出最适合该任务的网络模型。 以数据增强5倍后的数据集作为样本，修改全连接层结点数、调整卷积核大小、增加卷积层数、使用Dropout来调整网络结构，以表6中9种网络进行对比实验，通过实验结果确定其中最适合该任务的网络模型结构。 Table 4 Classification accuracy under different sample distribution of basic networ 原始样本 均衡样本 尺骨分类精度 68.7% 70.7% 桡骨分类精度 83% 84% 表4. 基本网络各样本分布下分类精度 Table 5 Classification accuracy before and after data augmen 原始样本 数据增强 尺骨分类精度 68.7% 78.7% 桡骨分类精度 83% 88% 表5. 基本网络数据增强前后分类精度 Table 6 Different network structure 网络结构 网络 卷积层 全连接层 32c7-64c5-64c3-32c3 1024-256 1 1024-1024 2 4096-1024 3 32c3-64c3-64c3-32c3 1024-1024 4 4096-1024 5 32c3-64c3-64c3-128c3-128c3 1024-1024 6 4096-1024 7 32c7-64c5-64c3-128c3-128c3 1024-1024 8 4096-1024 9 表6. 不同网络结构 图9. 非均衡样本与均衡样本收敛速度比较 表6中网络结构分为卷积层与全连接层两列给出，卷积层以“32c7-64c5-64c3-32c3”格式给出，该例表示有4层卷积层，其中第一层卷积层“32c7”代表一个7 × 7的卷积层，卷积核数量为32，步长均为1，每个卷积层连接一个2 × 2的最大池化层。全连接层以“1024-1024”格式给出，该例表示两层全连接，每层结点数量为1024个。 在这9种网络结构下，分别训练尺骨骨龄阶段分类器与桡骨骨龄阶段分类器，训练过程中，统一使用Adam优化算法最小化多分类交叉熵损失函数，Adam是一种自适应参数更新方法，包括3个参数值，分别为学习率和两个衰减率参数，取0.0001与0.9、0.999。权重参数W使用Xavier均匀分布初始化，偏置b使用常数0初始化。分类效果如图10所示，(a)为尺骨分类情况，(b)为桡骨分类情况。 由图10可知，尺骨骨龄阶段分类在网络8上获得最好结果0.88，桡骨骨龄阶段分类在网络7上获得最好结果0.92。两者均在较深的网络下获得最优分类结果，但由于尺骨图片相对于原始尺寸有所放大，尺骨分类前两层使用了更大的卷积核，以获得更大的感受野下能获得更好的精度。在全连接层使用Dropout明显比未使用Dropout的网络获得更好的结果。 4.2.4. 网络参数优化 以数据增强5倍后的数据集作为样本，尺骨骨龄阶段分类器使用网络8结构，桡骨使用网络7结构分别使用Adam与SGD优化方法，及不同学习率参数，比较分类精度与网络收敛效果。图11(a)为尺骨分类结果，图11(b)为桡骨分类结果。从图11中可以看出使用Adam优化方法比SGD优化方法能获得更好的分类结果，使用Dropout比不使用Dropout能获得更好的分类结果，且Adam受学习率等参数影响更小，具有更强的适应性。 图12(a)为相同优化方式下，是否使用Dropout情况下损失函数随迭代次数的收敛情况，从图中可以看出两者具有相同的收敛速度，但使用Dropout时，损失值能降到更低。且随着迭代次数的上升，没有使用Dropout时损失值上升明显，过拟合情况明显，而使用了Dropout后则有效的抑制了过拟合，网络获得了更好的收敛效果。图12(b)为使用两种不同的优化方式下，测试精度随迭代次数变化情况，Adam方法通常能获得更快的收敛速度与收敛效果。 综合各种网络结构、优化方式、学习率参数等实验结果最终尺骨与桡骨骨龄阶段分类结果如表7所示。 图10. 不同网络结构下尺骨与桡骨分类精度 图11. 不同学习率与优化器下尺骨与桡骨分类精度 图12. 收敛效果比较 Table 7 Classification accuracy of ulna and radius under optimal condition 网络结构 优化方式 学习率 Dropout 分类精度 尺骨 网络8 Adam 0.001 使用 90% 桡骨 网络7 Adam 0.0001 使用 92% 表7. 尺骨与桡骨最优情况分类精度