A Simple Review of Pre-training Models for Dialogue System
Large-scale transfer learning for natural language generationGolovanov S, Kurbanov R, Nikolenko S, et al. Large-scale transfer learning for natural language generation[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. 2019: 6053-6058.
这是一篇将预训练模型应用到NLG任务的较早研究,主要探索了如何使单输入预训练模型适用于下游多输入生成任务
以对话系统为例,其输入包括:知识库中的知识、对话历史和已生成的输出token序列
文章提出了两种基本方案
single-input model
不改变预训练模型结构,仅将输入进行拼接作为前缀,预训练模型的目标使对其进行续写
为了区分该前缀中的异构上下文(heterogeneous contexts),文章列出了几种方法:
(1) 使 ...
Spectral-based ConvGNN基础
相关论文链接:
GNN综述:A Comprehensive Survey on Graph Neural Networks
初代Spectral-based ConvGNN:Spectral Networks and Deep Locally Connected Networks on Graphs
无向图的拉普拉斯矩阵拉普拉斯算子拉普拉斯算子定义为空间标量函数梯度的散度,设有多元函数$f(x_1,…,x_n)$,则其拉普拉斯算子定义为
\nabla^2 f=\sum_{i=1}^n\frac{\partial^2 f}{\partial x_i^2}我们知道标量场在某点的梯度是一个向量,指向该点处变化率最大的方向,模为对应的最大变化率
而向量场在某点的散度是一个标量,描述该点是“正源”还是“负源”,或者说散度是通量的体密度
因此简单来说,拉普拉斯算子描述了标量函数 $f$ 在每一点处的“源”特性
例如对空间温度函数$T(x,y,z)$,拉普拉斯算子$\nabla^2 T$就描述了空间每一点倾向于吸热还是散热
离散函数的拉普拉斯算子离散函数的导数可以通过泰勒展开来近似
f(x+\D ...
强化学习(4)- Policy Gradient and Actor-Critic
Policy Gradientpolicy-based RL的目标是直接使用一个参数化函数$\pi(a|s,\theta)$对最优策略$\pi^*$进行近似
这个目标可以视为一个优化问题,假设$J(\theta)$是某个特定metric,最优策略可通过梯度法逼近
\theta \leftarrow \theta +\alpha \nabla_{\theta}J(\theta)这种方法称为策略梯度(Policy Gradient)方法
我们知道state-value $v_{\pi}(s)$衡量了在策略$\pi$控制下处于状态$s$有多好,于是期望state-value就衡量了策略$\pi$有多好
\overline{v_{\pi}}=\sum_{s\in S}d(s)v_{\pi}(s)=E_{s\sim d}[v_{\pi}(s)]其中状态$s$的分布$d(s)$有两种情况
$d(s)$与策略$\pi$独立。这种情况可以假设均匀分布$d(s)=\frac{1}{|S|}$,或者只关心初始状态$d(s_0)=1,d(s\neq s_0)=0$
$d(s)$依赖于策略$\pi$。这 ...
强化学习(3)- TD learning
TD Learning是Value-based RL最常用的算法
Value-based RL的目标是学习最优Q函数$Q^*(s,a)$
然后选择使得Q值最大的动作$a_t=\arg\max_a Q^*(s_t,a)$作为最优策略
我们首先介绍TD Learning的思想,然后介绍几个重要的TD方法——SARSA、Q-learning和DQN
Temporal Difference Learning时序差分学习(TD Learning)指的是一类算法,其通过自举(bootstrapping)的方式学习value function
我们首先通过一个例子来说明其思想,假设我们需要估计开车从A地到B地的时间$V(A)$,初始估计值$V(A)=10 h$
MC方法的思路是直接完成一次从A地到B地的路程,得到实际的总路程时间$8h$
实际时间与估计值误差为$2h$,于是更新估计值$V(A)\leftarrow 10-2\alpha$,其中常数$\alpha$可视为学习率
而TD Learning的思路是,先从A地开到位于A、B中间的C地,获得其实际路程时间$2h$
设C地到B地的预测时间为$V( ...
强化学习(2)- DP and MC
动态规划(DP)和蒙特卡洛(MC)都是RL的早期方法,虽然早已不再使用,但它们仍是后续一系列方法的重要基础
DP和MC都属于表格方法(tabular method),因为其假设MDP的状态空间和动作空间均离散且非常小,从而value function的取值可以用一个表格表示
与之相对的,近似方法(approximation method)用于解决状态/动作空间连续或非常大的情况,其使用一个参数化函数$f(s,a,\theta)$来近似value function
DPDP方法是一类model-based方法,即MDP的状态转移概率已知
这里介绍两个DP方法——策略迭代 (Policy Iteration) 和值迭代 (Value Iteration)
策略迭代方法迭代地进行如下两步以使策略收敛至最优
策略评估 (Policy Evaluation) :对于当前策略$\pi$,计算所有状态对应的state-value $V_{\pi}(s)$
策略提升 (Policy Improvement) :利用策略评估得到的$V_{\pi}(s)$为每个状态寻找更优的策略
值迭代方法直接迭代得 ...
强化学习(1)- 基础
基本概念和术语强化学习 (Reinforcement Learning, RL) 是一种基于行为主义的机器学习方法,其本质是通过交互进行试错学习
RL使用一个由算法控制的智能体agent与环境environment进行互动,互动过程包含下面这些概念:
state:状态$s_t$表示timestep $t$ 时的完整环境信息
observation:观测$o$表示状态$s$对agent可见的部分(大多数文献都将两者视为同一概念,并直接用$s$表示)
action:动作$a_t$是agent观察到状态$s_t$后采取的行动,所有可能的动作集合称为动作空间
policy:策略控制agent在状态$s_t$下如何选择动作$a_t$,策略可能是确定性的,即$a_t=\pi(s_t)$;或随机性的,即$a_t\sim \pi(a|s_t)$
reward:奖励$r{t+1}$是采取动作$a_t$后产生的反馈,可表示为$r{t+1}=R(at,s_t,s{t+1})$,这是RL进行学习的依据
trajectory:轨迹$\tau=(s_0,a_0,s_1,a_1\cdots)$表示agent与环境 ...
Memory Networks
Memory NetworksWeston J, Chopra S, Bordes A. Memory networks[J]. arXiv preprint arXiv:1410.3916, 2014.
传统的机器学习模型都没有记忆模块,像RNN这样的模型虽然有一定的记忆能力,但是长期记忆能力仍然很弱
Memory networks首次提出了具有记忆模块的模型
该模型的记忆模块$m$类似于计算机内存,是一个由$m_i$索引的数组
模型由$I,G,O,R$四个部分组成:
I:input feature map,将输入转换为内部特征表示,记为$I(x)$
G:generalization,根据新的输入更新$m$,即$m_i=G(m_i,I(x),m)$
O:output feature map,根据$m$和当前输入产生输出的特征表示$o=O(I(x),m)$
R:response,将output feature转换为期望的输出形式$r=R(o)$
显然这样的模型难以端到端训练
End-to-End Memory networksSukhbaatar S, Weston J, Ferg ...
A Simple Review of Spatial-based ConvGNN
相关文章:Spatial-based ConvGNN基础
DCNN论文:[1] Diffusion-convolutional neural networks [2] Diffusion convolutional recurrent neural network Data-driven traffic forecasting
DCNN (Diffusion CNN) 最早由[1]提出
DCNN假设图信号在节点间的转移是一个扩散过程
令$P=D^{-1}A$为归一化转移概率矩阵,$P_{ij}$表示任意时刻信息从节点$i$转移到节点$j$的概率
容易看出矩阵$P$实际上就是邻接矩阵$A$的行归一化形式
扩散过程实际上是一个以$P$为转移概率的马尔科夫链,那么时刻$k$的节点间的扩散概率为$P^k$
于是$k$跳的图扩散卷积定义为
\mathbf{H}^{(k)}=f(\mathbf{W}^{(k)}\odot \mathbf{P}^k\mathbf{X})其中$\odot$表示元素对应相乘
容易发现$H^{(k)}$的计算没有用到上一层表示$H^{(k-1)}$,且和$X$维度相同
...
Spatial-based ConvGNN基础
相关论文链接:
GNN综述:A Comprehensive Survey on Graph Neural Networks
NN4G:Neural Network for Graphs: A Contextual Constructive Approach
MPNN:Neural message passing for quantum chemistry
Spatial-based ConvGNN和spectral-based不同,Spatial-based直接将图像卷积推广到了图上
CNN中卷积操作通过计算$k\times k$小区域中像素值的加权平均作为其中心点的卷积值
类似的,Spatial-based ConvGNN将中心节点及其邻居节点的特征分别处理并进行聚合(称为aggregation,例如求和、平均、加权等)后作为中心节点的卷积值
以下做一个统一的符号定义
$\mathbf{x}\in R^n,\mathbf{X}\in R^{n\times d}$分别表示原始的单通道/多通道图节点特征,$\mathbf{x}_v\in R^d$表示节点$v$的原始节点特征,$\mat ...
ChebNet and GCN
相关论文链接:
GNN综述:A Comprehensive Survey on Graph Neural Networks
ChebNet:Convolutional neural networks on graphs with fast localized spectral filtering
GCN:Semi-supervised classification with graph convolutional networks
Spectral-based ConvGNN一般形式为
\mathbf{x}*\mathbf{g}_{\theta}=\mathbf{U}\mathbf{g}_{\theta}\mathbf{U}^T\mathbf{x}其中$\mathbf{g}_{\theta}=diag(\mathbf{U}^T\mathbf{g})$为卷积核
ChebNetSpectral-based ConvGNN原始形式中的卷积核$\mathbf{g}_{\theta}(\Lambda)=diag(\theta_1,…,\theta_n)$存在两个问题
非局部化,即每次卷积都用 ...