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

相关推荐
辰尘_星启15 小时前
【机器学习】反向传播如何求梯度(公式推导)
人工智能·深度学习·机器学习·强化学习·梯度下降·反向传播
小坏坏的大世界2 天前
ROS2中的QoS(Quality of Service)详解
linux·机器人
贾全2 天前
从LLM到VLM:视觉语言模型的核心技术与Python实现
人工智能·python·ai·机器人·视觉语言模型·vlm
xiaoyaolangwj2 天前
AGX Xavier 搭建360环视教程【一、先确认方案】
目标检测·机器人·自动驾驶
pk_xz1234562 天前
在Intel Mac的PyCharm中设置‘add bin folder to the path‘的解决方案
ide·人工智能·科技·算法·macos·pycharm·机器人
前端工作日常2 天前
我学习到的“伪勤奋”
强化学习
搬砖的小码农_Sky2 天前
AI:机器人行业发展现状
人工智能·机器人
Blossom.1182 天前
用一张“冰裂纹”石墨烯薄膜,让被动散热也能做 AI 推理——基于亚波长裂纹等离激元的零功耗温度-逻辑门
人工智能·深度学习·神经网络·目标检测·机器学习·机器人·语音识别
kyle~2 天前
Opencv---深度学习开发
人工智能·深度学习·opencv·计算机视觉·机器人
探讨探讨AGV2 天前
以科技赋能未来,科聪持续支持青年创新实践 —— 第七届“科聪杯”浙江省大学生智能机器人创意竞赛圆满落幕
人工智能·科技·机器人