최신머신러닝을 이용한 추천 시스템 9주차 (Meta-Learning-Metric-ProtoCF)
UROP
9주차 (Meta-Learning-Metric-ProtoCF)
논문 자료(ProtoCF :Prototypical Collaborative Filtering for Few-shot Recommendation)
ProtoCF
0. 초록
Prototypical Collaborative Filtering for Few-shot Recommendation
현재 추천 시스템은 인기 있는 항목을 추천하는 데는 효과적이지만, 상호 작용이 적은 덜 인기 있는 ‘롱테일’ 항목에는 어려움을 겪는다. 저자는 실험을 통해 기존의 신경 추천 시스템이 관련성이 높은 롱테일 항목의 순위를 정확하게 매길 수 없음을 보여준다.
저자들은 현재 추천 시스템에서 롱테일 문제를 해결하기 위한 새로운 접근 방식을 제안하며 “Few-Shot learning” 이라는 기술을 사용하여 강력한 프로토타입 표현을 생성함으로써 이러한 유형의 항목에 대한 추천 방법을 학습하는 ProtoCF라는 프레임워크를 만든다.
ProtoCF는 Episodic Few-shot leaning을 사용하여 롱테일 내 아이템 순위를 모방하는 다양한 작업으로부터 학습한다. 또한 아키텍처에 관계없이 다른 추천 시스템에서 지식을 추출하고 전송하기 위해 Knowledge distillation에 기반한 또 다른 기술을 제안한다.
Episodic few-shot learning
Episodic few-shot learning은 머신러닝에서 소량의 데이터로 학습하는 데 사용되는 기법이다. ProtoCF는 꼬리 부분의 아이템 순위를 모방하는 다양한 작업을 학습하여 상호작용이 거의 없는 롱테일 아이템을 추천하는 방법을 학습한다는 의미이다. 좀 더 자세하게 설명하자면, 큰 작업을 더 작은 ‘에피소드’ 또는 하위 작업으로 세분화 한 다음 이러한 에피소드를 학습하는 방법이다. 각 에피소드는 학습 중인 각 클래스 또는 카테고리에 대해 적은 수의 예제 또는 인스턴스(샷)로 구성된다. 이 작업을 여러 에피소드에 걸쳐 반복적으로 수행함으로써 모델은 매우 적은 데이터로도 일반화하고 정확한 예측을 하는 방법을 학습할 수 있다. 정리하자면, Episodic few-shot learning을 통해 ProtoCF는 학습 과정에서 제한된 양의 관련 정보만 사용하여 상호 작용이 드문 롱테일 아이템 추천을 효과적으로 처리할 수 있다.
예시
다양한 종류의 꽃을 인식하도록 모델을 훈련하고 싶다고 가정
수천 개의 이미지가 포함된 대규모 데이터 세트가 있지만 각 꽃 유형에는 몇 개의 예시(몇 장의 사진)만 있다. 에피소드식 소수 샷 학습을 사용하려면 작업을 더 작은 에피소드로 나누어야 한다.
- 각 에피소드마다 다섯 가지 유형의 꽃을 무작위로 선택
- 각 유형에 대해 다섯 개의 이미지를 선택
- 총 5개 클래스의 5개 이미지 총 25개의 이미지로 에피소드가 구성
- 모델이 모든 클래스의 예시를 충분히 볼 때까지 다양한 조합으로 이 과정을 여러 번 반복
- 모델은 이전에 본 적이 없는 새로운 사례에 대한 데이터가 거의 주어지지 않더라도 일반화하고 정확하게 예측하는 방법을 학습
특정 예제를 암기하는 것이 아닌 여러 작은 작업에 패턴을 학습하여 일반화 가능
Knowledge distillation
지식 증류는 크고 복잡한 모델(교사 모델)에서 더 작고 빠른 모델(학생 모델)로 지식을 이전하기 위해 딥 러닝에서 사용되는 기술이다. 일반적으로 딥러닝 모델에는 많은 매개변수가 있으며 상당한 컴퓨팅 리소스가 필요하다. 이는 작업에서 우수한 성능으로 이어질 수 있지만, 실제 애플리케이션에서 모델을 사용하기 어렵거나 비실용적으로 만들 수도 있다. 지식 증류는 교사 모델에서 학습한 지식을 학생 모델로 전송하여 이 문제를 해결한다. 여기에는 두 모델을 특정 작업에 대해 학습시키되, 특정 입력에 대해 두 모델의 출력 간의 유사성을 장려하는 추가 손실 함수를 사용하는 것이 포함된다. 두 네트워크가 훈련 중에 특정 입력에 대해 유사한 출력을 생성한다면 새로운 데이터가 주어졌을 때에도 유사한 출력을 생성할 수 있어야 한다는 것이다. 지식 증류를 적용하면 일반적으로 더 작은 학생 네트워크가 더 큰 학생 네트워크와 비슷하거나 더 나은 성능을 내면서도 크기와 복잡성이 감소하여 추론 시간이 더 효율적이다. 전반적으로 지식 증류는 정확도를 크게 떨어뜨리지 않으면서도 큰 신경망에 비해 계산 비용이 적게 드는 작지만 정확한 신경망을 훈련할 수 있게 해준다.
예시
이미지를 1000개의 서로 다른 카테고리로 정확하게 분류할 수 있는 크고 복잡한 신경망이 있다고 가정
이 모델은 너무 크고 느려서 모바일 디바이스나 기타 저전력 플랫폼에서는 사용할 수 없다. 모델을 더 효율적으로 만들려면 지식 증류를 사용하여 지식을 더 작은 학생 네트워크로 옮길 수 있다. 두 네트워크를 동일한 작업(예: 이미지 분류)으로 훈련시키되, 특정 입력에 대한 출력 간의 유사성을 장려하는 추가 손실 함수를 추가한다. 학습 중에 교사 모델은 각 입력 이미지에 대한 일반 출력 확률에 더해 소프트 타깃을 생성합니다. 이러한 소프트 타깃은 기존의 분류 작업에서처럼 단일한 인코딩 레이블이 아니라 가능한 모든 클래스에 대한 확률 분포입니다. 그런 다음 학생 네트워크는 예측된 확률이 실제 확률과 얼마나 가까운지 측정하는 교차 엔트로피 손실 함수를 사용하여 학습하는 동안 이러한 소프트 타겟과 실제 레이블을 통해 학습합니다. 이렇게 함으로써 크기와 복잡성이 줄어들어 계산 비용이 적게 들면서 교사 모델의 행동을 모방하려고 시도합니다. 이 접근 방식을 사용하여 학습된 결과 학생 모델은 원래 교사 모드보다 훨씬 작지만 중요한 기능을 학습했기 때문에 새로운 데이터가 제공될 때 비슷하거나 더 나은 성능을 발휘한다.
논문 저자들은 ProtoCF 방식이 전반적으로 추천 정확도 측면에서 기존 방법보다 뛰어나며 (Recall@50 5% 향상), 특히 상호작용이 거의 없는 롱테일 아이템의 경우(Recall@50 60~80% 향상) 더욱 효과적이라는 것을 보여준다.
1. 서론
NCF(Neural Collaborative Filtering)는 발전을 가져왔지만 인기 있는 항목에 편항되어 있고 상호 작용이 드문 롱테일 항목에는 어려움을 겪고 있다. 이러한 상호작용이 없는 롱테일 문제를 메타 학습을 통해 해결하는 새로운 접근 방법인 ProtoCF를 제안한다. 저자들은 실험을 통해 ProtoCF가 전체 추천에서 최신 접근 방법보다 우수한 성능을 보이는 동시에 상호작용이 20개 미만인 꼬리 항목에 대해서도 상당한 정확도를 얻을 수 있음을 보여준다.
대부분의 추천시틈은 인기 있는 아이템에 초점을 맞추고 덜 인기 있는 아이템은 무시하는 방식이다. 이는 개인화를 제한하고 덜 인기 있는 품목을 판매하는 비즈니스가 고객을 유치하기 어렵게 만들기 때문에 문제가 될 수 있다. 다양성을 높이고 잘 알려지지 않은 카테고리에서 더 많은 수익을 창출하기 위해 ‘롱테일’ 아이템에 더 많은 주의를 기울이는 시스템을 만들것을 제안한다.
다양성과 수익윽 높이기 위해 롱테일 아이템을 추천하는 것은 중요하다. 추천 시스템의 영향력이 커지면서 추천 시스템에서 추천하지 않는 롱테일 아이템에 대한 차별에 대한 윤리적 우려가 제기되고 있다.
Empirical evidence of long-tail challenges(롱테일 과제에 대한 경험적 증거)
- 롱테일 아이템의 순위를 정학하게 매기는 데 어려움이 있다. 인기도에 따라 아이템 인벤토리를 두 세트(인기, 비인기)로 나누고 각 세트 내에서 개인화된 순위를 평가한 결과 순위 간에 상당한 성능 차이가 있음을 발견했다. 이는 현재의 추천 시스템이 롱테일 아이템에 대한 충분한 표현이 부족하다는 것을 말해준다.
모델이 항목의 순위를 얼마나 잘 매기는 지 결과 롱테일 아이템에 대한 순위 정확도가 낮음
롱테일 아이템을 추천하는 문제를 해결하기 위한 이전 시도는 정규화와 분포적 선행사라는 2가지 전략에 중점을 두었다. 그러나 이러한 방법은 정적 가설과 과적한 가능성으로 인해 롱테일 아이템이 포함한 대규모 아이템들(인벤토리)에는 효과적이지 않을 수 있다.
- 정규화
- 항목 간 연관성 또는 동시 발생을 사용
- 분포적 선행
- 잠재 공간에서 아이템 선호도에 대한 가정을 포함
- 특정 유형의 아이템은 그 특성이나 특징에 따라 사용자가 선호하는 경향이 있다고 가정
- 액션영화와 상호작용을 했다면 사용자가 액션영화를 선호하는 경향이 있다고 가정
롱테일 아이템을 개선하기 위한 방법이 있다. 한 가지 접근 방식은 아이템 속성이나 지식 그래프와 같은 외부 정보를 사용하는 것이지만, 이는 한계가 있으며, 다양한 시나리오에 적용되지 않을 수 있다. 대신, 저자는 외부 정보에 의존하지 않고 딥 러닝 신경 모델 기반 추천자를 사용하여 롱테일 항목에 대한 개인화된 추천을 할 것을 제안한다.(ProtoCF)
신경망 기반 추천 시스템을 사용하여 인기 있는 항목에 대한 지식을 추출하고 이 지식을 이전하여 덜 인기 있는 항목에 대해 학습한다. 모델 학습중에 덜 인기 있는 아이템과의 상호 작용을 시물레이션하기 위해 episodic few-shot learning이라는 방법을 사용한다. 인기 있는 아이템의 상호작용을 하위 샘플링함으로써 덜 인기 있는 아이템과의 상호작용의 희소성을 극복할 수 있다.
—# 하위 샘플링(Sub-sampling)
데이터가 풍부한 헤드(인기 있는)아이템에서 상호작용을 하위 샘플링 한다는 것은 인기 있는 아이템에서 일부 상호작용만 무작위로 선택하여 보관한다는 것을 의미한다.
ProtoCF는 기본 추천자를 사전 학습시켜 아이템과 아이템 간의 관계를 학습한 다음, few-shot 러닝을 사용하여 사용자와 아이템에 대한 공유 메트릭 공간을 생성하며 각각에 대한 프로토타입을 생성하는 방법을 학습한다.
2. 관련 작업
해당 섹터에서는 롱테일 아이템을 추천은 데이터의 희소성으로 인한 어려움에 대해 간략하게 설명하며 정규화 및 데이터 증강과 같은 다양한 기법을 통해 데이터 희소성 문제를 해결하는 데 중점을 둔다.
Neural Collaborative Filtering
NCF는 사용자 아이템 상호작용의 과거 데이터를 사용하여 잠재 공간에서 사용자-아이템 표현을 학습한다. NCF는 비선형 표현, 신경 상호작용 모델링, 그래프 기반 표현 학습등이 있다. 그러나 이러한 개선에도 불구하고 롱테일 아이템에 대한 과제는 여전히 남아 있다.
Sparsity-aware Recommendation
상호 작용 데이터가 희서하면 롱테일 아이템은 정확하게 추천되지 않는 ‘상호 작용 희소성’ 문제가 발생한다. 이 문제를 해결하기 위한 한 가지 접근 방식은 유사성에 따라 아이템을 함께 그룹화하는 클러스터링이다. 하지만 클러스터링은 도움이 되지 않는 결과를 초래하고 개인화를 저하시킬 수 있다.
희소성 문제를 해결하기 위한 다양한 기법
-
정규화 기법
CF모델을 사용하여 아이템 동시 발생 행렬을 인수 분해하거나 가우시안 사전을 정규화 기법으로 사용하는 기법
-
적대적 정규화 또는 등급 생성
적대적 정규화 또는 등급 생성과 같은 기법을 통한 “데이터 증강”
하지만 이러한 기법에는 제한적인 가정이 있거나 계산 비용이 많이 들어 대규모 인벤토리(아이템)에는 적합하지 않을 수 있다.
Few-Shot Learning
소수 샷 학습은 제한된 수의 학습 예제로 새로운 작업을 빠르게 학습할 수 있는 모델을 설계하는 것으로 메타 학습은 여러 분야에서 성공을 거두었다
메타 학습을 사용하여 상호작용이 없는 신규 사용자를 위한 추천을 개선하는 방법과 모델 매개변수를 조정하고 사용자/아이템 기본 설정에 맞게 조정하는 다양한 방법이 있다. 하지만 이러한 방법은 사용자와 아이템간의 상호작용이 제한되어 있을 때 추천을 만드는 시나리오에는 적용되지 않는다.
메트릭 학습 접근법
거리 기반 학습은 모델이 별도의 조정 없이 새로운 작업에 일반화하는데 사용할 수 있는 메트릭 공간을 학습할 수 있도록 하는 방법이다.
ProtoCF는 롱테일 아이템을 맞춤 추천하기 위해 제한된 훈련 예제로 새로운 작업을 빠르게 학습할 수 있는 기능인 단발성 학습을 사용한다. 해당 방법은 신경 기반 추천자와 소수 샷 추천자가 포함된 2단계 프로세스를 제안하여 롱테일 아이템의 정보 표현을 학습한다.
기존의 소수 샷 학습 방법은 제한된 클래스에 초점을 맞췄지만, 이 새로운 접근 방식은 추천 애플리케이션의 방대한 아이템 인벤토리를 위해 설계되었다. 이는 롱테일 아이템 추천을 위한 거리 기반 소수 샷 학습에 대한 첫 번째 연구이다.
3. 문제 정의
해당 섹터에서는 롱테일 아이템으로 알려진 특정 아이템에 대한 상호 작용이 부족한 추천 시스템의 문제를 설명한다.
목표는 사용자에게 롱테일 아이템을 추천할 수 있는 개인화된 추천 시스템을 만드는 것이다. 이 접근 방식에는 사용자-아이템 표현을 학습하기 위해 신경 기반 추천자를 학습 시킨 다음, 기본 추천자로부터 지식을 추출하고 전달하여 소수 추천 항목을 학습하는 few-shot 추천자가 포함된다. 또한 기존의 신경 추천은 롱테일 아이템에 대해 좋은 성과를 내기 어려우며, 제안된 접근 방식은 전체 아이템 세트에서 합리적인 성능을 유지하면서 아이템에 대한 성능을 개선하는 것을 목표로 한다.
4. ProtoCF 프레임워크
이 섹션에서는 신경 기반 추천자(RB)를 훈련시켜 헤드 아이템에 대한 사용자 표현을 학습하고 아이템 간의 관계를 추론하는 few-shot 추천을 위한 ProtoCF를 사용한다. 그런 다음 RB에서 지식을 추출하고 전달하여 few-shot 아이템을 추천하는 few-shot 추천자(RF)를 제시한다.
4-1 Neural Base Recommender(신경 기반 추천자 - RB)
롱테일 아이템 추천을 개선하기 위해 고안된 ProtoCF는 2단계 프로세스를 사용한다.
먼저 ‘base recommender’가 인기 있는 항목에 대한 사용자 선호도를 학습한 다음 ‘few-shot recommender’가 이 지식을 사용하여 덜 인기 있는 항목에 대한 추천을 한다. base recommender는 신경망을 사용하여 사용자와 아이템의 표현을 학습하고, few-shot recommnder는 이 정보를 사용하여 개인화된 추천을 생성한다.
- 4-1-1 사용자-아이템 표현 학습
사용자와 아이템의 표현을 학습하기 위해 CF에는 행렬 인수분해, VAE, GNN등 다양한 전략들이 있다. 이 섹션에서는 특히 사용자와 아이템의 임베딩을 각각 학습하는 선호도 인코더 FU와 FI에 중점을 둔다. 선호도 인코더는 사용자와 아이템 모두에 대한 임베딩을 학습하는 신경망 모델이다. 이러한 임베딩은 사용자와 아이템의 관련성을 나타내는 점수를 계산하는 데 사용된다.
정리
일반적인 방법 중 하나는 행렬 인수분해로, 사용자-아이템 상호 작용의 큰 행렬을 장르나 가격대 같은 잠재 요인(또는 특징)을 나타내는 작은 행렬로 분해하는 것입니다. 또 다른 방법으로 언급된 자동 인코더는 신경망을 사용하여 입력 데이터를 저차원 임베딩으로 압축하는 동시에 각 항목이나 사용자의 선호도에 대한 중요한 정보를 보존합니다. 이 논문에서는 대신 ‘선호도 인코더’인 FU와 FI를 사용할 것을 제안합니다. 이 또한 사용자(hu)와 항목(hi) 모두에 대한 임베딩을 학습하는 신경망 모델입니다. 이러한 모델의 목표는 여전히 동일합니다. 다른 유사한 아이템/사용자와의 과거 상호작용을 기반으로 특정 사용자가 해당 아이템을 선호할 가능성을 나타내는 점수를 계산하는 것입니다.
- 4-1-2 훈련 목표
사용자와 아이템의 상호 작용을 기반으로 관련성 순위를 학습하는 RB라는 신경 기반 추천자의 아키텍처는 다음과 같다. Fint함수는 사용자-아이템 관련성을 측정하며 일반적으로 내부 제품을 사용하여 모델링된다. RB는 코사인 유사성을 사용하여 학습되며 모델 추론 중에 헤드 및 테일 아이템의 통합 추천을 용이하게 한다.
4-2 Few-Shot Item Recommender
이 섹션에서는 롱테일 아이템 추천을 다음과 같이 공식화 한다.
각 꼬리 아이템마다 최대 k명의 상호작용한 사용자로 구성된다 (일반적으로 K ≈ 5 ~ 20)
4-2-1 Few-shot task 공식화
ProtoCF는 헤드 아이템과 테일 아이템을 모두 포함한 전체 아이템 세트에서 작동하는 메타 학습 작업 모음을 통해 에피소드 학습에 기반을 두고 있다. 메타트레닝 중에 few-shot 아이템의 상호 작용 분포를 시물레이션하고 메타트레이닝과 추론 간의 일관성을 보장하여 롱테이 아이템간의 분포 불일치를 해소한다.
에피소드 학습은 각 에피소드가 소수의 예제로 구성된 에피소드 모음에서 학습하는 머신러닝의 한 유형이다.
에피소드식 few-shot 학습을 사용하여 꼬리 부분의 항목 순위를 모방하도록 설계된 다양한 메타트레닝 작업 모음에서 메타 지식을 추출하는 것을 포함한다. 또한 지식 증류에 기반한 새로운 아키첵처를 제안하여 신경 기반 추천자로부터 지식을 추출, 연관, 전송한다
이 프로세스는 사용자와의 몇 가지 상호작용을 기반으로 아이템을 추천하도록 추천 시스템을 훈련하는 것이다. 시스템은 각각 아이템의 하위 집합과 해당 항목과 상호 작용한 사용자 집합으로 구성된 작업에 학습된다. 이 시스템은 support set에 있는 일부 사용자의 상호 작용을 기반으로 아이템을 추천하는 방법을 학습하고, 하위 집합에 있는 항목과의 상호 작용을 기반으로 사용자 쿼리 집합에 아이템을 추천하는 능력을 평가 받는다.
4-2-2 Initial Item Prototype
사용자 및 아이템의 공유 메트릭 공간을 학습하여 support set(사용자와의 상호 작용)을 기반으로 각 항목에 대한 표현을 만드는 프로세스이다. 메트릭 공간은 프로토타입 벡터를 중심으로 각 아이템의 상호 작용한 사용자를 클러스트링한다. 사용자 선호도 인코더는 각 사용자를 잠재 임베딩 공간에 매핑하도록 정의된다. RB로부터 지식을 전송하기 위해 few-shot 인코더는 사전 학습된 인코더에서 초기화된 매개변수를 갖지만 학습 가능한 매개변수로 매개변수화된다. 각 아이템에 대한 프로토타입 벡터는 임베드된 support set의 평균 벡터로 계산된다.
4-2-3 헤드-테일 메타 지식 이전
신경망이 획득한 항목간 관계 지식을 활용한다.
신경 기반 추천자로부터 지식을 추출,연관 전송하는 지식 증류 기반 기법을 사용한다. RB는 항목과 항목 간의 관계 지식을 획득하고, 이를 귀납적 편향으로 사용하여 아이템 프로토타입 파이를 향상시킨다. 하지만 ProtoCF로 직접 지식을 전송하는 것은 계산적으로 어렵다.
이 문제를 극복하기 위해 저자들은 RB가 발견한 아이템-아이템 근접성 지식을 간결하게 표현하고, 이 지식을 전송하여 아이템 프로토타입을 개선한다. RB의 잠재 공간에서 아이템과 아이템 간의 근접성을 모델링하는 기준 벡터로 M개의 그룹 임베딩 ZM세트를 학습한다. 그룹 임베딩 ZM은 RB에 의해 식별된 겹치는 아이템 클러스터의 판별 중심이다.
임베딩과 어텐션 메커니즘을 사용하여 서로 다른 중심을 연관시키고 희박한 지원 집합을 가진 소수 샷 항목에 지식을 전달합니다. 이 방법은 또한 지식 증류 전략을 사용하여 항목과 항목의 관계를 포착하는 컴팩트한 그룹 임베딩을 학습합니다. 이 전략은 학생 모델이 교사 모델의 예측을 모방하도록 장려하고 교사 모델의 항목 근접도 분포를 모방하도록 학습시킵니다. 두 분포는 과제 수준 유사성 간의 교차 엔트로피를 최소화하여 정렬되며, 교사 모델에서 그룹 임베딩으로 지식을 전달하고 나머지 프레임워크와 함께 학습됩니다.
4-2-4 Item Prototype Fusion via Neural Gating
프로토타입을 사용하여 관련 아이템에서 전달된 지식을 캡처하고 게이팅 매커니즘을 사용하여 이러한 프로토타입에서 두드러진 특징 차원을 선택한다. 신경 게이팅 레이어는 가장 중요한 특징을 선택하도록 조정하고 최종 게이팅된 아이템 프로토타입을 생성한다.
4-2-5 Few-shot Rocommender 학습
해당 학습은 프로토타입과 아이템 간의 유사성을 측정하여 수행된다. 이 방법은 추천과 실측 데이터 상호 작용간의 nagative log-likelighood를 최소화한다. 전체 손실은 few-shot 추천 손실과 지식 증류 손실로 구성된다.
4-2-6 추론
RB(기본 추천자)와 희귀 아이템 데한 RF(few-shot 추천자)라는 두 가지 우형을 사용한다. 이 시스템은 사용자와 아이템 프로토타입 간의 유사성을 계산하여 각 사용자에 대한 추천을 생성한다. 이 시스템은 보간 방식을 사용하여 두 추천자의 추천을 결합하여 효과의 균형을 맞춘다.
5. 결론
ProtoCF는 소수학습을 사용하여 롱테일 아이템에 대한 임베딩을 학습한다. 또한 ProtoCF는 임의의 기본 추천자로부터 지식을 전송하여 상호작용이 거의 없는 항목에 대한 프로토타입을 구축한다. 실험 결과, 전체적으로 5%, 훈련 상호작용이 20개 미만인 롱테일 아이템의 경유 60~80퍼까지 최신 기술을 능가하는 것으로 나타났다.