본문 바로가기

Topics277

[Rec] Learning to Rank 개념 * Learning to Rank가 대체 무엇인지 간단하게 알아보고자 한다. 추천 시스템의 목적으로 돌아가기 추천 시스템은 결국 사용자에게, 사용자가 좋아할만한 아이템을 추천해 주는 것이 목표이다. 추천 시스템의 문제 풀이 방향 2개를 복습하면 다음과 같다. 1) rating matrix 자체를 예측하는 것 2) rating 대신 top-k개를 예측하는 것 그런데 이전에 추천 시스템의 평가에 대한 내용을 상기해보면, 추천의 순서도 유의미할 것이다. 예를들어, top-5를 예측 후 사후에 확인해보니, 사용자가 top-5에 10점, 9점, 8점, 7점, 6점 순서로 5개에 평점을 매겼다. 그런데, 6점짜리를 가장 먼저 추천해줬다면? 아쉬운 결과일 것이다. Learning by Rank의 가장 궁극적인 목표는.. 2022. 1. 4.
[Rec] Factorization Machine이란? - 개괄잡기 관련 논문 : https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf 이번에는, Factorization Machine이 무엇인지 정도, 간단하게 감을 잡아보고자 한다. (구체적인 코딩 및 학습 과정을 위해선..아직 논문을 깊게 읽어봐야 합니다...) 들어가기 전에 - Matrix Factorization 역시, 이번에도 시작점은 Matrix Factorization이다. Matrix Factorization의 주요 목적은 평점행렬을 user에 대한 부분과 item에 대한 부분으로 나누는 것이다. 여기서, 주요하게 겪을 수 있는 문제는 행렬을 분해하던, 근사를 하던(truncated SVD) rating matrix가 비어있을 경우 어떻게 채울 것인가? .. 2021. 12. 29.
[TIL] N 과제/면접후기 자세한 면접후기나, 과제는 보안 상 남길수가 없고, 간단하게 받았던 피드백 두가지만 정리하고자 한다. - pytorch 학습 과정에서의 overfitting 고려 여러번의 epoch을 돌리는 동안 overfitting이 발생할 수 있다. 다 돌린다음에 검증하지 말고, 검증 결과를 도중에 정리하는 방식으로 모델을 만들 수 있을 것이다. (validation error를 저장해서 사용하는 방식) - ReLU 사용시, 반드시 scaling을 실시하자! 오늘도 크게 두 가지를 배웠다.! 아주 의미있는 면접, 그리고 도전적인 과제 기간이었다. 2021. 12. 28.
[Rec] Neural Collaborative Filtering 리뷰(1) Neural Collaborative Filtering 리뷰 논문 : https://arxiv.org/abs/1708.05031 참고링크 : https://lsjsj92.tistory.com/613?category=792966 추천 시스템에 딥러닝, 신경망을 활용할 수 있을까? 해당 논문을 통해 어떤 구조로 만들었는지 우선 간단하게 파악하고 (2)편에서는 간단한 형태의 Matrix Factorizaion과 논문의 NCF 구현을 참고하여 두 모델의 비교를 진행하고자 한다. Introduction - NCF의 도입 이유, Matrix Factorization의 한계 inner product로는, latent feature을 linear하게 할 수 밖에 없을 뿐더러, latent factor를 활용할 경우 차.. 2021. 12. 26.
(극복Proj-2) RNN 구현 이해하기 실습 코드를 바탕으로 RNN 구현을 다시 한 번 이해해보고자 한다. 실습은 IMDB 영화 리뷰를 바탕으로 진행한다. 실습 코드: https://wikidocs.net/60691 import os import torch import torch.nn as nn import torch.nn.functional as F from torchtext import data, datasets, legacy import random SEED = 5 random.seed(SEED) torch.manual_seed(SEED) # 하이퍼파라미터 BATCH_SIZE = 64 lr = 0.001 EPOCHS = 10 시드와 배치 크기, 학습률, 몇 에폭을 돌지 미리 결정해둔다. 이제 text와 label을 받을 데이터 필드를 저.. 2021. 12. 24.
(극복Proj-1)[Pytorch] DataLoader란? * 당분간 DL 기초 구현 극복 Project를 진행하고자 합니다. Pytorch에서 잘 이해하지 못했던 기능들과 RNN, LSTM의 구현 및 텍스트 문제에의 적용의 극복을 통해 다음 단계로 넘어가기 위한 준비를 진행하고자 합니다. 왜, 기본 예제 이외에 추가로 무언가 하려고 하면 RNN/LSTM에서 학습이 잘 안되고 있었는지 이러한 것들을 공부하고 맨 처음 딥러닝을 접할때 어려움을 느낀 부분들을 정리하려고 합니다. ------------------------------------------------------------------------------------------------------------------------- [1] Pytorch - DataLoader 이해하기 [참고자료] http.. 2021. 12. 23.