扩散模型玩DOOM
近期谷歌发布了一个用AI玩DOOM的工作,由两部分组成。一个是基于强化学习玩游戏,一个是基于扩散模型生成游戏画面
INTRODUCTION
电子游戏运行时在loop,每个loop由三部分组成:
- 监听输入
- 更新游戏状态
- 渲染画面
可交互的世界模拟不只是一个高帧率视频生成,还需要处理输入状态,这与很多扩散模型框架冲突
模型定义
交互环境$\varepsilon$包含:
- 隐状态空间$S$,DOOM里指动态内存
- 隐状态空间的部分映射$O$,DOOM里指渲染出的图形
- 映射函数$V:S\rightarrow O$,DOOM里指渲染逻辑
- 动作空间$A$,DOOM里指鼠标和键盘输入
- 转移概率函数$p(s|a,s’)$,DOOM里指游戏玩法逻辑
给定交互环境和初始隐状态空间,可以得到一个模拟分布函数$q$(simulation distribution function)
$$
q(o_n|o_{<n}, a_{<n}), o_i \in O, a_i \in A
$$
其目标函数是一个最小化距离函数
目标函数是优化问题中想要优化(最大化或最小化)的量,在机器学习中常用于衡量loss
$$
E(D(o^{i}_q, o^{i}_p)), o^{i}_q \sim q, o^{i}_p \sim V(p)
$$
A$\sim$b符号表示随机变量A符合概率分布b
数据收集
为了收集足够多的数据,作者先训练了一个Agent模型,像人类那样去玩DOOM
作者基于预训练的SD模型做微调,将$A$和$O$以轨迹(先前内容的序列)的形式作为模型输入