基于Transformer的决策智能 第一篇 Decision Intelligence初探

自从特斯拉证明在自动驾驶场景端到端的深度学习模型能够替代人进行决策,一场巨大的技术变革将要到来。我想通过一些实验来建立自己对决策智能的初步认知。

说一下我对决策智能的理解:

智能体能感知到状态S(包括环境状态和自身状态),为了达到设定的目标,需要作出决策A。智能体在执行决策A后,有可能获得奖励R。其中决策通常又可以称为动作。

奖励R通常由人工设计,用于引导智能体更快地达到目标。奖励可以为负值,表示惩罚。

通常智能体需要经过多步决策A才能达到目标,在t时刻,记状态为 <math xmlns="http://www.w3.org/1998/Math/MathML"> S t S_{t} </math>St,智能体在执行决策 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t A_{t} </math>At后,有可能获得奖励 <math xmlns="http://www.w3.org/1998/Math/MathML"> R t R_{t} </math>Rt。

模型的输入是 <math xmlns="http://www.w3.org/1998/Math/MathML"> S t S_{t} </math>St,以及t时刻前的任意状态S/决策A/奖励R。 由于奖励R的设计比较复杂,在本文中我们先取消奖励R,同时为了降低计算量,我们只需要考虑部分t时刻前的状态S/决策A/奖励R。

仍以《基于Transformer的路径规划》一文中的场景为例,

黑色表示障碍物、红色表示智能体的当前位置、蓝色表示目标点。智能体每次只能执行以下4个动作之一:

  • 向上移动一格
  • 向下移动一格
  • 向左移动一格
  • 向右移动一格

智能体每执行一次动作A后,状态S会发生改变,直到智能体的位置与目标点重合。

这次不用GPT模型,改用BERT模型来预测动作A,其实就是多层Transformer Encoder构成的分类模型。模型的输入是状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> S t S_{t} </math>St以及 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t − 1 A_{t-1} </math>At−1,输出是决策 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t A_{t} </math>At,共4个类别:上、下、左、右。为什么要加入 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t − 1 A_{t-1} </math>At−1呢?因为我希望智能体能够尽量保持先前的运动方向,减少转弯。如果不存在 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t − 1 A_{t-1} </math>At−1,可以用0填充。是否需要输入 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t − 2 A_{t-2} </math>At−2、 <math xmlns="http://www.w3.org/1998/Math/MathML"> A t − 3 A_{t-3} </math>At−3等更早的决策?这个还需要通过实验验证。

先定义词汇表:

sql 复制代码
"-": 用于将输入序列补到固定的长度
"0":FREE SPACE, 无障碍区域       
"1":OBSTACLE, 有障碍区域   
"+":CURRENT POSITION, 当前位置
"x":GOAL POSITION, 目标位置
"U": UP,向上移动一格
"D": DOWN,向下移动一格
"L": LEFT,向左移动一格
"R": RIGHT,向右移动一格

模型的输入可表示为:

复制代码
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
0 + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 
0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 
0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 0 0 0 0 0 x 0 0 
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
D - - - - - - -

只需对《基于Transformer的路径规划 - 第二篇 合成数据》中的训练样本稍作修改即可用于本实验,原始的一条样本被拆成多条样本。

接下来就是训练模型了。如果有读者做过类似的实验,欢迎在评论区留言。


下一篇:基于Transformer的决策智能 第二篇 BERT IS BETTER?

相关推荐
Galloping-Vijay8 小时前
飞书单机器人配置多个 Agent 实践指南
机器人
RPA机器人就用八爪鱼14 小时前
RPA+AI赋能数字化办公:告别机械劳作,解锁全场景自动化
人工智能·机器人·自动化·rpa
阿祥_csdn15 小时前
openclaw接入飞书机器人
机器人·飞书·openclaw
V搜xhliang024617 小时前
手术机器人导航软件
大数据·人工智能·机器学习·自然语言处理·机器人
超级璐璐18 小时前
fastlivo2修改记录
机器人
信道者19 小时前
俄乌战场开启“机器人战争”时代:UGV成建制投入实战
机器人
不羁的木木19 小时前
MacOS 安装 OpenClaw 并接入飞书机器人(保姆级教程 + 常见问题解决)
macos·机器人·飞书
zh路西法1 天前
【宇树机器人强化学习】(三):OnPolicyRunner和VecEnv以及RolloutStorage的python实现与解析
开发语言·python·深度学习·机器学习·机器人
小张贼嚣张1 天前
宇树科技机器人核心技术
科技·机器人
码农三叔1 天前
(9-1)多模态融合理论与方法:低层融合
人工智能·机器学习·计算机视觉·机器人