# Group Meeting 1: Graph Meta Network for Multi-Behavior Recommendation(MB-GMN)
## 3.1 Muti-Behavior Pattern Modeling
- 不同於早先的研究都是把不同人(users)的 multi-typed interaction patterns 映射到同一個 representation space,希望可找到 **personalized** multi-behavior chracteristics(依據不同 user 的 preferences)-> 所以使用 meta knowledge learner / meta GNN。
[為什麼 Meta learner 可以做到這件事?]
### 3.1.1 Meta-Knowledge Learner for Behavior Heterogeneity
目標:幫每一個 user 都 train 一個 customized prarametric matrix
$V_{i, k}=W\cdot H_{i, k}+\overline V$
$H_{i, k}=E_b||E_i||\sum\nolimits_{j\in{N}_{i}^k}\frac{E_j}{\sqrt{|Ni||Nj|}}$
### 3.1.2 Low-Rank Transformation Decomposition(增加找到 **3.1.1** 效率)
$\tilde{E}_i=V^2_{i, k}V^1_{i, k}E_i$
$V^1_{i, k}=W^2H_{i, k}+\overline V^1$
## 3.2 Meta GNN
- 希望可以抓到不同 user 的不同行為 pattern
- 在保留 behavior-aware user-item collaborative effect 的同時學習 representation
- 總共有 3 個 Module:
1. behavioral semantic encoding
2. behavioral mutual dependency learning
3. high-order multi-behavioral context aggregation
### 3.2.1 Behavioral Semantic Encoding
`行為的embedding`
- 因為每一個 interaction 都有自己的特性:capture personalized behavior semantic signal during **multi-behavior pattern modeling**
- based on user & item embedding,設計了 **behavior-aware message passing strategy** 來得到 $G_k = \{V, \varepsilon_k\}$
- smoothed embeddings:
- $\overline E_{i, k} = E_i + \sum\nolimits_{j\in{N}_{i}^k} \alpha_{i,j,k} Ej$
- $\overline E_{j, k} = E_j + \sum\nolimits_{i\in{N}_{j}^k} \alpha_{i,j,k} Ei$
- $\alpha_{i,j,k}$: normalization factor(在特定的行為下,user_i 對 item_j 的互動)= $\frac{1}{\sqrt{|Ni||Nj|}}$
- $\overline E_{(u), k}=E+{(u)}+\sigma(D^{-1/2}_{(u), k} \cdot X_k \cdot D^{-1/2}_{(v), k}E_{(v)})$
### 3.2.2 Behavioral Mutual Dependency Learning
- 不同種類的行為之間是有關聯性的,如何學到這個關連性?
- multi-behavior relation encoding function:解決不同 behavior correlation 的問題(ex. 加入購物車和購買之間的關係)
- 作法:injecting the mutual relational information between different behavior type [Attention network](/71m63gnBTsyigEnFLBZoPw) [Multi-Head attention]
- [H-head dot-product attention mechanism](/gD5nSIPJRVCTeho6suIP3A)
- $\overline E_{i, K+1}=\sum\nolimits_{k=1}^KH_{i, k}$(考慮了所有 behavior type 的 global user embedding)
- $H_{i, k}$:intermediate representation encoding behavior specific feature >> 使用了 H-head dot-product attention(這裡的 $H_{i, k}$ 和 3.1.1 的 $H_{i, k}$ 是不是不太一樣?)
- $H_{i, k}=||_{h=1}^H \sum_{k=1}^K\beta_{k, k \prime}^h \cdot \overline E_{i, K \prime, \frac{(h-1)d}{H}:\frac{hd}{H}}$
### 3.2.3 High-order Multi-behavioral Context Aggregation
- $\overline E_k^{(l+1)} = \left\{\begin{matrix}
Graph-Conv=\overline E_k, &k=1,2...K\\
Att(\overline E_1^{(l+1)}... E_K^{(l+1)}), &k=K+1\end{matrix}\right.$
## 3.3 Meta-Knowledge Transfer Networks
- transfer network 架構
### 3.3.1
- 把 meta GNN 學到的 E 用於計算 $Z_{i, j}^k$
- $\Gamma_{i,j}^{k, k \prime} = \sigma(W_1 \cdot \phi(Z_{i,j}^{k}, Z_{i, j}^{k \prime}))$
- $Z_{i, j}^k=\sigma(W2 \cdot \phi(\hat E_{i,j}, \hat E_{j, k}))$
- $\phi(v1, v2)=v1 \circ v2 || v1 || v2$
### 3.3.2 Knowledge Transfer Learning Framework
- $P_1=W_1 \cdot \Gamma_{i,j}^{k, k\prime} + \overline P_1$
- $b_2=W_2 \cdot \Gamma_{i,j}^{k, k \prime}+ \overline b_2$
- $p_3=W_3 \cdot \Gamma_{i,j}^{k, k \prime}+ \overline p_3$
- 用三個參數做 prediction: $\hat X_{i, j, k \prime}^{(k)}=\eta^\mathsf{T} p_3$
- $\eta =\sigma(P_1 \cdot \phi(\hat E_{i,j}, \hat E_{j, k})+b_2)$
## 3.4 Loss function
$\mathcal L=\sum\limits_{i=1}^{N} \sum\limits_{k=1}^{K+1} \sum\limits_{k'=1}^{K} \sum\limits_{s=1}^{S}max(0, 1-\hat X_{i, p_s, k \prime}+\hat X_{i, n_s, k \prime}) + \lambda \|\theta\|^2_F$
- positive/negative sample:
- 為什麼是 max >> pair-wise loss 是什麼?
# 4. Evaluation
NDCG 的全名是 Normalized Discounted Cumulative Gain,是用以衡量一個排序的準確性,主要的核心概念有兩個(判斷推薦):
> 較高相關的物件在排名較高時更有用
> 較高相關的物件比中相關的物件有用,而中相關的物件自然也比無相關的物件有用
HR= 测试集中的 item 出现在 Top−N 推荐列表中的用户数量/用戶總數
[p2]
> 透過 user-item 之間的交互關係來預測 user 的偏好
> previous study: single-behavior,但其實 user 和 item 之間其實可以有很多行為(購買/點開頁面、加入購物車、加到最愛)
> 這些行為又有交互關係,而且每個人的行為可能有各自不同的意義
[p3]
> MB-GMN: 考量了 multi-behaviors,並且用 meta-network 去學習 personalized multi-behavior chracteristics 以及這些 behavior 的 dependency,來生成特定的 predict function,預測 User 購買某個 item liklihod
[p4]
> 前置
[p5]
> 1. multi-behavior interaction tensor X (N*M*K)
> 2. predictive function
[p7]
> 1. Behavior Heterogeneity:
> $H \in R^d$
> concat:B/U/normal_item
> ouput V(matrix)
[p8] Low-Rank decomposition
> 1. V 可以被 decomposed 成兩個 low-rank projections V1, V2
> 2. $\overline E$(tilde) 是一個 contextulized 的 user embedding
[p9-10]
> 1. 每一個類型的 interaction 都有自己的特色:page_view 更有可能 purchase
> 2. 希望在學 representation 的時候是可以帶有 behavior 的資訊
> 3. propagation procedure: 在每一種 behavior 底下,都有自己的
[p11]
> 1. Behavior Relation Learning:
> 不同種類的行為之間可能存在交互作用:使用 multi-head attention 的機制,把我們在上一步學到的、帶有 behavior 資訊的 embedding,refine 這個 Embedding
[p12]
> 1. aggregation: semantic-encodig + relation
> 2. 看你要疊幾層
[p13]
> 1. [3.2的 Meta knowledge]希望學到一個 Meta knowledge:讓每一個 {user, item, behavior} 都有自己的 sub-network
[p.14-15]
> 透過這個 Meta-knowledge,我們可以得到三個參數,那來做我們的 prediction,
[p.15]
>