Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Graph Convolutional Matrix Completion

tanimutomo
January 10, 2019
610

Graph Convolutional Matrix Completion

書誌情報
タイトル: Graph Convolutional Matrix Completion
著者: Rianne van den Berg, Thomas N. Kipf, Max Welling
所属: AMLab (University of Amsterdam)
採択: KDD(Deep Learning Day) 2018

概要
レコメンドタスクにおけるMatrix CompletionをGraphにおけるラベル付きリンク予測に置き換えて解く手法を提案
ユーザーとアイテムのレーティング行列を2部グラフとして解釈し,Graph Convolutionを使ったGraph Auto-Encoderでユーザーとアイテムの特徴量を獲得する.
その際に,ユーザーやアイテムに関するコンテンツ情報も取り入れることができるモデル構造.
実験で複数のデータセットでSoTAを達成し,MovieLens10M等の大規模データセットにも適用可能であることを確認した.
また,コンテンツ情報をレコメンドに導入することで,Cold-start問題に対しても有効な手法であることを実験的に確認できた.

tanimutomo

January 10, 2019
Tweet

More Decks by tanimutomo

Transcript

  1. Bibliography • Title: Graph Convolutional Matrix Completion • Accepted: KDD

    DeepLearning Day(2018) • Author: R. vd Berg, T. N. Kipf, M. Welling
 ʢAMLab, University of Amsterdamʣ • Max Wellingઌੜͷݚڀࣨ(Kingma͞Μ΋͜͜ʣ • ཧ࿦෺ཧग़਎ऀ͕ଟ͍ɽڧͦ͏ɽɽɽ • Graph Convolution͕ྲྀߦΔ͖͔͚ͬΛ࡞ͬͨϥϘ • ಛʹɼKipf͞Μ͸Graph ConvolutionerʢΠέϝϯ͗͢ΔPh.Dʣ 2 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  2. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 4 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  3. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 5 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  4. What is Recommender System? • ϨίϝϯγεςϜ • Recommenders: Tools to

    help identify worthwhile stuff
 (ਪનγεςϜ:ͲΕʹՁ஋͕͋Δ͔Λಛఆ͢ΔͷΛॿ͚Δಓ۩) • ྫʣݱࡏ·ͰͷϢʔβʔͷߪങཤྺΛར༻ͯ͠ɼࠓޙͷߪങ׆ ಈΛ༧ଌ͢Δ • ϨίϝϯυγεςϜ͸େ͖͘෼͚ͯ2ͭ • Content-based • Collaborative Filtering 6 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  5. Recent CF Method • ߦྻ෼ղʢMarix Factorizationʣ→༗໊ • ϨʔςΟϯάߦྻΛϢʔβʔͷಛ௃ྔͱΞΠςϜͷಛ௃ྔ ͷߦྻͷੵͰද͢͜ͱͰɼະ؍ଌͷϨʔςΟϯάΛ༧ଌ 9

    * https://towardsdatascience.com/paper-summary-matrix-factorization-techniques-for-recommender-systems-82d1a7ace74 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  6. Matrix Factorization 10 R R I I J J X

    U V ஍Ҭϝ ογϡ ΰϛͷ࢒ᕓ ؍ଌ͞Εͨ਺ × ~ ~ R R I I J J X U V ஍Ҭϝ ογϡ ΰϛͷ࢒ᕓ ؍ଌ͞Εͨ਺ × ~ ~   % "  X UVT R R I I J J X U V ஍Ҭϝ ογϡ ΰϛͷ࢒ᕓ ؍ଌ͞Εͨ਺ × ~ ~ U R R I I J J X U V ஍Ҭϝ ογϡ ΰϛͷ࢒ᕓ ؍ଌ͞Εͨ਺ × ~ ~ V #!$      user item userͷಛ௃ྔ Λද͢ߦྻ itemͷಛ௃ྔ Λද͢ߦྻ ࠶ߏ੒͞Εͨ ϨʔςΟϯάߦྻ ݩͷϨʔςΟϯάߦྻ ʢͨͩ͠؍ଌ͞Εͨ஋ͷΈͷࠩ෼Λ࠷খԽ͢Δʣ Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  7. How to use Graph Convolution • άϥϑߏ଄Ͱදͨ͠ϨʔςΟϯάߦྻΛ༻͍ͯɼϢʔβʔͱ ΞΠςϜͷಛ௃ྔΛಘΔ • ϢʔβʔͱΞΠςϜͷಛ௃ྔΛݩʹɼݩͷάϥϑΛ࠶ߏ੒͢

    ΔΠϝʔδͰະ؍ଌͷϨʔςΟϯάΛϥϕϧ෇͖ϦϯΫ༧ଌ 12 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  8. Summary(1) • Graph ConvΛ࢖ͬͨϨίϝϯυͷఏҊΛ͍ͯ͠Δ࿦จ • ϨίϝϯυγεςϜ͸ɼConten-basedͱCFͷେ͖͘2ͭ
 ʢࠓճ͸ओʹCFʣ • CFͷதͰ΋ߦྻ෼ղ*͸༗໊Ͱࠓճ΋͜Εʹ͍ۙ
 ʢ*

    user-item matrixΛuserͷಛ௃ͱitemͷಛ௃ʹ෼ղ͢Δʣ • ࠓճ͸͜ͷߦྻΛGraphͱͯ͠ଊ͑Δ
 Graphߏ଄Λೖྗͱͯ͠userͱitemͷಛ௃ྔΛಘΔ
 ิॿ৘ใΛؚΊͯͦΕͧΕͷಛ௃ྔΛಘΒΕΔͷ͕ར఺ 14 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  9. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 15 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  10. What is Graph Convolution? • Graph Convolution • ͦͷ໊ͷ௨ΓGraphΛ৞ΈࠐΜͰɼपลʹ৘ใΛ఻೻ͤ͞ Δܭࢉํ๏

    • Graph Convolutionͷछྨ • Graph Fourierม׵Λ༻͍ͨղੳతͳConvolution • ௚઀తͳํ๏
 ೖྗͱͳΔಛ௃ྔϕΫτϧͷઢܗ݁߹͔Βͷඇઢܗม׵Ͱ NNͰֶश 16 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  11. • ۙ๣ϊʔυͷ৘ใΛͨͨΈ͜Ή • Relationͷछྨ͝ͱʹߦ͏
 ʢRelation͕RGBͷΠϝʔδʣ
 ʢRelation: ධՁ஋౳ʣ • ৔߹ʹΑͬͯ͸ࣗ਎ͷϊʔυ΋
 ܭࢉ͢Δ


    ʢࠓճͷ࿦จͰ͸͠ͳ͍ʣ Directly Graph Convolution 20 * Modeling Relational Data with Graph Convolutional Networks Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  12. • ࣜͰද͢ͱ͜Μͳײ͡ Directly Graph Convolution 21 * Modeling Relational Data

    with Graph Convolutional Networks ׆ੑԽؔ਺ ۙ๣ϊʔυ શͯͰ࣮ߦ Weight ࣍ͷӅΕ૚ ͷಛ௃ྔ શͯͷRelation Ͱ࣮ߦ ਖ਼نԽ ۙ๣ϊʔυ ͷಛ௃ྔ ࣗ਎ͷϊʔυ ͷಛ௃ྔ Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  13. Summary(2) • Graph Fourierม׵Λ࢖ͬͨ΋ͷͱ௚઀తͳํ๏͕͋Δɽࠓճ ͸ޙऀ • ը૾΋Graphߏ଄ͱͯ͠ଊ͑Δ͜ͱ͕Ͱ͖Δ
 ࠓճͷΑ͏ͳGraphͱҧ͏ͷ͸ϊʔυͷ੔ྻ۩߹ • Graph

    Convolution͸઀ଓ͞ΕͯΔϊʔυ৘ใΛ఻೻ͤ͞Δ • ෆఆܗͳϊʔυؔ܎ͷGraphߏ଄΋ֶशՄೳʹͨ͠ͷ͕Graph Convolutionͷ͍͢͝ͱ͜Ζ 22 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  14. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 23 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  15. • X: ϊʔυͷಛ௃ྔΛؚΉߦྻ
 ʢϊʔυ਺ʣxʢಛ௃࣍ݩ਺ʣ • A: άϥϑߏ଄ʹ͓͚Δྡ઀ߦྻ
 ʢϊʔυ਺ʣx ʢϊʔυ਺ʣ •

    Z: ϊʔυͷຒΊࠐΈಛ௃ྔͷߦྻ
 ʢϊʔυ਺ʣxʢຒΊࠐΈͷಛ௃࣍ݩ਺ʣ • A^: ࠶ߏ੒͞Εͨྡ઀ߦྻ Graph Auto-Encoder 24 Encoder Decoder Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  16. Graph Auto-Encoder (Matrix ver) 26 Encoder Decoder ←X͸ϊʔυ৘ใͷߦྻ ←UserͱItemͷಛ௃ྔߦྻ ↖︎

    ධՁ஋͝ͱʹྡ઀ߦྻ͕࡞੒͞ΕΔ ↖︎ ࠶ߏ੒͞Εͨྡ઀ߦྻ Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  17. • Graph Convolution Layer => Dense Layer ͷྲྀΕ • Conv

    Layerͷํ͸࠷ॳʹઆ໌ͨ͠Graph Convͱ΄ͱΜͲಉ͡
 ʢҧ͍͸ࣗ਎ͷϊʔυͷܭࢉΛؚΊͳ͍ʣ • Dense Layer͸ઢܗม׵͔Βͷඇઢܗม׵
 ʢͨͩ͠weight͸userͱitemͰڞ༗͢Δʁʣ Graph Convolutional Encoder 28 Graph Convolution Layer Dense Layer where Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  18. • userͷಛ௃ྔ x Q (ֶशՄೳͳߦྻ) x itemͷಛ௃ྔ
 Λܭࢉ͠ɼ֤ධՁ஋͝ͱʹεΧϥʔ஋Λࢉग़ • u,

    Q, v͕ύϥϝʔλͷιϑτϚοΫεͰ r (ධՁ஋)ʹؔ͢Δ֬ ཰෼෍ΛԾఆ
 r ͷظ଴஋Λܭࢉ͢Δ Bilinear Decoder 29 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  19. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 30 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  20. • r ʹؔ͢Δ֬཰෼෍ʹରͯ͠ɼෛͷର਺໬౓ΛLossͱ͢Δ • ݩʑ؍ଌ͞Ε͍ͯΔධՁ஋ͷΈΛLossʹՃࢉ Loss Function 31 ϚεΫߦྻ ؍ଌ஋ͷi,

    jͰ iteration r = Mij (؍ଌ஋) ͷ࣌͸1ɼͦΕҎ֎0 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  21. • ಛఆͷϊʔυͷґଘ͗͢͠ͳ͍ϩόετͳϊʔυಛ௃ྔΛ֫ ಘ͢ΔͨΊ • Ұఆ֬཰ (p dropout)Ͱɼ͋Δϊʔυͷ͔Β఻೻͞ΕΔ৘ใ͕0 ʹͳΔ • Edge

    Dropoutʢ͋ΔΤοδ͔Β఻೻͞ΕΔ৘ใ͕0ʹͳΔʣΑ Γ΋Node Dropoutͷํ͕ਫ਼౓͕͍͍Β͍͠ Node Dropout 32 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  22. • େن໛σʔληοτʢRating͕10M݅ͱ͔ʣ͸MemoryʹͷΒ ͳ͍ͷͰɼbatchॲཧΛಋೖ͢Δ • ϝϞϦ࡟ݮ͚ͩͰͳ͘ɼਖ਼ଇԽͱͯ͠΋ػೳ͢Δ • Loss function΁ͷContributionΛجʹɼbatchΛαϯϓϦϯά ͢Δʁ •

    Full-batch trainingͱਫ਼౓͸΄ͱΜͲมΘΒͳ͍͜ͱ͸࣮ݧͰ ֬ೝͰ͖ͨ • FullͰͰ͖ΔDataset͸ऩଋͷ଎౓Λߟྀͯ͠FullͰ΍ͬͨ Mini-batching 33 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  23. • User΍Item͕΋ͭධՁͷ਺͸ɼධՁஈ֊͝ͱʹόϥόϥ
 ʢ͋ΔItem͸ධՁ͕ߴ͍ͨΊ5͕ଟ͘ɼ1͸΄ͱΜͲͳ͍౳ʣ
 →࠷దԽ͞ΕΔස౓͕ҟͳͬͯ͠·͍ɼաֶशͷՄೳੑ͋Γ • WeightΛධՁஈ֊ؒͰڞ༗͢Δ͜ͱͰόϥϯεΛͱΔ Weight Sharing 36 Ordinal

    Weight Sharingɼ r ҎԼͷධՁஈ֊ͷॏΈΛ શͯར༻͢Δ WS using Basis Weight Matrixɼ جఈߦྻPsͱ܎਺aͷઢܗ݁߹Ͱ Weight matrixΛఆٛ͢Δ Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  24. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 37 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  25. Main Baselines 39 • sRGCNN:
 Graph CNNͰ
 DecoderʹRNNΛར༻͍ͯ͠Δ • CF-NADE:


    Auto-EncoderͷҰछͰɼະ؍ଌϦϯΫʹॳظ஋ͱͯ͠3Λ༩͑ͯ ͍Δɽ·ͨͦͷଞ͍ΖΜͳςΫχοΫΛಋೖ
 ʢͪΌΜͱཧղͰ͖ͳ͔ͬͨʣ
 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  26. Agenda • Preliminary for Recommender System • Preliminary for Graph

    Convolution • Method Overview • Method Details • Experiment • Conclusion and Future works 44 Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  27. Conclusion 45 • Recommender SystemͷͨΊͷGraph Auto-EncoderΛ༻͍ͨ Matrix Completionख๏ɼGC-MCΛఏҊ • σʔληοτʹΑͬͯ͸SoTAΛୡ੒͠ɼstochastic

    mini batch samplingʹΑΔେن໛σʔληοτ΁ͷద༻΋Մೳʹͨ͠ Preliminary 1 Preliminary 2 Method Details Experiment Conclusion
  28. Future Work 46 • Content-basedͷಛ௃ྔͷநग़ํ๏ΛCNN΍RNNʹม͑Δ͜ ͱͰɼը૾΍ࣗવݴޠΛϨίϝϯυʹಋೖͰ͖ΔΑ͏ʹ͢Δ • ScalabilityΛߴΊΔͨΊʹɼsub-sampling local neighborhood

    ͳͲͷޮ཰తͳۙࣅํ๏Λಋೖ͢Δ • ·ͨɼਖ਼نԽ߲౳ʹAttention MechanismΛಋೖͯ͠Ϟσϧ ͷ͞ΒͳΔ֦ுΛ໨ࢦ͢ Preliminary 1 Preliminary 2 Method Details Experiment Conclusion