【论文笔记】Diffusion Convolutional Recurrent Neural Network: Data-driven Traffic Forecasting

Diffusion Convolutional Recurrent Neural Network: Data-driven Traffic Forecasting

摘要

交通预测的挑战:

  • 复杂的路网空间依赖关系;
  • 非线性时间的道路状况动态变化;
  • 长时预测的困难性。

DCRNN能够利用图上的双向随机步长捕获空间依赖,并利用encoder-decoder结构进行时间依赖的获取。

方法论

在该文章中,实验者利用有向图来表示交通传感器间的成对空间相关性,图中结点是传感器,边缘权值是传感器间的距离。同时,实验者将交通流动力学建模为一个扩散过程,提出了扩散卷积运算来捕捉空间依赖性。

  • 文章将交通的空间依赖建模为一个在有向图上的扩散过程,提出了扩散卷积;
  • 文章提出了DCRNN,使用扩散卷积来捕获空间和时间依赖;
  • 进行了实验,甚好。

交通预测问题

将传感器网络作为一个有权有向图 G = ( V , ε , W ) \mathcal{G}=(\mathcal{V},\varepsilon,\mathbf{W}) G=(V,ε,W),其中 V \mathcal{V} V是结点集合,范数为 N N N ε \varepsilon ε是边的集合, W ∈ R N × N \mathbf{W}\in \mathbb{R}^{N\times N} WRN×N是权重邻接矩阵。图 G \mathcal{G} G上的交通流被视作图信号 X ∈ R N × P \mathbf{X}\in \mathbb{R}^{N\times P} XRN×P,其中 P P P是结点特征的数量。

空间依赖建模

扩散过程是一个在图 G \mathcal{G} G上概率为 α ∈ [ 0 , 1 ] \alpha\in [0,1] α[0,1]随机的步长,并利用一个状态转移矩阵 D O − 1 W \mathbf{D^{-1}_O}\mathbf{W} DO1W,其中 D O = d i a g ( W 1 ) \mathbf{D_O}=diag(\mathbf{W1}) DO=diag(W1)是一个出度对角矩阵。经过多次时间步后,该马尔可夫过程就会收敛到一个稳定分布 P ∈ R N × N \mathcal{P}\in \mathbb{R}^{N\times N} PRN×N,其中 P i ∈ R N \mathcal{P}_i\in \mathbb{R}^N PiRN代表从结点 v i ∈ V v_i \in \mathcal{V} viV扩散的可能性。

引理2.1:
P = ∑ k = 0 ∞ α ( 1 − α ) k ( D O − 1 ) W ) k \mathcal{P}=\sum^{\infty}_{k=0}\alpha(1-\alpha)^k(\mathbf{D^{-1}_O})\mathbf{W})^k P=k=0α(1α)k(DO1)W)k
其中 k k k是扩散步数。在实验中,实验者使用了有限的 K K K步扩散过程,并且在每一步中分配了可训练的权重。同时实验中还包括了反向扩散,来增加灵活性。

扩散卷积:
X : , p ⋆ G f θ = ∑ k = 0 K − 1 ( θ k , 1 ( D O − 1 W ) k + θ k , 2 ( D I − 1 W T ) k ) X : , p f o r p ∈ { 1 , ⋯   , P } X_{:,p}\star_\mathcal{G}f_\theta=\sum^{K-1}_{k=0}(\theta_{k,1}(\mathbf{D_O^{-1}W})^k+\theta_{k,2}(\mathbf{D_I^{-1}W^T})^k)X_{:,p}\qquad for\quad p\in \{1,\cdots,P\} X:,pGfθ=k=0K1(θk,1(DO1W)k+θk,2(DI1WT)k)X:,pforp{1,,P}
其中, θ ∈ R K × 2 \theta\in \mathbb{R}^{K\times 2} θRK×2是滤波器参数, D O − 1 W , D I − 1 W T \mathbf{D_O^{-1}W},\mathbf{D_I^{-1}W^T} DO1W,DI1WT代表扩散过程的转移矩阵和其倒数。

扩散卷积层:

扩散卷积层可以将 P P P维特征映射为 Q Q Q维输出,参数张量 θ ∈ R Q × P × K × 2 = [ θ ] q , p \theta\in \mathbb{R}^{Q\times P\times K\times 2}=[\theta]_{q,p} θRQ×P×K×2=[θ]q,p,其中 θ q , p , : , : ∈ R K × 2 \theta_{q,p,:,:}\in \mathbb{R}^{K\times 2} θq,p,:,:RK×2是第 p p p个输入、第 q q q个输出对应的卷积核。
H : , q = a ( ∑ p = 1 P X : , p ⋆ G f θ q , p , : , : ) f o r q ∈ { 1 , ⋯   , Q } H_{:,q}=a(\sum^{P}_{p=1}X_{:,p}\star_\mathcal{G}f_{\theta_{q,p,:,:}})\qquad for \quad q\in\{1,\cdots,Q\} H:,q=a(p=1PX:,pGfθq,p,:,:)forq{1,,Q}
其中 X ∈ R N × P X\in\mathcal{R}^{N\times P} XRN×P是输入, H ∈ R N × Q H\in\mathbb{R}^{N\times Q} HRN×Q是输出, { f θ q , p , : , : } \{f_{\theta_q,p,:,:} \} {fθq,p,:,:}是核, a a a是激活函数。

时间动态建模

实验者采用GRU并将GRU中的矩阵相乘替换为了扩散卷积。
r ( t ) = σ ( θ r ⋆ G [ X ( t ) , H ( t − 1 ) ] + b r ) r^{(t)}=\sigma(\theta_r\star_\mathcal{G}[X^{(t)},H^{(t-1)}]+b_r) r(t)=σ(θrG[X(t),H(t1)]+br)
u ( t ) = σ ( θ u ⋆ G [ X ( t ) , H ( t − 1 ) ] + b u ) u^{(t)}=\sigma(\theta_u\star_\mathcal{G}[X^{(t)},H^{(t-1)}]+b_u)\\ u(t)=σ(θuG[X(t),H(t1)]+bu)
C ( t ) = t a n h ( θ C ⋆ G [ X ( t ) , ( r ( t ) ⊙ H ( t − 1 ) ) ] + b c ) C^{(t)}=tanh(\theta_C\star_\mathcal{G}[X^{(t)},(r^{(t)}\odot H^{(t-1)})]+b_c)\\ C(t)=tanh(θCG[X(t),(r(t)H(t1))]+bc)
H ( t ) = u ( t ) ⊙ H ( t − 1 ) + ( 1 − u ( t ) ) ⊙ C H^{(t)}=u^{(t)}\odot H^{(t-1)}+(1-u^{(t)})\odot C H(t)=u(t)H(t1)+(1u(t))C
其中 X ( t ) , H ( t ) X^{(t)},H^{(t)} X(t),H(t)表示时间 t t t时的输入和输出, r ( t ) , u ( u ) r^{(t)},u^{(u)} r(t),u(u)是时间 t t t时的reset gate和update gate。

在测试时,ground truth被预测所取代,训练和测试的输入分布间的差异回导致性能下降。为了整合这一问题,实验者进行了scheduled sampling,也就是说以概率 ϵ i \epsilon_i ϵi选择使用ground truth或者预测。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值