Latent Dirichlet Allocation(LDA) 알고리즘 - 아마존 SageMaker

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

Latent Dirichlet Allocation(LDA) 알고리즘

더 아마존SageMaker잠재 디리클레 할당 (LDA) 알고리즘은 일련의 관측치를 서로 다른 범주의 혼합으로 설명하려고 시도하는 비지도 학습 알고리즘입니다. LDA는 텍스트 코퍼스 내에 있는 문서에서 공유하는 사용자별 주제를 찾는 데 가장 일반적으로 사용됩니다. 여기서 각 관측치는 문서이고, 특징은 단어의 존재(또는 출현 횟수), 범주는 주제입니다. 메서드가 비지도이기 때문에 주제는 선행하여 지정되지 않고, 인간이 자연적으로 문서를 범주화할 수 있는 방법과 연계되는 것이 보장되지 않습니다. 주제는 각 문서에 출현하는 단어에 걸친 가능성 분포로 학습됩니다. 결과적으로 각 문서는 주제의 혼합으로 설명됩니다.

주제 혼합이 동일한 2개의 다른 문서에 있는 동일한 콘텐츠는 동일하지 않습니다. 전체적으로 이러한 문서가 다른 주제 혼합의 문서와 비교한 것보다 공유된 단어의 서브셋을 더욱 자주 사용할 것으로 예상할 수 있습니다. 이를 통해 LDA는 단어 그룹을 찾고 이를 사용하여 주제를 형성할 수 있습니다. 극단적으로 단순한 예를 들어 문서 세트에서 다음 단어만 출현합니다. eat, sleep, play, meow, and bark. 이 경우 LDA는 다음과 같은 주제를 생성할 수 있습니다.

주제

eat sleep play meow bark
주제 1 0.1 0.3 0.2 0.4 0.0
주제 2 0.2 0.1 0.4 0.0 0.3

주제 1에 해당되는 문서는 고양이에 관한 것이라고 추론할 수 있습니다(meowsleep 선호) 또한 주제 2에 해당되는 문서는 개에 관한 것이라고 추론할 수 있습니다(playbark 선호). 이러한 주제는 텍스트 어디에서도 개와 고양이라는 단어가 등장하지 않아도 발견될 수 있습니다.

잠재 디리클레 할당 (LDA) 과 신경 주제 모델 (NTM) 중 선택

주제 모델은 일반적으로 (1) 의미론적 의미를 일관되게 요약하고 (2) 문서를 잘 설명하는 코퍼스에서 주제를 생성하는 데 사용됩니다. 따라서 주제 모델은 복잡성을 최소화하고 주제 일관성을 극대화하는 것을 목표로 합니다.

Perplexity는 테스트 데이터에서 단어당 기하학적 평균 확률의 역수를 측정하는 고유 언어 모델링 평가 지표입니다. 복잡도 점수가 낮을수록 일반화 성능이 더 우수하다는 것을 나타냅니다. 연구에 따르면 단어당 계산된 가능성은 사람의 판단과 일치하지 않는 경우가 많으며 전혀 상관관계가 없을 수 있으므로 주제 일관성이 도입되었습니다. 모델에서 추론된 각 주제는 단어로 구성되며 주제 일관성은 모델의 특정 주제에 대한 상위 N개 단어까지 계산됩니다. 이는 종종 해당 주제 내 단어의 쌍별 단어 유사도 점수의 평균 또는 중앙값으로 정의됩니다 (예: 포인트와이즈 상호 정보 (PMI)). 유망한 모델은 일관된 주제 또는 주제 일관성 점수가 높은 주제를 생성합니다.

목표는 복잡성을 최소화하고 주제 일관성을 극대화하는 주제 모델을 학습하는 것이지만 LDA와 NTM 모두에는 절충점이 있는 경우가 많습니다. Amazon, Dinget et al., 2018의 최근 연구에 따르면 NTM은 높은 주제 일관성을 달성하는 데 유망하지만 Gibbs 샘플링을 접목하여 학습한 LDA는 난해함을 줄여줍니다. 난해함과 주제 일관성 사이에는 절충점이 있습니다. 하드웨어 및 컴퓨팅 파워에 관한 실용성 관점에서 보면SageMakerNTM 하드웨어는 LDA보다 유연하며 NTM은 CPU와 GPU에서 실행되고 여러 GPU 인스턴스에서 병렬화할 수 있기 때문에 확장성이 뛰어납니다. 반면 LDA는 단일 인스턴스 CPU 훈련만 지원합니다.

LDA 알고리즘의 입력/출력 인터페이스

LDA는 교육 채널에 데이터가 제공될 것을 예상하고, 선택적으로 테스트 채널을 지원하고, 이는 최종 모델에서 점수가 계산됩니다. LDA는 recordIO-wrapped-protobuf(밀집 및 희소) 및 CSV 파일 형식을 모두 지원합니다. CSV의 경우 데이터가 밀집되어야 하고, 레코드 수 * 어휘 크기와 동일한 차원이 있어야 합니다. recordIO-wrapped protobuf를 사용하는 경우 LDA는 파일 또는 파이프 모드에서 훈련할 수 있지만 CSV 형식을 사용하는 경우에는 파일 모드에서만 훈련이 가능합니다.

추론의 경우 text/csv, application/jsonapplication/x-recordio-protobuf 콘텐츠 유형이 지원됩니다. 희소 데이터는 application/jsonapplication/x-recordio-protobuf로 전달될 수 있습니다. LDA 추론은 application/json 또는 application/x-recordio-protobuf 예측을 반환하고, 여기에는 각 관측치에 대한 topic_mixture 벡터가 포함됩니다.

교육 및 추론 형식에 대한 자세한 정보는 LDA 샘플 노트북 단원을 참조하십시오.

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

LDA는 현재 단일 인스턴스 CPU 교육만을 지원합니다. CPU 인스턴스는 호스팅/추론에 권장됩니다.

LDA 샘플 노트북

훈련 방법을 보여주는 샘플 노트북용SageMaker데이터세트에 대한 잠재 디리클레 할당 알고리즘과 학습된 모델을 배포하여 입력 문서의 주제 혼합에 대한 추론을 수행하는 방법은 다음을 참조하십시오.에 대한 소개SageMakerLDA. SageMaker에서 예제 실행에 사용할 수 있는 Jupyter 노트북 인스턴스를 생생하고 이 인스턴스에 액세스하는 방법은 아마존 SageMaker 노트북 인스턴스 단원을 참조하십시오. 노트북 인스턴스를 생성하여 연 다음, 다음을 선택합니다.SageMaker예시탭을 클릭하면 모든 목록이 표시됩니다.SageMaker샘플. NTM 알고리즘을 사용하는 주제 모델링 예제 노트북은 Introduction to Amazon algorithms(Amazon 알고리즘 소개) 섹션에 있습니다. 노트북을 열려면 사용 탭을 클릭하고 Create copy(사본 생성)를 선택합니다.