2022. 3. 26. 14:12ㆍ관심있는 주제/Recommendation
정리
- 추천 모델에서 오프라인 설정에서 평가가 어려움
- 글로벌 타임 라인을 반영하지 않으면 data leakage 가 발생함.
- 예측 시간에 따라 교호 작용에서 학습할 수 있게 됨.
- 모든 모델이 data leakage를 통해 실제 영향을 주는 것을 확인하였음.
- 모델 BPR, NeuMF, SASRec, LightGCN 사용
- 데이터 MovieLens-25M, Yelp, Amazon-music, Amazon-eletronic 사용
- 평가 Leav Last Out 데이터 전략 채택
- 오프라인 모델 평가에서 타임 라인 방식을 제안
정리하자면...
핵심은 data leakage를 방지하기 위해선 time context를 반영하는 data split 전략을 해야 한다.
그렇지 않으면, 모델의 성능에 많은 영향을 줄 수 있고, 현실적으로 맞지 않다고 주장
그래서 새롭게 그런 시간적인 부분을 반영한 방식을 제안함.
이 방식이 실시간 성으로는 맞을 것 같으나, 일반화된 모델을 만들 때도 적합할지는 의구심이 들긴 함.
저런 구조를 할 때는 재학습의 주기를 짧게 해야 하지 않을까라는 생각이 듭니다.
제안하는 방식
읽다가 귀찮아서 많은 부분을 스킵하면서 적은 거라 아래 글은 읽지 않고 바로 논문을 보셔도 될 것 같습니다.
실험에서 발견한 점 정리
4가지 기준선 모델 모두 과거 테스트 인스턴스에 대해 "미래 항목"을 권장합니다.
여기서 미래의 항목은 테스트 인스턴스 시점 이후 시스템에서만 사용할 수 있는 항목입니다.
예를 들어 2020년에 테스트 인스턴스가 발생한 경우 모델은 2021년에만 출시되는 전화기를 권장합니다.
향후 아이템을 추천하는 것은 글로벌 타임라인을 무시하는 메인스트림 오프라인 평가 설정이 유효하지 않다는 강력한 증거입니다.
"Future Training 인스턴스"는 사용자 항목 간의 상호 작용 분포에 영향을 미칩니다.
"Future Data"를 포함하는 학습 세트는 테스트 인스턴스가 발생하는 시점의 시간적 콘텍스트를 반영하지 않습니다.
따라서 향후 데이터에 대한 실험의 top-N 추천 리스트는 데이터 누출이 없는 것과 다릅니다.
data leakage(데이터 유출)은 모형의 권장 정확도에 영향을 미칩니다. 추천 모델에 대한 데이터 유출의 영향은 예측할 수 없습니다. 트레이닝에서 향후 데이터가 많을수록 정확도가 높아진다는 것은 사실이 아닙니다. 향후 데이터가 많을수록 권고 정확도가 향상되거나 저하될 수 있습니다.
기준 모델의 ranking order는 실험에 다양한 양의 "미래 데이터"를 포함함에 따라 달라집니다.
따라서 오프라인 평가에서 데이터 유출이 존재하는 경우 권장 모델의 성능을 비교하는 것은 비현실적이고 의미가 없습니다. 평가에서 글로벌 타임라인을 준수하지 않는 것이 추천자 시스템의 재현이 어려운 주요 원인이라고 생각합니다.
추천 시스템에 대한 이해와 이 중요 분석에서 얻은 것을 바탕으로 섹션 5에서 추천 시스템 오프라인 평가를 위한 새로운 타임라인 체계를 제안합니다.
타임라인 스킴 평가의 본질은 평가에서 글로벌 타임라인을 관찰하는 것입니다.
평가에서 추천자 모델은 타임라인을 따라 새롭게 이용 가능한 트레이닝 인스턴스에서 학습하고 요청에 따라 예측합니다.
타임라인 스킴은 오프라인 환경에서 실시되는 추천 시스템의 보다 현실적인 평가를 용이하게 한다고 생각한다고 합니다.
DATA LEAKAGE IN OFFLINE EVALUATION
모델을 실가동(즉, 온라인 설정)에 도입하면, 글로벌 타임 라인이 자연스럽게 추종됩니다. 추천자는 과거의 사용자 항목 상호 작용에서 학습하고 요청에 따라 온라인 추천만 할 수 있습니다.
그러나 온라인 플랫폼에 대한 제한된 접근으로 인해 학술 연구의 추천자 시스템은 정적 데이터 세트를 사용한 오프라인 평가로 제한되는 경우가 많습니다.
전형적인 오프라인 평가 설정에서는 데이터 세트 내의 users 사용자 및 items 항목이 주어지면 m × n (user-item) 매트릭스가 구성되며, 이 매트릭스 내의 각 엔트리는 대응하는 사용자 항목 상호작용을 나타낸다.
상호작용은 사용자가 항목에 부여한 점수(1부터 5까지)와 같이 명시적일 수 있으며, 사용자가 해당 항목을 구매/등급 하는지 여부(구매/등급을 위해 1을, 그렇지 않으면 0을 나타냄)를 암시적으로 나타낼 수 있다. 오프라인 설정에서 추천 시스템의 작업은 이 사용자-항목 상호 작용 매트릭스 내의 결측 값을 예측하는 것입니다.
data leakage에 대한 설명
t'0'부터 t'3'까지의 글로벌 타임라인을 가진 시스템을 가정하면 사용자 A, B, C의 3가지 예가 시스템 내의 항목과 상호작용합니다.
사용자는 마지막 상호 작용 시점의 플롯에 배치됩니다.
예를 들어 A 사용자의 마지막은 t1, B 사용자의 마지막은 t2, C 사용자의 마지막은 t3라고 할 때
leave-one-out split은 각 사용자의 마지막 상호작용은 마스킹되아진다.
앞서 설명한 바와 같이 글로벌 타임라인을 관찰하지 않고 전체 트레이닝 세트를 정적 세트로서 추천자에게 공급하여 추천 모델을 학습합니다.
𝑆_𝐴𝐵의 항목에 대한 공통 등급 때문에 사용자 𝐴 및 𝐵은 높은 수준을 공유합니다.
유사성; 마찬가지로 사용자와 𝐶는 높은 수준의 유사성을 공유합니다. 다음을 통해 잠재된 표현을 학습함으로써
협업 필터링을 통해 사용자와 𝐶 사이에 상당한 수준의 유사성을 찾을 수 있습니다. 𝑆_𝐴𝐵의 항목에 대한 공통 등급 때문에 사용자 𝐴 및 𝐵은 높은 수준을 공유합니다.
유사성; 마찬가지로 사용자와 𝐶는 높은 수준의 유사성을 공유합니다. 다음을 통해 잠재된 표현을 학습함으로써
협업 필터링을 통해 사용자와 𝐶 사이에 상당한 수준의 유사성을 찾을 수 있습니다.
그러나 모든 항목은 출시 시점의 그림에 표시되어 있으며 사용자 𝐶가 평가한 모든 항목은 사용자의 마지막 상호 작용 즉, 시점 𝑡1 이후에만 사용할 수 있습니다.
실제로 이러한 항목과 상호 작용은 시점 𝑡1에서 사용할 수 없습니다. 즉, 𝑋 항목에 대한 사용자 𝐴의 선호도를 예측할 때 예측 시점에 사용할 수 없을 것으로 예상되는 "미래 데이터"를 사용하여 데이터 유출로 이어집니다.
모델은 사용자와 𝐶 간의 학습된 유사성 때문에 사용자 𝐶가 평가한 항목이 "미래 항목"인 사용자 𝐴을 추천할 수도 있습니다.
TIMELINE SCHEME: TOWARDS MORE REALISTIC EVALUATION
섹션 1에서는 글로벌 타임라인을 준수하지 않으면 두 가지 주요 문제가 발생한다고 주장합니다.
하나는 설계된 모델이 사용자-항목 상호 작용의 글로벌 시간적 맥락을 포착할 수 없다는 것이다.
또 다른 문제는 데이터 유출입니다.
실험을 통해 데이터 분할 및 일반적으로 사용되는 기준선 모델을 사용하여 데이터 유출의 영향을 조사했습니다.
우리의 연구결과는 [10, 27, 36]에 보고된 조사 결과와 일치한다. 이 조사 결과는 서로 다른 데이터 분할 방식을 사용하여 추천자의 일관성 없는 성과를 보여준다. 우리의 분석은 글로벌 타임라인을 무시하는 관점에서 그들의 관찰을 더욱 설명한다.
일반적인 데이터 분할 전략 중 시간별 분할은 데이터 유출 문제를 일으키지 않습니다. 그럼에도 불구하고, 단순히 시간별 분할 포인트를 채택하는 것이 추천자에 대한 보다 현실적인 평가로 이어질 필요는 없습니다.
시간별 분할은 사전 정의된 시점을 사용하여 평가할 수 있도록 기간을 확보합니다.
시점 전에 발생한 모든 상호 작용은 교육 인스턴스로 사용됩니다.
테스트 기간이 너무 짧으면 공정하고 편향되지 않은 평가 결과를 제공할 수 있는 충분한 테스트 인스턴스가 없을 수 있습니다.
테스트 기간이 너무 길면 테스트 기간 동안 사용자-항목 상호 작용의 시간적 맥락이 변경되었을 수 있습니다.
예를 들어, 그림 1의 타임라인을 따라 아이템이 다른 인기 패턴을 보여줍니다. 테스트 기간이 길면 모델이 글로벌 타임라인에 따라 이 시간적 콘텍스트 변화를 학습할 수 없습니다.
다시 말씀드리지만, 평가 결과는 실시간 설정에서 추천자 시스템이 어떻게 수행되는지 반영하지 못할 수 있습니다.
그것을 고려하면서 테스트 기간을 결정하는 것은 곤란합니다.
저자는 타임라인 체계가 추천자 모델의 공정한 오프라인 평가를 위한 보다 합리적인 체계라고 생각한다고 합니다.
타임라인 스킴에서는 모든 사용자-항목 상호 작용이 그림 8과 같이 시간 순서대로 정렬됩니다.
상호 작용의 하위 집합은 테스트 인스턴스로 마스킹됩니다.
테스트 인스턴스의 샘플링은 랜덤 또는 생략할 수도 있습니다.(예: 각 사용자의 마지막 상호 작용은 테스트로 마스킹됩니다).
추천자는 모델을 학습/갱신하기 위해 타임라인에 따라 교육 인스턴스를 검토해야 합니다.
타임라인을 따라 테스트 인스턴스가 발생할 때마다 추천자는 (i) 모델이 지금까지 학습한 내용과 (ii) 그 시점에서 사용 가능한 항목의 현재 풀을 바탕으로 예측합니다.
이 타임라인 체계는 설계에 따라 글로벌 타임라인을 준수합니다.
모든 교육 인스턴스가 모델 전체를 학습하기 위해 제공되는 것은 아닙니다. 그 대신 트레이닝 인스턴스는 권장되는 시점까지 타임라인을 따라 접수되므로 데이터 유출을 방지할 수 있습니다.
테스트 인스턴스는 타임라인을 따라 샘플링되므로 모델은 타임라인을 따라 시간적 콘텍스트를 학습하고 그에 따라 권장사항을 작성할 수 있습니다.
극단적인 경우 타임라인 스킴은 데이터 스트림 마이닝에서 일반적으로 사용되는 평가 스킴인 프리퀀셜 평가가 됩니다. 사전 수차 평가에서는 모든 데이터 인스턴스가 시간순으로 정렬됩니다. 각 인스턴스는 먼저 모델을 테스트하는 데 사용된 후 모델을 훈련하기 위해 실제 레이블을 해제합니다. 사실, 온라인 권고에서 전순위 평가가 채택되었다[1, 28, 37]. 타임라인 스킴은 프리퀀셜 평가의 완화된 버전으로 간주할 수 있습니다.
타임라인 스킴을 완화하면 슬라이딩 타임 윈도를 테스트 기간으로 사용할 수 있습니다. 예를 들어 지난주에 발생한 모든 상호작용은 글로벌 타임라인을 따라 다음 주에 대한 예측 모델을 학습하는 데 사용됩니다. 이 예에서 시간대는 1주일이며 모델은 매주 교육/업데이트되며 테스트 주 전에 모든 상호 작용을 사용할 수 있습니다.
타임라인 스킴에서는 기본적으로 모든 추천자 모델이 증분 해야 합니다. 모델 훈련/업데이트는 모든 훈련 인스턴스가 모델 전체에 공급되는 배치 모델과 다르기 때문에 이 요건은 새로운 모델 설계를 요구한다.
https://arxiv.org/pdf/2010.11060.pdf%EF%BB%BF
'관심있는 주제 > Recommendation' 카테고리의 다른 글
논문 간단 리뷰) DeepFM: A Factorization-Machine based Neural Network for CTR Prediction (0) | 2022.11.13 |
---|---|
Customer Segmentation 자료 정리 (0) | 2022.07.10 |
Paper) 추천 알고리즘들의 Data Split 전략에 대한 논문 리뷰 (2) | 2022.03.24 |
Python) 추천 시스템 방법론별로 간단한 예시 (0) | 2022.01.23 |
Python) text content based recommendation (0) | 2022.01.23 |