作者:伊恩·斯特宾斯(Ian Stebbins) 本杰明·戈德弗里德(Benjamin Goldfried ),本·马兹(Ben Maizes)

介绍

通常,对于许多特定领域的问题,缺乏数据会阻碍有效性,甚至不允许使用深神经网络。但是,生成对抗网络(GAN)的最新体系结构使我们能够通过创建新的样本来捕获复杂的详细信息,纹理和数据分布的变化,从而允许我们合成数据。该合成数据可以充当深层神经网络的额外培训输入,从而使具有有限数据的域任务更可行。

在此项目中,我们将NVIDIA stylegan-2与自适应歧视器增强(ADA)应用于一个小胸部CT-CT-SCAN数据集(根据数据库许可:Open Database,open Database,cottents,cottents:©原始作者)[1]。此外,我们构建了CNN分类器,以区分正常扫描与肿瘤的扫描。通过将各种比例的合成生成数据注入不同模型的训练中,我们能够评估所有真实数据与具有实际合成混合物的模型之间的性能差异。

Stylegan-2 ADA

NVIDIA在2020年Neurips论文中首次引入了与ADA的Stylegan-2: “培训数据有限的培训生成对抗网络” [2]。过去,小型数据集上的培训gans通常导致网络鉴别器过度拟合。因此,与其学习区分真实数据和生成的数据,不如记住训练集的噪声和离群值的模式,而不是学习数据分布的一般趋势。为了解决这个问题,ADA根据训练过程中观察到的过度拟合程度,动态调整数据增强的强度。这有助于模型更好地概括,并在较小的数据集上提高GAN性能。

增强数据集

为了使用StyleGAN-2 ADA模型,我们使用了GitHub的NVIDIA官方模型实现,可以在此处找到。请注意,这是stylegan-3仓库,但仍可以运行stylegan-2。

根据您的设置,您可能必须安装依赖项并进行其他预处理。例如,我们选择调整大小并缩小数据集图像至224x224,因为我们只能访问单个GPU,并且使用较大的图像尺寸在计算上更加昂贵。我们选择使用224x224,因为Resnet是我们为CNN选择的预训练的模型,已优化可与这种大小的图像一起使用。

要开始培训过程,请导航到将存储库克隆的目录,然后运行以下内容。

SNAP指的是tick的数量(显示信息的训练步骤),然后您想获取网络的快照并将其保存到泡菜文件中。

Kimg指的是您想要进食gan的数千张图像。

伽玛d避免正则化对歧视者的影响有多强。

一旦模型完成培训(这可能需要多个小时,具体取决于您的计算资源),您现在可以使用训练有素的网络来生成图像。

转移学习与卷积神经网络

为了基准我们合成生成数据的有效性,我们首先在原始数据上培训了CNN模型。一旦我们在测试集上具有基准精度,我们就会以训练组合中的合成数据量越来越多地重新训练该模型。

为了将数据馈送到模型中,我们使用了KERAS数据生成器,这些KERAS数据生成器将样品直接从指定目录流到模型中。原始数据集有4种用于不同类型癌症的类别,但是,为简单起见,我们将其变成了二进制分类问题。我们决定从原始Kaggle数据集使用的两个类是正常和鳞状的类。

为了构建我们的模型,我们首先使用Resnet50基础体系结构和模型权重。由于其中等尺寸的体系结构,良好的文档和易于使用的Keras,我们选择使用RESNET50。在使用Imagenet模型权重导入Resnet50之后,我们冻结了Resnet50层,并在顶部添加了可训练的密度层,以帮助网络学习我们的特定分类任务。

我们还选择合并批归其化,这可以通过标准化层输入并减少内部协变量移位来导致更快的收敛和更稳定的训练[3]。此外,它可以提供正规化效果,可以帮助防止在我们增加的可训练的密集层中过度拟合。

最初,我们的模型表现不佳。我们通过将激活功能从relu转换为泄漏的Relu解决了这个问题。这表明我们的网络可能正面临垂死的恢复或死去的神经元问题。简而言之,由于relu的梯度对于负数始终为零,因此这可能导致神经元“死亡”,而不会导致网络[4] [5]。由于负值泄漏的relu不是零,因此将其用作激活函数可以帮助解决此问题。

结果

为了测试我们的合成数据,我们在5个单独的实例上训练了上述CNN,其中0%,25%,50%,75%和100%的额外合成样品。例如,0%的合成样本意味着数据都是原始的,而100%的训练集包含相等数量的原始数据和合成数据。对于每个网络,我们随后使用精确度度量在一组未见的测试数据上评估了性能。以下图可视化合成数据的不同比例如何影响测试精度。

训练该模型是不稳定的,因此我们排除了精度为1.0或极低的迭代。这有助于我们避免训练次要或过度适合的迭代。

我们可以看到,从0到25%,我们看到测试准确性急剧提高,这表明即使将数据集增加少量也会对数据最初最小的问题产生很大的影响。

由于我们仅在80 kimg上训练了我们的gan(由于计算局限性),因此,鉴于更多的GAN训练迭代,我们的合成数据质量可能会更好。值得注意的是,合成数据质量的提高也可能影响上面的图。我们假设合成质量的提高也将导致训练中使用的合成数据的最佳比例增加。此外,如果合成图像更好地符合我们培训数据的真实分布,我们可以将更多的图像纳入模型培训而不会过度拟合。

结论

在该项目中,使用gans扩大有限数据已显示是扩展训练集的有效技术,更重要的是,提高了分类精度。虽然我们选择了一个小小的基本问题,但很容易通过几种方式进行扫描。未来的工作可能包括使用更多的计算资源来获取更好的合成样本,将更多的类引入分类任务(使其成为多类问题),并尝试更新的GAN体系结构。无论如何,使用gans增强小型数据集可以将许多以前的数据限制问题带入深神经网络的范围。

Kaggle数据集

我们将增强图像和大小的图像编译到以下Kaggle数据集中。这包含501个正常和501鳞状224x224合成图像,可用于进一步实验。

我们的github存储库

引用

[1] Hany,Mohamed,胸部CT扫描图像数据集,Kaggle(2020)。

[2] Karras,Tero等人,培训数据有限的培训生成对抗网络(2020年),神经信息处理系统的进步2020。

[3] Ioffe,Sergey和Christian Szegedy,批处理:通过减少内部协变量转移来加速深度网络培训,(2015年),国际机器学习会议。 PMLR,2015年。

[4]他,Kaiming等人深入研究整流器:超过Imagenet分类的人类水平的表现,(2015年), IEEE国际计算机愿景会议论文集。 2015。

[5] Bai,Yuhan, Relu功能和衍生功能审查,(2022), Shs shs of会议。卷。 144. EDP科学,2022年。

点赞的用户