๐ ๋ ผ๋ฌธ ๋งํฌ: https://dl.acm.org/doi/pdf/10.1145/3357384.3357895
Wu, S., Sun, F., Zhang, W., Xie, X., & Cui, B. (2020). Graph neural networks in recommender systems: a survey.
ACM Computing Surveys (CSUR).
2020๋ ์๋ฆฌ๋ฐ๋ฐ์์ ๋ฐํํ ๋ ผ๋ฌธ์ด๋ค. BERT4Rec ์ด๋ฆ์์ ์ ์ ์๋ฏ, ๋๋ฌด๋ ์ ๋ช ํ Google์ BERT๋ฅผ ์ถ์ฒ์์คํ ์ ์ ์ฉํ ๋ชจ๋ธ์ด๋ค. BERT ์ ๋ ผ๋ฌธ์ ๋ณด๋ฉด 'Sentence'์ 'Sequential'์ ์ ์ํ ๋ถ๋ถ์ด ๋์จ๋ค. ์ด ๋ 'Sentence'๋ ๋ฐ๋์ linguisticํ์ง ์์๋ ๋๊ณ , an arbitrary span of contigeous text์ฌ๋ ๋๋ค๊ณ ๋งํ๋ค. ์ด ๋ถ๋ถ์์ sequentialํ user-item interaction์ด BERT์ input์ผ๋ก ํ์ฉ๋ ์ ์๋ค๋ ์์ด๋์ด๊ฐ ๋ ์ฌ๋์ ๊ฒ ๊ฐ๋ค.
BERT ์ ๋ ผ๋ฌธ์ ํฌ๊ฒ ๋ ๊ฐ์ง ํ ์คํฌ๋ฅผ ์งํํ๋ค. MLM (Masked Language Model)๊ณผ NSP (Next Sentence Prediction)์ด๋ค. ๋ณธ ๋ ผ๋ฌธ์ธ BERT4Rec์ MLM ๋ถ๋ถ์ Cloze task๋ผ๊ณ ๋งํ๊ณ , predicting the random masked items in the sequence์ด๋ผ๊ณ ํํํ๋ค. ๋ํ ๋ ผ๋ฌธ์ 'by jointly conditioning on their left and right context'๋ผ๋ ํํ๋ BERT bidirectionalํ ํน์ง์ ์ ํํํ ๊ฒ ๊ฐ๋ค. BERT4Rec์ด ์ถ์ฒ์์คํ ์ next prediction์ ์ด๋ป๊ฒ ์ ์ํ๋์ง ์ดํด๋ณด๋ฉด์ ๋ฆฌ๋ทฐํ๋๋ก ํ๊ฒ ๋ค.
1. INTRODUCTION
User์ ๋ณํํ๋ ์ ํธ๋ (dynamic preference)์ ๋ฐ์ํ๊ธฐ ์ํด sequential recommendations ์ฐ๊ตฌ๊ฐ ์งํ๋์๋ค. ์ด๋ user์ historical interaction์ time ๊ฐ๋ (์ํ์ค)๋ฅผ ๋ถ์ฌํ์ฌ ๋ค์ ์์ดํ ์ ์ถ์ฒํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด ๋จ๋ฐฉํฅ ๋ชจ๋ธ(unidirectional model)๋ค์ optimalํ representation์ ํํํ๊ธฐ์ ์ถฉ๋ถํ์ง ์๋๋ค. ๋จ๋ฐฉํฅ ์ถ์ฒ์์คํ ์ ์ค๋ก์ง ๊ณผ๊ฑฐ ๊ธฐ๋ก๋ง์ ๊ธฐ๋ฐ์ผ๋ก ์ถ์ฒ์ ํ๊ธฐ ๋๋ฌธ์ ํํ๋ ฅ์ด ์ ํ๋๋ค. Real-world์์ ์ ์ ์ ํ๋์ ๋ฐ๋์ ์์์ ๋ฐ๋ผ rigidํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ๋ ผ๋ฌธ์ ์ค๋ช ํ๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์๋ฐฉํฅ (bidirectinal)์ ๊ณ ๋ คํ๋ ์ถ์ฒ์์คํ ๋ชจ๋ธ์ด ํ์ํ๋ค.
๋ณธ ๋ ผ๋ฌธ์ random mask๋ฅผ ์ ์ฉํ๋ Cloze task๋ฅผ ํตํด ์์ดํ ๋ค์ surrounding context๋ฅผ ์ ํํํ๋ค๊ณ ์ธ๊ธํ๋ค. ์ด๋ฌํ Cloze objective๋ multiple epochs์ด ๋ ์๋ก ๋ powerfulํ ๋ชจ๋ธ์ด ๋๋ค. ๋ํ BERT4Rec์ ๋ง์ง๋ง input sequence๋ฅผ [mask]๋ก ๋์ด์ ๋ค์ ์์ดํ ์์ธกํ๋ ํ ์คํฌ๋ฅผ ์งํํ๋ค.
2. RELATED WORK
2.1 General Recommendation
- ์ ํต์ ์ธ ์ถ์ฒ์์คํ ์ธ CF, MF
- ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ ์ถ์ฒ์์คํ RBM, NCF ๋ฑ์ ์ธ๊ธ
2.2 Sequential Recommendation
- ์ด์ unidirectional model๋ค์ ์ธ๊ธ
- GRU4Rec, SASRec์ ์ฑ๋ฅ ๋น๊ต๋ฅผ ์ํ ๋ฒค์น๋งํฌ๋ก๋ ์ฌ์ฉํ๋ค.
2.3 Attention Mechanism
- ๋ณธ ๋ ผ๋ฌธ์ ์ดํดํ๊ธฐ ์ํด์๋ Transfomer์ BERT์ ๋ํ ์ ํ ์ง์์ด ํ์ํ๋ค. Transfomer ๊ด๋ จ ๋ธ๋ก๊ทธ ํฌ์คํ ๊ณผ BERT ๋ ผ๋ฌธ ๋งํฌ์ด๋ค.
- - Transfomer ํฌ์คํ : https://ysg2997.tistory.com/8
- - BERT ๋ ผ๋ฌธ: https://arxiv.org/pdf/1810.04805.pdf
3. BERT4REC
3.1 Problem Statement
- ์๋๋ ๋ ธํ ์ด์ ๊ณผ ๋ชจ๋ธ๋ง ์์ด๋ค
์ ์ -> $\textbf{u} = \{u_1, u_2,...,u_{|u|}\}$
์์ดํ -> $\textbf{v} = \{v_1, v_2,...,v_{|v|}\}$
$u \in \textbf{u}$์ธ ์ ์ ์ ๋ํด์, $t$์์ ์ $u$๊ฐ ์ํธ์์ฉํ ์์ดํ ๋ชฉ๋ก์ ์๋์ ๊ฐ๋ค.
$$ v^{(u)}_t \in \textbf{V} $$
์ ์ -์์ดํ ์ํธ์์ฉ ์ํ์ค -> $\textbf{S}_u = [{v^{(u)}_1,..., v^{(u)}_t,...,v^{(u)}_{|n_u|}}]$
u์ interaction sequence์ ๊ธธ์ด๊ฐ $n_u$์ผ๋, ๋ชจ๋ธ์ $n_{u+1}$์์ ์ ์์ดํ ์ ์์ธกํ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ์๋ ์์ด ํ๋ฅ ๋ชจ๋ธ๋ง ์์ด ๋๋ค.
$p(v^{(u)}_{n_{u+1}} = v | \textbf{S}_u)$
3.2 Model Architecture
# Embedding Layer
- Embedding Layer์์๋ input sequence์ ๋ํด embedding๊ณผ positional encoding์ ๋ํด์ค๋ค.
bottom embedding -> $h^0_i = v_i + p_i$
# Transformer Layer
- Transformer Layer๋ ํฌ๊ฒ Multi-Head Attention๊ณผ Position-wise Feed-Forward ๋ ๊ฐ์ง์ sub-layer๋ก ๊ตฌ์ฑ๋๋ค. ๋ sub-layer๋ BERT์์์ transformer layer ๊ตฌ์กฐ์ ๋์ผํ๋ค.
$h^l_i$ : ๊ฐ ๋ ์ด์ด $l$์์ ๊ฐ๊ฐ์ position $i$์ hidden representation
$h^l_i \in \mathbb{R}$ ์ผ๋ $h^l_i$๋ฅผ ๋งคํธ๋ฆญ์ค๋ก ํํํ๋ฉด $H^l \in \mathbb{R}$
< Multi-Head Attention >
MH($H^l$) = [ head_1 ; head_2 ; ... ; head_h ]$W^O$
< Position-wise Feed-Forward >
# Stacking Transformer Layer
- BERT4Rec์ L๊ฐ์ Transformer Layer๋ค์ ์์ ์ฌ๋ฆฐ ๊ตฌ์กฐ์ด๋ค.
- ์ผ๋ฐ์ ์ธ transformer layer ๊ตฌ์กฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ธ ํ์ต์ ์ํด residual connection๊ณผ LN(Layer Nomalization)์ ์งํํ๋ค.
# Output Layer
- ์ด ๋ถ๋ถ ํํ์ด ์ข์์ ์๋ฌธ ๊ทธ๋๋ก ๊ฐ์ ธ์๋ค.
- After $L$ layers that hierarchically exchange information across all positions in the previous layer, we get the final output $H^L$ for all items of the input sequence.
์์ธกํ [mask] v์ ํ๋ฅ ์ softmax์ ์ํด ๊ตฌํด์ง๋ค.
$W^p$๋ ํ์ต๋๋ projection matrix์ด๊ณ $b^P, b^O$๋ ํธํฅ์ด๋ค
$E$๋ item set $\textbf{v}$์ ์๋ฒ ๋ฉ ๋งคํธ๋ฆญ์ค๋ฅผ ์๋ฏธํ๋ค.
3.3 Model Learning
- ๊ธฐ์กด ๋จ๋ฐฉํฅ ๋คํธ์ํฌ์์๋ ๋ค์ ์ํ์ ์์ธกํ๋ ํ์ต์ ์งํํ๋ค
- [ input : v1, . . . ,vt // output : vt+1 ]
- BERT4Rec์ Cloze Task ๋ฐฉ์์ผ๋ก Masked Language modeling ํ์ต์ ์งํํ๋ค.
- ์ต์ข ์ ์ผ๋ก ๊ฐ masked input์ loss, $S'_u$ ๋ฅผ negative log-likelihood๋ก ์ ์ํ ์ ์๋ค.
- Text ๋จ๊ณ์์๋ ๋ง์ง๋ง user behavior์ ๋ง์คํน์ ํด์ next prediction์ ์์ธกํ๋ค.
4. EXPERIMENTS
- Datasets: ์๋ 4๊ฐ์ง ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ค.
Amazon Beauty / Steam / MovieLens 1m/20m - Evaluation Metrics
Hit ratio / NDCG / MRR - Baselines & Implementation
๋จ๋ฐฉํฅ ๋ชจ๋ธ์ ๋น๋กฏํ ์ฌ๋ฌ ๋ฒค์น๋งํฌ๋ค๊ณผ ๋น๊ตํ๋ค. - ์ดํ ์คํ ๋ด์ฉ์ ๋ ผ๋ฌธ ์ฐธ๊ณ