Node Classification
Community Detection
Node Embedding - Graph Representation Learning
Deep
Walk
Node2Vec
Spectral vs Spatial Graph Neural Network
GCNGraph
Sage (an inductive learning method)1 số áp dụng trong thực tế1 số việc và hướng phát triển khác
Hạn chế cùng lưu ý1 số paper cùng nguồn tài liệu xứng đáng chú ýTài liệu tham khảo
Graph representation learning & application?
Chắc hẳn đối với những bạn đã tiếp xúc với ML, DL thì thân quen gì cùng với những bài xích toán điển hình nổi bật như:
Computer Vision: cùng với dữ liệu chính là ảnh, video. Những bài toán như: Image Classification, Object Detection, Image Segmentation,...NLP: với dữ liệu chính là từ (word), thường được màn biểu diễn dưới dạng sequence. Các bài toán như: Neural Machine Translation, Text Classification, Text Summarization, Topic Modeling,...Sound: tài liệu là những nguồn âm thanh, thuận tiện biểu diễn bên dưới dạng 1D hoặc 2D. Những bài toán như: TTS, STT, Sound Recognition, ...... Cùng còn không ít các loại tài liệu khác nữaTuy nhiên, cũng có nhiều bài toán và kiểu tài liệu khác, bọn họ khó có thể biểu diễn tài liệu với dạng 1D, 2 chiều như thông thường, hay các dạng dữ liệu Non-Euclidean. Lấy một ví dụ như:
Dữ liệu social - social networkLiên kết bên trên mạng internet
Tương tác giữa những phân tử, nguyên tử - protein-protein interaction (PPI)....
Bạn đang xem: Giải mã hình ảnh bằng mô hình mạng học sâu sử dụng dữ liệu không đồng nhất (Image decoding using deep learning models with heterogeneous data)

Các nhắc nhở kết bạn, follow những page bên trên nền tảng thân quen là facebook
Phân tích sự liên hệ ở lever phân tử, nguyên tử nhằm mục tiêu mục đích phục vụ cho những vấn đề về y sinh học, ví dụ phân tích tác dụng phụ của thuốc
Xây dựng các hệ thống gợi nhắc sản phẩm cho các trang web thương mại điện tử từ dữ liệu tương tác của bạn dùng....






Trước lúc đi sâu phân tích các bài toán với vấn đề đặc thù của GNN, họ cùng ôn lại 1 chút kỹ năng về lí thuyết trang bị thị đã!
1 thứ thị được màn biểu diễn dưới dạng G = (V, E) với:
G là vật dụng thị được cấu thànhV là tập hợp những nút của đồ dùng thì (vertices / node)E là tập hợp các cạnh kết nối những nút của đồ gia dụng thị (edge)eij=(vi,vj)∈Ee_ij = (v_i, v_j) in Eeij=(vi,vj)∈E là biểu diễn các cạnh e∈Ee in Ee∈E nối từ bỏ nút viv_ivi cho tới nút vjv_jvj của trang bị thị
Kí hiệu N(v)=u∈V∣(v,u)∈EN(v) = (v, u) in EN(v)=u∈V∣(v,u)∈E là những nút kề uuu (nút xóm giềng tất cả chung cạnh) cùng với nút vvv

Các thuật ngữ này là tương đương nhau khi biểu diễn các bài toán về đồ gia dụng thị:
G(V, E) ~ System (Object, Interaction)System ~ Network, GraphObject ~ Node, vertices
Interaction ~ Link, Edges
Adjacency matrix (ma trận kề) A, là 1 trong những ma trận vuông form size nxn (với n là tổng cộng nút của đồ dùng thị)
Aij=1A_ij = 1Aij=1 nếu eij∈Ee_ij in Eeij∈EAij=0A_ij = 0Aij=0 ví như eij∉Ee_ij otin Eeij∈/EAdjacency matrix (A) cũng khá được gọi là một trong những weighted-matrix, biểu hiện trọng số những cạnh của vật dụng thị. Cùng với hình minh họa Adjacency matrix trên thì các cạnh có trọng số tương đồng nhưng gồm thể biến đổi lại tùy vấn đề và dữ liệuDegree matrix (ma trận bậc) D, là 1 trong những ma trận đường chéo vuông nxn, chứa thông tin bậc của mỗi đỉnh, với
Dii=∑i=1nAij
D_ii = sum^n_i = 1 A_ijDii=∑i=1nAijChú ý rằng với đồ dùng thị có hướng (direct matrix) thì bậc của từng nút chỉ tính các cạnh nối bao gồm chiều cho tới nút đó
Identity matrix (ma trận solo vị) I, là một trong những ma trận đường chéo nxn, với những giá trên đường chéo cánh chính = 1, còn sót lại = 0
Iij=1I_ij = 1Iij=1 trường hợp i==ji == ji==j, ngược lại = 0Laplacian matrix tốt ma trận dẫn nạp L, cùng với L=D−AL = D - AL=D−A
Directed graph cùng undirect graph
Undirect graph giỏi ma trận vô hướng, khi cạnh nối thân 2 đỉnh i với j là như nhau, xuất xắc eij=ejie_ij = e_jieij=ejiDirect graph tuyệt ma trận có hướng, gồm chiều xác định từ đỉnh viv_ivi tới vjv_jvj cùng tồn tại link cạnh eije_ijeijSelf-loop: nút tất cả cạnh nối từ bỏ nó tới chủ yếu nó

Multi-graph: là các đồ thị với các cặp đỉnh kề nhau có tương đối nhiều hơn 1 cạnh nối liên kết giữa chúng
Heterogeneous với homogeneous graph
Homogeneous graph: hoàn toàn có thể hiểu là các đồ thị đơn, khi những nút cùng cạnh của đồ dùng thị chỉ màn biểu diễn duy duy nhất 1 đối tượng, lấy ví dụ như nút trình diễn con bạn và cạnh biểu diễn những người dân là bạn bè với nhauHeterogeneous graph: xuất xắc multi-model graph, là các đồ thị bao gồm nút với cạnh biểu lộ nhiều mối links giữa các đối tượng người tiêu dùng với nhau, liên quan mật thiết cho tới 1 định nghĩa rộng hơn là knowledge graph

Mỗi nút trên đồ thị, tùy bài xích toán cũng biến thành có nhãn (label) ứng cùng với từng nút. Ví dụ ai đang xây dựng 1 việc phân các loại thể nhiều loại của paper dựa trên các citation giữa những paper cùng với nhau. Những nút là các paper, những cạnh thể hiện các paper có links (citation) với nhau thì nhãn của nút có thể là: Computer Vision, NLP, Reinforcement Learning,...
Node feature: những nút của vật thị cũng có thể có thể bao gồm các đặc trưng (hoặc feature) riêng của từng nút. Những đặc tính này trả toàn hoàn toàn có thể được trích rút thêm từ các thông tin của nút đó. Ví dụ:
Với 1 câu hỏi social network, những nút vào mạng biểu thị 1 người, node feature là những đặc trưng như tuổi, giới tính, công việc, trình độ chuyên môn học vấn,...Với 1 việc về phân các loại topic cho document, những nút của vật dụng thị là các document, node feature hoàn toàn có thể được biểu diễn đơn giản và dễ dàng bằng 1 binary vector cùng với số chiều bằng con số từ trong từ điển (hay vocab), ví dụ là 50.000 từ, với mức giá trị 1 miêu tả từ có xuất hiện trong trường đoản cú điển với ngược lại. Hoặc hoàn toàn có thể biểu diễn dễ dàng hơn bằng phương pháp sử dụng các mô hình language model hoặc word embedding để sinh được 1 feature vector ứng cùng với từng từ bỏ hoặc từng đoạn, lấy ví dụ mình rất có thể sử dụng 1 mô hình doc2vec để ánh xạ 1 document thành 1 vector 300D....Với ma trận adjacency matrix (A) mặt trên, 1 số ít điểm dễ nhận biết rằng:
Ma trận A cũng miêu tả trọng số những cạnh của thiết bị thịĐa số những trường hợp là một trong những ma trận thưa (hay sparse matrix), tuyệt tỉ lệ 1/0 trên toàn vật dụng thị là rất bé
Trong nhiều bài bác toán, nhằm thuận tiện, không tính việc thực hiện adjacency matrix thì bạn ta cũng áp dụng adjacency list để biểu hiện cạnh nối giữa 2 đỉnh mang đến thuận tiện
Reference: https://towardsdatascience.com/graph-theory-and-deep-learning-know-hows-6556b0e9891b
1 số câu hỏi điển hìnhLink Prediction

Node classification


Clustering và Community detection

Node Embedding
Nói về Graph-based Learning, thứ 1 ta cần nói đến Graph-based Embedding, bao hàm 2 phân nhóm chính:
Vertex Embedding (Node embedding): hay việc ánh xạ 1 nút trong thứ thị lịch sự 1 không gian latent space khác với D-dims. Ta hoàn toàn hoàn toàn có thể sử dụng các latent space này nhằm mục tiêu mục đích visualization, hay vận dụng vào những downstream task như: node classifition, graph clustering, ...Graph Embedding: giống như như trên, cơ mà là việc ánh xạ cả 1 đồ thị / graph hoặc sub-graph thành 1 vector duy nhất, ví dụ như việc ánh xạ sang latent space của các cấu tạo phân tử để đối chiếu với nhau. Việc ánh xạ này sẽ tương quan nhiều tới các bài toán về graph/sub-graph classificationRất nhiều những giải thuật về graph-based learning (graph-based embedding, graph neural network) nói chung đều dựa trên giả định rằng những nút ở ngay sát nhau sẽ có được các đặc thù về feature là tương tự nhau. Ví dụ việc bạn follow ai làm việc trên twitter cũng trở thành phần nào hỗ trợ chúng ta đoán được rằng user đó lưu ý đến vấn đề gì trên mạng buôn bản hội, hoàn toàn có thể là các vấn đề tương quan đến học tập thuật như: machine learning, deep learning; hay những vấn đề về bao gồm trị, tôn giáo, sắc đẹp tộc bằng việc follow những user liên quan,... Tự đó, những nhà phát triển sẽ dựa vào những mối tương tác đó để thi công mô hình cho những mục tiêu riêng, ví dụ như như: social network analysis, recommender engine,...
2 nút không kết nối trực tiếp với nhau vẫn rất có thể có những điểm lưu ý giống nhau, ví dụ điển hình nhất là trong việc về colaborative filtering vào recommender system. Khi 2 user A, B trọn vẹn không liên quan đến nhau, user A ham mê các thành phầm P1, P2, P3, P4; user B đam mê các thành phầm P1, P3, P4. Vậy nhiều kỹ năng rằng thói quen tải đồ của 2 user là khá kiểu như nhau và hệ thống tiến hành lưu ý thêm mang lại user B thành phầm P2, ... Hay ví như hình dưới, nút 5 và 6 không connect trực tiếp với nhau nhưng gồm chung các nút "làng giềng" nên giả định rằng 2 nút này sẽ tương đối giống nhau, tương đồng với nhau về mặt context

Random Walk là gì?
Về Vertex Embedding (Node Embedding), thứ nhất ta đề xuất xem xét tư tưởng Random-Walk là gì?
Nếu các bạn đã từng thao tác làm việc với các bài toán về NLP trong ML, DL nói chung, chắc hẳn hẳn các bạn cũng biết tới 1 mô hình word embedding rất phổ cập và không còn xa lạ là Word2Vec. Về mặt định hướng mình xin phép không nói kĩ trong bài blog này, các bạn có thể xem thêm tại các bài blog khác trên viblo như:

Deep
Walk
DeepWalk là 1 quy mô Node Embedding khá đối chọi giản, dựa trên ý tưởng chủ đạo tự Word2Vec, mà ví dụ là từ mô hình Skip-gram. Vào paper của Deep
Walk có kể đến 1 thuật ngữ là Graph Sampling sử dụng random walk hay bước đi ngẫu nhiên trên đồ dùng thị. Random walk dễ dàng là việc chọn đi ngẫu nhiên tới những nút trơn giềng trong vật dụng thị, nói cả bước tiến tiếp theo rất có thể quay lại nút trước đó. Bằng bài toán sampling áp dụng random walk, ta đã chuyển dữ liệu từ một dạng cấu trúc phức tạp rộng là thiết bị thị (với không ít nút với cạnh nối với nhau) quý phái dạng màn trình diễn sequence 1D, giống như như những chữ cái liên tiếp nhau trong một câu vậy. Các nút bây giờ được màn trình diễn như các từ trong quy mô word2vec cùng với độ dài câu (hay số cách nhảy của random walk) không nạm định. Và ta rất có thể sử dụng luôn luôn được mô hình Word2Vec để áp dụng trực tiếp lên dạng dữ liệu đồ thị này!


Walk trên tập dữ liệu karate club bao gồm 4 nhãn. Sau thời điểm tiến hành visualize, có thể thấy các phân tách bóc khá cụ thể qua màu sắc

Node2Vec
Node2Vec cũng là 1 mô hình Node Embedding dựa trên ý tưởng phát minh của DeepWalk với Word2Vec. Điểm khác hoàn toàn của Node2Vec là ngoại trừ việc sử dụng random walk như thông thường, tế bào hình trình làng thêm 2 thông số kỹ thuật P cùng Q để kiểm soát và điều chỉnh lại bước tiến ngẫu nhiên trên đồ thị.

Với ppp (hay sót lại là return parameter) quy định kỹ năng quay lại 1 nút trước đó trên bước đi ngẫu nhiên. Cùng với ppp khủng thì ít có tác dụng quay lại nút trước đó và ngược lại.
Với qqq (hay sót lại là in-out parameter) quy định khả năng bước đi "gần" hay "xa" đối với nút ban đầu. Với q>1q > 1q>1 thì bước tiến ngẫu nhiên có xu hướng đi quanh lẩn quất nút ban sơ và ngược lại, rời khỏi xa ngoài nút ban đầu.
Ví dụ với việc áp dụng node2vec trước và sau khoản thời gian áp dụng lên tập tài liệu về persona data

Điểm hạn chế những các quy mô Vertex/Node Embedding nói chung
Nhìn chung, các quy mô Node Embedding đều đào bới việc ánh xạ những nút trong vật dụng thị thanh lịch 1 không khí vector mới, với những nút sát bên nhau, gồm context như là nhau sẽ ở sát nhau.
Tuy nhiên, có một số vấn đề như sau:
Giả dụ với 2 mô hình DeepWalk cùng Node2Vec mặt trên, phần đông dựa trên phát minh của Word2Vec. Nếu trong 1 bài toán tất cả domain khiêm tốn và ít tất cả sự update trong mô hình thì không vấn đề gì nhưng so với các nút new (bao gồm các liên kết mới) trong vật dụng thị thì chúng sẽ được ánh xạ như thế nào? bản thân mã sản phẩm Word2Vec với đông đảo từ không tồn tại trong trường đoản cú điển sẽ không có embedding vector trình diễn cho trường đoản cú đó.Thứ hai, như ta sẽ bàn về 1 số những khái niệm bình thường trong thiết bị thị như bên trên. Hiện tại tại, ta mới chỉ sử dụng tin tức là các nút ở bên cạnh nhau để thành lập mô hình, còn chưa sử dụng các thông tin khác ví như node feature tuyệt thuộc tính của từng nút trong đồ gia dụng thị. Ví dụ, với 1 bài toán về social network analytic, ngoài các kết nối thân người với những người thì các thông tin bản thân của từng fan như: giới tính, độ tuổi, trình trạng hiện tại, ... Cũng vô cùng buộc phải thiết. Các mô hình không có chức năng adapt, generalization giỏi trên những unseen data được điện thoại tư vấn là tranductive learning method, trái lại là inductive learning method
Trong phần tiếp, ta đang đề cập tới các quy mô thuở ban đầu của GNN cũng tương tự các mô hình liên quan đến 2 định nghĩa tranductive cùng inductive learning trên và phía cải thiện
Spectral vs Spatial Graph Neural NetworkThực tế, các quy mô về graph neural network cũng đã được tìm hiểu từ tương đối lâu, trong khoảng thời hạn 2014 tới thời điểm này thì mới dành được sự quan liêu tâm nhiều hơn từ cộng đồng và được phân chia khá rõ ràng thành 2 phân lớp chính:Spectral Graph Neural Network: liên quan đến những khái niệm về phân tách ma trận eigen-decomposition, eigenvector, eigenvalues,... Mặc dù nhiên, các cách thức về spectral-based thường xuyên có ngân sách chi tiêu tính toán khá lớn và dần bị thay thế bởi các phương thức spatial-basedSpatial Graph Neural Network: là 1 phương thức đơn giản hơn cả về mặt toán học cùng mô hình. Spatial-based method dựa trên ý tưởng phát minh việc xây dựng những node embedding phụ thuộc vào vào những node lân cận.

Reference https://ai.stackexchange.com/questions/14003/
GCNĐể đơn giản dễ dàng và dễ dàng hiểu, ta tư tưởng 1 mô hình GCN như sau:
1 đồ dùng thị G=(V,E)G = (V, E)G=(V,E)1 ma trận adjacency matrix A nxnX∈Rnxd
X in R^n x dX∈Rnxd là ma trận feature ứng với các nút của vật dụng thị, cùng với nnn là tổng số lượng nút cùng ddd là số chiều của node feature. Node embedding như ta đã và đang đề cập sống trên, liên quan đến các thông tin của nút đó.
Để dễ hình dung, họ hãy làm một số ít ví dụ nhỏ như sau:
Ví dụ 1
Với 1 thiết bị thị vô hướng như hình dưới
Đồ thị tất cả 6 nút từ A -> F. Để đối kháng giản, với từng nút sẽ được biểu diễn bởi 1 trọng số (hay ví dụ như node embedding lúc này của nút A = <0.1>)
Với trả định từ trên đầu rằng những nút lân cận nhau là tương tự nhau. Trường đoản cú đó, ta tiến hành 1 phép toán đơn giản dễ dàng để tổng vừa lòng lại thông tin của các nút ở bên cạnh của nút viv_ivi nắm thể, bằng cách lấy trung bình các giá trị của những nút lận cận + giá trị của nút viv_ivi, ta thu được giá trị mới ppp, gắn thêm giá trị bắt đầu ppp này cho nút viv_ivi. Đối với các nút không giống cũng triển khai tương tự trong 1 step. Những step tiếp đến cũng tiếp tục thực hiện phép toán vừa nêu với tất cả các nút vào mạng. Sau step 1, ta thu được những giá trị bắt đầu cho vật dụng thị như sau:



Có thể thấy rằng, giá trị hiện tại của những nút trong mạng vẫn được kiểm soát và điều chỉnh lại cùng san hầu hết hơn giữa những nút, phần nhiều nút sát nhau sẽ sở hữu được giá trị gần nhau hơn, đa số nút có cấu tạo liên kết như là nhau như nút E với F đầy đủ nhận quý hiếm là như thể nhau.
Nếu điện thoại tư vấn A0A^0A0 là cực hiếm nút A tại step 0, giống như các với nút khác thì ta gồm công thức


Có thể thấy rằng, với 2 step, giá chỉ trị lúc này của nút A bị ảnh hưởng bởi những nút nằm trong phạm vi 2 bước nhảy tính từ bỏ nút A, bao gồm cả 5 nút còn lại. Tuy nhiên nếu trả sử có một nút G nối chủ quyền với nút F ví dụ điển hình thì giá trị bây giờ của A không bị tác động bởi nút G (vì 3 bước nhảy)
Với phép toán tính trung bình (mean) bên trên, ta trả toàn hoàn toàn có thể thay gắng bằng 1 số ít phép toán khác, được gọi là aggregation function (sẽ được đề cập kĩ hơn tại quy mô Graph
Sage). Tóm lại, giá trị của A1A_1A1 sẽ được biểu diễn tóm gọn gàng như sau



Ví dụ 2



GCN
1 hidden layer của GCN có thể được màn biểu diễn như sau: Hi=f(Hi−1,A)H^i = f(H^i - 1, A)Hi=f(Hi−1,A), vào đó:
HiH^iHi trình diễn đầu ra của layer máy i + 1, mỗi layer Hi
H^iHi tương ứng với một ma trận có kích cỡ NNN x Fi
F^iFi. Cùng với Fi
F^iFi mô tả số feature đầu ra output của từng nút trên layer Hi
H^iHi
H0=XH^0 = XH0=X, bao gồm trọng số được khởi tạo luôn là node feature của từng nút
Trong đó, hàm f rất có thể được biểu diễn đơn giản bằng 1 bí quyết sau: Hi+1=f(Hi,A)=σ(AHi
Wi)H^i + 1 = f(H^i, A) = sigma(A H^i W^i)Hi+1=f(Hi,A)=σ(AHi
Wi), với:
W^iWi là ma trận trọng số ứng cùng với layer lắp thêm iiiσsigmaσ là 1 trong những hàm kích hoạt phi con đường tính (activation function), lấy ví dụ hàm Re
LU
Nhưng với cách làm hiện tại, tất cả 2 điểm tiêu giảm như sau:
Dễ thấy rằng, bằng câu hỏi nhân thêm ma trận A, cùng với từng nút, cực hiếm mà các nút cạnh bên contribute đến nút viv_ivi lúc này đúng bằng tổng số feature của những nút đó tuy thế chưa bao hàm nút viv_ivi. Ta hoàn toàn có thể khắc phục điều đó bằng cách "cộng thêm" identity matrix vào ma trận A, tức A = A + IVới hầu như nút tất cả degree béo (tức hầu hết nút liên kết với nhiều nút khác) thì bọn chúng gây ảnh hưởng lớn hơn trong vượt trình update trọng số của tế bào hình. Một điểm nữa, những khoảng giá bán trị hiện tại của A không hề được normalize, tức trả toàn rất có thể dẫn tới việc vanishing / exploding gradient trong quy trình backprop. Vày đó, ta rất có thể normalize A bằng cách D−1AD^-1AD−1A, với D là degree matrix. Điều đó đồng nghĩa với bài toán lấy mức độ vừa phải feature của những nút lấn cận.Từ đó, công thức thuở đầu được biến đổi thành
Hi+1=f(Hi,A)=σ(AHi
Wi)=σ(D−1AHi
Wi)H^i + 1 = f(H^i, A) = sigma(A H^i W^i) = sigma(D^-1A H^i W^i)Hi+1=f(Hi,A)=σ(AHi
Wi)=σ(D−1AHi
Wi)
σ(D−1AHi
Wi)=σ(D−1/2AD−1/2Hi
Wi)sigma(D^-1A H^i W^i) = sigma(D^-1/2A D^-1/2 H^i W^i)σ(D−1AHi
Wi)=σ(D−1/2AD−1/2Hi
Wi)
với H0=XH^0 = XH0=X
Reference http://web.stanford.edu/class/cs224w/slides/08-GNN.pdf
Những điểm yếu kém / hạn chế của quy mô GCN truyền thống lâu đời và hướng cải thiện
Nhìn chung, mô hình GCN trong paper Semi-Supervised Classification with Graph Convolutional Networks - năm nhâm thìn được xây dựng khá 1-1 giản, tuy nhiên còn 1 vài tinh giảm như sau:Memory requirement: trọng số của mô hình vẫn được cập nhật qua từng epoch, tuy nhiên với mỗi epoch được update theo full-batch gradient descent, chưa hẳn mini-batch gradient descent, tức việc update trên tổng thể điểm dữ liệu cùng 1 lúc. Điều kia cũng trọn vẹn dễ hiểu bởi vì trong công thức update bên trên, mô hình vừa phải giữ toàn cục trọng số cùng ma trận adjacency matrix A. Với cùng 1 tập dữ liệu nhỏ như CORA dataset (2708 paper~node cùng 5429 citation / edge) thì không hẳn vấn đề tuy nhiên với 1 tập dữ liệu to hơn với hàng nghìn node cùng dense-adjacency matrix thì bí quyết tiếp cận này trọn vẹn không cân xứng khi memory requirement là siêu lớn!Directed edges & edge features: quy mô hiện trên về GCN được chào làng tại paper đã chưa thực hiện thêm những yếu tố khác như edge feature (adj matrix A lúc này chỉ là binary matrix) và directed graph (tức ma trận gồm hướng). Hướng cách xử trí trong paper hiện giờ đang bị giới hạn với undirected graph (ma trận vô hướng).Limiting assumption: câu hỏi cộng adjacency matrix A cùng với identity matrix I để có thêm feature của thiết yếu nút đó. Bí quyết làm này sẽ giả định rằng nút viv_ivi và các nút cạnh bên của viv_ivi sẽ contribute cho tới viv_ivi là như nhau, ta có thể nhân thêm 1 tham số λlambdaλ để điều chỉnh lại trọng số của nút viv_ivi: A=A+λIA = A + lambda IA=A+λI. λlambdaλ thực chất rất có thể là 1 trainable parameter, hiện nay trong paper fix cứng = 1 và tác giả cũng đều có đề cập thêm về thông số này trên mục 7.2 (limitations và future work).Transductive setting: với rất nhiều nút new thêm vào trang bị thị (kèm theo những liên kết mới), quy mô GCN có chức năng tổng quan tiền hóa (generalization) siêu kém với phần đông nút mới đó với yêu cầu nên re-training để cập nhật lại tế bào hình!GraphSage (an inductive learning method)Vào năm 2017, 1 paper bắt đầu với tên thường gọi Inductive Representation Learning on Large Graphs - 2017 xuất xắc Graph
Sage được đề xuất, với tương đối nhiều cải tiến về mặt mô hình so với paper GCN - 2016. Hoàn toàn có thể tóm gọn gàng trong 1 số ý như sau:An inductive learning method, tức Graph
Sage có công dụng tổng quát lác hóa xuất sắc hơn với các unseen data
Vẫn dựa trên ý tưởng sinh những node embedding dựa trên các node lấn cận. Vào paper Graph
Sage, tác giả đề cập tới việc kiến tạo các hàm aggrerate nhằm tổng hợp lại thông tin từ các nút ở bên cạnh và khuyến cáo 3 hàm aggrerate tương ứng.Mini-batch update gradient descent và là một trong những spatial gnn method, khắc phục được hạn chế lớn số 1 của GCN là việc update theo full-batch gradient descent

Sage được xây đắp cũng dựa trên ý tưởng là tổng hợp thông tin từ các nút lạm cận. Chi tiết giải thuật như sau:Input: đồ thị G=(V,E)G = (V, E)G=(V,E), các cảnh báo feature xv∈X,∀v∈Vx_v in X, forall v in Vxv∈X,∀v∈V, ∀k∈1,...,Kforall k in 1, ..., K∀k∈1,...,K, cùng với KKK là số aggregator function được áp dụng tiếp tục nhau
Output: embedding vector zv∀v∈Vz_v forall v in Vzv∀v∈V

Ta có, hv0=xvh^0_v = x_vhv0=xv, và với từng aggre function sản phẩm công nghệ k, trên từng nút v∈Vv in Vv∈V, ta tổng hợp tin tức từ các nút ở kề bên u,∀u∈N(v)u, forall u in N(v)u,∀u∈N(v), thu được 1 vector trình diễn h
N(v)kh^k_N(v)h
N(v)k. Các hàm aggre biểu diễn hoàn toàn có thể sử dụng 1 số các hàm đơn giản như mean, pooling, ... Tuyệt thậm chí những mạng như lstm
Với thông tin thu được tổng đúng theo từ những nút ở kề bên h
N(v)kh^k_N(v)h
N(v)k, ta triển khai concat h
N(v)kh^k_N(v)h
N(v)k với thông tin của nút vvv tại step trước đó (k - 1).
Với vector mới vừa được concat, ta đưa qua một fully connected layer dễ dàng với 1 hàm kích hoạt phi con đường tính làm việc cuối, lấy một ví dụ Re
LU. Đồng thời normalize hvk,k∈Kh^k_v, k in Khvk,k∈K
Sau lúc thực hiện thống kê giám sát qua K lần (K aggre function), ta chiếm được feature vector zv≡hv
K,∀v∈Vz_v equiv h^K_v, forall v in Vzv≡hv
K,∀v∈V
Ta có thể stack những aggre function liên tiếp nhau với ao ước muốn quy mô sẽ sâu hơn cùng học được rất nhiều các abstract feature. Tuy nhiên, với dữ liệu đồ thị, bài toán stack không ít aggre function cũng không rước lại khác biệt quá các về phương diện kết quả, thậm chỉ ảnh hưởng đến performance của tế bào hình. Thường xuyên ta sử dụng 1, 2 aggre function là đủ.
Bằng việc kiến thiết các hàm aggre function như vậy, trọng số của mô hình dần được update dựa bên trên thông tin các nút cạnh bên u,∀u∈N(v)u, forall u in N(v)u,∀u∈N(v) của nút vvv. Lúc đó, tế bào hình có khả năng tổng quát lác hóa xuất sắc hơn (better generalization) với những điểm dữ liệu mới (unseen node). Với các unseen node mới như vậy, embedding vector được tạo nên dựa trên tin tức từ các nút ở bên cạnh của unseen node và từ chính node feature của nút đó. Giải thuật này có tính ứng dụng cao hơn, cân xứng với nhiều việc mà dữ liệu lớn hơn và chuyển đổi thường xuyên như: tài liệu mạng xạ hội, dữ liệu những trang wikipedia được liên kết, tài liệu từ các paper bắt đầu khi cite / reference tới những paper trước đó, tuyệt dữ liệu người tiêu dùng upvote, đoạn clip hay follow user bao gồm trên website Viblo này đây

Aggregator functions
Dữ liệu dạng đồ gia dụng thị không tồn tại tính vật dụng tự, kha khá về địa điểm như những dạng tài liệu như sequence, image, ... Yêu cầu giả định rằng các aggregator function được tư tưởng cũng cần có tính chất là symmetric (tức không nhiều bị ảnh hưởng bởi hoán vị của các nút lân cận). Vào paper tất cả đề cập cho tới việc sử dụng 3 aggregator function là mean, pooling cùng LSTM
Mean aggregator, là một trong những non-parametric function với symmetric, đơn giản và dễ dàng là bài toán lấy vừa đủ vector của các nút kề bên tại từng vị trí, xuất xắc element-wise mean operation. Việc thực hiện concat 2 vector trên đoạn pseudo code bên trên gần tương tự như một "skip connection" trong mạng redidual network.
LSTM aggregator, là một trong những parametric function. LSTM có thiết kế cho các bài toán dạng sequence, tức không hẳn symmetric. Tuy nhiên, trong paper bao gồm đề cập tới việc sử dụng những hoán vị bất chợt từ input đầu vào là những nút lấn cận. Hiệu quả thu được cũng rất khả quan lại so với những aggregator function khác
Pooling aggregator, vừa là 1 parametric function với symmetric, được thiết kế với theo công thức. Cùng với σsigmaσ là activation function, maxmaxmax là toán tử element-wise max-pooling operation

Loss function
Với câu hỏi supervised learning, áp ra output gồm những feature embedding zvz_vzv, ta hoàn toàn có thể thiết kế thêm những layer, dễ dàng như 1 mạng fully connected layer nghỉ ngơi cuối, cùng với số node đầu ra output bằng số class, hàm loss function sử dụng là cross entropy
Với câu hỏi un-supervised learnig, mang dù không có label, tuy nhiên với cách xây cất từ mô hình, những node embedding thu được sau khi training trả toàn hoàn toàn có thể được thực hiện lại ở những downstream task.
Từ đó, hàm loss function được có mang cho việc un-supervised learning như sau:

Trong đó, uuu cùng vvv là 2 nút kề bên nhau, ở bên cạnh trong số bước đi ngẫu nhiên thắt chặt và cố định đã khẳng định từ trước. QQQ là tập hợp các cặp negative sample, tức 2 nút không lận cận nhau. σsigmaσ là sigmoid function.
Dễ thấy rằng, câu hỏi tính loss là phụ thuộc các nút lân cận, tùy số cách trong bước tiến ngẫu nhiên yêu cầu giúp mô hình có công dụng tổng quát tháo hóa hơn trên toàn dữ liệu, cùng khi áp dụng cho những unseen node; khác hoàn toàn với việc giảng dạy embedding cố định cho từng node như các mô hình node embedding như Deep
Walk hoặc Node2Vec. Đó đó là sự khác hoàn toàn lớn nhất giữa các quy mô tranductive learning (Deep
Walk, Node2Vec) với các quy mô inductive learning như Graph
Sage.

Pin
Sage - Pinterest Recommender Engine
Pinterest là một trong những mạng xóm hội share hình ảnh rất phổ biến. Nguồn tin tức trên Pinterest được thành lập dựa trên những thông tin về pins với boards. Cùng với pins tựa như như công dụng lưu / yêu thích ảnh từ người dùng, còn boards là tổng thích hợp các hình ảnh cùng 1 công ty đề, có tương quan đến nhau, được xây dựng do cộng đồng. Bài toán đặt ra với những kĩ sư Pinterest là làm sao để tăng thêm lượng xúc tiến từ tín đồ dùng, bằng phương pháp recommend các boards có tương quan khi người tiêu dùng thực hiện nay pin / save 1 bức hình ảnh nào đó
Tập tài liệu mà mặt Pinterest lưu giữ trữ tương đối lớn, khoảng 2 tỉ lượt pins và 1 tỉ các boards, với khoảng 18 tỉ connection (edge) giữa những pin với board. Nhiệm vụ của việc recommend là xây dựng được bộ node embedding cho các pins để từ đó tiến hành recommend các hình ảnh tương đồng hoặc những board bao gồm liên quan. Và mặt Pinterest có thừa kế từ mô hình Graph
Sage ta vừa luận bàn bên trên bằng cách xây dựng 1 bi-partite graph (đồ thị 2 phía) với một bên là những pins, một bên là những boards và links giữa pins-boards

Với Node Embedding được khởi tạo ra ban đầu, các nhà cải cách và phát triển bên Pinterest tận dụng các metadata từ không ít kiểu dữ liệu khác nhau, từ cả ảnh và text để tạo các node embedding xix_ixi ban đầu ứng cùng với từng node. Bên cạnh đó, trong paper Pin
Sage còn đề cập tới những hướng improve khác như: Producer consumer mini-batch construction, Efficient Map
Reduce Inference, Negetive Sampling Mining, Curriculum Training, ...
Trong quá trình thực hiện A/B test, team ngũ bên Pinterest cũng thấy rằng tính năng của hệ thống được tạo thêm đáng kể

Sage, chúng ta có thể đọc thêm tại các nguồn sau:
Uber
Eat - user-based recommender engine
Mỗi bipartite graph sẽ được xây dựng để phục vụ cho 1 mục đích recommend riêng, ví dụ như hình ảnh gif mặt dưới


Có 1 điểm chú ý trong bí quyết xây dựng node embedding ban đầu. Vì những nút hiện tại tại bao hàm 3 thực thể khác biệt (user-dish-restaurant, còn lấy ví dụ như của pinterest trên là 2 thực thể pin-board) nên các nút sẽ sở hữu các initial embedding với số chiều khác nhau. Ta tiến hành thiết đặt thêm 1 mạng MLP ứng cùng với từng nút thực thể nhằm quy về 1 node embedding cùng với số chiều là núm định.
Vì 1 user rất có thể đặt 1 món ăn uống nhiều lần hoặc để món ăn thường xuyên từ là 1 số bên hàng, nên trong phần loss function cũng thực hiện sửa đổi để re-ranking lại các nút trong vật dụng thị
Bên Uber cũng tiến hành triển khai A/B testing cùng cũng nhận được những nâng cấp rất giỏi từ hệ thống.
Decagon - Heterogeneous Drug Side-Effect
Drug Side-Effect có thể hiểu là những chức năng phụ (tác dụng ngược) có tác động thêm, không tốt đối với người sử dụng khi thực hiện thuốc hoặc nhiều phương thuốc kết hợp với nhau mà không có chỉ định rõ ràng từ bác bỏ sĩ. Vì cấu trúc thành phần những các bài thuốc rất tinh vi về cấu tạo phân tử cần sẽ gây trở ngại trong câu hỏi điều chế và áp dụng nhiều phương thuốc khác nhau.

Về khía cạnh graph cũng được xây dựng tinh vi hơn 1 chút. Với các nút xanh là tên thuốc, các nút cam là thành phần kết cấu kèm theo node embedding ứng với từng thành phần. Các cạnh bao gồm các tương tác giữa drug-gene, gene-gene và những side-effect giữa những loại thuốc với nhau
1 số những website về drug side effect information
GCPN - Goal-directed generation
Là việc graph generation hay vấn đề sinh / hình thành các nút cùng cạnh new trên vật thị để tạo ra các kiến trúc mới. 1 việc dễ hình sử dụng là hiện ra các cấu tạo phân tử dựa trên 1 số phương châm và điều kiện / quy tắc mang lại trước.



Reference http://web.stanford.edu/class/cs224w/slides/19-applications.pdf
1 số bài toán và hướng cải tiến và phát triển khác3D Object Detection
OCR / Scene Text Detection
NLP / Text Classification
GAN
VAE
Feature Matching
Action Recognition
Pose Estimation
Document Information Extraction
Scene Graph Generation
Recommender System
And many more...
Reference https://github.com/nnzhan/Awesome-Graph-Neural-Networks
Hạn chế cùng lưu ýNon-injective neightbor aggregation và injective neightbor aggregation

Adversarial Attack
Là việc tiến công vào các nút hoặc cạnh của thứ thị để gia công sai lệch tác dụng dự đoán của mô hình. 1 số dữ liệu dạng đồ vật thị rất có thể dễ dàng bị tấn công như: credit card fraud detection, social recommendation, product recommendation, ....
Thêm / xóa / biến đổi các mối links trên vật dụng thị (modify edge)Thêm / xóa các nút trên vật thị (node injection)Thay đổi các feature tuyệt node embedding của nút (modify feature)

Reference: http://web.stanford.edu/class/cs224w/slides/18-limitations.pdf
1 số paper cùng nguồn tư liệu đáng chú ý khác1 số paper bản thân nghĩ là nên / đề nghị đọc sau khoản thời gian đã nạm được các phần về Node Embedding (Random Walk, Deep
Walk, Node2Vec, ..) với GNN (GCN, Graph
Sage, ..) đang đề cập nghỉ ngơi trên
GAT (Graph Attention Network)
Áp dụng thêm attention mechanism vào GNNCluster
GCN: An Efficient Algorithm for Training Deep & Large Graph Convolutional Networks
Graph
Saint: Graph Sampling Based Inductive Learning Method
GIN (Graph Isomorphism Network) - HOW POWERFUL ARE GRAPH NEURAL NETWORKS?
Thiết kế các injective aggre function vào GNN1 số những nguồn tài liệu là các khóa học tập và bài giảng hữu ích
Deep Learning là gì? mô hình deep learning - học sâu là 1 nhánh bé dại của AI - artificial intelligence (trí tuệ nhân tạo). Nó hoạt động dựa bên trên mạng nơ-ron tự tạo (neural networks) nhằm phân tích, xử lý dữ liệu và mô phỏng khối óc của con người. Cùng fips.edu.vn tò mò về ưu nhược điểm, ứng dụng của mô hình học sâu qua nội dung bài viết sau.
Deep Learning là gì?

Deep Learning là gì? Deep Learning (học sâu) cũng rất có thể được coi là một nghành thuộc Machine Learning – nơi máy vi tính tự học tập và cải thiện thông qua các thuật toán. Thay nhưng, Deep Learning được xây dựng dựa trên những khái niệm phức hợp hơn.
Chủ yếu vận động với mạng thần kinh nhân tạo để bắt chước khả năng tư duy và suy nghĩ của cỗ não bé người. Thực chất các khái niệm tương quan đến mạng nơ-ron nhân tạo và Deep Learning đã được cách tân và phát triển những năm 1960. Nhưng nó bị giới hạn do lượng dữ liệu cùng khả năng giám sát tại thời gian đó.
Trong trong thời gian gần đây, những tân tiến trong đối chiếu big data đã mang đến phép họ tận dụng về tối đa năng lực của mạng lưới thần ghê nhân tạo. Mạng nơ-ron nhân tạo (neural networks) là cồn lực chính phía sau sự phát triển của Deep Learning.
Mạng lưới thần gớm sâu (DNN - Deep neural networks) bao hàm nhiều lớp tế bào thần ghê khác nhau, có khả năng thực hiện nay các giám sát rất phức tạp. Deep Learning hiện đang phát triển rất nhanh và được coi là một một trong những bước nâng tầm lớn nhất trong Machine Learning.
Cách thức hoạt động vui chơi của mô hình học tập sâu - deep learning

Mạng thần kinh tự tạo trong Deep Learning được desgin để tế bào phỏng kỹ năng tư duy của bộ não nhỏ người. Phương pháp hoạt cồn như sau:
Một mạng nơ-ron bao hàm nhiều lớp (layer) không giống nhau, càng nhiều lớp thì mạng vẫn càng “sâu”. Trong những lớp là những node (nút mạng) và được link với các lớp khác mặt cạnh.Mỗi liên kết giữa các nút sẽ có được một trọng số tương ứng, trọng số càng cao thì nấc độ tác động của kết nối này mang lại mạng nơ-ron càng lớn.Mỗi nơ-ron sẽ sở hữu một tính năng kích hoạt, về cơ bản chịu trách nhiệm "chuẩn hóa" cổng đầu ra từ nơ-ron này.Dữ liệu được người tiêu dùng nhập vào mạng thần tởm đi qua toàn bộ các lớp với trả về kết quả ở layer cuối cùng, được hotline là lớp đầu ra output (output layer).Trong quy trình đào tạo quy mô mạng nơ-ron, những trọng số đang được chuyển đổi và nhiệm vụ của quy mô là tra cứu tập giá chỉ trị của những trọng số thế nào cho phán đoán đúng nhất.Các khối hệ thống Deep Learning yêu mong phần cứng rất mạnh khỏe để rất có thể xử lý lượng lớn tài liệu và tiến hành các phép tính phức tạp. Nhiều quy mô Deep Learning có thể mất hàng tuần hoặc thậm chí còn hàng mon để xúc tiến trên phần cứng tiên tiến nhất hiện nay nay.
Xem thêm: Top 30+ Bài Hát Mừng Đám Cưới Hay Nhất Hiện Nay, Top 24 Bài Hát Cho Đám Cưới Hay Và Lãng Mạn
Ưu điểm yếu kém học sâu (deep learning)

Deep Learning là 1 trong những bước ngoặt to trong nghành nghề trí tuệ tự tạo - artificial intelligence. Nó chất nhận được các công ty khoa học dữ liệu khác gây ra nhiều quy mô có độ đúng chuẩn cao vào các nghành nhận ngoại hình ảnh, xử lý ngữ điệu tự nhiên, data…
Một số ưu thế nổi nhảy của Deep Learning bao gồm:
Cấu trúc neural networks linh hoạt, dễ dàng dàng đổi khác để phù hợp với nhiều thuật toán không giống nhau.Có tài năng giải các vấn đề phức hợp với độ đúng mực rất cao.Khả năng tự động hóa cao, tự điều chỉnh và tự về tối ưu hóa.Có khả năng thực hiện đo lường và tính toán song song, tính năng tốt, giải pháp xử lý lượng tài liệu lớn.Bên cạnh ưu điểm, Deep Learning vẫn tồn tại tồn tại những hạn chế:
Cần trọng lượng dữ liệu to con để khai quật tối đa năng lực của Deep Learning.Chi phí thống kê giám sát cao vì phải xử lý n