上周我们与大家分享了,微软亚洲研究院入选 NeurIPS 2020 的目标检测工作。今天,我们精选了微软亚洲研究院入选 NeurIPS 2020 中有关强化学习和生成式对抗网络 GAN 领域的工作,为大家进行介绍。
RD$^2$: Reward Decomposition with Representation Disentanglement
基于表示分解的奖励分解
论文链接:https://paperswithcode.com/paper/rd-2-reward-decomposition-with-representation
强化学习算法可以由更细粒度的奖励函数大幅提升样本效率,但自主学习该细粒度奖励函数的方法目前还很不成熟。在此前的工作中,尚未有广泛通用的学习细粒度奖励函数的工作。Hybrid Reward Structure (HRA) 中,细粒度奖励函数是手动给出的,并且验证了细粒度奖励函数对样本效率的提升。而 Independently-Obtainable Reward Functions, DRDRL 则是将细粒度奖励函数的学习与玩家的策略绑定,该做法的好处是便于定义,但与此同时缺乏了通用性且难以在下游任务中利用。
算法RD$^2$
受到最近关于非耦合表示(disentangled representation)工作的启发,微软亚洲研究院的研究员们提出了新算法 RD$^2$。该算法能够以更通用的方式来定义并学习一个最优细粒度奖励函数,而非受限于手动给出或依赖于强化学习本身的策略。
该研究提出的最优细粒度奖励函数的定义主要基于以下几点:
原奖励函数可线性分解为多个具有“独特性”的子奖励函数;
该线性分解不能是简单的;
该线性分解需要是最简的。
为了便于大家理解,这里用以一个简单的游戏作为例子(如下图所示)。该游戏的规则为玩家碰到金块获得1分,碰到怪物获得-1分。
理想的最优细粒度奖励函数是将金块相关的分数与怪物相关的分数分到两个不同的子奖励函数上。以下展示了三种奖励分解,以及与每个子奖励相关的子状态:在情况1中,两个子奖励函数都包含了金块部分的奖励,因此第二个子奖励不独特;情况2是一种简单的分解,即令其中一个子奖励函数等于原奖励函数;情况3则是满足上述最优细粒度奖励函数的一种情况。
情况1:
情况2:
情况3:
将该认识以严谨的数学语言表达出来,就形成了以下定义:
由于直接计算或估算信息熵的代价往往较为巨大,所以研究员们给出了深度学习情况下无需计算信息熵的近似优化目标:
实验结果
研究员们在简单任务(前文提到的游戏)和复杂任务(Atari 游戏)上分别进行了实验。在简单任务上,输入玩家、金块、怪物的位置坐标,输出预测的两个子奖励,用研究提出的优化目标训练网络。训练结果如图1所示,可以看到通过优化,能够学出来最优的掩码:网络输出的第一个分支包含了玩家和金块的位置坐标,网络输出的第二个分支包含了玩家和怪物的位置坐标。同时,如表1所示,算法可以精确地将两种子奖励分开。
图1:简单任务上的训练曲线图
表1:简单任务上的奖励分解
在复杂任务 Atari 游戏上则在具有子奖励的一些环境上进行实验。为了带来更强的表达力,研究员们引入了状态依赖的掩码(mask)网络,并在实验中,用 Rainbow 和 DRDRL 作为基线算法。首先,用 RD$^2$ 学习奖励分解,图2展示了分解的效果,可以看到,在复杂的图像任务上,算法 RD$^2$ 同样能够比较精确地把不同的自奖励区分开,这也证明了该算法的有效性。
图2:分解效果展示
为了进一步理解算法 RD$^2$ 的优势,研究员们用显着图 (saliency map)对网络的不同分支做了可视化,尝试观察不同分支所关注的输入。如图3所示,不同的分支会关注输入的不同部分,进而帮助该分支预测其对应的子奖励。这证明了该算法可以学出有意义的非耦合表示。
图3:不同分支可视化
最后,研究员们尝试用学习出来的子奖励分解直接训练子 Q 网络 (sub-Q network),用以下的 sub-Q TD error 作为额外的优化目标。
Sampling-Decomposable Generative Adversarial Recommender
如何为推荐系统的训练快速生成并有效利用负样本?
论文链接:https://arxiv.org/abs/2011.00956
代码链接:https://github.com/BinbinJin/SD-GAR
IRGAN 是第一篇将生成式对抗网络(GAN)框架应用于信息检索(包括推荐系统)的研究工作。在该工作中,IRGAN 训练了一个生成器和一个判别器,其中生成器用来自适应地生成合适的负样本以帮助判别器训练;而判别器则是用来判断样本是来自用户真实的反馈还是生成器生成的样本。通过两者交替式对抗性地训练达到互相提升效果的目的。
通过对 IRGAN 的理论分析,可以发现其存在两个局限性:
在 IRGAN 中,最后采用生成器用于推荐,然而生成器是用来生成负样本的,判别器应当真正地用于推荐。在真实情况中,判别器用于推荐的效果并不好,可能的原因是通过训练得到的生成器与最优形式的生成器存在一定的偏差,最终导致判别器无法训练的非常好。
由于生成器得到的分布是需要经过 softmax 操作的,因此从生成器中进行采样是非常费时的,尤其当商品数量达到百万、千万级别时,采样的效率非常低。
为此,为了克服 IRGAN 中存在的局限性,微软亚洲研究院和中国科学技术大学的研究员们提出了采样可分解的生成对抗推荐系统 SD-GAR。
SD-GAR
图5:SD-GAR 框架图
从对 IRGAN 的理论分析可知,生成器的最优形式为 P_(G_T^⋆ ) (⋅│c)。为了避免每次对大量的商品使用softmax操作,所以引入另一个生成器 Q_G (⋅│c) 来估计 P_(G_T^⋆ ) (⋅│c)。同时,为了补偿两者之间的偏差,微软亚洲研究院的研究员们提出使用自归一重要性采样来估计目标函数:
为了进行优化,研究员们提出用交替优化算法。假设用户数为 N,商品数为 M,隐向量维度为 K,商品采样数量为 |S_c|,用户采样数量为 |S_i|,SD-GAR 的时间复杂度为 O(NK|S_c|+MK|S_i|)。由于 K、|S_c|、|S_i|≪N,M,因此训练生成器非常高效。
IRGAN 的时间复杂度是 O(NMK),因此 SD-GAR 算法相比于 IRGAN 是更加高效的。
实验结果
研究员们在 CiteULike、Gowalla、Amazon、MovieLens10M、Echonest 五个数据集上进行了验证。从表2上可以看到,算法 SD-GAR 显著优于 SA、IRGAN、DNS、CML、WARP、AOBPR、BPR 等推荐算法。相比于最好的基准算法 SA,其在NDCG@50 指标上要平均高出10.5%。
在算法效率上,对比 SD-GAR 和 IRGAN 在判别器和生成器上的训练速度。如图6左所示,在 Amazon(Echonest)数据集上,SD-GAR 的训练速度要明显快于 IRGAN。在图6右中可以看出随着商品数量的增加,SD-GAR 的训练时间增长率(实线)要明显低于 IRGAN 的训练时间增长率(虚线)。
表2:和基准算法的对比
图6:时间开销对比
Learning Semantic-aware Normalization for Generative Adversarial Networks
走向更加真实、可控的图像生成:语义感知生成模型
代码链接:https://github.com/researchmm/SariGAN
图像生成任务旨在学习从隐空间到图像空间的映射,而图像空间是由语义组成的。将隐空间根据这些语义进行解耦可以大大简化生成任务:从学习隐空间对语义组合的映射简化为学习隐空间对每个语义的映射。
基于语义对隐空间解耦,需要两步:1)找到生成网络中与语义相关的表达并将不同语义分开;2)挖掘并利用以上语义表达和隐空间的关系。
对于第一步,通过训练生成式对抗网络(GAN)可以得到粗略的语义表达。于是微软亚洲研究院的研究员们设计了一个基于相似度的语义分组模块,这个模块的基本想法是:如果两个卷积通道的语义相似,那么它们的分组信息也应该相似。使用 MSE 损失对此进行约束,通过优化可以得到每层卷积中各个通道的分组信息。
对于第二步,AdaIN 操作提供了解决思路。AdaIN 操作逐通道得对卷积通道和隐空间进行融合,由此,卷积通道的语义就可以传递到隐空间。研究员们提出让学到的语义分组信息在此融合过程中发挥作用。具体来说,就是用 Group AdaIN 融合每一个语义的隐空间信息和对应语义的卷积通道:
此外,研究员们还设计了一种 AdaGN(自适应分组归一化)操作,通过学习并控制不同组之间的相对重要性将不同组的特征进行融合:
最后,三个损失函数被提出用来优化整个网络:对抗损失,分组损失,以及互信息损失:
以上设计可以使网络对隐空间基于语义解耦,从而生成更真实的图像,并且进行语义级别的控制。整个框架图如图7所示:
图7:语义感知生成模型框架图
实验结果
研究提出的模型在 FFHQ、LSUN CARS 和 LSUNCATS 三个数据集上进行了实验测评,通过图8可以看到该模型可以生成照片级别真实的图像。
图8:可感知语义生成模型在两个数据集上的可视化结果图
图9:可感知语义生成模型和 StyleGAN2 在 LSUN CATS 数据集上的可视化对比结果
图9展示了可感知语义生成模型和 StyleGAN2 在 LSUN CATS 数据集上可视化的对比结果。可以看到,在同样的迭代次数下,该模型可以达到更好的 FID,生成更加真实自然的图片。
此外,实验还在基于条件的图像生成任务(图像修复)上进行,如图10所示,可感知语义生成模型可以更好地修复图像。
综上,通过设计语义分组模块和基于分组的隐空间/卷积特征融合方式,可以将语义解耦引入生成网络中,从而生成更真实的图像,并且可以对生成的图像进行语义级别的控制,从而进行图像编辑。