机器人控制与图网络( 利用关系归纳偏置改善泛化和控制)—— Robotic Control with Graph Networks——Exploiting relational inductive bias to improve generalization and control
英文原文:
https://towardsdatascience.com/robotic-control-with-graph-networks-f1b8d22b8c86


强化学习算法是不是另一种形式的AI4Science?
强化学习是一种时序决策算法,比较经典的应用场景就是机器人控制,但是实际上机器人控制是有两种主流的控制算法的:一类是把机器人控制问题看作是自动控制问题,结合物理规则进行数学建模,这时候的机器人控制问题就被转换为一种类似Scince问题的形式,对机器人下个时序的决策就是在根据建立好的数学模型进行方程式的求解,该种方式最大的优势就是可以获得较为精确的解,但其缺点就是计算复杂并且难以自动化建模,从而难以有较好的适用范围,需要较大的人力投入和较长的周期,对于复杂场景难以应付;另一类则是使用AI方法,也就是机器学习方法中的强化学习算法,这时候不需要对机器人的动力学(dynamic)进行建模,而是采用trial-and-error 的方法通过对环境的不断交互来采集数据并用这些数据训练强化学习算法,该种方法的优点就是不需要人力去对机器人的动力学建模,自动化求解程度高,适用的场景更广,可以解决更复杂的问题,求解周期更短,其缺点就是依赖数据,往往需要较大的数据量,并且有sim2real的问题,并且在real的时候难免要用到真实机器人进行较长时间的真实场景下的数据采样,对真实机器人造成一定损害甚至是损坏,并且求解的往往是近似解,在简单场景下往往自动控制算法的解要优于强化学习算法。
可以看到,如果单纯的只从机器人控制问题出发按照传统自动控制的角度来看,机器人控制其实也可以被视作一种Science问题,而强化学习算法也是在一定程度上起到了对自动控制算法的替代,在如此问题背景的限制下强化学习算法也可以被看做是一种AI4Science算法。
本文主要的讨论是:
https://towardsdatascience.com/robotic-control-with-graph-networks-f1b8d22b8c86
这篇blog中最开始讨论强化学习算法是一种融合进环境动力学(dynamic)的决策方法,解决机器人控制的深度强化学习算法可以看作是一种显示/隐式的拟合环境动力学(dynamic)后的决策算法,而深度强化学习算法所使用的神经网络可以看作是对这个动力学(dynamic)的近似器(approximator)。
既然深度强化学习算法可以被看作是一种基于动力学(dynamic)近似器(approximator),那么就必然存在使用那个类型的神经网络作为近似器(approximator)可以有更好的性能表现(performance)。
由于不同的模型,不同类型的神经网络有着不同bias,因此不同的神经网络对不同的问题有着不同的表现能力,比如:线性分类问题如果使用非线性模型进行拟合是没有使用线性模型拟合的性能表现好的;对于图像分类问题,使用全连接网络是没有使用CNN网络性能表现好的;正如同这些cases一样,对于机器人控制问题如果使用深度强化学习算法的话,使用图神经网络可以提高算法的performance。
给出一个机器人控制的示意图:

可以看到,在关节型的机器人控制问题上,图网络可以更好的表现机器人关节间的拓扑关系,并且由于图网络更关注的是关节点之间的拓扑关系而不是关节点之间的距离关系,因此机器人的躯干和四肢的长短并不会影响图网络的拓扑关系,因而使用图网络来对关节型机器人的深度强化学习算法做拟合会有更好的泛化性,取得更高的performance。
PS. 要注意,这里之所以可以使用图网络来作为强化学习算法的拟合函数,其原因在于关节型机器人的各关节之间的拓扑关系具有不变性。可以说,用图网络提高机器人控制算法性能是用于在关节型的机器人中的,如果是非关节型的机器人那么也很难适用这里提到的图神经网络的。
相关论文:
Relational inductive biases, deep learning, and graph networks
Graph Networks as Learnable Physics Engines for Inference and Control
机器人控制与图网络( 利用关系归纳偏置改善泛化和控制)—— Robotic Control with Graph Networks——Exploiting relational inductive bias to improve generalization and control的更多相关文章
- UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Compositi ...
- [UML][转]UML类图符号 各种关系说明以及举例
修改自:http://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html UML中描述类和类之间相互关系的方式包括:依赖(Dependency ...
- [转发]UML类图符号 各种关系说明以及举例
UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalizati ...
- UML类图符号 各种关系说明以及举例(转载)
文章出处:http://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html UML中描述对象和类之间相互关系的方式包括:依赖(Dependen ...
- 对Inductive Bias(归纳偏置)的理解
参考资料: https://en.wikipedia.org/wiki/Inductive_bias http://blog.sina.com.cn/s/blog_616684a90100emkd.h ...
- 设计模式之UML类图的常见关系
设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association), ...
- 转 UML类图几种关系的总结
UML类图几种关系的总结 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregati ...
- UML类图几种关系的总结(转)
原文:http://gjhappyyy.iteye.com/blog/1422515 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), ...
- UML类图的常见关系1
设计模式之UML类图的常见关系(一) 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggre ...
- UML类图几种关系的总结(网摘)
Source link:http://www.open-open.com/lib/view/open1328059700311.html UML类图几种关系的总结 原文出处:[深度开源] 在UML类图 ...
随机推荐
- 图片预加载需要token认证的地址处理
1.添加函数修改img的属性: /** * * @param {*} idName 传入的id,获取改img的dom,添加相应的数学 */ export const proxyImg = (idNam ...
- xxlJob Cron表达式 0 0 8,13 * * ?
xxlJob Cron表达式 0 0 8,13 * * ? Cron有如下两种语法格式:(1)Seconds Minutes Hours DayofMonth Month DayofWeek Yea ...
- windows nexus-3.20安装
1.Nexus官网:https://www.sonatype.com/download-oss-sonatype 2.环境变量NEXUS_HOME = D:\nexus-3.20.1-01-win64 ...
- opencv在MAC下的安装
版本信息 MAC版本:10.10.5 Xcode版本:7.2 openCV版本:2.4.13 安装步骤: 联网 安装brew,在终端输入指令 /usr/bin/ruby -e "$(curl ...
- java多线程-3-使用多线程的时机
许多人对于计算机的运行原理不了解,甚至根本不了解. 不幸的是,此类中的一部分人也参与了计算机的编码工作.可想而知,编写的效率和结果.听者伤心,闻者流泪. 此类同学的常见的误解: 并发就能加快任务完成 ...
- 【译】Visual Studio 2022 - 17.10 性能增强
我们很高兴地宣布 Visual Studio 2022 的最新更新,它为您带来了 IDE 各个领域的一系列性能增强.在这篇博客中,我们将重点介绍17.10版本中一些最显著的改进,比如更快的 Windo ...
- 01-前端开发Vscode插件配置
01 自动保存配置 02 空格渲染方式 配置好以后,可以看到代码的空格有几个,以点的方式呈现,1个点表示1个空格 03 图标插件 VSCode Great Icons 04 缩进 推荐使用2 05 v ...
- Kubernetes(一)Overview
1. Kubernetes介绍 要了解Kubernetes,首先我们需要了解Container与Orchestration. Docker Docker的出现是为了解决:部署依赖.以及兼容性.以及繁琐 ...
- android 8.1 安全机制 — SEAndroid & SELinux
android 8.1 安全机制 - SEAndroid & SELinux 原文链接:https://blog.csdn.net/qq_19923217/article/details/81 ...
- Zynq-7000 AP SoC Boot - Multiboot Tech Tip
背景 产品需要用到这个技术,在wiki找到了这篇文章. 创建者Confluence Wiki Admin Sep 24, 2018 in Xilinx-wiki Table of Contents D ...