基于Transformer的决策智能 第三篇 BERT模型优化

203 阅读3分钟

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


接上一篇,先分析一下失败的原因。随机生成10000条测试样本,错了34个,共三种错误:

1、与障碍物发生了碰撞,共21个,示例如下:

最后一步输出动作左,导致发生碰撞

最后一步输出动作左,导致发生碰撞

最后一步输出动作上,导致发生碰撞

2、超出了边界,共2个:

最后一步输出动作左,导致超出边界

最后一步输出动作右,导致超出边界

3、在规定的步数(128步)内未达到目标点,共11个,示例如下:

智能体会不停地重复之前走过的路

这个错误真奇怪,距离目标点就2步了,就是不转过去


一些猜测: 从错误示例来看,我觉得训练样本有较大的改进空间,因为对一些非常简单的输入,智能体依然决策失败。如果是对很难的输入,智能体决策失败还有可能是因为模型学习能力不足。

但测试结果至少说明模型存在着缺点:对训练样本中频率很低的场景难以学会。

以上只是猜测。 虽然可以参考《基于Transformer的路径规划 - 第五篇 GPT生成策略_解码方法优化》中的方案,通过改进解码方法来提升指标,但这种方法存在着前提条件:根据当前状态以及智能体的决策必须要能精确计算出下一步的状态。而在现实中,无人车执行加速、减速、转向等决策后会变成什么状态是无法计算的。 我也不去改进训练样本,因为在现实中,就是存在一些场景的训练样本特别少,例如无人车在行驶过程中,路边的树枝突然被风刮断掉在前方。 或许可以尝试一下其它Transformer变种,因为模型收敛非常快,改用其它Transformer变种重新训练模型代价比较低。

还有一种可能的原因:原始的环境是2D的,转成1D序列后直观性降低,模型的实际输入如下所示:

000100000000000000010000000000000+0100000000000000010011111000000001000000100000000100000010000000010011111000000001001000000000000100100000000000000010000000000000001011111111000000100000000000000010000000000000001000000x0000000010000000000000001000000000D-------

即使是人根据这一长串字符,也是很难完成目标的,AI的能力比我们表面上看到的要强。也许2D Transformer更适合本实验。


下一篇:基于Transformer的决策智能 第四篇 2D Transformer、调参