241111 TIL #538 AI Tech #71 RecSys에서 딥러닝과 머신러닝

김춘복·4일 전
0

TIL : Today I Learned

목록 보기
540/543

Today I Learned

오늘로 13주차!! 새 팀을 만났으니 새로운 마인드로 시작!!


RecSys

  • information filtering system / modeling interactions between users and items

  • 유저의 preference를 모델링해서 비즈니스 목표(ctr, 매출 등)를 달성하는 것

  • 중요한 것은 1. 유저와 아이템의 표현 방식2. Compatibility Function

  • Compatibility Function

ModelCompatibility Function
Matrix Factorization (MF)inner product with dense vectors
Memory-based Collaborative Filtering (CF)cosine/Pearson/Jaccard sim (with one-hot vectors)
Neural CFMLP with concatenation
Collaborative Metric LearningEuclidean distance
Latent Crosselement-wise product
  • inner product : 두 벡터에서 대응하는 성분들을 곱한 후 다 더해 하나의 스칼라값으로 만드는 것
    Euclidean distance : L2 distance. n차원 공간에서 두 점사이 최단거리. 피타고라스 정리 확장.
    element-wise product : 두 행렬에서 위치가 같은 요소들의 곱(hadamard product)

  • 현업 추천시스템에서 딥러닝보다 클래식한 머신러닝을 여전히 선호하는 이유
  1. 다른 분야(CV,NLP)보다 딥러닝 모델의 성능 향상이 월등히 높지는 않다.
  2. 추천시스템은 비즈니스와 밀접한만큼 latency가 중요해 빠른 계산이 필요하다.
  3. 딥러닝 모델은 추천에 대한 explanation(설명)을 잘 하지 못한다.

Tabular 데이터에서 GBDT가 딥러닝보다 나은 이유

귀납적 편향, 모형 고유의 가정과 제약

  • 아직까진 정형데이터(tabular)는 GBDT계열의 머신러닝모델이 딥러닝 모델보다 성능이 좋다.
    그러나 그걸 넘기위해 딥러닝 모델 연구 진행중.

  • GBDT 모델은 트리기반이라 미분이 불가능해 역전파가 불가능하고 매개변수 최적화(경사하강법)를 사용할 수 없다. 그래서 딥러닝과 결합 힘듬.

  • GBDT가 미분 불가능한 이유

  1. 트리 구조의 비연속성: GBDT는 트리 기반 구조로 데이터를 특정 기준에 따라 분할해 나간다. 트리의 각 노드는 조건에 따라 특정 경로로 데이터를 보내므로, 노드와 경로가 불연속적이고 미분 가능한 연속적인 함수를 만들지 않는다. 그래서 미분을 적용할 수 없다.

  2. 결정 경계의 비선형성: 트리 기반 모델은 입력 피처에 대한 명확한 결정 경계를 만든다. 이 경계는 일반적인 딥러닝 모델의 연속적이고 부드러운 경계와 달리, 명확한 구분이 있어 미분 가능하지 않은 형태를 가진다.

inductive bias : 귀납적 편향, 모형 고유의 가정과 제약

모델은 고유의 가정를 가지는데, 딥러닝 모델의 가정이 tabular 데이터에 맞지 않다.
ex) cnn같은건 이미지 데이터를 주로 처리하기때문에 그에 맞는 inductive bias를 가지고 있다.

  • 딥러닝은 불필요한 정보에 robust하지 않다. tabular 데이터는 불필요한 정보가 많은편이라 그렇다. tabular 데이터는 회전시키면 데이터가 달라지는데 딥러닝은 회전불변성이 쓸데없이 있고, 트리기반 머신러닝모델은 회전불변성 없다.

  • 딥러닝은 데이터가 불규칙적이고, 크고, 피처대비 raw 비율이 높으면 성능이 좋지 않다.

  • 결론은 어디에나 좋은 모델은 없고, 정형데이터를 위한 inductive bias를 고려한 딥러닝을 만들어야 한다!


그럼에도 추천시스템에서 딥러닝 활용 이유

  1. Nonlinear Transformation
    Deep NN은 non-linearity를 효과적으로 나타낼 수 있다.
    MF는 임베딩 이후에는 단순히 내적(선형결합)으로 선호도를 예측한다.
    딥러닝은 복잡한 유저-아이템 관계를 비선형으로 효과적으로 예측할 수 있다.

  2. Representation Learning
    raw 데이터를 직접 피처를 만들어 학습하기때문에 사람이 직접 feature 디자인을 안해도 된다.
    텍스트, 이미지, 오디오 등과 같은 데이터도 input으로 사용할 수 있다.

  3. Sequence Modeling
    자연어같은 sequence 데이터를 잘 처리한다.

  4. Flexibility
    pytorch, tensorflow 같은 DL 프레임워크로 flexible하게 서빙이 가능하다.


profile
Backend Dev / Data Engineer
post-custom-banner

0개의 댓글