我们将就 JMP 和 JMP Pro 在现代人工智能 (AI) 和机器学习 (ML) 趋势中可能扮演的角色进行一些轻松的讨论和探讨。在不断发展的 AI/ML 领域,各行各业的科学家和工程师都需要直观易用的工具来进行数据探索、模型构建和部署。
JMP 和 JMP Pro 作为无代码平台,凭借其可视化和交互式功能,简化并加速了从原始数据到人工智能的整个流程,从而提升了理解力和效率。本次演讲将通过实际案例重点介绍它们的优势,包括表格、文本和图像数据的深度学习,展示这些工具如何以极少的编码专业知识实现无缝的人工智能驱动型洞察,并有可能显著节省时间和精力。
大家好,欢迎收听本次讲座。我是Florian Vögl,我的同事Russ将和我一起为大家讲解。我们分别从德国和美国连线,共同探讨JMP是否真的能在人工智能和机器学习的未来发展中扮演重要角色。对吧?
问得好,弗洛里安。
显然,今天所有的答案都会带有主观色彩,但我认为我们有一些不错的观点可以分享,尤其是一些令人兴奋的例子。我们认为它非常强大。JMP 的设计初衷就是为了帮助科学家和工程师,并且不断发展,最终整合了一套完整的工具集,从原始数据到我们称之为“可共享的洞察”,我认为这包含了你在人工智能和机器学习领域发挥重要作用所需的一切。
我也认识弗洛里安,我们的客户、科学家和工程师都非常忙碌,而且很多人认为,要使用现代人工智能和机器学习(AIML),唯一的途径就是编写代码。今天,我们将尝试打破这种观念,展示如何通过 JMP Pro 访问一些非常强大的方法。其中一些方法几乎是尖端技术,只需通过界面即可快速获得答案,而无需每次都编写一次性代码。
是的。这是它的强大之处之一,而且它还集成了JMP本身为科学家和工程师提供的所有强大功能。好了,不多说了,我们举个例子吧。Russ,我想你已经准备好了一个很好的例子,可以先从这里开始。
是的。我想强调的是,目前化学界正兴起一股预测分子结构的热潮,基本上就是根据结构描述(通常是SMILES字符串)来预测分子结构。我想举一个非常好的例子。几个月前,他们研究了冰重结晶的影响,试图观察冻结对分子结构的影响。这项研究几年前就完成了,他们克服了所有发表障碍,现在这篇论文发表在《自然通讯》上,而且他们还把数据公开放在了GitHub代码库里。我的数据就是从这里获取的。
这篇论文我们就不深入探讨了,但他们确实也做了一些研究。我认为他们做得非常透彻,他们主要采用经典的(Q)SAR方法,即构建几个不同的分子描述符集,然后进行分析……他们倾向于使用留一交叉验证,并展示结果。例如,第一个数据集名为Glyco2,下表展示了几个不同特征集的Pearson相关系数均方误差性能指标的最后一列结果。此外,他们还进行了一项很棒的集成研究,你可以看到集成研究带来的改进,例如将相关系数从0.4左右提升到45、46以上。
这是我一直在用 JMP 和 JMP Pro Torch 深度学习插件重新分析的一个数据集。这里是数据集,在这个例子中,我们得到了 223 个分子。我做的第一件事就是运行程序。现在有两个很不错的插件,它们都比较新。第一个叫做材料信息学工具包,你可以直接输入 SMILES 字符串,然后生成你在这里看到的图表。你还可以创建基于 RDKit 的特征,而且,开发者还提供了他们的特征集。
这已经是一个非常丰富的经典 (Q)SAR 数据集了。我们没有时间深入探讨,但目前有几种相互竞争的方法可以预测这种结果。经典的 (Q)SAR 方法会像往常一样提取数值特征,然后将它们输入到某种模型中,比如神经网络,或者也可以使用 XGboost 或其他基于决策树的方法。只需输入这些特征即可,而且最好像他们那样设置某种交叉验证。我们倾向于使用五折交叉验证而不是留一折交叉验证,但我认为最终结果差别不大。
但现在真正有趣的是,我们可以采用更现代的机器学习方法,今天我想介绍其中两种。第一种叫做图神经网络,它已经非常流行。有一个名为 Chemprop 的软件包,它基于 RDKit 的功能,其基本思想是构建一个模拟分子的图神经网络,然后在设置完成后预测结果。现在,我们已经在 Torch 深度学习插件中实现了这个功能。输入只需要一个 SMILES 字符串,然后提供输出即可。设置非常简单,虽然有时调整模型可能需要一些时间,我们也提供了一些调整选项。今天我们就不深入探讨了。
我们最新推出的、全新的模型,我想提一下,叫做 Transformer CNN,它使用了两种,可以说是两种最流行的神经网络、微型架构组件:Transformer 和神经网络,并将它们组合成一个模型。
在这里,我们再次使用经典的 BERT 模型,以 SMILES 字符串作为输入,来实现 Transformer 部分。然后,我们将模型的输出传递给一个一维卷积层,以及一系列一维卷积层。最终,我们能够略微改进论文中的结果。我不会赘述所有细节,但论文主要关注经典的 (Q)SAR 模型,而现在结合这些现代方法,我们可以进一步提升结果,而且所有这些都可以在 torch 插件中实现,无需像以前那样频繁地点击鼠标。这是一个示例输出,例如来自某个模型的输出。集成和其他操作也都非常简单。Florian,我对这个应用感到非常兴奋,我想我们仅凭这个使用 SMILES 字符串的例子就已经证明了我们的优势。
我觉得这听起来确实很棒,至少对我来说是这样。我是生物技术专家,大学里也没学过Scratch编程。所以这听起来有点像是你能做到,但实际上非常困难的事情。补充一下你刚才展示的,这些软件包是行业标准软件包,比如Python内置的,或者说是已被认可和使用的方法,现在可以通过这个友好的界面访问,完全不需要编写任何代码,就能像编写代码一样实现输出结果。我认为这很棒,尤其对我们来说。
更进一步来说,我认为 JMP 实际上为整个流程增添了一些神奇之处,因为我们始终秉持着将建模与图形紧密结合的理念,再加上像性能分析器这样的工具(我想您接下来会向我们展示),我们现在可以更深入地挖掘,不仅仅是拟合模型,而是真正地观察模型,然后进行预测或设想各种假设情景。这正是科学家和工程师们一直以来都在努力解决的问题。
你说得很有道理。我先简单分享一下我的屏幕,以及我对JMP未来发展重要性的看法。一方面,这些高级技术似乎是必备的,是必须掌握的技能;另一方面,它们的易用性也至关重要,尤其正如你所说,科学家和工程师们不仅关注纯粹的预测,他们还总是试图理解事物发生的原因。
尤其是在研发领域,以及生产环境中,了解事物之间的相互作用至关重要。JMP 的一个非常棒的功能就是它提供的特殊技术,例如我们在这里看到的“功能数据浏览器”,它允许我们查看复杂的输出,例如曲线。在这个例子中,我们有一个色谱图,这里的具体问题是:如何在不包含任何红色杂质的情况下,尽可能多地提取出绿色部分(即产品)?
这个平台不仅允许我们进行一些预测,还允许我们探索各种设置,调整流程中的各种因素,看看每项设置与预期结果的相关性有多大或多小。我们不仅可以将其与更偏向黑箱建模的方式结合起来,从而得到一个预测结果,告诉我们:“好的,只要这样运行,就能得到一个好的结果。”
我认为这只是一个方面,或者说是一端,但JMP也提供了非常强大的功能,正如大多数使用过JMP的人都知道的那样。例如,如果我们看一下这里的数据表,其中有很多批次,发酵批次,我们刚才看到我们可以查看这些曲线,研究它们,看看它们的形状是如何与输入因素相关的。但是,我们也可以将所有这些信息合并到一个批次指纹中,这在JMP中也很容易做到。
我这里有个小按钮。需要重新整理一下。这就是我要找的表格。你只需要对数据表做一些简单的转换,这在 JMP 里很容易做到,而且正如你所看到的,你还可以把所有这些操作都自动化。之后,你可以使用图表生成器,创建你的指纹图谱。我觉得刚才说得不太准确,然后你还可以给它着色,做成热力图。
现在您有了一个指纹图谱,乍一看它是所有批次的平均值,但您也可以为每个批次创建一个指纹图谱,这样就立即创建了一个指纹图谱,它专门突出显示了图像中每个批次的值。我的意思是,这取决于领域专家决定您要在其中包含哪些内容,但现在可以轻松访问这些信息,不仅可以让您获得概览,而且您还可以轻松地将其放回表格中,并将其与您的原始数据连接起来。
你也可以将它用于高端机器学习图像分类,例如预测产量或某些感兴趣的结果,我认为这使它成为一套非常强大的工具。你可以看到,从数据转换、可视化到创建图像预测器以及如何使用它们,整个过程是多么快捷方便。我想Russ,你还有另一个例子可以说明这一点。
这对JMP来说简直太棒了,因为所有这些新的可能性都涌现出来了。JMP本身就已经非常强大了,很多人都非常喜欢它。现在,我们不仅可以像之前展示的SMILES字符串预测那样进行操作,还可以将图片作为输入和数据,这为我们开启了一个全新的世界,让我们能够做更多的事情。就像你刚才展示的那样,例如,你可能不会想到,尤其是在JMP中,我们可以轻松地将多维或函数数据转换为图像。但一旦你做到了这一点,我们就进入了现代机器学习图像处理方法的领域,其中最经典的例子就是图像分类,你也可以在Torch插件中实现图像分类。思路就在这里。我有一个和你刚才展示的Florian类似的例子。事实上,这些图像都是我用Graph Builder创建的。
顺便一提,使用文件导入功能,可以直接将任何类型的图片导入 JMP,也可以导入多个文件。无论你的图像数据是已经拍摄好的(例如来自相机),还是你想通过调整或处理数值特征来自己生成的,都可以。最终,图片导入功能提供了一种非常直观、简洁的方式来捕捉大量细节数据,这些数据通常以时间轴(例如 X 轴)排列,你可以灵活地设置数据点,但通常这些数据的顺序也具有意义。至于插件方面,它非常简单,几乎比以前更容易,你只需要拍摄图片,将其作为输入,然后设置你想要计算的目标值即可。
比如说,在这种情况下,你可以使用质量评分之类的指标。你还可以使用多个指标,或者使用某种验证框架,这样可以避免过拟合。此外,该插件提供了一些非常便捷的选项,让你能够轻松调用这些经典的现代图像分类架构。你可以尝试几种不同的架构,快速比较不同的方法。同时,我们也在努力编写更多额外的选项,以帮助你更好地微调模型,例如调整输入图像的大小、进行一些数据增强等等。随着你深入学习,你可以开始尝试使用 dropout 和其他一些高级功能,从而创建一个真正针对特定应用场景进行定制的模型。该插件会为你考虑所有这些因素。
它还能充分利用现代硬件,通常是配备 NVIDIA GPU 的 Windows 电脑,或者如果您使用的是 Mac,通常需要配备最新的 M 系列芯片,因为这些计算会迅速变得非常繁重,尤其是在图像数量和大小都增加的情况下。拥有强大的计算能力至关重要。值得庆幸的是,如今这样的硬件价格相当实惠,有了它,您就可以大展身手,进行前所未有的预测和其他操作。我认为 JMP Pro 正处于一个激动人心的发展时期,我们已经拥有许多非常满意的客户。
我知道有些人已经基于自己的图像构建了模型,并且现在正用 Python 进行实际部署。我认为,就其能否发挥作用而言,我们已经证明了我们的观点,而且它实际上已经发挥了作用,我认为我们才刚刚起步。真是令人兴奋!
完全正确。感谢您分享这些精彩的例子。正如您所说,我们已经看到它发挥着重要作用。我再总结一下,我们一直以来都以科学家和工程师为目标群体,帮助他们更高效地利用日常工作中的数据,而这些人通常并没有这方面的专业背景。此外,他们往往工作繁忙,根本无暇从零开始学习编写机器学习模型之类的东西。
是的,要回答这个问题,JMP 拥有许多科学家和工程师已经习惯使用的所有工具集,而且我们现在拥有非常直观且完整的工具集,除此之外,我们还拥有今天我们看到的这些前沿方法。我认为,总而言之,JMP 将在人工智能和机器学习的未来发展中扮演重要角色。我想您也同意,对吗?
完全同意。不仅如此,我认为现在程序员和科学家之间存在着一个非常有趣的领域,在很多情况下,这种差距不容忽视,双方都能从中获益。如果我们能作为一种辅助工具参与其中,我们甚至可以在某些情况下突破界限。我知道在编写界面时,我们最好认真思考一些问题,例如最佳的默认设置是什么,以及最佳的组织方式是什么。我认为所有这些都有助于应对其中的复杂性,并帮助每个人更快地获得高质量的答案。
我完全同意。非常感谢你,Russ。我想我们今天的谈话就到此结束了,不过我们一直都乐意就这些话题进行更多讨论。
谢谢。
谢谢。再见。很好。