Théorie des graphes en machine learning pour les plus petits

La complexité de la présentation des données pour le deep learning augmente chaque jour. Les réseaux de neurones graphiques ( GNN ) sont devenus l'une des percées de ces derniÚres années. Mais pourquoi les graphiques gagnent-ils de plus en plus en popularité dans l'apprentissage automatique?


Le but ultime de mon rĂ©cit est la prĂ©sentation gĂ©nĂ©rale des graphiques dans les techniques d'apprentissage automatique. L'article ne prĂ©tend pas ĂȘtre un travail scientifique qui dĂ©crit pleinement la pleine puissance des graphiques, mais ne fait qu'introduire le lecteur dans ce monde Ă©tonnant et complexe. La publication est parfaite, Ă  la fois pour les professionnels endurcis au combat qui ne sont pas encore familiarisĂ©s avec la prĂ©sentation de graphiques en apprentissage profond, et pour les dĂ©butants dans ce domaine.


introduction


La mise en évidence automatique des fonctionnalités importantes nécessaires pour résoudre un problÚme est l'une des principales raisons du succÚs de l'apprentissage automatique. Mais traditionnellement, lorsque vous travaillez avec des graphiques, les approches d'apprentissage automatique reposent sur des heuristiques définies par l'utilisateur pour extraire les fonctionnalités de codage des informations structurelles des graphiques. Néanmoins, la tendance des derniÚres années a changé: des approches émergent de plus en plus dans lesquelles ils apprennent automatiquement à coder la structure du graphique dans des investissements de faible dimension en utilisant des méthodes d'apprentissage en profondeur et de réduction de dimension non linéaire.


Dans l'apprentissage automatique sur les graphiques, deux problĂšmes centraux peuvent ĂȘtre distinguĂ©s: l'inclusion d'informations sur la structure du graphique dans le modĂšle (c'est-Ă -dire un moyen simple de coder ces informations dans le vecteur d'entitĂ©s) et la rĂ©duction de la dimension du vecteur d'entitĂ©s.


( ), . , , .


?


, , : ?


— . , , ( ) [1], [2], ( [3], [4] [5]), [6] [7].


CV/ML , , . , , [8].


, . . , , , .



, (embeddings), . , , , , (), Rd. , , . , .


, . , , . , , , .


, (direct encoding), . . , , -. , , , .


DeepWalk node2vec . , . , .


( ). (DNGR SDNE), , [9].



G=(V,E), V, , E— ( ) , .


(.1). : V=1,2,3,4,5,6E=1,2,1,5,2,3,2,5,3,4,4,5,4,6


image


, , , ( , ). .


, G=(V,E)A. , X∈Rm∗|V|( , ). , , AX, z∈Rd, d<<|V|.


, AX, . , , . (, )


- , vizi, / . ; vi( ) , vi( ). , .


image



, , , . , (, ) . 2 , , .


image


, — , , zi∈Rd( zivi∈V):


ENC: V→Rd


— , :


DEC: Rd∗Rd→R+


. , , . , (zi,zj), vivj. , :


DEC(ENC(vi),ENC(vj))=DEC(zi,zj)≈sG(vi,vj) (1)


sG— , G. , sG(zi,zi)≜Ai,j, 1, 0. sGvivjG. ( 1) LD:


L=∑(vi,vj)∈Dℓ(DEC(zi,zj),sG(vi,vj))


ℓ=R∗R→R— , (.. ) DEC(zi,zj)sG(vi,vj).


, -, , . , , , , , .


seq2seq , , . , seq2seq, GNN [10].



, :


  1. sG: V∗V→R+, G.
  2. ENC, . , .
  3. DEC, .
  4. ℓ, , .

image


. , . pG(vj|vi)vj, vi.


, , . , , (.3). , , , .


image


DeepWalk node2vec, , , . , , . , , :


DEC(z_i,z_j)≜ez_iTz_j∑vk∈VeziTzk≈pG,T(v_j|v_i) (2)


pG,T(vj|vi)— vjT, vi, TT∈2,...,10. , pG,T(vj|vi). , :


ℓ=∑(vi,vj)∈D−log(DEC(zi,zj)) (3)


D, (.. Nvi(vi,vj)∌pG,T(vj|vj). — O(|D||V|)( (2) O(|V|)). , DeepWalk node2vec (3). DeepWalk softmax , . , node2vec (3), : , , " ".


, node2vec DeepWalk , , . , node2vec : pq, (.4). p, q. , node2vec , .


image


A: , node2vec , p q. , v_sv_∗, (α) , .


B: , (BFS) (DFS). , BFS, , , . , , DFS, .



, . , :


  1. (.. ). , , .
  2. . (, ), .
  3. . , , ( , ). , , , , .

/ . -, , , .


(DNGR) (SDNE) , : , . , — , (.5). DNGR SDNE , .


image


visi∈R|V|, viS( S— Si,j=sG(vi,vj)). sivivi. DNGR SDNE , si, si:


DEC(ENC(si))=DEC(zi)≈si


, :


ℓ=∑vi∈V||DEC(zi)−si||22


, zi, |V|( ), , . SDNE, DNGR, : , (.5).


SDNE DNGR , si, , . DNGR si, , DeepWalk node2vec. SDNE si≜Ai, vi.


, SDNE DNGR , ( ), - . |V|, .


, . . , , , [9], . , .



. , , , , , , .


, , , .


. (. O(|E|)), ( ). . , , , , , , — , , , . , , , .


. , , - , , . , , , , .


. , , , . , , , . , .


. , , . , , . , , , . , , , , .


, — . , , .



[1] — W. L. Hamilton, Z. Ying, and J. Leskovec, "Inductive representation learning on large graphs," NIPS 2017, pp. 1024–1034, 2017.
[2] — T. N. Kipf and M. Welling, "Semi-supervised classification with graph convolutional networks," ICLR 2017, 2017.
[3] — A. Sanchez-Gonzalez, N. Heess, J. T. Springenberg, J. Merel, M. Riedmiller, R. Hadsell, and P. Battaglia, "Graph networks as learnable physics engines for inference and control," arXiv
preprint arXiv:1806.01242, 2018.
[4] — P. Battaglia, R. Pascanu, M. Lai, D. J. Rezende et al., "Interaction networks for learning about objects, relations and physics," in NIPS 2016, 2016, pp. 4502–4510.
[5] — A. Fout, J. Byrd, B. Shariat, and A. Ben-Hur, "Protein interface prediction using graph convolutional networks," in NIPS 2017, 2017, pp. 6530–6539.
[6] — T. Hamaguchi, H. Oiwa, M. Shimbo, and Y. Matsumoto, "Knowledge transfer for out-of-knowledge-base entities: A graph neural network approach," in IJCAI 2017, 2017, pp. 1802–1808.
[7] — H. Dai, E. B. Khalil, Y. Zhang, B. Dilkina, and L. Song, "Learning combinatorial optimization algorithms over graphs," arXiv preprint arXiv:1704.01665, 2017.
[8] — X. Liang, X. Shen, J. Feng, F. Lin, S. Yan, "Semantic Object Parsing with Graph LSTM", arXiv:1603.07063v1 [cs.CV] 23 Mar 2016.
[9] — Z. Wu, S. Pan, F. Chen, G. Long, C. Zhang, Philip S. Yu, "A Comprehensive Survey on Graph Neural Networks", arXiv:1901.00596v4 [cs.LG] 4 Dec 2019.
[10] - P. Veličković, G. Cucurull, A. Casanova, A. Romero, P. LiĂČ, Y. Bengio, «Graph Attention Networks», arXiv: 1710.10903v3 [stat.ML] 4 fĂ©vrier 2018.


Références


Graph Neural Networks: A Review of Methods and Applications
Representation Learning on Graphs: Methods and Applications

Source: https://habr.com/ru/post/undefined/


All Articles