후보 생성은 추천의 첫 번째 단계입니다. 쿼리가 주어지면 시스템에서 관련 후보 집합을 생성합니다. 다음 표에서는 일반적인 후보 생성 방법:
유형 | 정의 | 예 |
---|---|---|
콘텐츠 기반 필터링 | 항목 간 유사성을 사용하여 상품을 추천합니다. 사용자가 좋아하는 것과 비슷하다고 볼 수 있습니다. | 사용자 A가 귀여운 고양이 동영상 2개를 보면 시스템에서 귀여운 동물 동영상을 해당 사용자에게 추천할 수 있습니다. |
협업 필터링 | 쿼리와 항목의 동시 유사성을 사용하여 추천을 제공합니다. | 사용자 A가 사용자 B와 비슷하고 사용자 B가 동영상 1을 좋아한다면 시스템은 동영상 1을 사용자 A에게 추천할 수 있습니다 (사용자 A가 동영상 1과 유사한 모든 동영상을 시청한 사용자). |
임베딩 공간
콘텐츠 기반 필터링과 협업 필터링 모두 각 항목과 각 쿼리를 매핑합니다. 일반적인 임베딩 공간에서 임베딩 벡터로 변환 일반적으로 임베딩 공간은 저차원이지만 (즉, 이 코퍼스 크기보다 훨씬 작음) 디코더에서 데이터를 캡처하고 항목 또는 검색어 집합의 잠재 구조를 가지고 있기 때문입니다 유사한 상품(예: YouTube) 평소에 같은 사용자가 보는 동영상은 임베딩 레이어입니다. '가까움'의 개념 유사성 측정으로 정의됩니다
유사성 측정
유사성 측정은 모델의 는 임베딩 쌍을 취해 유사성을 측정하는 스칼라를 반환합니다. 임베딩은 다음과 같이 후보 생성에 사용할 수 있습니다. 쿼리 임베딩 을 선택하면 시스템이 항목 임베딩을 찾음 에 가까운 , 즉 임베딩이 유사성 이라고 가정해 보겠습니다
대부분의 추천 시스템은 유사성 정도를 판단하기 위해 다음 중 하나 이상에서
- 코사인
- 내적
- 유클리드 거리
코사인
이것은 단순히 두 지점 사이의 각도의 코사인입니다. 벡터,
내적
두 벡터의 내적은 ( 각도를 기준의 곱으로 곱한 값입니다. 따라서 임베딩이 내적과 코사인이 일치하는 것입니다.
유클리드 거리
유클리드의 일반적인 거리입니다. 스페이스, 거리가 짧을수록 유사성이 높아집니다. 참고로 임베딩이 제곱한 유클리드 거리는 내적과 일치함 (및 코사인)을 상수로 전달할 수 있습니다 case .
유사성 측정 비교
오른쪽 그림의 예를 생각해 보세요. 검은색 벡터는 쿼리 임베딩입니다. 다른 세 개의 임베딩 벡터 (항목 A, 항목 B, 항목 C) 조합 항목을 나타냅니다. 사용된 유사성 측정에 따라 항목 순위가 다를 수 있습니다
이미지를 사용하여 세 가지 코사인, 내적, 유클리드 거리로 구성됩니다.
답안
어떠셨나요?
항목 A는 가장 큰 표준을 가지며 내적 항목 C는 쿼리와의 각도가 가장 작으므로 코사인 유사성에 따라 1위를 차지합니다. 항목 B는 실제로 쿼리에 가장 가까우므로 유클리드 거리가 선호됩니다.
유사성 측정항목은 무엇인가요?
코사인과 비교할 때 내적 유사성은 다음 질문에 민감합니다. 임베딩 표준입니다. 다시 말해서 표준 가중치의 표준이 커질수록 임베딩일수록 유사성이 더 높음 (예각을 갖는 항목의 경우) 추천될 가능성도 높아집니다 이는 권장사항:
학습 세트에 매우 자주 표시되는 항목 (예: 인기 있는 YouTube 동영상)은 규범이 큰 임베딩을 사용하는 경향이 있습니다. 인기도 정보를 캡처하는 것이 바람직하다면 내적을 선호합니다. 하지만 조심하지 않으면 인기 있는 항목이 추천의 대부분을 차지하게 될 수 있습니다. 실제로는 덜 강조하는 다른 유사성 측정값의 변형을 사용할 수 있음 가중치를 부여합니다. 예를 들어 일부 .
매우 드물게 표시되는 항목은 Vertex AI Feature Store에서 제공되는 따라서 큰 표준으로 초기화되면 관련성이 높은 상품보다 희귀 상품을 추천할 수도 있습니다. 이를 방지하려면 임베딩 초기화에 주의를 기울이고 적절한 살펴보겠습니다. 첫 번째 연습에서 이 문제를 자세히 살펴보겠습니다.