前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >气象研究人员开始机器学习项目前需要注意哪些问题

气象研究人员开始机器学习项目前需要注意哪些问题

作者头像
bugsuse
发布2022-09-23 13:45:17
3300
发布2022-09-23 13:45:17
举报
文章被收录于专栏:气象杂货铺

继上次对机器学习在参数化方面的讨论之后 前沿讨论|机器学习云参数化所面临的关键挑战,Stephan Rasp又提出了机器学习在气象应用方面的几点思考,经 Stephan 授权后特翻译为中文与大家一起分享。

以下是根据原文以及个人理解对推文的编译,内容有所删减。如有编译不当之处敬请指正。

人工智能(AI),尤其是深度学习,在计算机视觉、自然语言处理和游戏方面取得了激动人心的进展。在此情况下,思考AI是否能够解决我们所研究的领域面临的问题是合情合理的。然而,在AI被大肆宣传的背景下,我们需要记住:并不是所有问题都适合利用AI来解决

尽管AI的出版物在不断增加,事实上AI在天气和气候模式方面的应用大多仅停留在概念证明上。只要有足够的数据,深度神经网络几乎可以做任何事。这意味着,对于有足够数据的真实问题而言,是否AI能够比现有技术更好的解决对应的问题。如果概念证明的设置与实际情况相差甚远,那么我们可能无法从这些研究中得到任何有意义的结论。

在大多数情况下,我们并不清楚是否AI适合解决我们要解决的问题,唯一可以做的就是去尝试。然而,在开始之前,我们应该深入思考如何建立一个AI项目。Stephan Rasp根据自己的经历,提出了在开始建立AI项目之前需要问的五个问题和额外的两个问题

  • What exactly is the problem I am trying to solve?(我们要解决的究竟是什么问题?)
  • How exactly will I get my training data?(如何获取训练数据?)
  • How exactly will I verify my results?(如何验证模型结果?)
  • Am I still solving a real problem?(我在解决一个真实问题吗?)
  • Is the project feasible within my constraints?(在我的能力范围内项目是否可行?)

额外的两个问题

  • (Hybrid modeling) Am I testing the skill that matters?(我测试的是真正重要的技能吗?)
  • (Explainable/interpretable AI) How will I use the output?(我应该如何利用模型输出?)

五个需思考的问题

What exactly is the problem I am trying to solve?

乍看之下此问题可能是比较无聊的,但是问题的提出通常和机器学习一样重要,甚至更加重要。因此,第一步应该尽可能详细的确定机器学习模型所需要的输入和输出。这有助于帮助我们明确真正的问题是什么以及还有什么问题没有解决。

在此阶段,进行大量的文献调研,发现和当前问题最相似的研究。如果已经有很多类似的研究,那么需要明确我们的研究究竟有什么特别之处,是否比当前已有研究更有意义。起初就详细的定义问题对于后续的疑问也是至关重要的。

How exactly will I get my training data?

在许多情况下,准备数据需要大量的时间。因此,在接触数据之前,认真思考此问题是非常重要的。以下是需要明确的一些问题:

  • 从哪里过去所需要的数据?需要自己创建数据集吗?涉及到哪些内容?如果数据已经有了,如何才能获取这些数据?需要获取授权吗?如果需要创建自己的数据集(通常是机器学习参数化研究),需要保存哪些输出?
  • 下载/创建数据集需要多长时间?这通常需要很长时间。对于一些天气数据,比如ERA5,下载需要花费很长时间。我可以下载一些测试数据得到评估值吗?如果数据下载需要数周或数月,最好尽早开始。
  • 需要什么预处理操作?比如 regridding 或 合并数据集。有相关工具可用吗?还是需要自己写?
  • 需要多少磁盘空间存储这些数据?
  • 最后也是最重要的,训练需要多少样本?我们是否有足够的样本训练比线性回归更复杂的模型?我们很难确定究竟多少样本就足够了,但是对于深度学习而言,至少数千甚至更多的样本。当然,这取决于数据的相关性及任务的难度。实际需要的样本量可能更多。

How exactly will I verify my results?

对于AI研究而言,基准是非常关键的。没有好的基准和AI结果进行对比,很难判断训练算法的质量。在需要情况下,AI方法通常用来替代传统算法。如果是这样的话,就必须用最先进的算法作为基准。进一步来说,评估指标应该反应了所研究领域的标准。此外,应该也包括一些简单的机器学习算法,比如先行回归或随机森林作为对比。事实上,有时可能会发现所要处理的问题可能不需要复杂的神经网络。

需要AI研究旨在加速模拟。为此通常利用高分辨率模拟训练模型。在此问题中应该包括最先进的低分辨率模拟作为基准。

最后,最重要的是要思考如何划分训练/验证/测试集。我们如何确保验证集是统计显著的(即有足够的样本)且公平的(不会出现数据泄漏)。保留数据用于验证和测试相应的会减少训练集的样本量。

Am I still solving a real problem?

看完前面三个问题之后,原来的问题很可能会发生变化。通常,由于数据量或获取数据等问题,需要对问题进行简化。但是需要注意,在对问题进行简化之后,是否仍然是一个潜在的有意义的真实问题?是对真实问题已经有了清晰的思路,还是和真实的问题根本不同?

一种常见的简化是使用玩具模型(toy model)。典型的例子是机器学习参数化研究。完整的天气和气候模式是非常复杂的,在我们还无法确定此防范是否有效时,利用复杂的天气和气候模式研究此问题可能是没有意义的,也很难理解。因此,简化问题是非常有用的,比如使用不包含大陆的模型减少物理参数量并降低模型分辨率。如果对于简化问题有方法表现很好,那么就有非常明确的思路通过逐渐增加复杂度来构建真实的气候模式。

然而,也有一些玩具模型过于简单。比如,通常参数化研究所使用的 Lorenz96 动力系统模型。这对于起初测试算法而言可能是有用的,但是此模型和真实问题相差甚远,对于真实气候模型建模而言很难有帮助。即使利用此玩具模型得到了较好的结果也很难应用到真实的气候建模。

另一种常见的方式是利用低分辨率或人造数据。需要强调的是,这种方式是有意义的,因为使用完整分辨率、完整复杂度的数据通常在计算上是非常昂贵的,且非常耗时。然而,如上所述,应用机器学习的关键通常不是机器学习能否从理论上解决特定的问题(大多数情况下是可以的),而是是否有足够的训练数据可用。这并不意味着不能使用“更简单”的数据,而要反映的是最终的目标应用。当只有数百样本的真实数据时,可能利用在数百万的人造样本表现很好的算法是比较好的。类似的,高分辨率数据可能需要更复杂的网络结构,因此可能需要更多的样本。

最重要的是要记住:从所选择的问题到真实问题,我们应该有清晰的思路。如果我要针对我的问题构建好的算法,应用到完全复杂度前下一步需要做什么呢?如果思路不够清晰,可能需要重新思考前面三个问题。

Is the project feasible within my constraints?

最后,我们需要意识到机器学习项目通常需要大量的软件和数据工程。从科学角度而言,这些是无趣的,在很多论文中只有很少的篇幅提及。然而,这些可能花费了绝大多数的时间。在学界,很多AI项目通常由博士或博后开展,他们当中大多数人在软件工程和处理大量数据方面几乎没有经验。这可能在博士生前面两年花费大量的时间和数据问题进行斗争,甚至可能一度变的沮丧。因此,在开始项目之前,思考上述问题是非常重要的。从PI的角度来说,将技术X应用到问题Y可能听起来非常简单直接,但是其中可能存在很多问题。如果需要大量的软件和数据工程,确保团队中由成员可以完成此工作是非常重要的。

通常,建立一个机器学习项目需要在问题简化方面达到平衡,既要简化问题以确保技术上可行,但又不能过于简化与实际问题相差甚远。在某些情况下,对于传统学界而言,如果无法简化问题,那么可能就只能通过大项目来解决,比如 Vulcan 气候模式组、气候模式联盟或者Google等工业实验室等,这些机构有足够的资源来处理项目的工程问题。

额外问题

学界的大多数AI应用都应该考虑上述五个问题。下面两个问题是特定应用领域需要关心的。第一个是混合机器学习和物理模型,第二个是构建interpreable 和 explainable AI。

interpretable 指的是机器学习模型本身是可解释的,而 expaliable 指的是利用相关的技术方法解释机器学习模型。(此为译注)

(Hybrid modeling) Am I testing the skill that matters?

目前,使用机器学习改善或加速物理模拟是一个很有前景的研究领域。通常,这涉及到利用快速的机器学习模拟器替代模拟中计算耗时的模块或者学习低分辨率模拟的校正项。在大多数情况下,这些研究的第一步是使用一些基准模拟构建训练集,然后训练机器学习算法。通常下一步是利用验证集评估机器学习模型。然而,对于混合机器学习-物理模型而言,这种离线评估是不行的。最后一步是,将训练的模型嵌入到整体的模拟中在线运行。大量证据表明,对于在线技能而言,离线技能是不可靠的指标,因此对于有意义的研究而言,最后一步是至关重要的。然而,最后一步非常具有挑战性且耗时,尤其是当目标模拟是利用Fortran所写的天气和气候模式。这是在评估项目时需要考虑的另一个问题。

(Explainable/Interpretable AI) How will I use the output?

Explainable 或 Interpretable AI (通常是无监督学习的一部分)旨在利用机器学习算法学习模拟过程的新东西,并对机器学习“思考”进行检查。典型的例子是显著图(saliency maps),主要用来显示预测时神经网络所关注的区域。以下两个问题是我感到困惑的:

第一点,我们通常使用我们的物理理解解释这些 expalinable AI方法的输出结果。如果是这样的话,我们真的学到新东西了吗?我所使用的方法能提供足够的证据形成新的假设吗?

第二点,于我而言,我不清楚发现了一个新的模式(pattern)之后下一步应该做什么。在后续的研究中,我应该如何利用它呢?我认为这里应该设计一种假想的新模式,并思考如何对后续的研究有所帮助。否则,我们可能只是在寻找随机模式,而不知道如何进一步处理。

最后

上述问题是基于本人过去的研究经历以及过去几年对其它项目的观察总结的结果。AI在科学界取得了很多激动人心的进展,但也有一些灌水文章并没有提供多大价值。当然,并不是每一项研究都能取得重大突破,但是如果设计得当,即使最后的结果是AI方法可能并不适用于此问题,那么此项目也算是得到一定的启发。尤其是在目前AI相关研究资金不断增加的情况下,PI在为博士生设计AI项目时应该深思熟虑,避免让这些博士生踏上一条落(不)空(归)之旅。

精选评论

业内相关从业者也都发表了一些相关的看法,以下内容对其中的评论进行了凝练:

braaannigan: 针对 explainable AI,可解释方法对于强调一些关键特征和区域是很重要的。可解释性方法对于构建模型、解释模型的结果、检查模型的合理性都非常关键。 相比于训练和验证模型而言,模型部署也是非常重要的,通常比训练和验证阶段还要多的工作量。

David John Gagne: 就领域科学家如何帮助AI合作者,增加成功的机会提出几点看法:

  • 此过程需要多次迭代,而且可能会出现 bug 或忽略了一些重要细节需要稍后修正
  • 与AI工作者分享你的“非AI”代码,并尽可能记录下来。了解数据是如何进行处理的以及当前的SOTA方法是如何工作的,帮助AI工作者解释一些重要的细节
  • 预先确定性能目标以及相关的业务考量。开发一个满足所有预期的系统,但因为预测看起来并不是很好而被拒绝可能是非常令人沮丧的;
  • 要有良好的预期。你的学生或小的AI团队所开发的AI模型可能并不能战胜由大量的专家开发了20多年的天气模式。

Marcus vL-W: 为实现这一目标,我们可以认为科学的一个基本(如果是非正式的)支柱是简明。在给定数据及其不确定性的情况下,AI可以屈从于创建最简洁的模型的问题? Rasp 指出此问题主要是 explainable AI的问题,即从机器学习中学习,但是这些大多数是否我们并不能直接使用这些方法的结果。

Jordi Bolibar: SINDy + 偏微分方程混合神经网络是非常有意思的方法。它可以实现领域知识和从数据中学习与方程发现之间的权衡。但这都是最近的事,所以它的真正潜力仍然未知。

以上内容根据原文还有笔者理解进行编译,时间仓促,难免有所瑕疵,感兴趣的可以去阅读原文。

—END—

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气象汇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 五个需思考的问题
    • What exactly is the problem I am trying to solve?
      • How exactly will I get my training data?
        • How exactly will I verify my results?
          • Am I still solving a real problem?
            • Is the project feasible within my constraints?
            • 额外问题
              • (Hybrid modeling) Am I testing the skill that matters?
                • (Explainable/Interpretable AI) How will I use the output?
                • 最后
                • 精选评论
                相关产品与服务
                NLP 服务
                NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档