IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器人强化学习——Sim-to-Real Robot Learning from Pixels with Progressive Nets (2017) -> 正文阅读

[人工智能]机器人强化学习——Sim-to-Real Robot Learning from Pixels with Progressive Nets (2017)

论文地址:https://arxiv.org/abs/1610.04286

1 简介

针对现实世界中DRL对复杂任务学习慢的问题,提出progressive networks来将仿真中学习的策略迁移到真实世界中。

progressive networks是个通用框架,核心思想是将 从低维视觉特征到高级policy之间的所有东西 迁移到新任务,实现方式是将其他任务上预训练的特征通过侧面连接输入到新任务的网络中。

实验表明,只使用DRL和稀疏奖励来学习任务是可行的。

2 progressive netowrks 介绍

侧面连接:新网络的某一层以该新网络的前一层以前任务网络的前一层为输入。结构如下:

在这里插入图片描述

k k k个网络的第 i i i层值的计算公式如下:

在这里插入图片描述

其中。 f ( ) f() f()Relu函数

该结构的优点:
(1)不会通过微调改变为其他任务学习的特征;
(2)不同结构的子网络可以使用不同模态的输入,或提高学习速度;
(3)增加了网络容量,包括不同的新输入。

可以改变每个网络的宽度(层的神经元个数)、不同任务的难度、连接单个或多个以前的任务网络。

3 progressive network 网络在DRL的应用

在这里插入图片描述

该网络中的每个子网络学习一个特殊的任务。

对 progressive network 设计如下技巧:

(1)不同的子网络可以有不同的容量和结构。

在仿真中训练的子网络有更大的容量和深度来从头学习任务,在真实机器人上学习的子网络有更小的容量,从而加快学习并限制参数。

(2)任务互补序列的输出层 不需要 layer-wise adapters。(adapters的概念看progressive network原论文)

(3)使用仿真中训练的子网络输出层初始化真实机器人上子网络的输出层,真实任务网络的最后一层权重设为0,复制仿真任务网络的最后一层权重到侧向连接权重。

由于设为0,真实任务网络中的参数无法改变输出,则输出全部由仿真任务网络的权重决定。这使得现实机器人上的初始策略与仿真中训练完成的策略相同。

4 实验

4.1 实验设置

任务:机械手末端运动至目标位置上,目标位置通过红色方块指出,目标位于 40 ? 30 c m 40*30cm 40?30cm的区域内。

方法:采用 Kinova Jaco 6-DOF机械臂,子网络采用 A3C 算法,输入state为 3 ? 64 ? 64 3*64*64 3?64?64原始图像,输出为9个policy和1个value,每个policy包括三个action: 正的固定关节速度、负固定速度、零,每个policy的输出由softmax激活。9个policy对应6个机械臂关节和三指机械手。
实验测试了两种A3C网络的性能:

(1)输入->卷积1->卷积2->全连接->输出

(2)输入->卷积1->卷积2->全连接->LSTM->输出,如下图所示:

各网络的具体参数见论文。

在这里插入图片描述

步进网络包括两个子网络。子网络1在仿真中训练,卷积核数更多,全连接层的神经元也更多;子网络2在真实中训练,卷积核数和神经元数更少。

reward:如果机械手距离目标区域小于10cm,则reward获得 + 1 +1 +1,否则为0。每个episode最多执行 50 step,直到step结束或产生安全问题。

实验表明,表现好的agent可以快速进入目标区域,并保持在安全的位姿,平均得分30。

4.2 仿真训练

实验表明宽的网络结构(卷积核数和神经元数多)在学习速度和性能上都更好,LSTM比全连接层性能更好。

5千万step后,性能趋于稳定。

测试了30组不同的学习率entropy costs,选出性能最好的网络作为待迁移的子网络1。

entropy costs 是什么?

4.3 迁移至机器人

reward通过识别红色目标物体的位置和获得机械手的位置得到。

baseline1:不在仿真中训练,直接在真实场景中从头训练;

baseline2:在仿真中训练后,在真实中微调子网络1,没有子网络2。

三个网络均在真实中训练60000 step(约4小时)。

实验结果

(1)步进网络性能最好;

(2)baseline1的reward一直是0,训练失败;

(3)baseline2的性能比步进网络差。

稳定性比较

在仿真中训练好子网络1后,改变颜色和视角,并在仿真中训练步进网络和baseline2网络,分别测试了300组不同的seed、学习率、entropy costs。

结果表明,步进网络更稳定且性能更好。

4.4 迁移至包含本体数据的动态机器人任务

任务:通过增加滑轮装置,使红色目标在桌子上滑动,并随机逆向移动;机械手需要跟踪红色目标。

方法子网络1以图像为输入,在仿真的固定目标reach任务中训练;子网络2图像和本体特征为输入,在真实的固定目标reach任务中训练;子网络3本体特征为输入,并将图像输入子网络1和2,在真实的动态目标跟踪任务中训练。训练一个子网络时,其他子网络不更新。

本体特征 (proprioceptive features):9个关节角和速度,共18个标量输入。

本体特征的输入方式:经过一层MLP和Relu,和子网络的卷积层输出合并,继续向后传输(参考google那个机械臂农场的论文)。

Encoder 1 is a convolutional net, encoder 2 is a convolutional net with proprioceptive features added before the LSTM, and encoder 3 is an MLP。网络结构如下:

在这里插入图片描述

方法对比:

(1)baseline:和4.4.3的方法一样,子网络2在动态目标跟踪任务中训练。学习速度很慢,需要50000 step才达到稳定;

(2)本节方法:学习速度很快。

表明步进网络可用于curriculum task (课程任务,由易到难的学习任务),且可以保留以前学习的特征(保留子网络2的特征)。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-23 00:53:40  更:2022-06-23 00:54:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:24:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码