Logistic Matrix Factorization and Negative Sampling
잡담
카카오에서 영입 제의를 받았다(예이!!). 근데 내가 미필이라 어떻게 될 지 모르겠다(ㅠㅠ)
(내 생각에) 요즘 추천 시스템은 Implicit feedback을 어떻게 해석하는가에 관한 문제인 것 같다. 솔직히 어떻게 해석해야 좋은지 잘 모르겠다. 이를 확률인 $p(l_{ui} \vert \theta)$로 보는게 가장 좋을 것 같긴 한데, WMF는 확률적 해석을 하지 않는, Regression이다.(WMF에 관한 내용은 다른 글, 혹은 내 블로그 포스트을 봐도…)
“유저가 어떤 아이템을 좋아하는 것을 regression으로 해결하는 것이 좋은 일인가”에 대해 조금 답답한 점이 있었는데, 이를 확률적으로 표현한 뒤 해결하는 방법이 있는지 찾아보다, logisti...
EM 알고리즘과 Mixture Models
잡담
각잡고 PRML을 열심히 읽어보니까, 예전보다 훨씬 잘 이해가 되는 것 같다. 내 수학 실력이 는걸까, 아니면 그냥 집중을 조금 더 잘 하게 된 걸까… ‘ㅅ’… 어쨌건 이해가 잘 가니 기분이 좋다.
EM 알고리즘이 뭘까 (수식 없이 설명)
데이터셋에서 관측되지 않았지만, 이러한 확률 변수가 존재한다고 가정하면 문제를 더 쉽게 모델링할 수 있는 경우가 자주 존재한다. 기계학습에서는 이러한 방법을 자주 이용한다.(K-means, Mixture of Gaussian, Hidden Markov Model 등…) 관측되지 않은 확률변수를 Latent variable, 혹은 Hidden variable이라고 부른다. 다만, 문제를 모델링하는 것은 쉬워졌지만, MLE를 바로 적용하기가 힘들어진다. 이럴 때 EM 알고리즘을 사용한다.
EM 알고리...
Pixie 리뷰
잡담
추천 시스템 연구하는 곳에서 나와서 왜 추천시스템 리뷰… ‘ㅅ’… 관련 프로젝트를 하나 진행하기로 해서, 추천 시스템 공부를 좀 해야 할 필요성을 느끼기도 했고, 음… 더 중요한 것은, 간단한 모델의 Clever한 사용이 좋은 결과를 만들어내는 경우의 모범적인 케이스라, 공부하면 좋을 것 같다고 생각했다.
나도 언젠가 이렇게 멋진 일을 하고 싶다.
Introduction
2억명이 넘는 유저와 삼십억이 넘는 아이템을 유저에게 리얼타임으로 추천하기 위해, Pinterest에서는 Graph 기반의 새로운 추천, Pixie를 제안했다.
Pinterst는 유저가 좋아하는 아이템(사진)에 Pin을 남기는 방식으로 유저와 아이템이 interaction한다. 유저는 자신이 Pin한 사진들을 Board를 만들어 그곳에 저장할 수 ...
멀티프로세스 REINFORCE 알고리즘 구현
잡담
나도 블로그에 사람들이 많이 들어왔으면 좋겠다… 강화학습 얘기 하면 사람들 많이 들어올까… 근데 난 강화학습을 잘 몰라… 어떡하지….
목적
- Rollout을 여러 프로세스에서 동시에 진행시키고 싶은데, REINFORCE의 가정은 깨고싶지 않다. 다른 distributed 환경을 위해 만들어진 알고리즘(A3C, PPO)와 같은 경우, A3C는 아마 rollout하는 policy들의 parameter가 다름을 감안하고 만든 알고리즘(인 것 ) 같고, PPO는 잘 모르겠지만, 암튼, Pytorch로 간단하게 Reinforce 알고리즘을 구현하고 싶었다....
Learning Scheduling Algorithms for Data Processing Clusters 리뷰
잡담
최근에 연구실에 들어가면서, 공부하는 주제가 바뀌게 되었다. 사실 내가 연구라고 말할 걸 하고 있지는 않지만(하고는 싶지만) ‘ㅅ’….공부하는 것들이 낯설다. 낯선 주제이므로, 논문 읽는데 시간이 많이 걸리기도 하고, 뭘 읽어야 하는지도 모르겠고…라는 핑계를 대며 이리저리 놀고만 있었는데, 그러면 안될 것 같다.
개요
RL은 정말 많은 일을 잘 할 수 있다고 많이 밝혀지고 있다. 현재는 주로 로보틱스나 게임이지만. 하지만 RL을 Traditional한 환경에 적용할 수 있다고 믿는 사람이 많다. 내 지도교수님도 그렇게 생각한다. 나도 조금은, 그렇게 생각하게 되었다.
이 논문은, 강화학습을 Cluster Scheduling에 대해 적용한 논문이다. Scheduling은 보통, job을 machine에 할당하는 일이다. (나는 잘 모르겠지만, Click to read more ...
Einsum에 대해 간략한 정리
Einsum Notation
Note
Pytorch나 Tensorflow 내의 많은 글들이 외우기 너무너무너무 진짜 외우기도 어렵고, 쓰기도 어려워서, 쉽게 표현할 방법이 없나 찾아보다 정리한 글입니다. 기본적으로, Einsum is All You Need 이 글을 많이 참조했습니다.
Introduction
PyTorch, Tensorflow 내의 다양한 함수(Dot Products, Outer Products, Transposes ,matrix-vector, 아니면 matrix-matrix multiplication)들의 name과 signature을 외우기 어렵지 않은가? 이 글을 읽는 사람이 나와 비슷하...