科研大牛用5个问题教你如何从零开展跟AI交叉的科学研究

 原文由Stephan Rasp所著。
 我在个人理解的基础上,整理如下。

有一句说法:“如果你手上只有一把锤子,那么任何问题看起来都像是一颗钉子。” 当然,这句话的意思是,尽管锤子是一个很好的钉子敲打工具,但并不是每个问题都是钉子。我认为我们目前在科学中应用机器学习或人工智能时正面临这样的“锤子与钉子”的情况。特别是深度学习,已经在计算机视觉、自然语言处理和游戏对弈等领域取得了惊人的成果。因此,作为科学家,合理地问自己是否AI也能帮助我们解决正在研究的问题是很自然的。然而,在这种如今这种疯狂炒作的背景下,我们必须要清楚地知道,并不是每个问题都适合采用机器学习的方法。(注意:我的专业是天气和气候研究,因此我将重点关注这个领域,但我所提到的许多观点也适用于其他科学领域。)

在这里插入图片描述

尽管现在AI相关的论文数量不断增加,但在天气和气候模拟的相关技术方面实现了实质性突破的研究数量却很少,大多数论文只是提出了一个概念验证。这本身并不是个问题,因为从理论上来说,只要有足够的数据支持,深度神经网络基本上可以做任何事情。这也就意味着,决定了AI是否能比现有技术更好地解决实际问题的关键在于,真实的情景中是否有足够的数据可以用来训练。所以一旦概念验证相关研究的设置与真实世界问题相差太远的话,我们往往很难从这些研究中得出任何有用的结论。

在大多数情况下,一开始并不清楚一个问题是否适合采用人工智能的方法,因此唯一的方法是尝试。然而,在开始进行人工智能项目之前,深思熟虑如何设置项目非常重要,因为这往往是一个漫长和令人沮丧的旅程。我自己在探索的路途中走过很多弯路,也见过/做过很多AI的项目,其中有成功的,也有不成功的。基于此,我总结了一些经验,分享给大家。以下是我认为在科学领域开展人工智能相关的项目前需要提出的五个问题(加上两个额外问题)。

1、我究竟要解决什么问题?

2、我将如何获得我的训练数据?

3、我将如何验证我的结果?

4、我是否仍在解决一个现实问题?

5、我是否具备实现这个研究的能力?

额外问题:

(混合建模)我测试的方法是否恰当?

(可解释人工智能)我将如何使用输出?

1. 我研究的问题准确来说是什么?

这个问题听起来似乎微不足道,但重点是“准确”。在我看来,问题设置通常与机器学习本身同等重要或更重要。因此,第一项任务是尽可能详细地写下ML算法的输入和输出。这通常有助于我们理清实际问题是什么以及哪里还有模糊不清的问题。在这个阶段进行彻底的文献调研,找到与手头问题最相似的研究,也是非常有用的。如果已经有许多研究已经朝着类似的方向发展,那么有必要问问自己,我的研究有何不同,以及在现有研究/数据集的基础上进行构建是否更有意义。从一开始就详细思考问题的设置,对于下一个问题而言也至关重要。

2、我将如何获得我的训练数据?

在许多情况下,准备数据将消耗大量的时间。出于这个原因,在实际下载、处理数据之前仔细考虑这个步骤是非常重要的。下面是一些要问的子问题:

1)我将从哪里获取数据?我需要自己创造它吗?这会涉及到什么?如果数据已经在某个地方可用,我将如何获得它?我需要获得权限/许可吗?如果我需要自己创建数据(通常是ML参数化研究中的情况),我需要保存哪些输出?

2)下载/创建所有数据需要多长时间?这通常需要很长的时间。对于一些天气数据(例如ERA5),在下载队列中等待需要花费大部分时间。我可以尝试下载一些测试数据来先估计大概时间吗?如果数据下载需要几周或几个月的时间,最好尽早开始。

3)我需要做哪些预处理步骤(例如拼接数据、转换分辨率)?有现成可用的工具吗?还是我需要自己写?

4)我需要多少磁盘空间,处理后的数据将存储在哪里?

5)最后,也是非常重要的一点,我将有多少样本用于培训?我会有足够的样本来训练比线性回归更复杂的问题吗?我现在很难给出多少样本就足够了,但一千个或更多似乎是想用深度学习方法的最低要求。当然,这取决于数据的相关性和任务的难度。实际数字可能要比这高得多。

3. 我将如何验证我的结果?

拥有一个基准线是开展有意义的人工智能研究的关键。如果没有好的基准线来比较人工智能的结果,通常是很难判断训练算法的效果如何。在许多情况下,我们训练人工智能方法来取代传统算法。如果是这种情况的话,则必须将最先进的传统算法作为基准线。此外,评估指标应当能反映所研究领域的标准水平。如果可能的话,还应该包括一个简单的ML算法(如线性回归或随机森林)来作为比较,这也是很重要的。许多事实证明,如果要解决的问题实际上很简单,那么就不需要复杂的神经网络。

如今许多人工智能研究旨在加快模拟速度。为此,他们经常会利用高分辨率模拟结果进行训练,这样训练成本非常之大。在这个问题设置中,我认为同样必须将最先进的低分辨率模拟结果作为基准线纳入考虑。

最后,重要的是要考虑训练/验证(/测试)数据集的划分。我如何确保我的验证具有统计意义(足够的数据)和公平性(没有不合理的比较)。留出数据用于验证和测试当然也会减少用于训练的数据量,这点需要考虑到。

4. 我是否还在解决一个现实问题?

在你回答了前三个问题之后,你想要研究的原始问题基本上或多或少都有些改变。在许多情况下,由于现实因素(如数据量或获取途径等),我们研究的问题可能需要进行简化。这是可以接受的,但重要的是要问自己,在将问题进行简化之后,这样的问题是否仍然贴近“现实”问题。也就是说,是否存在一条清晰的道路能从简化后的问题继续研究从而走向现实问题,还是说着已经脱离了现实问题成为另外一个问题了呢?

一个常见的简化是使用理想模型。ML参数化研究就是一个经典案例。完整复杂的天气和气候模型非常复杂,因此当我们尚不确定方法是否有效时,使用它们实际上并没有太多意义。故而,通过简化问题是非常有用的,例如使用一个水行星模型(无大陆),减少物理参数的数量(没有云水或云冰),以及使用较低的分辨率运行。如果一种方法在这个简化的问题上表现得非常好,那么就有了一条清晰的路径,可以逐步向真实的气候建模前进,逐步添加物理化学过程。然而,在有些情况下,理想模型可能过于简单。一个常见的例子是在参数化研究中使用Lorenz '96动力系统模型。虽然这可能是一个有趣的算法测试,但这个理想模型与现实问题相去甚远,很难对真实的气候建模得出任何有意义的结论。在这种情况下,通向现实问题的路径是不明确的。

另一个常见情况是使用低分辨率或合成数据。虽然前面我们提过在应用ML算法时关键的问题,通常不在于ML算法在理论上是否能够解决特定问题(在大多数情况下,它是可以的),而是在现实世界中是否有足够的训练数据可用。但这并不意味着我们不能使用这种相对容易获得的数据,只要我们设置的问题能反映最终模型应用的情况并贴近现实,这类数据也是可以使用的。当现实数据只有数百个时,拥有一个在数百万个合成样本上表现良好的算法可能是件好事。同样地,更高分辨率的模型可能需要更复杂的网络,因此也需要更多的样本。无论如何,最终的模型是需要在实际应用中检验的。

总之,我们需要牢记的重要概念是,从所选择的问题设置到现实问题之间应该有一条清晰的路径。如果我成功在我的当前的设置上构建了一个好的算法,那么朝着完整复杂性的现实世界,我的下一步研究是什么?如果这个路径不明确,那也许是时候重新回到问题1-3了进行更深入的思考。

5、我是否具备实现这个研究的能力?

最后,重要的是我们要意识到,开展机器学习相关的研究项目通常需要大量的软件和数据工程背景。从科学的角度来看,这些方面可能不够引人注目,在大多数论文中可能只会被简单地提及一两段。然而,你的大部分时间和挫折可能就来源于此。在学术界,许多人工智能相关的研究项目都由单个博士生或博士后执行,其中许多人在软件工程和处理大数据方面经验有限。这经常会让人痛不欲生,例如一个博士生在他们的项目中花费一两年的时间来解决数据问题。这使得在让学生踏上这段可能令人泄气的旅程之前,更加谨慎地回答前面三个问题。从项目负责人的角度来看,将技术X应用于问题Y可能听起来像一个直接的项目,但雷可能就隐藏在数据处理的相关细节中。如果需要大量的软件和数据工程工作,那就需要确保团队中有足够的经验和技术支持来解决这样的任务,这十分重要。

通常,建立一个机器学习研究的相关项目需要在简化问题使其在技术上可行的同时,又不能太过简化而失去与现实问题相关性之间取得平衡。在一些情况下,在传统学术界认为简化问题根本不可能。这就是更大型的项目介入的地方,比如Vulcan气候建模组、气候建模联盟或者谷歌等行业实验室,那里有足够的资源专门用于项目的工程方面。

Bonus questions

以上五个问题应该适用于科学领域的大多数人工智能应用。下面是另外两个涉及特定应用领域的问题,第一个是混合机器学习的物理模型,第二个是可解释的人工智能。

(Hybrid modeling) 我测试的方法是否恰当

现在一个非常有前景的研究领域是使用ML来改进或加快物理过程的模拟。通常,这涉及到用快速的ML模拟器代替模式模拟中的计算瓶颈,或者学习较低分辨率模拟的校正项。在许多情况下,这些研究的第一步是使用一些参考模拟建立训练数据集,然后训练机器学习算法。通常,下一步是在保留验证数据集上评估ML模型。然而,对于混合ML物理模型,这种“离线”评估是不够的。关键的最后一步是将经过训练的模型重新耦合到模式中并“在线”运行。大量证据表明,离线评估的结论不是在线模拟效果的可靠指标,因此最后一步对于有意义的研究至关重要。不幸的是,这一步骤往往非常具有挑战性和非常耗时,尤其是当目标模拟是用Fortran编写的天气或气候模型时,这是在估计与项目相关的工作量时需要考虑的另一个方面。

(Explainable/Interpretable AI) 我将如何使用我的输出

可解释的人工智能(这也适用于无监督学习的部分)旨在利用机器学习算法来对模拟过程进行新的学习,并对机器学习的“思维”进行合理性检查。经典案例包括显示神经网络在进行预测时专注于哪些区域的显著性图。虽然我在这个领域并非专家,但我经常思考以下两个问题。

首先,我们通常使用物理理解来解释这些可解释人工智能方法的输出。如果是这种情况,我们真的会学到一些新东西吗?我所使用的方法能否为我提供足够的证据来形成新的假设?

其次,如果形成了新的假设,下一步将要做什么?我将如何在我接下来的研究中使用这些结果?我认为,在这里,假定这个新的假设存在并思考这将如何有助于后续研究可能会有所帮助。否则,我们可能只是在随机探索,而不知道如何运用它们,无法形成一个系统的研究方向。

最后

我上述所提出的问题是基于我在过去几年中在自己的学习和了解的其他项目中所看到的。在科学领域的AI方面目前已经取得了许多令人兴奋的进展,但也存在很多没有真正推动该领域发展的灌水文章。当然,并不是每个研究都能成为重大突破,但如果设计得好,即使结果是该研究问题并不适合使用我们的AI方法,项目也可以具有启发性。尤其是随着投入到AI研究中的资金迅速增加,我希望负责人们在为他们的博士生设计AI项目时要非常用心,以避免让他们经历沮丧的旅程。

参考: https://raspstephan.github.io/blog/hammer-and-nail

往期文章推荐

科研大牛们如何读文献

Python+AI+气象+模式大合集

添加小编微信进入交流群

  • 17
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自学气象人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值