오늘 배운 내용은 딥러닝 부분 이어서!
node와 edge로 구성된 그래프구조의 데이터를 처리하기 위한 딥러닝 모델
그래프는 관계, 상호작용, 교통 네트워크, 분자구조 같은 non-euclidean 공간을 표현하기 적합한 자료구조다.
그래프의 관계를 인접행렬로 변환해서 nn에 적용할 수도 있지만, 이런 방식은 노드에는 없는 순서에 대한 정보를 만든다던가, 노드가 늘어날수록 행렬이 커지는 문제가 있다.
그래프 데이터에 합성곱(Convolution) 연산을 적용하는 신경망 모델
일반적으로 GNN이라 함은 GCN을 기반으로 한 모델들이다.
이미지 출처 : littlefoxdiary
convolution : input을 작은 필터(커널)로 순차적으로 스캔해 특징을 추출하는 연산.
필터와 입력 데이터의 각 부분을 곱하고 더하는 과정을 반복한다.
계산이 효율적이고, 위치 불변성이 있어 robust하면서 일반화 능력이 강하고, 특징 추출에 효율적이다.
GCN 작동 원리
장점
파라미터가 공유되어 효율적인 학습이 되고, 계산 복잡도가 낮다. 새로운 노드에 대해서도 적용이 가능해 전이학습이 용이하다. 결과 해석도 용이한 편.
단점
레이어가 깊어질수록 성능이 저하되고 Over-smoothing 문제가 발생할 수 있다. 시간에 따라 변하는 그래프처리는 제한적. 방향성이 있는 그래프는 추가적인 고려가 필요하다.
기존 CF모델들은 유저와 아이템을 각각 임베딩 한 후 상호작용을 모델링했다.
하지만 이 모델은 유저-아이템 상호작용을 임베딩 단계에서부터 학습하도록 한다.
이미지 출처 : 논문
위 그림과 같이 고차원 연결성(High-order Connectivity)을 사용한다.
구조
NGCF를 더 간단하고 효율적으로 개선한 추천 시스템 모델
이웃노드의 임베딩을 가중합하는 것이 convolution의 전부로 NGCF에서 특징 변환과 비선형 활성화 함수를 제거했다.
계산효율성, 성능 향상, 해석용이성이 NGCF에 비해 나아졌고, 오버피팅 위험도 적어졌다.
하지만 cold start 문제, 부가적인 특징 정보 활용 제한적, 동적변화 힘듬의 단점이 있다.
Recurrent Neural Network, 순환 신경망
시퀀스 데이터를 처리하기 위한 신경망 구조로, 이전 단계의 정보를 현재 단계에 전달하는 순환구조다.
RNN의 장기기억 단점을 개선한 LSTM과, LSTM을 더 단순하고 가볍게 만든 GRU가 있다.
Session based RecSys
고객의 선호는 시간에 따라 달라진다. 세션은 유저가 서비스를 이용한 동안 행동을 기록한 데이터로, 이를 통해 지금
고객이 좋아하는 것은 뭔지 예측한다.
특징
사용자의 세션 내 클릭/조회 시퀀스를 GRU로 모델링한다.
다음 아이템 예측을 위한 순차적 패턴을 학습한다.
세션기반 추천이라 로그인 없는 상황에서도 사용 가능하다
이미지 출처 : 논문