본문 바로가기
Archive/추천시스템

[추천] AutoEncoder와 추천 시스템 개요

by 다람이도토리 2021. 8. 14.

[참고자료]

(1) https://tech.kakao.com/2020/04/29/kakaoarena-3rd-part1/

 

멜론에서 음악 추천을 어떻게 할까? – 카카오 아레나 3회 대회(Part.1)

이 글은 멜론에서 음악 추천을 어떻게 할까? 카카오 아레나 3회 대회(Part.1)라는 이름으로 카카오 정책산업연구 브런치에 동시 개제되었습니다. 자신이 잘 모르는 분야에서 새로운 도전을 할 때

tech.kakao.com

(2) 이전에 공부했던, 오토 인코더 내용 복습

https://github.com/SeongwonTak/TIL_swtak/blob/master/Auto_Encoder.ipynb

 

GitHub - SeongwonTak/TIL_swtak: Today, I learned.

Today, I learned. Contribute to SeongwonTak/TIL_swtak development by creating an account on GitHub.

github.com

 

복습 - 오토인코더란?

AutoEncoder란, 크기가 큰 데이터를 인코더 과정에서 압축하였다가, 다시 이를 원래 차원으로 복구하는 과정을 통해 데이터를 압축하여 표현하는 것이다.

 

일반적으로는, 대칭적인 구조로 학습이 이루어지고 있음을 알 수 있다.

차원이 큰 데이터를 압축하는 과정을 통해 차원의 저주 문제 해결에 도움을 줄 수 있다.

Denoising AutoEncoder

초기 input 단계에서, 즉 입력층에서 은닉츠응로 들어가기 전에 Noise를 추가할 수 있는데, 이러한 오토인코더를 denoising autoencoder라고 한다.

이 때 노이즈는 기존의 입력 데이터를 변화시키나, 큰 차이를 주지는 않는다고 한다. 그렇기에 노이즈의 추가가 성능의 향상에 도움을 주게 된다.

 

추천 문제에서 오토인코더 적용하기

추천 문제에서의 오토 인코더의 경우는 단순히 아이템의 목록만 넣어주는 것이 아니라, Latent Feature를 같이 학습하는 방향으로도 진행할 수 있다. 즉 Latent Feature이 같이 학습이 되면서 해당 피쳐들이 아이템을 설명해주는 역할을 하게 된다.