2022년 3월 7일(월)부터 11일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 개인적으로 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이 부족한 내용이 있을 수 있으며, 이는 학습을 진행하면서 꾸준히 내용을 수정하거나 추가해 나갈 예정입니다.
Autoencoder를 응용한 추천 시스템
Autoencoder
입력 데이터를 출력으로 복원(reconstruct)하는 비지도(unsupervised) 학습 모델이다.
중간 hidden layer를 input data의 feature representation으로 활용한다.
주어진 입력에 대해서 reconstructed input과의 차이를 줄이는 것을 목표로 한다.
Denoising Autoencoder(DAE)
입력 데이터에 random noise나 dropout을 추가하여 학습시키는 것이다.
Noisy input을 더 잘 복원할 수 있는 robust한 모델이 학습되어 전체적인 성능이 향상된다.
학습 데이터에만 overfitting되지 않고 이를 극복하여 더 좋은 일반화 성능을 보일 수 있도록 한다.
AutoRec
Autoencoder를 CF에 적용하여 기본 CF 모델에 비해 표현력은 증가시키고 복잡도는 줄인 모델이다.
Rating Vector를 입력과 출력으로 하여 Encoder & Decoder Reconstruction 과정을 수행한다.
유저 또는 아이템 벡터를 저차원의 latent feature로 나타내 이를 사용하여 평점을 예측한다.
Autoencoder의 representation learning을 유저와 아이템에 적용한 것이다.
$g(\mathbf{Vr} + \mathbf{\mu})$처럼 원래의 rating $\mathbf{r}$에 encoder의 가중치인 $\mathbf{V}$를 곱하고, $\mu$라는 bias를 더해서 $g$라는 activation function을 씌우게 되면, 이는 가운데에 있는 representation이 된다.
여기에 decoder의 가중치인 $W$를 곱하고, 가중치 bias인 $\mathbf{b}$를 더하여 $f$라는 activation function을 씌우게 되면 최종적으로 reconstructed representation이 된다.
Reconstructed rating과 실제 rating 사이의 차이를 최소화하는 방법으로 각각의 파라미터인 $\mathbf{W}$, $\mathbf{V}$, $\mu$, $\mathbf{b}$가 업데이트된다.
대체로 Hidden unit의 개수가 많아질수록 RMSE가 감소함을 보인다.
Collaborative Denoising Auto Encoder(CDAE)
Denoising Autoencoder를 CF에 적용하여 Top-N 추천에 활용하는 것이다.
AutoRec이 Rating Prediction(평점 예측)을 위한 모델이라면, CDAE는 Ranking을 통해 유저에게 Top-N 추천을 제공하는 모델이다.
문제 단순화를 위해 유저-아이템 상호 작용 정보를 이진(0 또는 1) 정보로 바꿔서 학습 데이터로 사용한다.
그래서 개별 유저에 대해서 아이템의 rating이 아닌 preference를 학습하게 된다.