Skip to content

Latest commit

 

History

History
107 lines (54 loc) · 9.16 KB

the-augmented-scientist-practical-application-machine-learning-classification-images.md

File metadata and controls

107 lines (54 loc) · 9.16 KB

增强科学家系列 第一部分:机器学习在 SEM 图像分类中的实际应用

原文:www.kdnuggets.com/2020/03/the-augmented-scientist-practical-application-machine-learning-classification-images.html

评论

作者 Iain Keaney, Skellig.ai

增强科学图示


我们的前三大课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业生涯。

2. 谷歌数据分析专业证书 - 提升您的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持您组织中的 IT 工作


欢迎来到我们增强科学家系列的第一篇博客,在这里我们将探讨机器学习如何改善科学家日常工作的方式。随着这一系列的展开,我们将深入挖掘更多机器学习的应用,以作为科学研究的辅助工具,去除大量重复的分析工作,使科学家能更深入地探索他们的领域。我和我的妻子都来自科学背景,她是化学专业的,我是物理专业的。当我开始从事机器学习时,我被它加速处理繁琐分析工作的巨大潜力所打动,这些工作在研究实验室中消耗了大量时间。

作为我们对增强科学家概念的第一次探索,我们的目标是看看我们能否建立一个分类器,识别扫描电子显微镜(SEM)图像中的模式,并将我们分类器的性能与当前的最先进技术进行比较。后续文章将探讨 SEM 图像分类的更集中应用。

什么是 SEM?

我们将首先关注 SEM 图像分析,这是我妻子作为电化学家在职业生涯中广泛使用的技术。SEM 广泛用于化学和生物学中,以纳米尺度创建表面图像。它通过用聚焦的电子束扫描表面来工作。电子从表面反射,形成表面的形貌和成分图像。

图

来源:en.wikipedia.org/wiki/Scanning_electron_microscope

这种详细成像有广泛的应用,每种应用有不同的分析需求,比如优化生物传感器中的电极表面,或在燃料电池中产生电力。表面的结构可以告诉我们很多关于物体的属性和特征。

之前的工作:

在这篇博客文章中,我们将查看是否能在Modarres et al 2017的工作基础上取得任何进展,他们之前研究了分类 18,577 张 SEM 图像的模式(你可以在这里找到数据集)。这些示例展示了 Modarres et al 2017 数据集中分类的模式类型,包括 Tips、Particles、Patterned Surfaces、MEMS devices 和 electrodes、Nanowires、Porous Sponge、Biological、Powder、Films Coated Surfaces 和 Fibres。

图示

来源:www.nature.com/articles/s41598-017-13565-z#Sec2

下表显示了各类别中图像的分布。

图示

来源:www.nature.com/articles/s41598-017-13565-z#Sec2

使用预训练的 Inception-v3 模型,该模型在 Tensorflow 中实现,Modarres 等人达到了约 90%的准确率,约 80%的精确率和约 90%的召回率@1。Modarres 等人还报告称,数据集中的不平衡对分类器在准确预测欠代表类别方面没有影响。他们的混淆矩阵(见下图)显示,人口最少的类别,如多孔海绵、涂层表面和纤维,都表现得相当好。Modarres 等人将此归因于这些类别的独特模式。(注意:Modarres 等人混淆矩阵中展示的值是每个实际/真实标签的验证样本的百分比)

图示

来源:www.nature.com/articles/s41598-017-13565-z#Sec2

在这一点上需要记住两件事:Modarres 等人没有使用任何数据增强技术,而 Inception-v3 实现的训练过程在 2 个 GPU 上花费了大约 7 分钟。

我们的方法:

想要看看是否能比 Modarres 等人取得更高的准确率,我们在进行了一些自定义修改后重新进行了他们的研究。首先,我们使用了 Fastai v1 框架上的 Resnet 50 实现,并在 Colab GPU 上执行。为了避免过拟合,我们采用了 Fast.ai 介绍的两种方法:数据增强和渐进式调整大小。

数据增强:

数据增强本质上是改变/扭曲每张图像,有效地创建一张新图像。Fastai v1 有一个很好的工具叫做 get_transforms,处理这个过程。函数get_transforms以多种不同的方式转换图像,例如翻转、旋转、改变对比度和扭曲,这意味着小数据集实际上变得更大。

图像

资料来源:docs.fast.ai/vision.transform.html

进阶调整大小:

进阶调整大小是Jeremy HowardFast.ai提出的一种方法。这个概念是将数据集中的图像裁剪成更小的尺寸,然后在裁剪图像上训练模型,接着增大图像尺寸并再次训练模型。我们重复这个过程多次,每次增加数据集中图像的尺寸。在这种情况下,我们从 64x64 像素的图像开始。我们在这个数据集上训练了 Resnet 50,总共 15 个 epoch,然后将其逐步增大到 128,最后到 224。进阶调整大小有两个优点。首先,很多早期训练是在较小的图像上进行的,这意味着计算成本较低,训练时间更短。其次,反复更改图像的大小并重新训练模型可以使模型过拟合变得非常困难。这意味着你的最终模型在以前从未见过的新数据上会更稳定。

结果:

我们的实现可以在我们的 GitHub 仓库中找到,这里。我们实现了 94.5%的总体准确率,比 Modarres 等人之前的最新技术提高了超过 4.5%,尽管我们的训练过程确实花费了近 400 分钟。考虑到数据集的不平衡,考虑其他指标如精确度和召回率是有用的。精确度本质上是正识别的比例实际上是正确的,而召回率是实际正样本中被正确识别的比例。尽管我们的模型稍有过拟合,但实现了 94.2%的精确度和 91.8%的召回率。与 Modarres 等人报告的约 80%和 90%相比,这表明我们的模型在数据集中表现出更好的表现。

结论:

希望你喜欢我们增强科学家系列的第一篇博客文章。这个系列将探讨更多机器学习可以用于协助科学家在各个学科中的工作的方法。如果你有兴趣参与,或有使用机器学习增强自己工作的例子,请告诉我们,我们很乐意听到你的意见。

简介:Iain Keaney@Iain_Keaney)是 Skellig.ai 的机器学习工程师和项目协调员。你可以在这里找到Skellig.ai 博客

原文。经许可转载。

相关:

  • 使用更少数据进行图像分类的深度学习

  • 部署机器学习模型是什么意思?

  • 使用 Keras 简化图像分类的单一函数

更多相关内容