Object2Vec 알고리즘 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Object2Vec 알고리즘

Amazon SageMaker Object2Vec 알고리즘은 고도로 사용자 지정할 수 있는 범용 신경 임베딩 알고리즘입니다. 고차원 객체의 저차원 밀도 임베딩을 학습할 수 있습니다. 임베딩은 원래 공간에서 객체 쌍 간 관계의 의미를 임베딩 공간에 저장하는 방식으로 학습됩니다. 학습된 임베딩을 사용하여 예를 들어 객체의 가장 가까운 이웃을 효율적으로 계산하고 저차원 공간에서 관련 객체의 자연 클러스터를 시각화할 수 있습니다. 또한 다운스트림 지도 작업(예: 분류 또는 회귀)에서 해당 객체의 특징으로 임베딩을 사용할 수도 있습니다.

Object2Vec은 잘 알려진 Word2Vec 임베딩 기법을 에서 최적화된 단어에 대해 일반화합니다. SageMaker BlazingText 알고리듬 Object2Vec을 몇 가지 실제 사용 사례에 적용하는 방법을 설명하는 블로그 게시물은 Amazon Object2Vec 소개를 참조하십시오. SageMaker

Object2Vec 알고리즘에 대한 입력/출력 인터페이스

Object2Vec은 다음 예를 포함해 여러 가지 입력 데이터 형식에 사용할 수 있습니다.

입력 데이터 형식

문장-문장 페어

“여러 명의 수컷이 경기하는 축구 경기.” 그리고 “몇몇 남자들이 스포츠를 하고 있어요.”

레이블-시퀀스 페어

영화 "타이타닉"의 장르 태그(예: "로맨스", "드라마")와 간단한 설명: "제임스 카메론 감독의 타이타닉은 R.M.S. 타이타닉 호의 비운의 첫 항해를 무대로 펼쳐지는 액션으로 가득한 서사. 당시 가장 호화로운 꿈의 여객선 타이타닉 호는 1912년 4월 15일 새벽 침몰하여 1,500명이 차디찬 북해 바다에서 목숨을 잃었다."

고객-고객 페어

Jane의 고객 ID와 Jackie의 고객 ID.

제품-제품 페어

축구의 제품 ID와 농구의 제품 ID.

항목 검토 사용자-항목 페어

사용자의 ID와 그녀가 구매한 아이템(예: 사과, 배, 오렌지).

입력 데이터를 지원되는 형식으로 변환하려면 사전 처리해야 합니다. 현재, Object2Vec은 기본적으로 두 가지 입력 유형을 지원합니다.

  • 단일 integer-id의 목록으로 표시되는 이산 토큰. 예를 들어 [10]입니다.

  • integer-ids의 목록으로 표시되는 이산 토큰의 시퀀스. 예를 들어 [0,12,10,13]입니다.

각 페어의 객체는 비대칭일 수 있습니다. 예를 들어 페어는 (토큰, 시퀀스) 또는 (토큰, 토큰) 또는 (시퀀스, 시퀀스)일 수 있습니다. 토큰 입력을 위해 이 알고리즘을 호환 가능한 인코더로 간단한 임베딩을 지원합니다. 토큰 벡터의 시퀀스를 위해 이 알고리즘은 인코더로 다음을 지원합니다.

  • 평균 풀링 임베딩

  • 계층적 컨볼루션 신경망(CNN)

  • Multi-layered bidirectional long short-term memory(BiLSTM)

각 페어의 입력 레이블은 다음 중 하나일 수 있습니다.

  • 페어 내 객체 간 관계를 표현하는 카테고리 레이블

  • 두 객체 간의 유사성 강도를 표현하는 점수

분류에 사용되는 범주형 레이블에 대해 이 알고리즘은 교차 엔트로피 손실 함수를 지원합니다. 회귀에 사용되는 순위/점수 기반 레이블에 대해 이 알고리즘은 평균 제곱근 오차(MSE) 손실 함수를 지원합니다. 모델 훈련 작업을 생성할 때 output_layer 하이퍼파라미터를 사용하여 이러한 손실 함수를 지정합니다.

Object2Vec 알고리즘에 대한 EC2 인스턴스 권장 사항

사용하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 유형은 훈련 또는 추론 실행 여부에 따라 달라집니다.

CPU에서 Object2Vec 알고리즘을 사용하여 모델을 훈련하는 경우 ml.m5.2xlarge 인스턴스로 시작합니다. GPU에서 훈련하는 경우 ml.p2.xlarge 인스턴스로 시작합니다. 이 인스턴스에서 훈련이 너무 오래 걸리면 더 큰 인스턴스를 사용할 수 있습니다. 현재 Object2Vec 알고리즘은 단일 머신에서만 훈련할 수 있습니다. 여러 GPU에 대한 지원을 제공합니다. Object2Vec은 훈련 및 추론을 위한 P2, P3, G4dn 및 G5 GPU 인스턴스 패밀리를 지원합니다.

딥 신경망을 가진 훈련된 Object2Vec 모델을 사용한 추론의 경우, ml.p3.2xlarge GPU 인스턴스를 사용하는 것이 좋습니다. GPU 메모리 희소성으로 인해 INFERENCE_PREFERRED_MODE 환경 변수를 지정하여 GPU 최적화: 분류 또는 회귀 또는 GPU 최적화: 인코더 임베딩 추론 네트워크가 GPU에 로드되는지 여부를 최적화할 수 있습니다.

Object2Vec 샘플 노트북

참고

노트북 인스턴스에서 노트북을 실행하려면 예제 노트북를 참조하세요. Studio에서 노트북을 실행하려면 Amazon SageMaker 스튜디오 클래식 노트북 생성 또는 열기을 참조하세요.