Lecture 5.3 - Collective Classification - Belief Propagation
CS224W Lecture 5.
- 5.3 - Collective Classification : Belief Propagation
- Collective Classification : Belief Propagation
- Collective Classification Models
- Loopy Belief Propagation
- Message Passing: Basics
- Message Passing: Algorithm
- Message Passing: Basics
- Generalizing to a Tree
- Message passing in a tree
- Loopy BP Algorithm
- Notation
- Loopy BP Algorithm
- Example: Loopy Belief Propagation
- What Can Go Wrong?
- Advantages of Belief Propagation
- Summary
- Collective Classification : Belief Propagation
Lecture 5
5.3 - Collective Classification : Belief Propagation
Collective Classification : Belief Propagation
Collective Classification Models
- Relational classifiers
- Iterative classification
- Loopy belief propagation
- 관계 분류자
- 반복구분
- 루피 신앙 전파
Loopy Belief Propagation
- Belief Propagation is a dynamic programming approach to answering probability queries in a graph (e.g. probability of node $v$ belonging to class 1 )
-
Iterative process in which neighbor nodes “talk” to each other, passing messages
- When consensus is reached, calculate final belief
- 믿음 전파는 그래프에서 확률 쿼리에 응답하는 동적 프로그래밍 접근법이다(예: 클래스 1에 속하는 노드 $v$의 확률).
-
인접 노드가 메시지를 전달하면서 서로 “대화”하는 반복 프로세스
- 합의가 이루어지면 최종 믿음을 계산합니다.
Message Passing: Basics
- Task: Count the number of nodes in a graph*
- Condition: Each node can only interact (pass message) with its neighbors
- Example: path graph
- 과제: 그래프의 노드 수 계산*
- 조건: 각 노드는 인접 노드와만 상호 작용(메시지 전달)할 수 있습니다.
- 예: 경로 그래프
Potential issues when the graph contains cycles.
We’ll get back to it later!
그래프에 주기가 포함되어 있을 때 발생할 수 있는 문제. 나중에 다시 얘기하자!
Message Passing: Algorithm
- Task: Count the number of nodes in a graph
- Algorithm:
- Define an ordering of nodes (that results in a path)
- Edge directions are according to order of nodes
- Edge direction defines the order of message passing
- For node $i$ from 1 to 6
- Compute the message from node $i$ to $i+1$ (number of nodes counted so far)
- Pass the message from node $i$ to $i+1$
- 과제: 그래프의 노드 수 계산
- 알고리즘:
- 노드 순서 정의(경로 생성)
- 에지 방향은 노드 순서에 따릅니다.
- 에지 방향은 메시지 전달 순서를 정의합니다.
- 노드 $i$의 경우 1 ~ 6까지
- 노드 $i$에서 $i+1$로 메시지 계산 (지금까지 카운트된 노드 수)
- 노드 $i$에서 $i+1$로 메시지 전달
Message Passing: Basics
Task: Count the number of nodes in a graph Condition: Each node can only interact (pass message) with its neighbors Solution: Each node listens to the message from its neighbor, updates it, and passes it forward $m$ : the message
작업: 그래프의 노드 수 계산 조건: 각 노드는 인접 노드와만 상호 작용(메시지 전달)할 수 있습니다. 솔루션: 각 노드는 인접 노드로부터 메시지를 수신하고 업데이트한 후 전달 $m$ : 메시지
Generalizing to a Tree
- We can perform message passing not only on a path graph, but also on a tree-structured graph
- Define order of message passing from leaves to root
- 경로 그래프뿐만 아니라 트리 구조 그래프에서도 메시지 전달을 수행할 수 있습니다.
- 리프에서 루트로 전달되는 메시지 순서 정의
Message passing in a tree
Update beliefs in tree structure
트리 구조의 신뢰 업데이트
Loopy BP Algorithm
What message will $i$ send to $j$ ?
- It depends on what $i$ hears from its neighbors
- Each neighbor passes a message to $i$ its beliefs of the state of $i$
$i$가 $j$에 보낼 메시지는 무엇입니까?
- $i$가 이웃으로부터 무엇을 듣느냐에 따라 달라진다.
- 각 이웃은 $i$ 상태에 대한 믿음을 $i$에 전달한다.
Notation
- Label-label potential matrix $\psi$ : Dependency between a node and its neighbor. $\boldsymbol{\psi}\left(Y_{i}, Y_{j}\right)$ is proportional to the probability of a node $j$ being in class $Y_{j}$ given that it has neighbor $i$ in class $Y_{i}$.
- Prior belief $\phi: \phi\left(Y_{i}\right)$ is proportional to the probability of node $i$ being in class $Y_{i}$.
- $m_{i \rightarrow j}\left(Y_{j}\right)$ is $i^{\prime}$ s message / estimate of $j$ being in class $Y_{j}$.
- $\mathcal{L}$ is the set of all classes/labels
- 레이블 레이블 잠재적 매트릭스 $\psi$ : 노드와 인접 노드 간의 종속성. $\boldsymbol{\psi}\left(Y_{i}, Y_{j}\right)$는 노드 $j$가 클래스 $Y_{j}$에 있을 확률에 비례한다.
- $\phi: \phi\left(Y_{i}\right)$는 노드 $i$가 클래스 $Y_{i}$에 포함될 확률에 비례한다.
- $m_{i \rightarrow j}\left(Y_{j}\right)$는 클래스 $Y_{j}$에 속하는 $j$의 $i^{\prime}$ 메시지/추정이다.
- $\mathcal{L}$ 는 모든 클래스/라벨의 집합입니다.
Loopy BP Algorithm
- Initialize all messages to 1
- Repeat for each node:
- 모든 메시지를 1로 초기화
- 각 노드에 대해 반복합니다.
After convergence: $b_{i}\left(Y_{i}\right)=$ node $i$ ‘s belief of being in class $Y_{i}$
수렴 후: $b_{i}\left(Y_{i}\right)=$ 노드 $i$의 클래스 $Y_{i}$에 대한 믿음
Example: Loopy Belief Propagation
- Now we consider a graph with cycles
- There is no longer an ordering of nodes
- We apply the same algorithm as in previous slides:
- Start from arbitrary nodes
- Follow the edges to update the neighboring nodes
What if our graph has cycles? Messages from different subgraphs are no longer independent! But we can still run BP, but it will pass messages in loops.
- 이제 주기가 있는 그래프를 살펴봅시다.
- 더 이상 노드 순서가 없습니다.
- 이전 슬라이드와 동일한 알고리즘을 적용합니다.
- 임의 노드에서 시작
- 가장자리를 따라 인접 노드를 업데이트합니다.
만약 우리 그래프에 주기가 있다면? 다른 하위 그래프의 메시지는 더 이상 독립적이지 않습니다! 하지만 BP는 여전히 실행할 수 있지만 메시지를 루프 형태로 전달합니다.
What Can Go Wrong?
- Beliefs may not converge
- Message $m_{u \rightarrow i}\left(Y_{i}\right)$ is based on initial belief of $i$, not a separate evidence for $i$
- The initial belief of $i$ (which could be incorrect) is reinforced by the cycle
- However, in practice, Loopy BP is still a good heuristic for complex graphs which contain many branches.
- 신념이 수렴되지 않을 수 있다.
- 메시지 $m_{u \rightarrow i}\left(Y_{i}\right)$는 $i$에 대한 별도의 증거가 아니라 $i$의 초기 믿음에 기초한다.
- (잘못될 수 있음) $i$의 초기 신념은 주기에 의해 강화된다.
- 그러나 실제로 Loopy BP는 많은 분기를 포함하는 복잡한 그래프에 여전히 좋은 휴리스틱이다.
- Messages loop around and around: $2,4,8,16,32, \ldots$ More and more convinced that these variables are $T$ !
- BP incorrectly treats this message as separate evidence that the variable is $\mathrm{T}$!.
- Multiplies these two messages as if they were independent.
- But they don’t actually come from independent parts of the graph.
- One influenced the other (via a cycle).
- 메시지는 돌고 돈다: $2,4,8,16,32,\ldots$ 이러한 변수가 $T$임을 점점 더 확신하게 된다!
- BP는 이 메시지를 변수가 $\mathrm{T}$라는 별도의 증거로 잘못 취급한다.
- 이 두 메시지를 독립한 것처럼 곱합니다.
- 하지만 그것들은 사실 그래프의 독립적인 부분에서 나온 것이 아닙니다.
- 한 사람이 다른 사람에게 영향을 주었다.
This is an extreme example. Often in practice, the cyclic influences are weak. (As cycles are long or include at least one weak correlation.)
이것은 극단적인 예입니다. 실제로, 주기적인 영향은 약하다. (주기가 길거나 하나 이상의 약한 상관 관계를 포함하기 때문에)
Advantages of Belief Propagation
- Advantages:
- Easy to program & parallelize
- General: can apply to any graph model with any form of potentials
- Potential can be higher order: e.g. $\boldsymbol{\psi}\left(Y_{i}, Y_{j}, Y_{k}, Y_{v} \ldots\right)$
- Challenges:
- Convergence is not guaranteed (when to stop), especially if many closed loops
- Potential functions (parameters)
- Require training to estimate
- 장점:
- 프로그래밍 및 병렬화가 용이함
- 일반: 모든 형태의 잠재력이 있는 그래프 모델에 적용할 수 있습니다.
- 잠재력은 고차일 수 있다. 예를 들어 $\boldsymbol{\psi}\left(Y_{i}, Y_{j}, Y_{k}, Y_{v} \ldots\right)$
- 과제:
- 특히 닫힌 루프가 많은 경우 수렴이 보장되지 않습니다(정지 시기).
- 잠재적 함수(모수)
- 평가하려면 교육 필요
Summary
- We learned how to leverage correlation in graphs to make prediction on nodes
- Key techniques:
- Relational classification
- Iterative classification
- Loopy belief propagation
- 우리는 그래프의 상관 관계를 활용하여 노드에 대한 예측을 하는 방법을 배웠다.
- 주요 기술:
- 관계구분
- 반복구분
- 루피 신앙 전파
CS224W: Machine Learning with Graphs 2021 Lecture 5.3 - Collective Classification