基于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?

相关推荐
电鱼智能的电小鱼5 小时前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
硅谷秋水6 小时前
通过模仿学习实现机器人灵巧操作:综述(上)
人工智能·深度学习·机器学习·计算机视觉·语言模型·机器人
cosX+sinY7 小时前
ubuntu 20.04 编译运行lio-sam,并保存为pcd
linux·ubuntu·机器人
国科安芯8 小时前
面向高性能运动控制的MCU:架构创新、算法优化与应用分析
单片机·嵌入式硬件·安全·架构·机器人·汽车·risc-v
地瓜机器人9 小时前
乐聚机器人与地瓜机器人达成战略合作,联合发布Aelos Embodied具身智能
人工智能·机器人
cloudy4919 小时前
强化学习:历史基金净产值,学习最大化长期收益
python·强化学习
Python_金钱豹11 小时前
Text2SQL零代码实战!RAGFlow 实现自然语言转 SQL 的终极指南
前端·数据库·sql·安全·ui·langchain·机器人
胡攀峰19 小时前
第12章 微调生成模型
人工智能·大模型·llm·sft·强化学习·rlhf·指令微调
古希腊掌管学习的神1 天前
[LangGraph教程]LangGraph04——支持人机协作的聊天机器人
人工智能·语言模型·chatgpt·机器人·agent
望获linux1 天前
实时操作系统在服务型机器人中的关键作用
linux·机器人·操作系统·开源软件·rtos·具身智能