임베딩: 임베딩 얻기

임베딩을 획득하는 방법에는 Google에서 만든 최첨단 알고리즘을 비롯하여 여러 가지가 있습니다.

표준 차원 축소 기법

저차원 공간에서 고차원 공간의 중요한 구조를 캡처하는 많은 수학적 기법이 있습니다. 이론적으로 이러한 기법 중 하나를 사용하여 머신러닝 시스템의 임베딩을 만들 수 있습니다.

예를 들어 주성분 분석(PCA)은 단어 임베딩을 만드는 데 사용되었습니다. 단어 집합 벡터와 같은 인스턴스 집합을 감안하면 PCA는 단일 차원으로 축소할 수 있는 상관관계가 높은 차원을 찾습니다.

Word2vec

Word2vec은 단어 임베딩 학습을 위해 Google에서 발명한 알고리즘입니다. Word2vec은 분포 가설을 사용하여 의미론적으로 유사한 단어를 기하학적으로 가까운 임베딩 벡터에 매핑합니다.

분포 가설에 따르면 인접한 단어가 같은 단어가 자주 있으면 의미론적으로 유사한 경향이 있습니다. 'dog'와 'cat'는 모두 단어 'veterinarian'에 가까우며 이 의미론적 유사성을 반영합니다. 1957년에 언어학자 John Firth가 말한 것처럼 이 단어는 회사에서 사용하는 단어를 알아야 알 수 있습니다.

Word2Vec은 실제로 일치하는 단어 그룹을 무작위로 그룹화된 단어와 구분하도록 신경망을 학습시켜 이러한 컨텍스트 정보를 활용합니다. 입력 레이어는 하나 이상의 문맥 단어와 함께 타겟 단어의 희소 표현을 취합니다. 이 입력은 더 작은 단일 히든 레이어에 연결됩니다.

알고리즘의 한 버전에서 시스템은 타겟 단어에 임의의 노이즈 단어를 대체하여 부정적인 예를 만듭니다. 양극이 비행기가 날아오는 경우, 시스템이 '조깅'으로 교체하면 대조 음의 예시인 조깅 플라이가 만들어질 수 있습니다.

다른 버전의 알고리즘에서는 실제 타겟 단어를 무작위로 선택된 컨텍스트 단어와 페어링하여 부정적인 예를 만듭니다. 따라서 양수의 예 (the, 평면), (f플라이, 비행기)와 음의 예(컴파일된 비행기)(누가, 평면)를 사용하여 텍스트에 실제로 함께 표시되는 쌍을 식별하는 방법을 알아볼 수 있습니다.

하지만 분류기는 어떠한 시스템 버전에서도 실제 목표가 아닙니다. 모델 학습이 끝나면 임베딩을 사용하게 됩니다. 입력 레이어를 히든 레이어와 연결하는 가중치를 사용하여 단어의 희소 표현을 더 작은 벡터에 매핑할 수 있습니다. 이 임베딩은 다른 분류기에서 재사용할 수 있습니다.

word2vec의 자세한 내용은 tensorflow.org의 튜토리얼을 참고하세요.

더 큰 모델의 일부로 임베딩 학습

임베딩을 대상 태스크의 신경망의 일부로 사용할 수도 있습니다. 이 접근 방식을 사용하면 특정 시스템에 잘 맞춤설정된 임베딩을 얻을 수 있지만 임베딩을 별도로 학습시키는 것보다 시간이 오래 걸릴 수 있습니다.

일반적으로 희소 데이터 (또는 삽입하려는 밀집 데이터)가 있는 경우 d 크기의 특수한 숨겨진 단위 유형인 임베딩 단위를 만들 수 있습니다. 이 임베딩 레이어는 다른 특성 및 히든 레이어와 결합할 수 있습니다. 다른 DNN과 마찬가지로 최종 레이어는 최적화 중인 손실입니다. 예를 들어, 다른 사용자의 관심분야에서 사용자의 관심분야를 예측하는 것이 목표인 공동작업 필터링을 한다고 가정해 보겠습니다. 사용자가 시청한 소수의 영화를 양성 라벨로 무작위로 제외 (또는 홀드)하여 지도 학습 문제로 모델링한 다음 소프트맥스 손실을 최적화할 수 있습니다.

그림 5. 협업 필터링 데이터에서 영화 임베딩을 학습하는 샘플 DNN 아키텍처

또 다른 예로, DNN의 일부로서 부동산 광고에 나온 단어에 대한 임베딩 레이어를 만들어 주택 가격을 예측하려는 경우, 학습 데이터에서 알려진 주택 판매가를 라벨로 사용하여 L2 손실을 최적화할 수 있습니다.

d차원 임베딩을 학습할 때 각 항목은 d차원 공간의 한 지점에 매핑되므로 유사한 항목이 이 공간 내에 배치됩니다. 그림 6은 임베딩 레이어에서 학습된 가중치와 기하학적 뷰 간의 관계를 보여주는 데 도움이 됩니다. 입력 노드와 d차원 임베딩 레이어의 노드 간 에지 가중치는 각 d 축의 좌표 값에 해당합니다.

임베딩 레이어 가중치와 임베딩의 기하학적 뷰 간의 관계를 보여주는 그림입니다.

그림 6. 임베딩 레이어 가중치의 기하학적 보기