Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DeepCas

105 views

Published on

DeepCas: an End-to-end Predictor of Information Cascades
https://arxiv.org/abs/1611.05373

@Koichiro Tamura

Published in: Technology
  • Be the first to comment

  • Be the first to like this

DeepCas

  1. 1. DeepCas: an End-to-end Predictor of Information Cascades 田村浩一郎@松尾研 M1
  2. 2. Outlines 0. Information 1. Introduction 2. Related work 3. Method 4. Experiment Setup 5. Experiment Result 6. Discussion & Conclusion
  3. 3. 0. Information • Author -Cheng Li, Jiaqi Ma, Xiaoxiao Guo, Qiaozhu Mei • Submitted on 16 Nov 2016 • Society -WWW 2017 accepted • About -Social and Information Networks • arXiv: https://arxiv.org/abs/1611.05373
  4. 4. 1. Introduction information diffusion • For types of information diffusion 1. herd behavior Activated because many people are activated 2. information cascades Activated because neighborhood is activated 3. diffusion of innovation Analyze how innovation spreads from a bird’s eye view 4. Epidemics Object spread randomly like epidemic
  5. 5. 1. Introduction What is information cascades? • For types of information diffusion 1. herd behavior Activated because many people are activated 2. information cascades Activated because neighborhood is activated 3. diffusion of innovation Analyze how innovation spreads from a bird’s eye view 4. Epidemics Object spread randomly like epidemic
  6. 6. 1. Introduction motivation of study • Most modern social network platforms are designed to facilitate fast diffusion of information. If feature cascade* can be predicted, one can make wiser decisions in all scenarios. *Cascade’s size: how many nodes are adopted Cascade’s growth: growth rate of num of nodes Cascade’s shape: shape of graph of adopted people
  7. 7. 1. Introduction problems of existing methods • Previous studies required specific features to particular platform or to the particular type of information being diffused => difficult to generalize, and there is no common principle of how to design and measure the features Is degree the correct measure of centrality? Which algorithm should we use to extract communities? How accurately can we detect and measure structural holes? How do we systematically design those ‘magical’ features? Apply End-to-end deep learning to information cascades prediction
  8. 8. 1. Introduction challenge of this new method cascade input output Cascade growth( size ) How to design a suitable architecture to learn the representations of graphs remains a major challenge.
  9. 9. 2. Related work 2.1 Cascade Prediction • 既存のcascade predictionを分類すると以下のようになる • 予測するもの 1. Classification: ある情報が拡散するかどうか 2. Regression: numeric properties of a cascade in a feature • 入力 1. 巨視的な変数(cascade size etc) 2. ミクロな視点から見た,確率的行動と情報推移=>強い仮定が必要だったり,過剰に簡易化する必要があった 結局,既存手法はいかに良い特徴量を設計できるかによってモデルの精度が決定していた
  10. 10. 2. Related work 2.1 Learning the Representation of Graphs • 本研究は,ネットワークの構造を学習する研究とも関連している • 旧来型のネットワーク構造の表し方は,隣接行列などの離散表現で表現していた. • 近年は,ノードを高次元空間のベクトルで表現したり,サブグラフの構造を学習することを試 みる研究が多い=>DeepWalk[29] • 他の似たような研究領域では,グラフカーネルがある • グラフ同士の類似度を計算する • いつくかの研究[40, 27]では,deep learningの手法を用いている • グラフカーネルの研究は,グラフの構造を認知する研究であり,ノード固有の情報を取り扱う ことには向いていない • グラフ構造を画像として取り扱い,CNNを用いる手法もある • これらも,ノード固有の情報を取り扱うことに向いていない • 近年の研究[37]では,ツイートにおいて特定のユーザーを言及することで,爆発的に拡 散することも確認されており,ユーザー固有の情報を扱うことは重要
  11. 11. 3. Method 3.1 Problem Definition • 問題設定として,情報の来歴(いつ、誰から)は観測できないが,その瞬間のcascade (過去から現在までに情報について言及したか)は観測することができる • 対象とするネットワークグラフを, 𝒢 = V, E V=ノードの集合,E=エッジの集合 ある時刻tのcascade 𝑐 ∈ 𝐶を, 𝑔𝑐 𝑡 = 𝑉𝑐 𝑡, 𝐸𝑐 𝑡 𝑉𝑐 𝑡 = 𝑐𝑎𝑠𝑐𝑎𝑑𝑒に属するノード集合,𝐸𝑐 𝑡 = 𝑉𝑐 𝑡内部のエッジ • 予測対象は,各時刻のけるcascadeの大きさの変化 ∆𝑠𝑐 = 𝑉𝑐 𝑡+∆𝑡 − 𝑉𝑐 𝑡 t=1 t=2 t=5
  12. 12. 3. Method 3.2 DeepCas: the End-to-End Pipeline • Cascade graphを入力として,cascade のsizeの増加分∆𝑠𝑐を予測する • Node sequencesをグラフからAttention機構を用いたサンプリング • Gated recurrent neural networkを用いる.
  13. 13. 3. Method 3.3 Cascade Graph as Random Walk Paths • どのようにノード系列をサンプリングするかという問題がある • 一般的に,将来のcascadeのサイズは,誰が情報の伝達者化によって決まるため,グラ フを表す場合,bag of nodesで表現することが考えられる  しかし,diffusionを予測するに重要[10]なgcの構造的な情報を捉えていない • バラバラなノード情報でなく,グラフのパスをサンプリングする • ノードをword, パスをsentenceと見立て,グラフをsentenceの集合であるdocumentの ように扱う • マルコフ連鎖によってサンプリングを行う
  14. 14. 3. Method 3.3 Cascade Graph as Random Walk Paths • ランダムサンプリングは以下の通り • 状態Sからstartする • 確率1 − 𝑝𝑗で隣のノードに推移する状態Nを取り, 𝑝𝑗で任意のノードにjumpする • 確率1 − 𝑝 𝑜で終端状態Tに遷移し,隣接ノードに移動してサンプリングを終了する • 𝑁𝑐(𝑣)をノードvの隣接ノードの集合とし,ノード𝑢 ∈ 𝑁𝑐(𝑣) に関するscoring関数*を𝑠𝑐𝑡(𝑢) とすると, * 𝑠𝑐𝑡(𝑢)はgcにおけるout-degree of node u, 𝒢におけるout-degree of node uなど
  15. 15. 3. Method 3.4 Sampling Sequences from a Graph • 𝑝𝑗と𝑝 𝑜はサンプリングにおける重要なパラメタ • 異なるグラフでは,異なるパラメタが要求されるはず • 系列長Tやサンプリングする系列の数Kは,DeepWalkやNode2Vecは固定であるが,cascadeにおける適 切な系列長𝑡 𝑐や𝑘 𝑐を自動で獲得したい • 𝑡 𝑐, 𝑘 𝑐 を獲得するために𝑝𝑗,𝑝 𝑜もEnd-to-endの枠組みで学習してしまう(後述)
  16. 16. 3. Method 3.5 Neural Network Models • サンプリングができてしまえば,あとは文章を取り扱うよな普通のneural networkを使 えば良い • 普通の自然言語処理(翻訳や要約など)と違うのは,サンプリングの過程からend-to-endであること 1. Node Embedding • 𝑁 𝑛𝑜𝑑𝑒をグラフ全体のノード数とした時,あるノードqはq ∈ 𝑅 𝑁 𝑛𝑜𝑑𝑒のone-hot ベクトルで表現される • Embedding Matrixを𝐴 ∈ 𝑅 𝐻∗𝑁 𝑛𝑜𝑑𝑒として, 𝑥 = 𝐴𝑞, 𝑥 ∈ 𝑅ℎ に埋め込まれる 2. GRU-based Sequence Encoding 引用: https://qiita.com/KojiOhki/items/89cd7b69a8a6239d67ca
  17. 17. 3. Method 3.5 Neural Network Models 2. GRU-based Sequence Encoding • [FWD]どのように情報が伝わって行くか[BWD]どこから情報が伝わってきたか • bi-directional GRUを採用
  18. 18. 3. Method 3.5 Neural Network Models 3. From sequence to graph representation • グラフからのサンプリングは,attention機構を用いる • 終端確率𝑝 𝑜は,系列長𝑡 𝑐を決定するパラメタと考えられる • 系列の数Kは,mini-batchesに分割し,学習がきちんとなされるまで新たなmini-batchを読み込む • 幾何分布に従ったattention機構を用いる • Attentionの重みは, 𝑝 𝑔𝑒𝑜 𝑐 , 𝑝 𝑔𝑒𝑜 𝑐 (1-𝑝 𝑔𝑒𝑜 𝑐 ), 𝑝 𝑔𝑒𝑜 𝑐 (1 − 𝑝 𝑔𝑒𝑜 𝑐 )2 ,,, 𝑝 𝑔𝑒𝑜 𝑐 (1 − 𝑝 𝑔𝑒𝑜 𝑐 ) 𝑛 • 確率𝑝 𝑔𝑒𝑜 𝑐 の幾何分布に従うので,理論的には用いるmini-batch数は1 𝑝 𝑔𝑒𝑜 𝑐 • 𝑝 𝑔𝑒𝑜 𝑐 を決定すれば,事実上サンプリング数Kが決定することになる • Cascadeごとに𝑝 𝑔𝑒𝑜 𝑐 を定義すると,非常に自由度が高くうまくいかないので,cascadeグラフの大きさ依 存の変数にする. 𝑝 𝑔𝑒𝑜 𝑐 => 𝑝 𝑔𝑒𝑜 log2(𝑠𝑧 𝑔 𝑐 +1)
  19. 19. 3. Method 3.5 Neural Network Models 3. From sequence to graph representation • 系列長についても同じように学習できる • 多項分布に従うパラメタで重み付けを行うattention機構を用いる • 系列長𝑇の各ノードについて,𝜆1 𝜆2, , , 𝜆 𝑇 をかける.( 𝜆𝑖 = 1) • Mini-batchにおけるattentionもまとめると,以下のようになる ただし,𝑎 𝑐 = 𝑝 𝑔𝑒𝑜 𝑐 4. Output module • アウトプットは,𝑓 𝑔𝑐 = MLP(ℎ(𝑔𝑐))
  20. 20. 4. EXPERIMENT SETUP 4.1 Datasets • 2つのデータを用いる 1. Tweets on Twitter • リツイートなされたアカウントのグラフをcascadeとする(ツイートの発信源,originalとリツイートしたアカウント によってなる ) • `the official Dacahose API`からはfollower, followeeの関係がとってこれないので,[30]に従って,AがBのツイー トをリツイートした場合ならびにリプライした場合に全体のグラフのエッジを定義する.follower, followeeのネッ トワーク構造に対して,全てのinformation cascadeとアクティブなconnectionを反映する • t =1,3,5 days から,∆𝑡 = 1,3,5 𝑑𝑎𝑦𝑠後のcascade sizeの変化を予測する 2. Scientific paper • AMINER dataset を,ArnetMinerが提供するDBLP citation networkを用いて収集,論文の引用関係についてモデル 適用する • 論文を書いた著者とそれを引用した著者の間にエッジを定義する • t =1,2,3 years から,∆𝑡 = 1,2,3 𝑦𝑒𝑎𝑟𝑠後のcascade sizeの変化を予測する • 両方のデータセットについて,ほとんど広がらないツイートや論文も多く,それらは冪 乗則に従うので,拡散,成長率が0%であるもののうち50%をダウンサンプリングし,か つ予測するアウトプットを対数変換する
  21. 21. 4. EXPERIMENT SETUP 4.1 Datasets
  22. 22. 4. EXPERIMENT SETUP 4.2 Evaluation Metric • MSEで評価 • すでに3.1述べたように,yの値は対数変換されているので,ほぼmean squared logarithmic errorと同じ
  23. 23. 4. EXPERIMENT SETUP 4.3 Baseline methods • 検証として,以下に分類されるような複数のベースラインと比較 1. 事前に定義した特徴量ベースにcascadeの予測を行うモデル • Feature-deep • Feature-linear • OSLOR[11] 2. ノード埋め込みを行うモデル • node2vec[16] • Embedded-LC[8] 3. 他のグラフの特徴量を予測するようなdeep learningを使ったモデル • PCSN[28]: CNNを隣接した領域に対して用いたもの • Graph-Kernels • WL-degree • WL-id • Hyper-parameterは,それぞれのデータセットに対して9つのvalidationデータを用いて チューニングされたもの
  24. 24. 4. EXPERIMENT SETUP 4.4 DeepCas and Variants • 提案手法DeepCasも,samplingにおける遷移確率においていくつかのパターンを検証す る 1. DeepCas-edge: edge weight 2. DeepCas-deg: node degree in cascade Graph 3. DeepCas-DEG: node degree in whole Graph • Hyper-parameterは, • K=200, T=10, mini-batch-size=5, α=0.01, embedding-size=100(twitter), 50(aminer), node2vecのパラ メタp, q = 1 • 提案手法のうち,いくつかの機能を省いたモデルも検証 • GRU-bag: DeepCasのサンプリングの仕方ではなく,bag of nodesをGRUの入力にする • GRU-fix: attentionを行わずに,固定長のdocumentを入力として扱う • GRU-root: attentionは行うが,pathのサンプリングにおいて常にrootから始まるようにsequenceを定義す る
  25. 25. 5. EXPERIMENT RESULTS 5.1 Overall performance
  26. 26. 5. EXPERIMENT RESULTS 5.1 Overall performance
  27. 27. 5. EXPERIMENT RESULTS 5.1 Overall performance & 5.2 Computation Cost • DeepCasについて得られた知見として 1. グラフの統計量でなく,グラフからサンプリングしたsequencesを入力とすることが重要 2. 固定長のdocumentでなく,end-to-endで,可変長のdocumentを扱うことは効果的 3. Rootからpathをサンプリングすることは効果的でない • 予測する時間軸について • 予測開始時刻tが大きい(遅い)ほど,精度は高い • 予測期間∆𝑡が小さいほど精度が高い • 2.40GHz GPU, 120G RAM & single Titan X GPUで,20minsでサンプリングが終了し, 10minsで学習が終了
  28. 28. 5. EXPERIMENT RESULTS 5.3 Error Analysis • MSEが大きかったcascadeについて分析 • とりわけ悪かったいくつかのcascadesに対して,ネットワーク特徴量を計算し,平均を求める • より大きく,密度が高い複雑なネットワークに対して,DeepCasはより効果を発揮する • 逆に,小さく過疎なグラフはhand madeな特徴量を用いたほうが良い
  29. 29. 5. EXPERIMENT RESULTS 5.4 Interpreting the Representations • Deep learningを使って精度を上げたのは良いが,ネットワーク分野において,意味解釈 をする必要がる. • いくつかの特徴量をハンドメイドして,学習した特徴量との類似性に注目して可視化 • DeepCasがcascadeネットワークのthe number of open, closed triangles, and the number of communitiesといったプロパティを捉えられているだけでなく,グラフ全体の特徴量を捉えている • Open, closed trianglesの数は予測に重要なパラメタ • Deepcasがedgeやnodeの数だけでなく,非線形な関係を捉えていることを示している
  30. 30. 6. Discussion & Conclusion • 初めてend-to-end のinformation cascadeを予測するモデルを提案した • マルコフ連鎖を用いたサンプリングによって,cascadeグラフの表現を獲得し,GRUの入力データとする • Attentionによって,サンプリングする際のdocumentの大きさを可変に扱う • Handcraftな特徴量は,グラフ関連研究ではすでに一定の成果を出している • Deep learningを用いることによって,汎用性の高いやり方で,ネットワークをよく表現する特徴量を抽出 することができる • 一方で,handcraftな特徴量を用いるば場合,結果や重要な特徴量に関して意味解釈がしやすいというメ リットがある • 特に,ランダムウォークでサンプリングすることは効果的で,ネットワーク関連研究的 には新しい • 今回はcascadeのグラフ構造の予測を行なったが,他の分野に対して他の予測対象に対 して使えるはずである

×