임베딩

를 통해 개인정보처리방침을 정의할 수 있습니다.

식품 추천 애플리케이션을 개발한다고 가정해 보겠습니다. 사용자가 좋아하는 식사를 입력하면 앱에서 비슷한 식사를 추천함 확인할 수 있습니다. 머신러닝 (ML) 모델을 개발하려는 경우 이를 통해 음식 유사성을 예측할 수 있습니다. 이렇게 하면 추천(예: 팬케이크를 좋아하신다면 크레이프를 권장합니다.')

모델을 학습시키기 위해 5,000개의 인기 있는 데이터 세트를 보르시, 핫도그, 샐러드, 피자, 및 shawarma가 있습니다.

그림 1. 5가지 음식의 삽화 세트입니다. 다음에서 시계 방향으로
       왼쪽 상단: 보르시, 핫도그, 샐러드, 피자, 샤와르마
그림 1. 음식 데이터 세트에 포함된 식사 항목의 샘플링.

다음과 같은 meal 특성을 만듭니다. 원-핫 인코딩 각 식사 항목의 표현을 뜻합니다

그림 2. 상단: Borscht의 원-핫 인코딩 시각화입니다.
       벡터 [1, 0, 0, 0, ..., 0] 이 6개의 상자 위에 표시되어 있습니다.
       각각 왼쪽으로 정렬됨
       오른쪽 상단으로 들어가 보겠습니다. 상자는 왼쪽에서 오른쪽으로
       보르시, 핫도그, 샐러드, 피자, [empty],
       샤와르마입니다. 가운데: 핫도그의 원-핫 인코딩 시각화입니다.
       벡터 [0, 1, 0, 0, ..., 0] 이 각각 6개의 상자 위에 표시됩니다.
       벡터 번호 중 하나와 함께 왼쪽에서 오른쪽으로 정렬됩니다. 상자에는
       보르시 시각화와 동일한 이미지를 왼쪽에서 오른쪽으로
       참조하세요. 아래: shawarma의 원-핫 인코딩 시각화 이
       벡터 [0, 0, 0, 0, ..., 1] 이 각각 정렬된 6개의 상자 위에 표시됩니다.
       왼쪽부터 오른쪽으로 색칠해 보겠습니다. 상자에는
       보르시와 핫도그와 동일한 이미지를 왼쪽에서 오른쪽으로
       시각화할 수 있습니다.
그림 2. 보르시, 핫도그, 샤와르마의 원-핫 인코딩입니다. 각 원-핫 인코딩 벡터는 길이가 5,000이며 메뉴 항목). 다이어그램의 생략 부호는 4,995개 항목은 표시되지 않습니다.

희소 데이터 표현의 함정

이러한 원-핫 인코딩을 검토하다 보면 데이터 표현을 생성합니다.

  • 가중치 수. 입력 벡터가 크다는 것은 입력 벡터가 가중치 신경망"> 원-핫 인코딩에 M개 항목을 포함시키고 첫 번째 레이어에 노드가 존재한다면 모델은 해당 레이어의 MxN 가중치 가중치가 많으면 다음과 같은 문제가 발생합니다.
    • 데이터 포인트 수. 모델에 가중치가 많을수록 모델 학습에 도움이 되는 효과적으로 학습시켜야 합니다
    • 계산량. 가중치가 많을수록 더 많은 계산이 필요 모델을 학습시키고 사용할 수 있습니다 IT 지원 전문가로서의 역량을 사용할 수 있습니다
    • 메모리 용량. 모델에 가중치가 많을수록 액셀러레이터가 필요합니다 확장 매우 어렵습니다
    • 지원의 어려움 온디바이스 머신러닝 (ODML) 로컬 기기에서 ML 모델을 실행하려는 경우 모델을 더 작게 만드는 데 집중해야 하며 가중치 수를 줄일 수 있습니다.
  • 벡터 간의 의미 있는 관계 부족. 벡터 값이 음식에 대한 원-핫 인코딩은 식품에 대한 유의미한 정보를 유사성도 있습니다. 수학적으로 색인 1('핫도그')은 더 높은 값이지만 색인 4999('shawarma')보다 색인 2에 가까운 개는 샐러드보다는 샤와르마 (육류와 빵을 모두 포함)와 더 비슷합니다.

이 모듈에서는 저차원인 임베딩을 만드는 방법을 알아봅니다. 희소 데이터의 표현을 사용하면 이러한 문제를 모두 해결할 수 있습니다.