GCN
背景
处理图类型的数据上遇到了问题
特征矩阵:N*F的矩阵X,和结构矩阵A来作为输入
传播规则A*X
更新方式分为基于谱
spectral-based GCN
基于谱图
laplacian matrix
节点的度矩阵:对角阵
laplacian matrix 可以被定义为L=D-A
进一步正则化:(带入D-A)
特点:正交矩阵,所以可以进一步分解U^U
为什么要用:可以和spectral domain进行对应
spectral-based GCN
定义图上的傅里叶变化,定义的是x*g传播算法
但是计算开销大,使用切比雪夫多项式近似表示
所以最后x*g的卷积定义为 参数乘T乘L乘x的K个参数的式子累加
例子:空手道俱乐部
半监督学习,link prediction
spatial-based GCN
邻居节点进行聚合
为什么
谱的GCN的缺点:领域相关、扰动敏感、大图难处理
inductive leanring & transductive leanring
不同阶的采样得到中心节点的表征向量,为每个节点都生成表征向量。
inductive leanring:无监督学习
transductive leanring
Embedding test:graphSAGE
hash会对WL算法产生影响,所以用网络来学习代替hash函数
对比的baseline是deep walk
LGCN
邻居节点数量不定且无顺序,这篇把图结构的数据变成grid-like的数据
数量不定且无顺序:k largest node select
大图:subgraph training
发在KDD 2018。图中节点的邻节点数目是不确定的,邻节点之间也没有任何顺序可言。这2点对GCN提出了很大的挑战。该文提出的LGCNs模型能够基于数值排序的方法自动选择固定数目的邻居节点作为GCN的输入特征,从而解决了上述2个难点并使用常规的卷积操作来进行图编码,并使用子图训练方法来使LGCNs能够适用于大图(large-scale graphs)训练。
marl
background
mdp的一些定义
部分可观察的马尔科夫过程,完全合作的
coordination
maddpg
集中式学习分布式执行
第一篇,用attention做策略估计,条件估值
第二篇,不同agent的联合信息
足球:只用关注某些球员,而非全部
maddpg不具有良好的泛化性
credit assignment in marl
优化长期累积收益,agent只能收到局部信息。
分为差异奖励和对q value(长期累积收益)分解
Value-Decomposition Networks For Cooperative Multi-Agent Learning
发现low level的架构在所有任务上都比high level好
Counterfactual Multi-Agent Policy Gradients
差异奖励。构造baseline的方式,就是构造default action
COMA学习一个集中式的critic,就是Q。当前策略下的动作分布依次去计算Q。相对于当前策略的优势。
星际:分布式的微观管理。
反事实思维(Counterfactual)
QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning
也是星际任务,Background:把 fully cooperative multi-agent task 多智体问题考虑成Dec-POMDP问题(部分可观察马尔可夫决策过程)。
只是基于自身的历史信息,缺乏正取评估不是很准。所以用qmix放缩,只假设和qy成正相关。
用Value Decomposition Networks(VDNs)值分解网络。
QMIX:三个网络。但是 QMIX(因为要满足单调性)对式子充分但不必要。介于 IQL 与 centralised Q-learning (应该是动作空间相互耦合)之间,让这个函数随着每个智能体值函数有单调性。(核心)。不是线性加和得到q total。是mixing Network 中的参数必须限制为非负的,这样就可以逼近任意非负函数
单调性使得分布式策略和总体策略是一致的啊。所以必须保证单调性。
左边网络接收输入就是q,参数是通过hypernetwork产生的,从而保证参数非负。(激活函数单调)
exploration in rl
Exploration是一件很重要同时也很困难的事情。与其他机器学习范式相比,RL通常只知道某个动作的能得多少分,却不知道该动作是不是最好的——这就是基于evaluate的强化学习与基于instruct的监督学习的根本区别。
正因如此,RL的本质决定了它极其需要Exploration,我们需要通过不断地探索来发现更好的决策,或者至少证明当前的决策是最好的——所以Exploration-Exploitation成为了强化学习领域诸个Tradeoff中最出名的一个。
Exploration是尝试新的东西,本质上是为了获取更多信息。各种Exploration方法的核心就是用尽可能少的代价获得尽可能有价值的信息。
count based exploration
ICM好奇心机制
curiosity这种intrinsic reward是基于智能体对下一步预测与实际下一步状态差距来定义的。不过之前的文章提到这种定义会出现的一个问题,那就是当环境出现与智能体无关的随机性的时候,智能体会因为始终不能预测下一步的状态,而卡在相应的位置。这篇文章就解决了这个问题。
反向模型来解决这个问题。关注随机性的部分就不能产生动作。inverse model更关注动作,其表示自然会不去包含与其无关的内容。通过求min(ahat和a)来迫使不去包含与其无关的内容。不希望考虑既不能被控制也不能影响智能体的部分。
RND:Random Network Distillation
好几种intrinsic reward的设计模式了,比如基于动力学模型预测误差的(Curiosity、ICM);基于各种信息增益的(Empowerment、VIME),这里的方法又是一种新的设计模式。
其设计的初衷主要还是基于对状态访问计数(count-based),但由于是高维连续空间,这个计数更多地可以看做是密度估计。如果类似的状态之前访问地少,那么说明这个状态比较新奇,那么就给予比较高的intrinsic reward。文章用了一个比较机智的方法来快速地估计某个状态是不是之前出现的比较少。
同时使用intrinsic reward和extrinsic reward
Diversity-based exploration
第二类方法是基于多样性的方法。这类方法的思想是尽量让agent学到的策略和之前的策略尽量不同。今天介绍的这个方法就是基于这个思想。它同过给通常RL优化的loss额外的加上正则项,来迫使agent去寻找新的策略。这里的D是用来衡量策略之间的差距的一个距离,根据不同的算法,D的计算方式也各不相同。
Diversity-driven exploration strategy for DRL
Hindsight Experience Replay
处理的是特殊的任务–多目标的任务。任务是将绿色的物体推到红色的小球所在的位置,小球的位置是随机生成的,每一个小球的位置就对应一个目标(goal),我们的任务是训练一个策略能够应对所有的这些目标。环境的reward是稀疏的,只有在完成目标时才能获得reward。
我们先来看下multi-goal下的RL的一般做法。
在普通的RL设置下,我们选择一个动作,只需要根据当前的状态,但是在multi-goal的setting下,我们选择动作不光依赖当前的状态,还要依赖我们的目标。所以我们的Q函数和策略都加入了额外的一项来表示当前的目标
gan
与其他生成式模型相比,GAN这种竞争的方式不再要求一个假设的数据分布,即不需要formulate p(x),而是使用一种分布直接进行采样sampling,从而真正达到理论上可以完全逼近真实数据
cGAN
对generator和discriminator都加了一个condition,使得数据集是有标签的
ACGAN = cGAN+SGAN
输出有分支,是否真假、标签。
对于生成器来说有两个输入,一个是标签的分类数据c,另一个是随机数据z。
对于判别器分别要判断数据源是否为真实数据的概率分布,以及数据源对于分类标签的概率分布。
第一部分 L_S 是面向数据真实与否的代价函数,第二部分 L_C 则是数据分类准确性的代价函数。在优化过程中希望判别器D能否使得 L_C+L_S 尽可能最大,而生成器G使得 L_C-L_S 尽可能最大;简而言之是希望判别器能够尽可能区分真实数据和生成数据并且能有效对数据进行分类,对生成器来说希望生成数据被尽可能认为是真实数据且数据都能够被有效分类。
InfoGAN
让网络学习到了可解释的特征表示。
作者把原来的噪声输入分解成两部分:一是原来的z;二是由若干个latent variables拼接而成的latent code c,这些latent variables会有一个先验的概率分布,且可以是离散的或连续的,用于代表生成数据的不同特征维度,比如MNIST实验的latent variables就可以由一个取值范围为0-9的离散随机变量(用于表示数字)和两个连续的随机变量(分别用于表示倾斜度和粗细度)构成。
作者从信息论中得到启发,提出了基于互信息(mutual information)的正则化项。c的作用是对生成数据的分布施加影响,于是需要对这两者的关系建模,
gail
逆向强化学习:RL是通过agent不断与environment交互获取reward来进行策略的调整,最终得到一个optimal policy。但IRL计算量较大,在每一个内循环中都跑了一遍RL算法。 IRL不同之处在于,无法获取真实的reward函数,但是具有根据专家策略得到的一系列轨迹。假设专家策略是真实reward函数下的最优策略,IRL学习专家轨迹,反推出reward函数。
挺难的,这里没听懂。
gan in nlp
challenge:gan的问题,梯度不可回传,所以使用vae的mle。但这样training和inference的loss不一样。这样在优化目标的时候又有人提出一些rl的方法,但这样不是真实的评分,因为评分不一定足够好。同时,word level的reward是需要的。
seqgan
首先如何解决离散数据梯度无法回传给Generator的问题:将Generator的优化转化为最大化rewards,然后利用policy gredient优化Generator就可以了。
其次seqGAN作者还指出Discriminator只能对完整的句子进行判断,而无法判断部分句子的好坏,而实际上一个句子并不是全部都很差,而仅仅其中部分不好而已:当解码到t时,即对后面T-t个timestep采用蒙特卡洛搜索搜索出N条路径,将这N条路径分别和已经decode的结果组成N条完整输出,然后将D网络对应奖励的平均值作为reward.因为当t=T时无法再向后探索路径,所以直接以完整decode结果的奖励作为reward。蒙特卡洛搜索是指在选择下一个节点的时候用蒙特卡洛采样的方式,而蒙特卡洛采样是指根据当前输出词表的置信度随机采样。
dpgan
sentigan
rankgan
leakgan
长文本生成和稀疏信息的问题
稀疏信息是每次只给一个reward。图片是梯度连续的,图片的每个pixel都是有梯度的,但是句子只有十几个,远远小于连续的数据。即序列生成过程中缺乏一些关于序列结构的中间信息的反馈。所以用层级强化学习,包括 Manager 模块和 Worker 模块。
判别器会在中间时间步泄露一些提取的特征给生成器,生成器则利用这个额外信息指导序列的生成。