はじめに

- Energy Based Modelを用いて画像からscene graphを生成する手法(フレームワーク)を提案
- 既存手法は次のようにクロスエントロピーでscene graphを生成する
- このとき, object
とrelation が互いに独立に計算されている- ここが問題で, 本来なら互いに弱い依存性があるはず
- したがって, データがある確率分布
からサンプリングされていると仮定し, Energy Based Modelに基づいてエネルギー関数 を定義し, lossを設計
- 既存手法は次のようにクロスエントロピーでscene graphを生成する
- スライド
Energy-Based Learning for Scene Graph Generation
前提知識
- Energy Based Modelについては以下を見てくだはれ.
- Stochastic Gradient Langevin Dynamicsについては以下を見てくだはれ.
解説
-
流れ
- Faster-RCNNで物体検出
- 各領域をノードとして, Image Graphを
,Scene Graph を とする - エネルギー関数
は以下のようにGNNとEGNN(後述)を通した後に, pooling→concatしてMLPに通したものとする
- エネルギー関数
について, 以下のようにlossを定義
-
lossについて
-
について, GTのグラフを として以下のように定義
-
この式の意味するところは次の通り
- 元の確率分布
を
- とすると,
- 元の確率分布
-
- となり, このlossの最適化(loss↓)は
を最大化(↑)して, サンプリングしてきた を最小化するので, trainの値を引き上げ, sampleの値を引き下げることになる - 第二項の計算はサンプリングが必要なので, Stochastic Gradient Langevin Dynamicsによってサンプリング

引用: https://deepgenerativemodels.github.io/assets/slides/cs236_lecture11.pdf
-
について
- だけだと解が爆発してしまったので(そらそうだろ), 正則化項としてのloss を追加
-
エネルギー関数について
- 以下のように定義
- GNNはGated Graph Neural Networks (GG-NNs)を使用
- EGNNは新たに提案された手法
- 以下のように定義
-
EGNN (Edge Graph Neural Network) について
-
ノードにおけるmessage
を以下のように定義
-
エッジにおけるmessage
を以下のように定義
-
それぞれがMessage-Passing方式でGRUに通される
-
-
定量的結果 (VGTree + Energey-Based Loss)
- 一番上の左の結果
- <cat, near, door> → <cat, in front of, door>
- <dog, near, cat> → <cat, looking at, dog>
- となっており, よりinteractiveなrelationが張られている
- 一番上の左の結果
