후보 생성 개요

후보 생성은 추천의 첫 번째 단계입니다. 쿼리가 주어지면 시스템에서 관련 후보 집합을 생성합니다. 다음 표에서는 일반적인 후보 생성 방법:

유형정의
콘텐츠 기반 필터링 항목 간 유사성을 사용하여 상품을 추천합니다. 사용자가 좋아하는 것과 비슷하다고 볼 수 있습니다. 사용자 A가 귀여운 고양이 동영상 2개를 보면 시스템에서 귀여운 동물 동영상을 해당 사용자에게 추천할 수 있습니다.
협업 필터링 쿼리와 항목의 동시 유사성을 사용하여 추천을 제공합니다. 사용자 A가 사용자 B와 비슷하고 사용자 B가 동영상 1을 좋아한다면 시스템은 동영상 1을 사용자 A에게 추천할 수 있습니다 (사용자 A가 동영상 1과 유사한 모든 동영상을 시청한 사용자).

임베딩 공간

콘텐츠 기반 필터링과 협업 필터링 모두 각 항목과 각 쿼리를 매핑합니다. 일반적인 임베딩 공간에서 임베딩 벡터로 변환 E=Rd일반적으로 임베딩 공간은 저차원이지만 (즉, d 이 코퍼스 크기보다 훨씬 작음) 디코더에서 데이터를 캡처하고 항목 또는 검색어 집합의 잠재 구조를 가지고 있기 때문입니다 유사한 상품(예: YouTube) 평소에 같은 사용자가 보는 동영상은 임베딩 레이어입니다. '가까움'의 개념 유사성 측정으로 정의됩니다

유사성 측정

유사성 측정은 s:E×ER 모델의 는 임베딩 쌍을 취해 유사성을 측정하는 스칼라를 반환합니다. 임베딩은 다음과 같이 후보 생성에 사용할 수 있습니다. 쿼리 임베딩 qE을 선택하면 시스템이 항목 임베딩을 찾음 xE 에 가까운 q, 즉 임베딩이 유사성 s(q,x)이라고 가정해 보겠습니다

대부분의 추천 시스템은 유사성 정도를 판단하기 위해 다음 중 하나 이상에서

  • 코사인
  • 내적
  • 유클리드 거리

코사인

이것은 단순히 두 지점 사이의 각도의 코사인입니다. 벡터, s(q,x)=cos(q,x)

내적

두 벡터의 내적은 s(q,x)=q,x=i=1dqixi s(q,x)=xqcos(q,x) ( 각도를 기준의 곱으로 곱한 값입니다. 따라서 임베딩이 내적과 코사인이 일치하는 것입니다.

유클리드 거리

유클리드의 일반적인 거리입니다. 스페이스, s(q,x)=qx=[i=1d(qixi)2]12 거리가 짧을수록 유사성이 높아집니다. 참고로 임베딩이 제곱한 유클리드 거리는 내적과 일치함 (및 코사인)을 상수로 전달할 수 있습니다 case 12qx2=1q,x.

쿼리 임베딩 하나와 후보 항목 3개가 포함된 2차원 임베딩 공간을 보여주는 이미지

유사성 측정 비교

오른쪽 그림의 예를 생각해 보세요. 검은색 벡터는 쿼리 임베딩입니다. 다른 세 개의 임베딩 벡터 (항목 A, 항목 B, 항목 C) 조합 항목을 나타냅니다. 사용된 유사성 측정에 따라 항목 순위가 다를 수 있습니다

이미지를 사용하여 세 가지 코사인, 내적, 유클리드 거리로 구성됩니다.

어떠셨나요?

항목 A는 가장 큰 표준을 가지며 내적 항목 C는 쿼리와의 각도가 가장 작으므로 코사인 유사성에 따라 1위를 차지합니다. 항목 B는 실제로 쿼리에 가장 가까우므로 유클리드 거리가 선호됩니다.

각 유사성 척도에 의해 유도된 순위의 차이를 보여주는 이미지

유사성 측정항목은 무엇인가요?

코사인과 비교할 때 내적 유사성은 다음 질문에 민감합니다. 임베딩 표준입니다. 다시 말해서 표준 가중치의 표준이 커질수록 임베딩일수록 유사성이 더 높음 (예각을 갖는 항목의 경우) 추천될 가능성도 높아집니다 이는 권장사항:

  • 학습 세트에 매우 자주 표시되는 항목 (예: 인기 있는 YouTube 동영상)은 규범이 큰 임베딩을 사용하는 경향이 있습니다. 인기도 정보를 캡처하는 것이 바람직하다면 내적을 선호합니다. 하지만 조심하지 않으면 인기 있는 항목이 추천의 대부분을 차지하게 될 수 있습니다. 실제로는 덜 강조하는 다른 유사성 측정값의 변형을 사용할 수 있음 가중치를 부여합니다. 예를 들어 s(q,x)=qαxαcos(q,x) 일부 α(0,1).

  • 매우 드물게 표시되는 항목은 Vertex AI Feature Store에서 제공되는 따라서 큰 표준으로 초기화되면 관련성이 높은 상품보다 희귀 상품을 추천할 수도 있습니다. 이를 방지하려면 임베딩 초기화에 주의를 기울이고 적절한 살펴보겠습니다. 첫 번째 연습에서 이 문제를 자세히 살펴보겠습니다.