最近,华为和Google都推出了AI的天气预报系统(发表了nature、science论文,但是没开放公众使用),可以说这个传统的Science问题已经被AI算法解决,这也说明了传统Science问题是可能被AI解决的,这也证明了AI4Science是具备可行性的。


传统的Science问题如果用一个简单的话来进行解释,那就是一个复杂的方程组,可能是高幂次计算的,也可能是偏微分的,总之,是一个极为复杂的方程组,并且其变量元素数量极为庞大(比如,500个输入变量,甚至是1000个输入变量的高纬度的方程组),而天气预报则是这个类型中的一个经典问题。

使用Science方法来求解天气预报问题就是用大规模的计算机(高性能计算,HPC)来对该问题进行求解,求解这个高纬度的复杂方程组,而AI4Science的方法来解决这个问题则是根据历史中的各个地方的天气情况的数值进行AI预测的训练,比如说之前使用Science方法计算5日后的北京天气情况需要利用北京及其周边地区的前三日的天气情况的数值(气压、温度、气旋等等,可能是1000个变量的数值),然后用这个Science的方程组(物理学、地球学、地理学、气象学等多学科给出的方程组,带有约束的方程组)来进行求解,而AI方法则是根据已知过去几十年时间内世界各地的天气数值,然后拟合出这么一个函数,只要输入某地区的周边的一定时间的天气情况的数值就可以推断出几天后该地区的天气情况。

可以说,Science方法的计算就是用仿真方程组来进行计算,天气预报、地震预报、空气动力学计算、流体力学的计算、nuclear weapon的爆炸方程式的计算等等,这些科学问题都是用这种计算方程组的方式来进行求解的。由于利用这种方程组求解往往需要耗费大量的算力的,也是为啥各个国家都大力的投资搞高性能计算,如,我国的天河超算、银河超算、太湖超算,等等,但是由于这种方式的计算代价太大,因此在真实的计算中往往会适当的采取近似的方法来进行计算,因此往往导致计算的精度下降,这也是为什么天气预报总是好像不太准确的。但是这些Science问题的方程组都是固定,不同的是这些方程组的输入变量的数值是不同的,那么这是不是也是可以用神经网络来进行拟合呢,这也是现在的AI4Science的解决思路。

那么这里的问题是强化学习算法是否也可以同样使用AI4Science的方法来解决呢?

比如,我们可以获得足够的电力驱动的6轴机械臂的控制数据,我们把这个数据作为一个拟合函数的输入值,然后获得该机器臂的动力学特性的一种中间表示,然后在根据这个中间表示获得到该条件下这个机器臂的最优控制策略,那么是不是就实现了强化学习问题的AI4Science呢。

但是,这里的对强化学习的这种思考其实和前面提到的science问题的AI4Science是不同的,因为前面提到的science问题的AI4Sience问题的解决方法难点在神经网络的具体结构的设计上,其逻辑性理解起来还是比较易懂的,而对于强化学习来说这或许就没有这么简单了。强化学习最终的学习目标是获得一个state和action的映射关系,这里假设一个机器人的状态维度为100,而动作维度为30,因此,我们的最终学习目标就是一个输入维度为100,而输出维度为30的一个映射函数。考虑到AI4Science的可行性,这里我们需要对一个机器臂的所有的数值进行AI4Science的处理,这里的一个前提就是一个机器臂的物理控制特性是固定的,也就是说一个机械臂的行为表现是由其电机的动力数值、机械臂质量、扭矩、转角等等物理数值限制的,也或者说根据物理公式,我们在知道一个机器臂的质量、支点位置、自由度数量等参数后,再给定具体的电机的转角等等信息,我们是可以根据公式计算出机器臂的下一步的具体位置状态的。在现有的强化学习的构架下,我们是不需要知道机器臂的具体特性的,我们只需要知道不同的机械臂的具体状态下(机械臂的位置信息等等)下一步的电机驱动的情况(电机转角等100个维度信息)应该是怎么样的。

由于机器臂的最优控制策略是可以利用公式计算出来的,而不同型号的机器臂,不同的具体参数的机器臂,我们往往都需要重新计算并得到其最优的控制策略。如果我们可以把机器臂的所有参数,所有可以影响到机器臂性能的硬件参数,输入给神经网络,训练出对某种情况下的机械臂的动力学的表示,比如,把机器臂的各个电机的动力值、阻力值、机械臂的质量和重心等等,从而得到某种对该类型机械臂的动力学的一种表示,而后获得一个新型号的机器臂,我们都可以利用之前训练的神经网络来获得该类型机械臂的东西学的潜在表示,并快速可以计算出该机械臂的最优的控制策略。

假设我们有10000个型号的机器臂机器人,不同型号之间的机械臂的动力参数,阻力参数,机器臂的重心和质量都都是不同的,但是这10000个不同型号的机器臂的运动都是遵守基本的物理学公式的,那么我们可以不可以对这些机器臂的运动数据进行建模,不是用数学公式建模,而是用神经网络来进行建模呢。比如我们通过对这10000个机器臂的运动数据建立成一个运动大模型,每个机器臂的数据也包括重量、质量、阻尼,等等,当我们获得到这个机器臂的运动大模型之后我们就相当于获得了一个可以快速学习的强化学习环境模型,这时候我们如果有了一个新的型号的机器臂,我们根据这新的型号的机械臂的具体参数和实际的运动数据来微调这个运动大模型,那么我们是不是可以快速的获得到一个适配于这个新的机械臂的运动大模型呢,这时候我们有了这个新型号机器臂的运动模型也就意味着我们有了这个机器臂的强化学习的环境模型了,那么我可以利用这个模型快速的训练属于这个机械臂的强化学习模型,这里我们可以暂且把这种算法叫做元模型学习算法。

强化学习是否可以AI4Science呢?的更多相关文章

  1. 【整理】强化学习与MDP

    [入门,来自wiki] 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的 ...

  2. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  3. (译) 强化学习 第一部分:Q-Learning 以及相关探索

    (译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...

  4. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  5. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

  6. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  7. 强化学习之Q-learning ^_^

    许久没有更新重新拾起,献于小白 这次介绍的是强化学习 Q-learning,Q-learning也是离线学习的一种 关于Q-learning的算法详情看 传送门 下文中我们会用openai gym来做 ...

  8. 强化学习 - Q-learning Sarsa 和 DQN 的理解

    本文用于基本入门理解. 强化学习的基本理论 : R, S, A 这些就不说了. 先设想两个场景:  一. 1个 5x5 的 格子图, 里面有一个目标点,  2个死亡点二. 一个迷宫,   一个出发点, ...

  9. TensorLayer官方中文文档1.7.4:API – 强化学习

    API - 强化学习¶ 强化学习(增强学习)相关函数. discount_episode_rewards([rewards, gamma, mode]) Take 1D float array of ...

  10. 强化学习(十九) AlphaGo Zero强化学习原理

    在强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)中,我们讨论了MCTS的原理和在棋类中的基本应用.这里我们在前一节MCTS的基础上,讨论下DeepMind的AlphaGo Zero强化学 ...

随机推荐

  1. k8s搭建安装 Harbor 私有镜像仓库(本地仓库,内网仓库)

    主要参考 https://www.cnblogs.com/wangzy-Zj/p/14011228.html 额外: 1.如果 harbor.yml中的域名和openssl 生成的不一致,你改了hos ...

  2. Future集合会等线程池执行完才开始遍历吗?

    先说结论:Future集合并不是等线程池执行完才开始遍历,而是线程池内的线程执行完一条Future集合就立即遍历一条 在使用线程池的业务场景下,我们经常需要获取线程执行的返回值,此时我们需要Calla ...

  3. 增补博客 第七篇 python 比较不同Python图形处理库或图像处理库的异同点

    OpenCV.Pillow 和 scikit image OpenCV(OpenCV 是一个强大的计算机视觉库,它提供了各种图像处理和计算机视觉算法的实现,可以处理各种图像和视频数据. 异同点 跨平台 ...

  4. Markdown常用语法详解

    背景知识 什么是html html是一种网页标记语言.我们平常见到的那么好看的网页就是通过html语言来编写的. html语言举例: <h1>hello world</h1> ...

  5. yolov1-yolov5 网络结构&正负样本筛选&损失计算

    学习yolo系列,最重要的,最核心的就是网络模型.正负样本匹配.损失函数等三个方面.本篇汇总了yolov1-yolov5等5个版本的相关知识点,主要看点是在yolo框架搭建.初学者可以通过相关篇章搭建 ...

  6. 记录EF 排序配上自定义的比较器

    记录EF 排序配上自定义的比较器 前言 要求页面文件显示的时候能够按照序号去排序要求如下: 数据库有一个列存放文件名,如: 1.1文件 1.2文件 1.1.1文件 1.1.11文件1.0.txt 1. ...

  7. I2S 总线学习:1-有关概念

    背景 I2S总线 是一种常见的总线,也是需要掌握的. 概念 I2S(Inter-IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准, ...

  8. Linux 应用案例开发手册——基于Zynq-7010/20工业开发板

    目 录 1 开发案例说明 4 2 Linux 常用开发案例 4 2.1 tl_led_flash 案例 4 2.2 tl_key_test 案例 7 2.3 tl_can_echo 案例 11 2.4 ...

  9. mysql判断两个字符串(以逗号分隔)是否存在交集

    转载:https://blog.csdn.net/username666/article/details/107815331?utm_medium=distribute.pc_relevant.non ...

  10. 复习-jQuery

    咱就是说,发现了一个更好的方法每次把效果图制作成了一个gif,另外推荐个免费软件GIFcam很方便制作gif图,毕竟js是一门动态交互的语言对吧,没有动态的图那就是没有灵魂的所以以后就用这种方式来上传 ...