58必威网

什么是人工智能,如何将其应用于科学仪器?

12月02日2021

作者:代表Ziath Ltd的Alex Beasley博士

免费阅读

本文已解锁,可以阅读。

下载

高级电气设计工程师Alex Beaseley博士着眼于人工智能在科学仪器实际问题中的应用。他演示了如何使用神经网络方法来分析真实世界的图像,并从数据中确定关键属性,其精度和速度远远高于传统检测技术。

近年来,科学界越来越多地将人工智能(AI)视为一种未来的工具,在应用于仪器的操作和测量时可以带来巨大的好处。但人工智能到底是什么?
首先,让我们定义一些你可能听说过的术语:机器学习是创造人工智能(AI)的过程。机器学习可以通过几种不同的机制进行应用,包括“模糊逻辑”、“判别分析”和“神经网络”。由于其处理计算密集型问题的能力,神经网络是大多数商业上可行的人工智能的基础,可以应用于科学仪器试图解决的问题类型。
实现神经网络的限制仅仅是使用的处理器中“节点”或可能的连接的数量。人脑中节点的数量甚至比最强大的处理器所能聚集的还要多好几个数量级。被大肆吹嘘的“奇点”——人类的意识可以被上传到硅片里——仍然只是科幻小说里的东西。然而,在现实世界中,神经网络扮演着重要的角色。
为了成功地将人工智能解决方案应用到给定的问题,我们必须首先描述问题的特征。这通常是对分析数据的特定问题的数学解决方案,如平滑算法或数据趋势识别。在设计神经网络时,网络是由许多“层”构成的,每一层代表一个单独的数学运算。在数据流上组合这些数学函数可以提取数据特征。这可能是我们所寻求的有用的答案,也可能是经过进一步处理的中间阶段。例如,一个网络可能建立两到三种不同的方法来平均给定的一组数据。然后将输出输入一个比较器,根据正确概率的百分比,比较器会从给出的三个答案中选择最合适的答案。
在创建神经网络时,它最初将扮演一个“黑匣子”的角色——也就是说,在网络中,通常没有预先确定的节点互连;没有节点或通过网络的可能路径被分配权重或偏差。这是人工智能的起点。
确定要使用的数据集对于描述将使用人工智能解决的问题至关重要。在我们的例子中,它是一个. png图像文件,但任何数据集都可以作为起点。人工智能在图像分析方面特别有用,并且已经在组织细胞学中发现了在涂片检测中确定宫颈癌细胞类型的应用。人工智能算法已被证明在识别潜在肿瘤细胞方面接近100%的准确性,它在周五下午5点和周一上午9点的工作效果一样好,而且不像目前进行这些测试的人工技术人员那样容易疲劳。
神经网络的输入层由输入数据流的大小定义。在我们的例子中,它是一个8位50 x 50像素的图像,其中每个像素的值可能在0- 225之间。数据输入的每一层,按顺序,都是一个单独的数学参数。数学函数的组合产生一个整体上更大的函数,如图像分类。
分类网络的作用是根据预先确定的一组参数来决定或分类图像的内容。例如,输出是0、1还是大于1 ?它也可以是一个简单的是/否的回答,或者在我们的情况下,是否有条形码?在我们的例子中,分类网络产生两个答案——图像包含条形码的概率和图像不包含条形码的概率。输出输入比较器,比较器检查结果并得出问题的答案:我们的图像是否包含条形码?如果网络是错误的,那么它必须被“重新训练”。在一个复杂的网络中,像“亚当函数”这样的技术可以用来探索“解空间”的一个区域——用图形术语来说,这个区域是由数学参数的所有可能有效解的轨迹所限定的。
在实践中,网络是通过向它展示大量已知的例子来“训练”的,通常是数千个。神经网络控制的本质允许网络调整每个节点的权重和偏差,使网络朝着更接近于允许的解决方案的方向“增长”。在我们的例子中,我们向网络呈现了数千个不同的条形码,有些是好的,有些是坏的,有些是非常难看的!我们的网络会自我调整,直到最终,它能区分打印好的和打印不好的条形码。经过进一步的训练,它可以确定是否根本没有条形码。这听起来显而易见,但实际上,实验室中的许多因素,如头顶照明、靠近窗户、一天中的时间和邻近人口稠密的井的反射,都可能导致成像仪感知到一个条形码,而实际上,根本不存在。
一旦训练,网络必须被验证。一个约为训练集大小20%的数据验证集,包含新的相关图像,用于对网络的性能进行评分。
在实践中,网络可能有一种“过度训练”的倾向,比如它们在处理训练集时表现出色,但在面对新数据时却惨败。为了缓解这种“过度训练”的问题,可以采用一些技术:例如增加训练数据,迫使部分训练的网络失去当前的权重和偏差值(称为“dropout”)。数据增强允许我们在训练集上执行转换、旋转和其他图像预处理操作。通过增加数据,可以确保网络用于训练的图像种类增加,从而降低创建“过度训练”网络的趋势。辍学是帮助减少“过度训练”的第二个过程;在训练阶段之间随机去除训练权重/偏差的百分比。然后,当神经网络面对训练数据的另一个迭代时,它必须重新学习权重。通过防止“过度训练”,当网络呈现全新的数据时,比如来自验证集的数据,它能够与训练集相比获得同样高的分数。一旦一个网络能够在全新的数据上获得很高的分数,就可以认为它已经准备好部署了。
有许多框架可以用于神经网络的开发和训练;比如Tensorflow、PyTorch、Torch和Keras。这些框架使用Python等通用编程语言运行。这些框架为机器学习提供了一个端到端的开源平台,提供了一套工具和库,让开发人员可以轻松地构建和部署机器学习支持的应用程序,比如科学图像分析。
Ziath选择在最新的控制软件DP5中实现如此强大的神经网络,用于他们基于CMOS相机的2d条形码管阅读器。这种新的AI功能为Ziath软件的空井或漏管检测提供了基础,使用的正是上述方法。输出是确定在每个位置存在或不存在管。
Ziath的研发团队现在正致力于将神经网络转移到FPGA上。这是一个现场可编程门阵列。从本质上说,该设备将数十亿个晶体管组合成一个平台,在这个平台上可以创建定制架构来解决用户特定的问题。fpga与其他处理技术相比有许多优点;它们提供了一个灵活的平台,能够在该领域更新其配置,与其他处理器相比,它们产生了非常高的性能,并且与定制硅相比,它们允许快速的开发周转。以这种方式转换神经网络将决定FPGA的架构、规模、容量和成本。即便如此,为Ziath的应用程序设计的普通设备仍然可以比用于处理它的嵌入式PC运行快许多倍,因此,如果需要,在未来的某个时候可以容纳一个更大、更强大的网络。该FPGA以125MHz的时钟速度每秒执行千兆运算,这使它能够在略低于8毫秒的时间内分析96位SBS格式机架。它可以在更大的FPGA上运行得更快,但成本相应地增加,而且系统受到其他瓶颈(如设备之间的数据传输)的限制。
如前所述,机器学习对于某些图像分析问题非常好,称为机器视觉。它可以以非常高的分辨率识别某些人眼难以分辨的特征。此外,光谱或色谱图等覆盖数据的反褶积有助于AI解决方案。在实验室中,任何需要模式识别的大型数据集都可能由人工智能承担。在其他领域,一些方法正在开发中,它们将减少调节神经网络所需的训练数据量,使其应用更容易、更快速。实验室人工智能的前景是比今天更快、更灵敏、更便宜的数据处理。
Alex Beasley zeng博士。MIET MIEEE是位于英国剑桥的Ziath有限公司的高级电子设计工程师。

免费阅读

本文已解锁,可以阅读。

下载