一、今日重要动态

1. 五角大楼与Anthropic博弈升级

五角大楼向Anthropic发出”最后通牒”,要求其配合军事AI应用。Anthropic CEO Dario Amodei多次公开表达对政府无限制使用AI的伦理担忧,双方围绕《国防保护法》的争议持续发酵。这场博弈折射出商业AI公司与军方在伦理边界上的深层矛盾。

2. 五角大楼签约四大科技巨头扩展军事AI

谷歌、Anthropic、OpenAI、马斯克旗下xAI四家公司获得五角大楼合同,协助国防部为关键国家安全任务开发AI工作流。这标志着美军AI商业化采购进入新阶段。

3. 生成式AI进入军事兵棋推演

新实验室推出专为国防兵棋推演设计的生成式AI系统,AI玩家可模拟真实对手行为,帮助军事规划人员在演习中快速生成多套作战方案,大幅压缩推演周期。

4. AI语音机器人威胁军事人员心理安全

五角大楼官员披露,具备高度拟真能力的AI语音代理已可在全球范围内引导审讯,对美军士兵和情报人员构成新型心理战威胁,相关防御体系尚不完善。

5. 五角大楼与FAA合作开展反无人机激光测试

五角大楼与联邦航空局达成协议,将在新墨西哥州开展定向能反无人机激光武器测试。

二、技术趋势分析

当前AI军事化呈现三条主线:

  1. 决策加速:AI正在压缩人类决策时间窗口
  2. 认知域渗透:AI语音、深度伪造在心理战中的应用
  3. 商业军事融合加速:谷歌、OpenAI等公司直接参与军事合同

三、推荐研究方向

  1. 人机协同决策机制
  2. 军事AI对抗与鲁棒性
  3. 认知战与AI心理防御
  4. 自主无人系统集群协同
  5. 军事AI伦理与法律框架

四、小结与展望

2026年的军事AI竞争已从”能不能用”进入”怎么用、谁来管”的新阶段。技术能力与治理框架的协同推进,将是未来最有价值的研究切入点。

本报告由 AI 自动生成,仅供参考研究使用。

  1. 朴素贝叶斯1.1 极大似然估计的朴素贝叶斯
    特点: 计算简单,假设约束较强,假设每个条件分布都是独立的。

推导时使用的数学工具:

条件独立假设
通过贝叶斯公式,得到后验概率
构建0-1损失函数,对其进行推导可得到0-1损失函数时的期望风险最小化准则与后验概率最大化准则的等价性
由上一条得出最大后验概率
使用极大似然估计,对先验概率及条件概率进行估计。

算法目标即核心公式:

目标:
​ 是为了推出最大后验概率,计算过程中用到联合概率及先验概率,因而是生成模型,将生成数据的过程全都算了一遍

核心公式:

算法步骤:

计算先验概率及条件概率

先验:

条件:

对于给定的数据集计算不同类别的后验概率(j是对数据集的每个特征进行条件概率累乘)

选择最大的后验概率作为最终分类

1.2 贝叶斯估计的朴素贝叶斯由于极大似然估计的朴素贝叶斯,在极大似然估计过程中可能出现概率为0的情况,影响后续计算。因而使用贝叶斯估计,在先验概率及条件概率公式中加入$\lambda$作为平滑项。

先验:($K$为分类类别)

条件:($S_j$为第j个特征的可能的取值)

当$\lambda = 0$的时候即为极大似然估计,$\lambda=1$的时候为拉普拉斯平滑。

2. 由贝叶斯得到的Sigmoid在二分类过程中,由上述的二分类的贝叶斯公式可以得到:
对该式上下除以分子得到:
其中:
3. 分类问题从贝叶斯角度入手,对于二分类问题,可以用两个高斯分布去对其进行极大似然估计,$N_1(\mu1,\Sigma_1)$,$N_2(\mu2,\Sigma_2)$
如果两个分布的$\Sigma$不同,则其分类决策面是一个非线性的,两个分布的$\Sigma$相同,其分类决策面是一个线性的,其中的原因可以由使用贝叶斯公式得到的Sigmoid函数的展开来说明。两个分布的协方差矩阵相同的话可以做一次简化,使其形式上是线性方程。
推导过程参考
4. Linear Regression 和 Logistic Regression4.1 关于交叉熵在逻辑回归中,对于二分类问题可以定义其似然函数为:
对其取对数似然:
这里$\sum$后面的部分就是交叉熵$C$
其中$p$为训练集中的样本标签分布:
其中$q$为模型预测的标签分布:
4.2 二者异同

Logistic Regression
Linear Regression

函数集
$f_{w,b}(x)=\sigma(\sum_i w_ix_i+b)$ 该函数值域介于0~1之间
$f_{w,b}(x)=\sum_i w_ix_i+b$ 该函数值域是任意实数

Loss
训练集:$(x^n,\hat{y}^n)$ ,$\hat{y}^n$满足伯努利分布,$L(f)= \sum _n C(f(x^n),\hat{y}^n)$
训练集:$(x^n,\hat{y}^n)$ ,$\hat{y}^n$是任意实数,$L(f)= \frac{1}{2}\sum _n (f(x^n),\hat{y}^n)^2$

GD
$ w_i=w_i - \eta\sum_n-(\hat{y}^n-f_{w,b}(x^n))x_i^n$
$ w_i=w_i - \eta\sum_n-(\hat{y}^n-f_{w,b}(x^n))x_i^n$

4.3 关于Logistic Regression为何不使用平方误差作为loss若像Linear Regression一样使用平方误差作为loss,公式展开后会发现,当$\hat{y}^n=0$时,无论$f_{w,b}(x^n)$为0还是1,其loss都为0,这使得训练过程极为缓慢,并且难以调参得到效果。

  1. 贡献
    将通过视觉惯性里程计构造的local map 融合进global map
    在地图上,使用在线重定位(online relocalization)补偿视觉惯性里程计漂移的问题
    提出从稀疏的姿态图(pose graph) 构建稠密3D occupancy grid的方法,并用octomap八叉树地图表示
    提出改进3D路径规划算法“Polynomial Trajectory Planning for Aggressive Quadrotor Flight in Dense Indoor Environments”
    能够适应控制状态约束,提升稳定性及减少计算时间

分层规划,
2.平台AscTecFly + stereo camera + IMU
平台概述如下图:

VI模块在local drift坐标下,返回pose消息,变换为Mission坐标(M),该坐标系保证控制器层能够确保飞机的安全及避障
构建局部地图,以进行局部避障(不是本文的工作)
sparse mapping/relocalization层,并行构建全局地图(G),并进行以便复用
在全局地图上构建全局三维路径规划
Mission controller被用来作为MAV和规划器之间的桥梁,手动控制时,速度控制指令直接给到MAV,轨迹跟踪时,全局规划信息需要转换为Mission坐标,给到MAV

3.Mapping和Localization使用基于关键帧的视觉惯性里程计,通过在后台基于里程计的输出,来构建局部地图,进而使用局部地图进行relocation,以减少视觉惯性里程计带来的漂移误差。该方法还支持在后端跑BA进而减少误差。
3.1 构建Local map基于关键帧的视觉里程计使用的苏黎世他们自己提的“Keyframe-based visual–inertial odometry using nonlinear optimization”这篇论文的方法。由于计算能力限制,导致只有很少的历史关键帧能够被用来进行优化。文中使用了使用关键帧及关键特征点构建局部地图,来充分利用图优化过程,以此生成一个以关键帧为顶点,以IMU测量值为边的稀疏位姿图。顶点中主要包含帧图像关键点,关键点描述子,3D三角测量landmark。
本文所提出的姿势图的一个重要特征是,使用具有独立base帧的任务(子地图),使任务与global帧保持一致,所有顶点位姿和landmark都在local mission 帧中表示。这允许通过改变它们之间的基础帧变换来使得几个子图之间可以相对的对齐,而不必更新地图中的每个顶点或landmarks。使用时固定参考地图,并在新信息可用时不断更新局部地图和参考地图之间的转换。
3.2 重定位通过在BRISK特征描述子空间中检测最近邻,然后用RANSAC方案使用几何验证进行异常值排除。此过程中的任何内点都将作为约束添加到参考映射中的当前顶点和三角形3D关键点之间。
3.3 全局稠密模型在构建local map时,还记录了立体视差图像,将它们存储在MAV上的磁盘上,并将它们与稀疏重定位图相关联。只存储视觉测距的关键帧(位姿图中的顶点)的视差图,从而最大限度地减少对磁盘的访问。由于视觉惯性测距中的关键帧已经被选中并且其间具有足够的运动,这将产生均匀且有效的覆盖。在中断参考任务并运行BA后,迭代参考任务中的所有过去顶点,并使用更新的顶点位姿将视差图像重新投影到全局地图中。从而建立环境的3D occupancy grid。
4. 路径规划牺牲最优,来换取更少的计算时间,使用首先仅采样位置点使用直线路径,然后将得到的位置顶点用作支撑点以计算平滑的分段多项式轨迹,同时迭代地处理直线路径中不存在的碰撞,而不是在高维的状态空间中进行随机的采样,并生成多项式轨迹。
4.1 无约束线性初始解决方案,这里面提到的方法使用的是将多项式轨迹的n阶导构建成一个带约束的QP问题,本文使用的方法,将其转化为一个(适用于只有等式约束的闭式求解)。
4.2 非线性轨迹细化通过无约束初始方案得到分段的多项式轨迹,现在需要增加约束,使得无人机能够在每一个段中的速度及加速度最大,时间尽可能短。
(1) 构建非线性优化,在cost 函数中加入了每段轨迹行驶时间的平方和
(2) 解最大速度及加速度:如果使用在轨迹上进行离散采样,则会带来很多不等式约束的求解,对于较长的路径来说会造成计算缓慢。文中的处理方式是对速度的导数进行处理,将其变形为两个多项式方程的卷积的形式,然后使用JenkinsTraub 方法求解实数解
(3)将状态约束结合到非线性优化问题中:增加软约束
(4)使用轨迹插值进行轨迹优化防止由于速度过快,在轨迹拐点处产生过度冲击,通过插值的方式,对拐点处进行降速处理

  1. 实验结果5.1 轨迹优化结果左图是使用初始线性解决方案的轨迹,右图是加入了非线性轨迹细化后的轨迹,可以看出其飞行时间更短,轨迹更接近于保持直线连接

下表列出了轨迹分段下,线性初始化时间,优化时间,以及成功率的对比

5.2 地图生成及返航
初始环境未知,飞行员给定high-level的位置指令对环境进行探索(下图的绿色线)。在探索过程中,构建稀疏位姿图以及由立体相机构建局部3D occupancy map,此时视觉里程计会产生一定的漂移,
返航阶段,经过BA的几次迭代后,通过将视差图从优化的关键帧位置投影到3D空间中来生成全局3D occupancy grid。
下图以粗体显示了reference路径,飞行轨迹使用的漂移的视觉里程计坐标。为了克服漂移,重定位模块尝试在每个关键帧(大约4Hz)对局部地图和经过BA后的参考地图进行调整,并在必要时校正参考轨迹,调整的地方在下图中用蓝色垂直线表示。可以看出,由于视点与先前看到的轨迹的较大偏差,在轨迹的开始和结束处仅存在闭环。结果还表明,控制器可以处理参考路径中的小跳跃,这表面了重定位单独运行的优势。在未来的工作中,可以触发规划器,以便在新的闭环情况下重新规划当前段。

迁移resnet到RISC-V Soc

  1. 改进Nano-scale UAV
    低功耗视觉导航模块

ULP camera
Flash/DRAM memory
兼容

提出CNN-Based DroNet
在常规尺寸无人机上做离线计算
在nano无人机上做在线计算

功耗
6fps 功耗64mW
18fps 功耗 272mW

  1. DroNetDronet的训练,将一个未处理的图片转换成两个高层的信息
    (1) 估计障碍碰撞的概率,用来确定UAV的前向目标速度 (使用进行训练)
    (2) 期望方向(根据障碍物、地上的白线等) (使用进行训练)

网络结构

网络输出的方向角与障碍概率,直接影响到控制决策上,通过一个低通滤波器影响目标偏航角变化率,以及目标前向速度。

计算平台 GAP8 SoC

基于PULP开源架构, RISC-V精简指令集
两个子系统,一个供电模块
Fabric controller结构控制器,带一个RISC-V精简指令集的on-SoC微控制器
FC的结构跟微控制器相同,一个内部时钟,512kB SRAM(L2 Memory),一个用于boot的ROM,一个适用于多种接口的IO子系统($\mu$DMA)
L2 Memory是与cpu独立的不会被cpu中断。

8核加速器簇(Cluster(CL))(RISC-V指令集)
8核共享一个单独的指令缓存cache
8核共享一个64kB的L1暂存器
从L2 Memory到后端的数据移动由CL内部的DMA软件进行控制

所有的core都支持RV32IMC指令集,和SIMD DSP扩展(SIMD是一个512B的单指令多数据向量),能够实现基础的点积(加速线性代数计算及信号处理过程)。

这种架构能够在具有规则的、可预测的数据访问模式的典型并行内核上实现最大的效率和利用率,同时节省共享数据缓存的区域开销。

在嵌入式上应用算法
​ 首先,导航算法必须能够以足以实现令人满意的闭环控制性能的帧速率执行主要工作负荷(一次解算需要的乘法累积操作约4100万次)。此外,虽然嵌入式处理器通常使用较低的精度来表示数据和较低分辨率的图像,但结果的质量必须保持与原始算法相似。这些限制对原始算法进行了很多调整,在无人机的情况下,可以分为两大类。
(1) 数据集fine-tuning 并将网络离散分层(network quantization)

使用一个grayscale QVGA-resolution HiMax摄像头,采集数据,1122 张用于训练的新图片 以及228 张用于test/validation的新图片,将其丢到开源的碰撞数据集中去。
将3x3卷积换成2x2的
将浮点换成定点表示
通过测试,中间的feature map的动态阈值范围在+-16,精度2^-11,足够用来表示BN+激活函数后的值。
将所有的Relu使用16位 Q5.11定点表示(整数5位带符号,11位小数定点)。
网络重新训练,架构不变。

(2) BN 折叠

BN过程是线性的,可以将其计算合并到卷积层中去,具体是将BN折叠到卷积层权重W和偏置b中去,假设$\gamma, \beta,\sigma ,\mu$是normalization的参数,则有:

DroNet中主枝上的Res block是经过BN的,旁支的没有经过BN,因而还需要对上式做调整。先当做每一个res block都进行了BN,然后对旁支上的res block用下式进行反BN:

最终的DroNet权重使用定点Q2.14, 除了第一层的分支层使用Q9.7

  1. PULP-Shieldpulpshield:

板载视觉导航引擎
可以兼容Crazyflie 2.0 (CF) nano-quadrotor (10cm直径,27g,支持最大15g载重)
其核心基于GAP8 SoC
两个Cypress HyperBus Memories,使其能灵活配置一个甚低功耗的 gray-scale HiMax QVGA CMOS image sensor, 通过平行相机接口协议(parallel camera interface PCI)进行交互。
在两个BGA memory槽上,挂载一个64 Mbit HyperRAM (DRAM) chip 和一个 128 Mbit HyperFlash memory

一、概述1.1 AIL存在的问题
bias reward,由于不正确的MDP吸收态导致的回报偏差
需要大量的交互,才能使得策略收敛
absorbing state(MDP吸收态)无法学习

1.2 本文所提方案
Discriminator-Actor-Critic (DAC) 兼容GAIL及AIRL框架,在二者原有框架基础上扩展 off-policy discriminator及 off-policy actor-critic 算法
改进:
通过上述改进去除了AIL算法中由于不准确的吸收态导致的偏差(bias due to the incorrect absorbing state)
加速从demonstration中的学习速度(off policy扩展)
增加鲁棒性。

二、方法2.1 Bias in Reward
Absorbing states in MDPs: GAIL (GMMIL), Option GAN, AIRL,等这种AIL框架的算法,都忽略了absorbing state, 无法学习到吸收态的回报,所以导致吸收态的回报是0
一种常见的reward类型:$r(s,a)=-\log(1-D(s,a))​$,这种严格正值reward容易导致局部最优,而且agent都被这种positive reward带跑偏了,去追求更高的reward,而不是真正的去学习demonstration。
另一种常见的reward类型:$r(s,a)=\log(D(s,a))$ ,这种回报经常用在单步penalty的场景,加入一个固定的单步惩罚,这种的并不能很好的学到一个优秀的策略,事实上,这种强先验式回报即使不用模仿demonstration也可能获得一个好结果.

2.2 Unbias in Reward作者要明确吸收态的回报$R_T=r(s_T,a_T) + \sum_{t=T+1}^{\infin}\gamma^{t-T}r(s_a,\cdot)$, 注意这里使用的是一个学到的回报$r(s_a,\cdot)$, 而非直接使用$R_T=r(s_T,a_T)$,这样将吸收态回报引入到学习过程,根据吸收态回报进行策略的学习。
为了能够兼容AIL以及RL框架,来兼顾吸收态进行学习,作者提出以下方案进行rollout:
完成一个episode的时候,将终态到吸收态的transition ($s_T,s_a$) 以及吸收态到吸收态的transition ($s_a,s_a​$) 一起作为transition。
实现的时候,需要一个标志位来标识其是否是吸收态。
2.3 解决采样效率问题使用off-policy RL以及 off-policy Discriminator来改善GAIL。

将从策略采样换成从replay buffer采样
采样上使用重要性采样:
在实践过程中,重要性采样以及Discriminator的大方差,导致其训练效果不好,因而实践中省略掉了重要性采样权重。

TRPO 效果不如 PPO,这里使用了off-policy的TD3来替换on-policy,使用Discriminator的值作为回报进行训练。off-policy还可以应对multi modal情况,避免GAN带来的mode collapse问题。

一、 概述1.1 解决的问题​ Crowd-Robot Interaction (CRI),
1.2 先前方法总结
存在的问题

人群的集体影响通常是由成对相互作用的简化集合建模的,例如Maximin运算符或LSTM,它可能无法完全表示所有的相互作用。
大多数方法只关注从人到机器人的单向交互,而忽略了人群中可能间接影响机器人的交互。

已有的方法
【第一类基于人工设计函数】

Social Force

Interacting Gaussian Process (IGP):
将每个agent的traj建模为一个独立的高斯过程,并提出一个相互作用势项来结合单个的高斯过程,进行相互作用。

【第二类基于Imitation Learning】

BC
IRL
GAIL

【第三类基于强化学习】

本文的方法

用self-attention mechanism重新思考人-机器人的配对互动
在强化学习框架中联合建模Human-Robot和Human-Human 交互

1.3 问题的建模robot从n个人的人群中穿越到目标点。
对于每一个agent(人和机器人),已知:
【可相互观测】位置$p=[p_x,p_y]$,速度$v=[v_x,v_y]$,半径$r$
【不可观测】目标位置$p_g$,期望速度$v_{pref}$
【假设】robot的速度$v_t$,在执行action $a_t$ 后可以即时获得,$s_t$ 表示robot的状态,$w_t=[w_t^1,w_t^2…w_t^n]$表示人的状态,Human-Robot联合状态可以表示为:$s_t^{jn}=[s_t,w_t]$
【最优策略的定义】$\pi^*(s_t^{jn}):s_t^{jn}→a_t​$
【回报定义】$d_t$为$[t-\Delta t,t]$之间的robot与human的最小间隔

1.4 价值网络训练基于TD、Replay buffer、target net。

1-3行使用demonstration experience 进行 imitation learning 初始化

4-14行 使用强化学习进行学习

7行的下一时刻状态,使用的是通过仿真获得的真实值,而非通过线性模型进行估计,减少动态模型误差带来的影响。

状态转移概率可以使用进行估计

价值网络模型需要精确地近似最优价值函数$V$,该函数隐式地encode了agent之间的social coorperation。以前的工作并没有模拟人群交互,这降低了对人口稠密场景的价值估计的准确性。
二、 方法2.1 基本结构
Interaction module
对Human-Robot 交互进行显式建模,并通过粗粒度局部映射对Human-Robot进行encode。

Pooling module
通过self-attention制将相互作用聚合成固定长度的嵌入向量。

Planning module
估计robot和human联合状态对social navigation的value。

2.2 详细模块说明2.2.1 Parameterization使用 robot-center parameterization。 以robot所在位置为中心,以当前位置到目标位置的向量方向为x轴。以此进行建模得到的robot及human的states如下:
其中 $d_g=||p-p_g||_2$ 表示robot到目标点的距离,$d_i=||p-p_i||_2$代表robot与neighbor $i$ 之间的距离。
2.2.2 Interaction Module如果考虑相互间的交互,那么算法的时间复杂度较高是$O(n^2)$的,本文使用local map 表示粗粒度的human-human的交互。

构建local map 特征
假设neighbor大小为$L$, 那么以每个human $i$ 为中心构建一个$L×L×3$大小的 tensor $M_i$, 来encode neighbor的位置及速度特征。

构建 embedded encode
使用human的state, map tensor以及 robot state 构建embedded vector $e_i$ (固定长度),这里用一个MLP

2.2.3

​ 该论文的思路主要是考虑使用确定性的环境进行训练找到一个可行解,然后使用随机探索的测试,通过鲁棒化操作让随机探索更加可靠。目前尚未进行复现,但是关于这篇论文论坛上的争议很大,其实验结果可靠性有待验证,不过是一个很有趣的思路,文中说这是一个框架性的研究,许多细节可以进行深入挖掘。论文中确定性训练部分并没有使用神经网络,与传统的RL的做法有所不同,其开源代码与具体的环境交联很大,需要一定时间消化一下。

一、概述1.1 Hard-Exploration Problems的定义
稀疏回报(sparse)
误导回报(deceptive)

1.2 之前的解决方法存在的问题​ 之前的方法一般是采用内部激励(Intrinsic Motivation[IM])给智能体提供一些内在回报intrinsic rewards(IRs),去激励他们去探索。常用的手段有curiosity,novelty-seeking。但是其表现并不是很好,作者给出了表现不好的两个原因detachment 和 derailment

Detachment:

Detachment是指由IM驱动的agent可能脱离高内在奖励(IR)的边界;
假设内在奖励是一种消耗性资源,agent会在一个内在奖励高的区域集中消耗内在奖励,当其消耗殆尽很难重新发现agent在初始区域中的分离边界,由于灾难性遗忘() agent 可能不会记得如何回到那个边界;
每次这个过程发生时,潜在的探索途径都可能会丢失,或者至少很难重新发现。在最坏的情况下,当前policy所访问的状态空间区域附近可能缺乏剩余的IR(即使其他地方可能存在大量的IR),因此没有任何学习信号可以指导agent进一步有效探索的方式;
随着时间的推移,可以慢慢地增加内在奖励,但是整个无效的过程可以无限重复;
理论上讲, replay buffer 可以防止 detachment,但实际上它必须很大,以防止有关abandoned边界的数据在需要之前不被清除,大的 replay buffer 引入它们自己的优化稳定性困难(参考);
Go-Explore算法通过显式存储所访问的有希望状态的存档来解决detachment的问题,以便随后可以重新访问和探索它们。

Derailment:

当agent发现了一个有希望的状态(promising state)时,可能会发生偏离(Derailment),返回该状态并从中进行探索是有益的;

典型的RL算法试图通过运行可以回到初始状态的策略来实现这种期望的行为,并对现有策略的加入一些随机扰动以鼓励其产生略微不同的行为(例如,进一步探索 exploring further);

加入随机扰动的原因是因为IM agetn有两层探索机制

在达到新状态时奖励的高层IR激励;
更基本的探索机制,如epsilon-greedy探索,动作空间噪声或参数空间噪声;

IM agent依赖第二种探索机制进行高IR状态的探索,而依赖于第一种机制回到高IR状态;

然而,为了达到先前发现的高IR状态,需要一系列更长,更复杂和更精确的动作,这种随机扰动将更有可能“破坏(Derail)”agent不再返回那个状态。这是因为所需的精确动作被basic探索机制天真地扰乱,导致agent很少成功地达到它所记录的已知状态,并且进一步探索可能是最有效的;

为了解决Derailment问题,Go-Explore的一个见解是,在进一步探索之前,有效的探索可以分解为第一次回到有希望的状态(无需有意添加任何探索)。

1.3 Go-Explore概述
方案优势
解决了一下detachment和derailment的问题,并且提出了在随机环境下的鲁棒的解决方案。

方案概述:

phase1: 首先用一个比较简单的方法,用一个确定性的方法来解决问题,即发现如何解决问题;
phase2: 然后进行鲁棒化(即训练在存在随机性的情况下能够可靠地执行的解决方案)。

​ 【phase1】 寻找少见的state形成解决系数回报或者误导回报问题的基本解决方案,phase1 使用两种策略,通过记录状态和到达状态的方式来解决detachment还有derailment的问题:
​ (1) 将到目前为止所有访问过的不同的状态存下来
​ (2) 每次选择存储池(archive)中选择一个状态进行探索 ,
​ 首先【Go back】回到这个状态(不加任何随机探索),
​ 然后【Explore】从这个状态开始进行探索新的state。因而算法框架称为Go-Explore。
​ 作者举搜索房屋的例子说明了phase1和IM探索的区别:​ IM算法类似于在房子中搜索一个射灯,它在房子的一个区域中投射出一束狭窄的探测光束,然后是另一个区域,另一个区域,以及另一个区域,等等,随着光被吸引到其非常小的可见区域边缘的IM区域。如果在任何一点上光束不能落在任何具有IM的区域上,它就会迷失。 Go-Explore更像是在房子的一个房间,然后是相邻的房间,然后是相邻的房间等等,直到整个房子都被照亮。因此,Go-Explore将逐步扩展其所有方向的知识范围,直到找到解决方案。
​ 【phase2】 通过imitation learning的方式进行鲁棒化,与正常的模仿学习的方式不同,Go-Expolore的方法使用的不是人工demonstration而是由phase1生成的demonstration。该阶段的输入是一个或多个回报较高的trajectory,输出是一个能够达到相似表现能力的鲁棒的策略。
二、 Go-Explore 算法​ 算法的主要思路是围绕着如何可靠的记录并且回到promising state。以此为思路可以扩展很多算法。
2.1 Phase1 探索直到问题解决​ Phase1 存储不同的interesting states,论文中称为”Cell”, 并且存储能够到达这些状态的trajectory。
开始的时候只包含初始状态,然后不断重复以下步骤:
​ (1) 从当前archive中选择一个cell
​ (2) 回到cell的状态,并且不加任何随机扰动
​ (3) 从cell状态进行随机探索
​ (4) 新出现的cell和到达cell的trajectory将加入archive中
2.1.1 Cell 表示​ 理论上,人们可以直接在高维状态空间(其中每个Cell正好包含一个状态)中进行run-go探索;然而,这样做在实践中是很难做到的。为了能够在像Atari这样的高维状态空间中进行处理,Go Explore的第一阶段需要一个较低维的空间来进行搜索(尽管最终策略仍将在相同的原始状态空间中发挥作用,在本例中是像素)。因此,单元表示应该合并相似的状态,而不是合并有意义的不同的状态。
​ 这样,一个好的Cell表示应该将观测的维数减少到一个有意义的低维空间。丰富的文献研究如何从像素获得良好的表示。一种选择是从传统的RL算法训练的神经网络中间提取latent code,最大化外在和/或内在motivation,可选地添加辅助任务,如预测奖励。其他选项包括无监督技术,如自动编码或预测未来状态的网络,以及其他辅助任务,如像素控制。
​ 在未来的工作中使用Go-Explore测试这些技术很有趣,对于这些使用Go-Explore的初始实验,我们使用两种不同的表示来测试其性能:一种是不利用对特定游戏的领域知识,另一种则利用易于提供的领域知识。

不使用domain knowledge
在蒙特祖玛的复仇里面,论文采用的是(1)将每帧的图像转为灰度图(2)使用线性插值将灰度图downscale为11x8(3)将像素密度由0255缩放到08之间。

使用domain knowledge
​ 在蒙特祖玛的复仇中,领域知识表示为:agent的xy位置(使用16x16网格离散化), 房间数目,level数,找到钥匙的房间等。
​ 在Pitfall中,领域知识表示为:agent的xy位置,以及房间数
​ 所有这些信息都是用简单的手工编码分类器直接从像素中提取出来的,以检测诸如主要角色的位置等对象,并结合我们对两个游戏中地图结构的了解。虽然Go Explore提供了在第一阶段的cell表示中利用领域知识的机会,但是第二阶段产生的机器人化神经网络仍然只从像素直接播放。

2.1.2 选择Cell​ 在第一阶段的每一次迭代中,都会从archive中选择一个Cell进行探索。这种选择可以使用均匀分布随机地进行,但在许多情况下,我们可以通过创建(或学习)一个启发式的方法来改进基线,使某些Cell优于其他Cell。在初步实验中,我们发现这种启发式方法可以提高均匀随机抽样的性能。具体的启发式定义根据所解决的问题而不同,但在较高的层次上,论文中的启发式为每个被认为更promising的Cell分配一个更高的正权重。例如,由于没有经常被访问,所以这个Cell状态是首选的,这有助于发现一个新的Cell,或期望可以接近未发现的Cell。将所有Cell的权重归一化,以表示下一个选择的每个Cell的概率。没有一个Cell的权重等于0,所以原则上所有单元都可以继续进行进一步的探索。(关于启发式算法细节在后文有详细说明)
2.1.3 利用确定性的Simulator返回到Cell状态​ Go-Explore的一个主要原则是,在从一个Cell进行探索之前,先返回一个Promising cell,而不需要进行额外的探索。Go-Explore的哲学是,考虑到问题的限制,我们应该尽可能容易地回到那个Cell。返回到一个Cell的最简单的方法是,如果世界是确定的和可重置的,这样就可以将Simulator的状态重置为以前访问该Cell的状态。
​ 这里作者提出了两个思路:一个是仅在测试的时候允许随机,第二个是在训练和测试的时候都可以随机。

仅在测试的时候允许随机

​ 由于当前的RL算法可以采取unsafe的action并需要大量的经验来学习,因此在可预见的将来,RL的大部分应用可能需要在模拟器中进行训练,然后才能转移到现实世界(并可选择在现实世界中进行微调)。例如,在将解决方案转移到现实世界之前,大多数机器人学习算法在模拟器中训练;这是因为直接在机器人上学习速度慢、采样效率低、可能会损坏机器人,并且可能不安全。幸运的是,对于许多领域,模拟器都是可用的(例如,机器人模拟器、交通模拟器等)。Go-Explore的一个观点是,我们可以利用这样一个事实,即可以使模拟器具有确定性来提高性能,特别是在困难的探索问题上。对于许多类型的问题,我们需要一个可靠的最终解决方案(例如,一个在自然灾害后能够可靠地找到幸存者的机器人),并且没有理论性的理由去关心我们是否通过最初的确定性训练获得这个解决方案。如果我们能够解决以前无法解决的问题,包括在评估(测试)时是随机的问题,通过使模拟器具有确定性,我们应该利用这个机会。

在训练过程中也需要随机

​ 由于某些情况下无法提供仿真环境,导致算法必须在training的时候使用随机探索。对于这种情况Go-Explore算法也可以应对,其通过训练 goal-conditioned 策略(HER, Universal value function approximators ),该策略能够在探索阶段可靠地返回到archive中的cell,这是一个值得研究的方向。虽然计算成本要高得多,但这种策略会在探索阶段结束时产生完全训练有素的policy,这意味着最终不需要鲁棒化阶段。这里存在一些问题,其中环境具有随机性的形式,阻止算法可靠地返回到特定cell,无论agent采取何种action(例如,在扑克中,没有可靠的行动顺序导致您进入你有两个ace的状态)。
​ 考虑到上述的两种模式,我们现在可以问蒙特祖玛的复仇与陷阱是否代表第一类(我们关心的所有都是对测试时随机性具有鲁棒性的解决方案)或第二类领域(算法必须处理训练时随机性的情况)。本文中的所有结果和声明均适用于在训练期间不需要随机性的版本(即仅在评估期间需要随机性)。在训练是随机的时候应用Go-Explore仍然是不久的将来一个令人兴奋的研究途径。
​ 论文在实验过程中,并没存储到cell的序列,只存了cell可以提高运算效率
2.1.4 从Cell状态开始探索​ 到达Cell状态后,可以应用任何探索方法来寻找新Cell。在这项工作中,agent通过对$k = 100$个训练帧进行随机动作进行探索,在每个训练帧中重复前一个动作的概率为95%(允许agent采取行动的帧,因此不包括任何跳过的帧由于frame skip)。除了达到$k = 100$训练框架的探索限制之外,探索也会在episode结束时中止,导致episode结束的动作将被忽略,因为它不会产生目标Cell。
​ 有趣的是,这种探索不需要神经网络或其他控制器,实际上在本文的任何实验中都没有使用神经网络进行探索阶段(阶段1)(直到第2阶段才开始训练神经网络)。完全随机探索如此有效的事实凸显了在进一步探索之前简单地回到promising Cell的惊人力量,尽管我们认为智能地探索(例如通过训练有素的政策)可能会改善我们的结果并且是未来的研究方向。
2.1.5 更新存储archive​ 更新的两种情况:

agent访问了没在archive中出现过的cell
此时需要存储agent如何到达这个cell 的整个trajectory,当前cell的状态,trajectory的累积回报,trajectory的长度。

新的能到达已存在于archive中cell的trajectory 比之前的trajectory好
好的定义:new trajectory 的分数较高,同等分数时new trajectory的长度较短

​ 此外,将重置影响选择该Cell可能性的信息,包括选择该Cell的总次数和从发现另一个Cell以来选择该Cell的次数。当Cell合并了许多不同的状态时,重置这些值是有益的,因为到达Cell的新方法实际上可能是一个更有前景的垫脚石(因此我们希望鼓励选择它)。我们不重置记录访问Cell次数的计数器,因为这将使最近发现的Cell与最近更新的Cell不可区分,并且最近发现的Cell(即访问计数较低的Cell)更有希望进行探索,因为它们很可能接近我们不断扩大的知识领域的表面。
​ 因为细胞合并了许多状态,所以我们不能保证,如果用一种不同的、更好的方式从A到B,从起始状态 A到 Cell B到 Cell C的trajectory仍然会到达 C;因此,到达Cell的更好的方法并没有被整合到建立在原始轨道上的其他Cell的轨道中。这里还有待研究。
2.2 Phase2: 鲁棒化​ 如果成功,阶段1的结果是一个或多个高性能的trajectory。然而,如果Go探索的第一阶段在模拟器中利用了确定性,那么这样的轨迹对于测试时出现的任何随机性都不具有鲁棒性。第2阶段通过imitation learning 创建一个对噪音具有鲁棒性的策略来解决这一差距。重要的是,在第2阶段中增加了随机性,以便最终策略对其在测试环境中评估时所面临的随机性具有鲁棒性。因此,正在training的policy必须学习如何模拟和/或执行,以及从Go-Explore勘探阶段获得的轨迹,同时处理原始轨迹中不存在的情况。根据环境的随机性,这种调整可能具有很高的挑战性,但是比起从头开始尝试解决稀疏的奖励问题要容易得多。
​ 虽然大多数模仿学习算法可以用于第2阶段,但不同类型的模仿学习算法可以定性地影响最终的策略。试图接近模拟演示行为的LFD算法可能难以改进。为此,我们选择了一个已经证明可以改进的LFD算法:Salimans和Chen提出的反向算法。它的工作原理是在轨迹中的最后一个状态附近启动agent,然后从那里运行一个普通的RL算法(ppo)。一旦算法学会从接近轨迹末端的起始位置获得与示例轨迹相同或更高的奖励,该算法将代理的起始点沿轨迹备份到稍早的位置,并重复该过程,直到最终代理学会获得大于或等于从初始状态开始的整个示例轨迹。请注意,Resnick等人在大约同一时间独立发现了类似的算法。
​ 虽然这种机器人化方法有效地将专家轨迹视为代理的课程,但该策略只进行优化,以最大限度地提高自己的分数,而不是被迫准确地模拟轨迹。由于这个原因,这个阶段能够进一步优化专家的轨迹,并在它们之外进行归纳,这两个都是我们在实验中实际观察到的(第3节)。除了寻求比原始轨迹更高的分数之外,由于它是一种带有折扣因子的RL算法,因此对短期奖励的奖励比之后收集的奖励多,因此它还具有提高奖励收集效率的压力。因此,如果原始轨迹包含不必要的动作(如访问死角和返回),那么在机器人化过程中可以消除这种行为(我们也观察到这种现象)。
三、 关于本论文的争议

tf.slice
函数原型 tf.slice(inputs,begin,size,name=’’)

用途:从inputs中抽取部分内容
inputs:可以是list,array,tensorbegin:n维列表,begin[i] 表示从inputs中第i维抽取数据时,相对0的起始偏移量,也就是从第i维的begin[i]开始抽取数据size:n维列表,size[i]表示要抽取的第i维元素的数目有几个关系式如下:(1) i in [0,n](2)tf.shape(inputs)[0]=len(begin)=len(size)(3)begin[i]>=0 抽取第i维元素的起始位置要大于等于0(4)begin[i]+size[i]<=tf.shape(inputs)[i]

代码:

tf.transpose主要注意多维的时候perm的用法,其实很简单,就是正常perm顺序是[0,1,2],如果原来的shape是2x3x4的,对应的新perm顺序是多少,就把乘数的位置换到多少,也就是perm变成[1,0,2]那么shape就是3x2x4

输出:

tf.nn.conv1d conv1d的参数含义:(以NHWC格式为例,即,通道维在最后)

value:在注释中,value的格式为:[batch, in_width, in_channels],batch为样本维,表示多少个样本,in_width为宽度维,表示样本的宽度,in_channels维通道维,表示样本有多少个通道。

filters:在注释中,filters的格式为:[filter_width, in_channels, out_channels]。按照value的第二种看法,filter_width可以看作每次与value进行卷积的行数,in_channels表示value一共有多少列(与value中的in_channels相对应)。out_channels表示输出通道,可以理解为一共有多少个卷积核,即卷积核的数目。

stride:一个整数,表示步长,每次(向下)移动的距离

padding:同conv2d,value是否需要在下方填补0。 Valid: 用过滤器在输入的矩阵中按步长移动时候,会把最后的不足部分的列和行抛弃;Same: 先在输入矩阵上下各加个值为0的行,在左右各加个个值为0的列,也就是用0把原先的矩阵包裹一层,然后在移动的时候如果输入矩阵的列或者行长度不够,就用0来补齐

name:名称。

测试代码:

输出:

一、fGAN使用JS散度存在的问题当$P_G$分布与$P_{data}$分布没有重叠的时候,此时的JSD恒等于$log2$,这样导致$P_G$分布难以向$P_{data}$进行移动。
而大多数情况下,$P_G$与$P_{data}$是难以重叠的,其原因有两方面理解:

原始数据角度
$P_{data}$与$P_G$和二维图像相似都属于高维空间的低维流形。因而其重叠的部分几乎可以被忽略(三维空间中的两个交叉曲面投影到二维中可能只有两个点是相交的)

采样角度
由于采样的数量较少,而二者重叠的部分又比较小,所以很容易采样出来的都不是重叠部分的,因而会产生不重叠的现象。

二、 WGAN
参考:

使用Wasserstein距离来替代JSD
​ Wasserstein距离又称作是Earth Mover’s 距离,他的目的是考虑一个最小的代价,将$P$分布转换成近似$Q$分布,如果用条形图来表示的话就和搬土块差不多。

​ 这样就带来一个问题,如上图所示,搬土块的方式有很多,那么哪种方式代价最小?这里常用的方式就是穷举moving plans找到一个代价小的方式。
​ 下图就是一个moving plan $\gamma$其中每个小方块代表从P到Q需要搬动多少土,越亮搬得越多,对于P和Q上的每一个Bar都代表着对应的一行或者一列的小方块的累和。那么Wasserstein距离对应的就是求解一个最优化问题,使得穷举出来的不同的moving plan代价最小。

WGAN
那么将Wasserstein距离应用到GAN中,就需要通过$V(G,D)$来评估Wasserstein距离,将原来的JSD换掉。其形式为:

​ 其目标是让在$P_{data}$分布上的D值更大,让在$P_G$分布上的D值更小。

1-Lipschitz条件
Lipschitz function的目的是约束Discriminator函数不要过于崎岖,应该趋于平滑。如果没有进行平滑性约束,D可能在$P_G$部分趋于负无穷,而在$P_{data}$部分趋于正无穷。

Lipschitz function:
当$K=1$的时候称为”1-Lipschitz”,其中不等式左边部分为输出变化率,右边部分为输入变化率,可以看出来该条件是将D的导数约束在-1~1之间。

Weight Clipping
​ 这个是作者在发表论文的时候采取的一种比较粗暴的方式,而且并不能产生真正意义上的1-Lipschitz约束。对于$||f_w||L \leq K​$这个限制。我们其实不关心具体的$K​$是多少,只要它不是正无穷就行,因为它只是会使得梯度变大$K​$倍,并不会影响梯度的方向。所以作者采取了一个非常简单的做法,就是限制神经网络$f\omega​$的所有参数$w_i​$的不超过某个范围$[-c, c]​$,比如$w_i \in [- 0.01, 0.01]​$,此时关于输入样本$x​$的导数$\frac{\partial f_w}{\partial x}​$也不会超过某个范围,所以一定存在某个不知道的常数$K​$使得$f_w​$的局部变动幅度不会超过它,Lipschitz连续条件得以满足。具体在算法实现中,只需要每次更新完$w​$后把它clip回这个范围就可以了。

三、Improved WGAN (WGAN-GP)
原理
先来看一下在WGAN-GP中是如何改进以满足1-Lipschitz条件的。由上面的Lipschitz function可以得到,满足约束条件的等价条件是

​ 也就是说,我们可以通过在原有的V(G,D)上加一个惩罚项,使得其满足上述约束:
​ 由于上述条件说明对于$\forall x​$都满足,而难以实际采样到所有的样本,因而需要使用一个$P_{penalty}​$分布来进行采样。即将上式变成:
​ 在WGAN-GP中采用的$P_{penalty}$是通过$P_G$与$P_{data}$间的随机插值方式进行采样的:

​ 这种方式并不是一个绝对的方式,论文中说明该种采样方式是可以达到一定效果的。

形式改变:

判别器最后一层去掉sigmoid
生成器和判别器的loss不取log
每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行

原始GAN的判别器做的是真假二分类任务,所以最后一层是sigmoid,但是现在WGAN中的判别器$f_w​$做的是近似拟合Wasserstein距离,属于回归任务,所以要把最后一层的sigmoid拿掉。
四、WGAN-GP(GAN的稳定性)WGAN梯度裁剪的问题
梯度裁剪会导致最优化困难。在梯度裁剪约束下,大多数神经网络架构只有在学习极其简单地函数时才能达到k地最大梯度范数。因此,通过梯度裁剪来实现k-Lipschitz约束将会导致critic偏向更简单的函数。如下图所示,在小型数据集上,权重剪枝不能捕捉到数据分布的高阶矩。

算法:

先随机采一对真假样本,还有一个0-1的随机数:
在$x_r$和$x_g$的连线上进行随机线性插值采样:
最终的Loss:

Gradient Penalty 项: $\lambda\mathbb{E}{\hat{x}\sim\mathbb{P}\hat{x}}[(||\nabla_{\hat{x}}D(\hat{x})||2-1)^2]$
Wasserstein 距离项: $\mathbb{E}
{\hat{x}\sim\mathbb{P}g}[D(\tilde{x})]-\mathbb{E}{x\sim\mathbb{P}_r}[D(x)]$

一、 One-shot Learning
解决的问题
使用少量的样本进行快速的学习

解决的方法

Transfer Learning
Meta Learning
One-shot Learning with Memory-Augumented Neural Networks
Optimization as a Model for Few Shot Learning
Model-Agnostic Meta Learning (MAML)

二、Model Agnostic Meta Learning
Intuition
在任务之间的相关性,(Interal representations)
任务之间迁移
类似于迁移学习

Meta Learning
参数对微小的变化敏感
极大的优化了在任何问题上的Loss function

2.1 定义
模型$f(\theta):(x→a)$, 输入$x$, 输出$a$
任务$T ={L(x_1, a_1, . . . , x_H, a_H), q(x_1), q(x_{t+1}|x_t, a_t),H}$ ,其中$L$是trajectory的Loss,其将产生一个针对于特定任务的反馈 ,$H$是episode length,$q(x_1)$是初始observation 分布,$q(x_{t+1}|x_t,a_t)$是状态转移。
对于监督学习任务来说,$H=1$
$P(T)$是模型期望的任务分布,元学习场景中,希望模型能够适应的任务分布。
对于K-shot Learning 来说,在元学习过程中,从$P(T)​$中采样一个任务$T_i​$,模型用$K​$个样本进行训练,然后从$T_i​$对应的Loss中进行feedback,之后在从$T_i​$上采样的新样本上进行测试。

2.2 方法
模型$f_\theta$,当去适应新的任务$T_i$时,模型参数从$\theta$更新为$\theta’_i$:
这里的参数$\alpha​$可以当成变量也可以当成超参数

目标函数(Meta objective)

Meta optimization

直观表示适应过程

0%