
338
2
fastai 애플리케이션 계층 이해하기
이것이 바로 임베딩입니다. 각 사용자와 영화에 특정 길이(여기서는
n
_
factors
=
5
)의 임의로
초기화된 벡터를 부여하여 학습할 수 있는 파라미터를 만듭니다. 즉 예측과 타깃을 비교해 손
실을 계산할 때마다 임베딩 벡터에 대한 손실의 그레이디언트를 계산하고,
SGD
(또는 다른 옵
티마이저 ) 방식으로 임베딩 벡터값들을 갱신합니다.
임의로 선택했으므로 처음에는 벡터값들에 아무런 의미가 없지만, 학습이 끝날 무렵에는 유의
미하게 바뀝니다. 사용자와 영화의 관계에 대한 기존의 데이터를 학습하면, 다른 정보 없이도
블록버스터 영화와 독립 영화를 구분하거나, 액션 영화와 로맨스 영화를 구분하는 등 중요한
특징을 얻을 수 있습니다.
이제 밑바닥부터 모델 전체를 만드는 단계에 진입해보죠.
8.4
파이토치로 모델의 코드를 작성하기 전에 객체 지향 프로그래밍 및 파이썬의 기초부터 배우면
좋습니다. 여기서는 아직 객체 지향 프로그래밍을 해보지 않은 분을 대상으로 간단한 소개를
제공합니다. 하지만 계속해서 진행하기에 앞서 튜토리얼을 찾아 연습해보기를 바랍니다.
객체 지향 프로그래밍의 핵심 아이디어는
class
입니다. 사실 우리는
DataLoader
,
String
,
Learner
등의 클래스를 ...