Abstract
linear 모델은 대규모 sparse inputs에 대한 regression 혹은 classification 문제를 풀 때 사용한다. 장점으로는 feature간의 cross-product는 feature interactions을 기억(memorization)하는데 효과적이고, 단점으로는 일반화에 많은 feature engineering이 필요하다는 것이다.
deep neural networks은 저차원의 embedding을 통해 더 잘 일반화(generalization)할 수 있다. 하지만 user-item interactions이 sparse할 때 지나치게 일반화되고 관련성이 낮은 항목을 추천할 수 있다는 단점이 있다.
본 논문은 linear 모델의 memorization(기억)과 deep neural networks의 generalization의 이점을 결합한 Wide & Deep model을 제안한다.
1. INTRODUCTION
Memorization 은 과거의 데이터들로 간의 상관관계(correlation)를 학습하여 user가 이미 수행한 item과 직접적으로 관련이 있는 것을 추천한다.
과거 데이터로부터 얻은 상관관계를 활용(Exploitation)하여 user가 이미 수행한 item과 직접적으로 관련이 있는 것을 추천한다. 단점으로는 과적합 문제와 관측되지 않은 item 혹은 feature에 대해서는 학습이 불가능하다는 것이다.
Generalization은 상관관계의 전이성을 기반으로 과거에 드물게 발생하는 새로운 feature combination을 탐구(exploration)하여 추천 항목의 다양성을 향상시키는 경향이 있다.
FM(factorization machines)과 deep neural networks와 같은 Embedding 기반의 모델들은 각각의 feature들을 동일한 차원의 Latent space로 매핑하여 Dense한 벡터로 표현한 후 내적을 통해 학습하여 과거에 관측되지 않은 item 혹은 feature의 값을 Generalization할수 있고 feature engineering의 부담도 줄일 수 있다. 하지만 실제로 존재할수 없는 관계에 대해서도 과도한 일반화를 하여 전혀 관계 없는 item이 추천될 수 있다.
2. RECOMMENDER SYSTEM OVERVIEW
아래의 그림은 앱 추천 시스템의 개요이다. 추천 시스템은 사용자가 앱스토어를 방문하여 클릭이나 구매와 같은 특정 동작을 수행할 목록을 반환한다.
첫 번째 단계는 검색으로 user의 query가 들어오면 가장 잘 일치하는 항목의 짧은 목록을 반환(Retrieval)한다. 그 후 ranking 모델을 통해 점수별로 모든 항목의 순위를 매긴다. 점수는 user의 정보인 다양한 feature들을 기반으로 user x가 앱 y를 action할 확률을 구하는 것이다. 본 논문은 Wide & Deep learning 프레임워크를 사용한 ranking 모델에 집중한다.
3. WIDE & DEEP LEARNING
3.1 The Wide Component
Wide Model은 Memorization을 담당하는 generalized linear model 이다.
$$
y= W^Tx+b
$$
여기서 $W = [w_1,w_2,...,w_d]$ 는 모델의 파라미터, $b$ 는 bias, $y$ 는 feature vector $x =[x_1,x_2,...,x_d]$ 에 대한 예측을 의미한다. 여기서 feature set $x$ 는 raw input features 와 transformed features 를 포함한다. transformed features는 cross-product transformation 을 통해 생성할 수 있으며 다음과 같이 정의한다.
$$
\phi_k(x)= \prod_{i=1}^d x_i^{c_{ki}},,,,,c_{ki} \in {0,1}
$$
cross-product transformation 에 대한 구체적인 예제는 [논문 리뷰] Wide & Deep Learning for Recommender Systems - paper review 에서 제시한 내용을 캡쳐한다. (여러 논문 리뷰를 보았지만 정말 잘 설명하신다고 느낀다...)
cross-product feature 는 과거의 데이터를 조합하여 새로운 feature를 만들어 기존의 feature vector에 concate하여 모델을 학습한다. 이러한 작업은 generalized linear model에 비선형성을 추가하여 모델의 일반화에 기여할 수 있다.
다음은 Wide Model의 데이터 형태를 나타낸다.
$x_1$ 부터 $x_n$ 는 과거의 데이터(일반적인 feature vector)이고, $x_{n+1}$ 부터 $x_{n+10}$ 는 cross-product transformation 를 통해 생성한 추가적인 feature인 cross-product feature 이다.
3.2 The Deep Component
Deep Model은 Generalization을 담당하는 feed-forward neural network 이다.
Deep Model의 input은 Categorical feature를 저차원의 Embedding vector로 변환한 것과 Continuous feature를 concatenate한 결과를 사용한다.
hidden layer에서는 다음과 같은 신경망 연산을 진행한다.
$$
a^{(l+1)} = f(W^{(l)}a^{(l)} + b^{(l)} )
$$
여기서 $l$ 는 layer number, $f$ 는 activation function 이고, $a^{(l)}, b^{(l)}, W^{(l)}$ 는 activation, bias 그리고 $l$ 번째 레이어의 model weights를 나타낸다.
3.3 Joint Training of Wide & Deep Model
Wide & Deep Model은 Wide part과 Deep part의 output을 가중합(weighted sum)을 하여 logistic regression을 사용하여 동시에 joint training한다. 여기서 joint training은 여러개의 모델을 결합하는 앙상블과 달리, ouput의 gradient를 wide와 deep모델에 동시에 backpropagation하여 학습한다.
Optimizer의 경우 Wide part는 L1 norm 정규화 항을 적용시키는 online learing 방식인 Follow-the-regularized-leader(FTRL) 알고리즘을 사용하고, Deep part는 AdaGrad를 사용한다.
logistic regression problem 모델의 prediction은 다음과 같다.
$$
p(Y=1|x = \sigma(w^{T}_ {wide}[x,\phi(x)]+w^{T}_ {deep}a^{(l_ {f})}+b)
$$
여기서 $Y$ 는 binary class label, $\sigma(\cdot)$ 는 sigmoid 함수, $\phi(x)$ 는 $x$ 의 cross product transformation이다. $w_{(wide)}$ 는 wide moel의 weights이고, $w_{(deep)}$ 는 final activation인 $a^{(l_{f})}$ 에 적용되는 weights이다. 즉, $p(Y=1)$ 는 특정 앱을 acquisition할 확률이고, 각 모델에서 나온 결과를 더해 sigmoid 함수 $\sigma(\cdot)$ 를 통과 시킨 결과가 최종 output이 된다.
구현
References
- [추천시스템][paper review][구현] Wide & Deep Learning for Recommender Systems
- [논문 리뷰] Wide & Deep Learning for Recommender Systems - paper review
- [추천시스템] 딥러닝과 추천시스템, Wide & Deep Learning
- 꿈 많은 사람의 이야기
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'추천 시스템 > Paper' 카테고리의 다른 글
[논문 리뷰] Neural Collaborative Filtering (2017) (0) | 2021.11.25 |
---|---|
[논문 리뷰] Transformer : Attention Is All You Need (NIPS 2017) (0) | 2021.11.24 |
[논문 리뷰] Factorization Machines (0) | 2021.11.24 |
댓글