原文題目 : Neural Relational Inference for Interacting Systems

1。 Introduction

1。1 一些先行研究

Use a implicit interaction model to learn a interacting system。

一些使用隱含互動模型去學得一個互動系統的動態模型。

This kind of model can be seen as a graph nerual network

這些模型可以看做是在 fully-connected graph 中 message passing 的 graph neural networks。

互動的方式

被 message passing function隱式地模型化。

Learning multiagent communication with backpropagation。

Permutation-equivariant neural networks applied to dynamics prediction。

A simple neural network module for relational reasoning。

Visual interaction networks: Learning a physics simulator from video。

在注意力機制下被模型化

Attentional multi-agent predictive modeling。

Unsupervised discovery of objects and their interactions

1。2 模型描述

推斷出一個顯性的互動結構, 與此同時學得一個互動系統動態模型. (利用非監督的方法)

我們的神經關係推理模型, 透過GNN在一個離散的潛在圖上學得了動力學系統機制。透過這些潛在變數我們可以實現推理。

推斷的邊的型別對應的互動的一個類別。

透過使用機率圖可以讓我們利用關於這個圖結構的先驗知識, 比如說具有某種規則的稀疏性。

(這個地方是我想要的)

本文的任務是一個物理系統的模擬。 我們的NRI模型可以學習到一個非常好的關於這個任務的歸納偏置。

這個系統在NBA球員的運動位置資料上進行實驗, 學得了一些很少的edge types, 可以很好的預測動態系統。

2。 Background: Graph Neural Networks

2。1 介紹物件

一些透過 passing local messages 直接在 graph-structured data 上進行的神經網路模型。

The graph neural network model

Gated graph sequence neural networks。

Neural message passing for quantum chemistry

我們稱這樣的模型為 graph neural networks (GNN)。

2。2 GNN特性

Variants of GNNs have been shown to be highly effective at relational reasoning tasks

GNNS的一些變種被證明在關係推理任務上是非常有效的

A simple neural network module for relational reasoning。

可以用來

對於一些multi-agent系統以及動態互動系統進行建模.下面是相關研究

Learning multiagent communication with backpropagation

Interaction networks for learning about objects

圖的分類

Spectral networks and locally connected networks on graphs

Convolutional networks on graphs for learning molecular fingerprints。

Discriminative embeddings of latent variable models for structured data

Learning convolutional neural networks for graphs

Convolutional neural networks on graphs with fast localized spectral filtering。

Molecular graph convolutions: moving beyond fingerprints。

classification of nodes in large graphs

Semi-supervised classification with graph convolutional networks。

Inductive representation learning on large graphs。

GNN的優點分析

Deep sets

Mapping images to scene graphs with permutation-invariant structured prediction

2。3 GNN的基本結構

每個邊每個點都有一個embedding。

[論文筆記]用於互動系統的神經關係推斷

x 代表的是node或者edge的特徵。 也就是說, 一個邊的向量由它兩邊的node和這條邊本身的特徵決定。

h^l

指的是在第l層的資料。 這裡的層。 在籃球動力學模型中就是指時間, l代表不同的時刻。

一個點的向量由所有連著這個點的邊決定。

所有的基於GNN模型都是基於這兩個公式的。

最開始的2009的論文中, 邊的向量只是由sender node和邊的特徵決定。

在battaglia 2016年的論文中的 interaction network中 和 Gilmer 2017年的message passing network 中, 用到了這個更一般的公式。

在最新兩年的論文中, 有很多將

f_e^l

分為兩個分離的函式, 代表了一種gating or attention mechanism。

3。 Neural Relational Inference Model

3。1 NRI模型簡介

兩部分

encoder : 預測不同軌跡之間的相互作用的編碼器。

decoder : 在給定interaction graph下學得一個動力學模型。

這個論文在講解過程中一直以籃球比賽動力學系統的模型為例。 但是實際實驗是在真實準確的物理動力學系統, 例如電子, 彈簧等等。

輸入是每個球員的運動軌跡。 設一個有N個球員, 那麼一共有N個輸入。 其中,

x_i^t

代表的是第 i 個object 在t時刻的特徵(例如, 位置或速度)。

[論文筆記]用於互動系統的神經關係推斷

[論文筆記]用於互動系統的神經關係推斷

[論文筆記]用於互動系統的神經關係推斷

GNN是基於一個未知的圖 z, 這個圖中的

z_{i,j}

代表的是物件

z_i

z_j

之間的離散的關係。 這個關係我們也是未知的。 我們的任務是預測某個時刻, 兩個物件之間的關係向量的同時, 可以學得動力學模型。

3。2 NRI細節

3。2。1 模型概覽

該模型是使用 前面時刻的

x^1,...,x^t

去預測

x^{t+1}

。 如下:

[論文筆記]用於互動系統的神經關係推斷

然後, 這個預測過程中是基於一個潛在變數 z 的。 這個 z 就是在任意時刻兩個object之間的 relation, 這是一個one-hot向量。

這個模型的圖示如下:

[論文筆記]用於互動系統的神經關係推斷

3。2。2 模型的損失函式

這個模型是用變分自編碼器實現的。

[論文筆記]用於互動系統的神經關係推斷

上面的損失函式就是這個變分自編碼器 , 我們需要最小化這個公式。

這個損失函式的出發點是要最小化

p(x,z)

q(x,z)

, 由最小化

KL(p(x,z)||q(x,z))

推導。

得到了上面的這個損失函式 - 最大化

\mathcal{L}

注意

: 這裡是最大化

\mathcal{L}

而不是最小化, 因為

KL(p(x,z)||q(x,z)) = - \mathcal{L}

因此最小化

KL(p(x,z)||q(x,z))

就是最大化

\mathcal{L}

3。2。3

encoder

encoder部分是

q(z|x)

, 返回的是一個

z_{ij}

的因式分解分佈 。

z_{ij}

是一個離散的分類變數代表著 object

v_i

和 object

v_j

之間的edge type。 我們使用one-hot向量去表示一個

z_{ij}

如上圖所示, encoder的目的是求出先求出每兩個點之間的隱含關係 :

賦予每個點一個向量 :

[論文筆記]用於互動系統的神經關係推斷

根據 點

\to

邊公式得到邊的向量:

[論文筆記]用於互動系統的神經關係推斷

根據 邊

\to

點公式得到邊的向量 :

[論文筆記]用於互動系統的神經關係推斷

根據 點

\to

邊公式再次得到邊的向量

[論文筆記]用於互動系統的神經關係推斷

利用邊向量去進行softmax預測 :

q_φ ( z_{ij} | x ) = softmax( h_{(i,j)}^2)

3。2。4 Sampling

這裡用的技術是, 利用一個離散分佈的連續近似 (a continuous approximation of the discrete distribution ) 去表達進行對於離散變數的取樣。 這裡的意思就是說, 在典型的VAE引用中, 取樣是從一個連續分佈中進行取樣的, 而在這裡使用的是softmax, 也就是一個離散分佈, 那麼也就沒有辦法採用 reparametrization trick 去對取樣進行後向傳播。那麼這個時候我們可以用 提到的一個方法去進行取樣。 公式如下:

[論文筆記]用於互動系統的神經關係推斷

這個裡面的 g 取樣於分佈

Gumbel(0,1)

, τ 操縱的是取樣的 “smoothness”(不懂)。 最後產生的

z_{ij}

向量是一個one-hot向量。

3。2。5 Decoder

decoder中, 我們採用的輸入有兩個, 一個是隱含變數 z, 一個是初始的輸入

x^t

我們的目的是 :

[論文筆記]用於互動系統的神經關係推斷

整個的推導過程是:

由z,x到邊 :

[論文筆記]用於互動系統的神經關係推斷

這個裡面z的每個類別對應著一個函式

\bar{f}_e^k

由邊到點 :

[論文筆記]用於互動系統的神經關係推斷

注意, 這裡在前面加上了

x_j^t

, 以為著我們透過

\bar{f}_v

學到的只是位移

\vartriangle x_j^t

而已。

再取樣 :

[論文筆記]用於互動系統的神經關係推斷

這裡的再取樣對應的是隊員採取動作的不確定性。 這裡的方差是定值。

3。2。6 Avoiding degenerate decoders

degenerate decoders 問題

對於最原始的 ELBO, 其中有一項是 :

[論文筆記]用於互動系統的神經關係推斷

如果我們對於 該項進行建模的方法只是

一個

深度模型的話, 就會出現decoder退化的問題。

也就是說, 這中情況下, decoder會忽視 z 的存在, 這個估計是作者實驗的時候發現的問題。

對策

預測多步, 在這樣的情況下, 忽略z的話,就會產生很大的誤差。

具體的就是, 對於 $x^t$ 進行一次預測後, 得到

x^{t+1}

。 再以這個

x^{t+1}

為輸入還是使用這次的引數進行下一步預測, 這樣反覆多步驟後, 累加誤差。

對每個z採用一個神經網路, 也就是上面的

\bar{f}_e^k

3。2。7 Recurrent decoder

還是對於decoder的修改。

[論文筆記]用於互動系統的神經關係推斷

這裡主要針對的是第二步, 也就是由邊到點的改進。

其中的

f_{out}

是一個MLP層。

但是如果用這個decoder去進行上面的多步預測的話還是有問題的。 需要再改進一下, 這裡不贅述。

3。2。8 Training

loss函式分為兩部分, 一部分是 reconstruction error, 一部分是 KL 散度。

reconstruction error

[論文筆記]用於互動系統的神經關係推斷

T是指重複的步驟。 j 是objective(籃球運動員)。

[論文筆記]用於互動系統的神經關係推斷

其中的

x_j^t

就是實際的下一步的位移。

KL 散度

[論文筆記]用於互動系統的神經關係推斷

這裡直接用所有softmax中的機率的和來代替, 這裡用到了蒙特卡羅方法的思想, 用多次取樣去模仿機率。

5。 Experiments

論文在三個系統上進行了實驗。

分別是, 彈簧系統, 電子運動系統以及HASE耦合振盪器系統。

結果如下:

[論文筆記]用於互動系統的神經關係推斷

這個提升, 有點恐怖。