일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- nccl 업그레이드
- irregularly sampled time series
- 딥러닝
- Transformer
- 패혈증 관련 급성 호흡곤란 증후군
- length of stay
- multi gpu
- timesfm
- 분산 학습
- ed boarding
- pytorch
- 불규칙적 샘플링
- moirai
- ERD
- first pg on this rank that detected no heartbeat of its watchdog.
- nccl 설치
- GaN
- pre-trained llm
- nccl 업데이트
- 대기행렬
- NTMs
- timellm
- 리뷰
- queueing theory
- gru-d
- 토픽모델링
- operation management
- Time Series
- 의료정보
- m/m/s
- Today
- Total
데알못정을
[Review]Topic Modeling Meets Deep Neural Network: A Survey 본문
토픽 모델링은 Text Analysis에 큰 영향을 준 연구 분야이다. 이러한 토픽 모델링에 신경망(Neural Network)을 결합하여 신경망의 장점을 적극 활용한다면, 새로운 연구 주제들이 개발되어질 수 있다. 이 논문은, 최근 연구된 신경망과 토픽 모델의 결합인 Neural Topic Model들의 종합적인 개요가 기록되어 있다.
토픽 모델링은 머신러닝, 자연어처리(NLP), 데이터 마이닝에 다양하게 적용되면서 성과를 보였다. LDA 같은 확률 기반 토픽 모델은 사전 분포로부터 샘플링된 잠재변수의 구조를 가진 문서의 데이터를 생성하는 확률적 생성 모델로 구체화 될 수 있다. LDA에서는 토픽을 이러한 잠재변수로 정의할 수 있다는 것이 장점이다. 하지만 이러한 LDA의 성과에도 불구하고, 빅데이터와 딥러닝의 시대에서 전통적인 토픽 모델들은 개선될 필요가 있다. 이 논문의 저자는 토픽 모델들이 뉴럴 네트워크와 결합되어야 하는 이유 3가지를 LDA 같은 (베이지안)확률적 토픽 모델(BPTMs)의 한계와 함께 제시했다.
1. BPTMs의 추론 과정은 모델의 복잡성이 증가함에 따라 추론 복잡성이 크게 증가할 수 있다.
2. BPTMs의 추론 과정은 용량이 큰 텍스트 집합에 대해 GPU와 같은 병렬 컴퓨팅 기술을 활용하기 어렵다.
3. BPTMs은 Deep Neural Networks(DNNs)와 훈련 과정에서 같이 쓰는 것이 불편하다.
이러한 한계들에 직면하여 선행 연구에서 최근 DNNs에서 각광 받고 있는 생성 모델(generateive model)을 Neural Topic Models(NTMs) 라는 토픽 모델에서의 적용으로 발전시켰다. 이러한 NTMs는 현재까지 다양한 변형을 통해 연구가 되어졌다. 또한 NTMs은 텍스트 생성, 문서 요약 및 번역과 같은 기존 토픽 모델이 적용하기 어려운 영역에 사용되기도 했다.
토픽 모델의 메인 아이디어는 문서, 단어, 토픽에 대한 모델링이다. 논문에서 저자는 (1) 논문에서 등장하는 notation을 정의하고, (2) 토픽 모델을 평가하는 방법들을 소개하고, (3) 연구되어진 NTMs에 대해 소개하고 있다.
1. 논문에서 등장하는 notation
계속 나오는 notation 들은 다음과 같다.
$L$:Document의 길이
$s_j\in\left\{1,...,V\right\}$: 사이즈가 V인 어휘 시퀀스의 j번째 토큰
$b_v$:문서 내의 v 번째 단어의 빈도 수(bag of words)
$t_v$:특정 토픽과 v 번째 토픽의 관련성
$z_k$:특정 문서 내 k번째 토픽의 관련성
$D$: 관측 데이터(모든 문서 말뭉치)
$Z$: 모든 문서 각각의 토픽 분포
$T$: 모든 토픽 각각의 단어 분포
논문을 읽어보고 나서 느낀 것은 NTMs에서 실제적으로 공통적으로 구현하는 것이 잠재 변수의 개념이었다. 토픽 자체가 잠재적인 특성이 있기 때문인 것 같다. 잠재변수의 개념을 구현하기 위해서 모델은 크게 두가지의 파트로 구분지어질 수 있었다.
1. 관측 데이터(=문서)를 잠재 변수로 투영하는 과정인 Generative process
2. 잠재 변수와 토픽 정보를 활용하여 다시 관측 데이터(=문서)를 reconstruction하는 과정인 Inference process
여기까지 읽고 느낀 것은 기존에 뉴럴넷 기반 생성 모델을 변형하여 사용하겠구나를 직감했다.
2. 토픽 모델을 평가하는 방법들
1) Perflexity
NTMs를 포함하여 토픽 모델의 성능을 종합적으로 비교하고 측정하는 것은 어렵다. 보통 정확도 특정은 Test data와 같은 unseen document의 로그 우도를 측정하는 것이 보통이다. 토픽 모델에서는 perplexity와 같이 토픽 모델이 test document에 얼마나 빨리 수렴하는지를 측정한다. 이러한 perplexity는 모델과 모델 사이의 수치적 비교를 하게 해준다. 하지만 이 측정 지표는 3가지 문제가 있다.
- 토픽 모델은 test data를 예측하기 위한 것이 아니라 해석 가능한 토픽의 발견과 document의 표현을 학습하기 위한 것이기 때문에 예측 정확도를 측정한다는 것이 토픽 모델의 주요 목적을 반영하지 않는다.
- 예측 정확도는 모델이 발견한 토픽의 질을 포착하지 못한다. 토픽의 품질에 대한 예측 정확도와 인간의 토픽 해석은 종종 상관관계가 없다.
- 예측 확률의 추정은 일반적으로 베이지안 모델에 대해 다루기 어렵고 다른 논문은 다른 샘플링 또는 근사 기법을 적용할 수 있다.
2) Topic Coherence
토픽의 단어 분포에서 상위 10개의 단어와 같이 대표적인 단어간의 일관성으로 계산된 Topic Coherence(TC)는 토픽 해석 가능성에 대한 인간 평가와 일치한다. 그럼에도 불구하고 TC가 토픽 모델을 평가하는데 부적절한 이유는 다음과 같다.
- TC를 계산하는 공식이 다양해서 논문간 비교가 어렵다.
- 말뭉치(문서), 즉 데이터에 따라 토픽 모델의 결과가 달라지고, 이 영향으로 TC score가 다를 수 있다.(학습한 데이터가 트위터 데이터 세트인데, 기계학습 논문 데이터로 TC를 계산하면 부정확한 결과가 생성될 수 있음)
3) Topic Diversity
Topic Diversity(TD)는 이름에서 짐작할 수 있듯이, 발견된 토픽들이 얼마나 다양한지를 의미한다. “A. B. Dieng, F. J. Ruiz, and D. M. Blei. Topic modeling in embedding spaces. TACL, 2020.” 에서는 TD를 토픽 내 상위 25개의 단어 중 유의어의 비율로 측정했다.
3.연구되어진 NTMs(Neural Topic Models)
최근 Variational Auto-Encoders(VAEs)이 생성 모델로써 발전되어 왔고, 많은 연구들에서 볼 수 있듯, 토픽 모델을 신경망으로 구현하는 NTMs에 VAE의 generative process가 많이 응용되었다. 논문에서 저자는 이러한 VAE를 활용하는 NTMs을 VAE-NTMs라 칭하며, NTM의 기본적 틀이 VAE임을 강조하면서 파생된 여러 모델을 소개하고 있다. 그러나, VAE를 이해하지 못하면 논문에서 등장하는 VAE-NTMs를 이해하기 다소 어렵다. 따라서 지금부터는 각각의 구성요소들이 어떠한 역할을 하는지 간단히 정리하고, VAE 기반의 NTMs이 어떤 컨셉인지 간단히 정리한다.
○Variational Auto Encoder(VAE)
VAE의 목적은 생성 모델로써, 관측 데이터 $x$의 분포를 추정하고, 그 분포에서 $x$와 비슷한 $x$를 샘플링하여 새로운 데이터를 생성하는 것이다. VAE의 중요한 가정은 주어진 training data $p_{data}(x)$가 어떤 분포를 가지고 있다면, 이 분포의 정보를 학습한 $p_{model}(x)$역시 같은 분포를 가지고, 이 모델을 통해 나온 추론 값이 새로운(unseen) $x$라는 것이다. VAE는 크게 3가지의 구조로 이루어져 있다. VAE의 구조를 그림으로 표현하면 아래 그림 1과 같다.
VAE는 그림 1과 같이 Encoder와 Decoder, 그리고 reparameterization trick으로 구성되어 있다.
(1) Encoder의 역할
Encoder($q_{\varphi}(x)$)는 관측 데이터를 입력받아 $z$값의 평균인 $\mu$와 분산인 $\sigma$를 출력하는 함수이다.
(2) Reparameterization trick
관측치 $x$가 출현한 실제 분포에서 샘플링하는 효과를 재현하기 위해 존재한다. 관측데이터의 실제 분포를 다변량 정규분포로 가정하고, 여기서 무작위로 노이즈 $\epsilon$을 샘플링하여 Encoder의 출력 값 중 $\sigma$와 곱하고, 그 값을 $\mu$와 더해 $z$를 만들어 낸다.
(3) Decoder의 역할
Decoder($p_{\theta}(x)$)는 $z$를 입력으로 받고, 관측 데이터의 사이즈와 똑같은 사이즈로 데이터를 출력한다.
(4) Loss Function
VAE의 손실함수(Loss Function)은 크게 2가지 항으로 구성되어 있다. 하나는 Reconstruction Loss이고, 다른 하나는 Regularization Loss이다. 전자의 역할은 생성 모델 답게 새로운 $x$를 만들어야 하므로 input $x$와 만들어진 새로운 $x$를 조정하는 것이다. 후자의 역할은 Encoder로 만들어낸 $z$의 분포인 $q(z|x)$와 사전확률분포(정규분포로 가정한) $p(z)$ 사이의 KL-divergence이다. 이는 두 분포 사이를 최대한 비슷하게 만들어주는 역할을 한다. VAE가 단순히 Reconstruction을 잘 하는 것을 방지할 수 있는 역할도 할 수 있으므로 Regularization Loss라고 부른다.
○Variational Auto Encoder Neural Topic Models(VAE-NTMs)
VAE의 이론을 적용한 뉴럴 토픽 모델(NTMs)은 VAE와 같이 Encoder와 Decoder로 이루어져 있다. 논문에서는 관측 데이터로 문서와 단어간의 관계인 Bag of Word($\beta$)를 사용한다. 이를 VAE의 구조를 활용하여 문서 내 토픽 분포 $z$를 만든다. NTMs의 목적 함수(Objective Fucntion)은 아래와 같다.
논문에서는 이러한 VAE기반의 토픽모델들을 사용하기 위해서 고려해야할 사항을 몇가지 언급하고 있다.
- VAE의 일반적인 입력 형태는 고정된 길이의 수치형 벡터이다.(VAE는 원래 이미지를 입력 받는다.) 하지만 토픽 모델링의 입력인 Bag of Word($\beta$)는 문서에 토큰 시퀀스가 가변적 길이의 연속적으로 존재하지만 시퀀스 사이의 서로 관계가 있음을 무시하며, 고차원의 희소한 행렬을 갖는다.
- 토픽 모델링에서 토픽의 해석력은 중요한 문제이지만, VAE 모델에서 latent reparameterization으로 얻은 분포와 토픽의 단어분포를 동일하게 취급하는 것은 질문으로 남아 있다.
이러한 한계를 극복하기 위해 토픽 모델에서의 다양한 이슈를 기준으로 뉴럴넷 기반의 다양한 모델이 제안되었다.
1. Neural Topic Model for Short Text
먼저 짧은 문장에 대한 토픽 모델링이다. shrot text가 왜 토픽 모델링에서 문제가 되는지 생각해보았는데 맞는지 모르겠지만 데이터 분석에서 데이터의 갯수가 적은 것과 비슷한 문제라고 생각했다. 데이터가 적기 때문에 모델이 충분히 훈련을 못하고 이에 따라 토픽을 잘 발견못하는 문제일 것이다.
‘J. Zeng, J. Li, Y. Song, C. Gao, M. R. Lyu, and I. King. Topic memory networks for short text classification. In EMNLP, 2018.’에서는 NTM과 memory network를 결합하므로써 짧은 text classification을 수행하였다. 문서는 토큰의 시퀀스로 이루어져있다. 단어의 등장 순서까지 고려할 수 있는 NTM도 많이 연구가 되었다. ‘R. Nallapati, I. Melnyk, A. Kumar, and B. Zhou. Sengen: Sentence generating neural variational topic model. arXiv, 2017.’ 에서는 RNN과 같은 시퀀스 네트워크를 이용해서 document의 단어 시퀀스를 가지고 단어의 순서, topic의 순서, 문장의 순서를 고려했다.
2. Neural Topic Model with Pre-trained Language Models
BERT같은 언어모델은 NLP에서 매우 흔해진 상황이다. BERT는 문맥적 단어 임베딩에 의해 부분적으로 표현될 수 있는 언어적 문맥의 양상을 포착할 수 있다. 이러한 임베딩은 BoW나 시퀀스 데이터보다 풍부한 정보를 갖을 수 있다. 최근 이러한 임베딩을 토픽 모델링에 활용하기도 했다. ‘F. Bianchi, S. Terragni, and D. Hovy. Pre-training is a hot topic: Contextualized document embeddings improve topic coherence. arXiv, 2020.’은 BoW를 Encoder의 입력으로 하는 대신에 Sequence BERT의 문서 임베딩을 사용했다. ‘L. Thompson and D. Mimno. Topic modeling with contextualized word representation clusters. arXiv, 2020.’에서는 BERT 임베딩 벡터를 클러스터링하여 군집을 topic으로 해석했다.
3. Neural Topic Model based on Generative Adversarial Nets
GAN은 실제 데이터의 분포를 추정하여 가상 데이터를 실제와 똑같이 생성해내는 네트워크다. ‘R. Wang, D. Zhou, and Y. He. ATM: Adversarial-neural topic model. Information Processing & Management, 2019.’은 GAN의 원리를 응용하여 디리클레 분포의 랜덤 샘플을 문서의 토픽 분포 $z$로 두고, $z$를 조건으로 “가짜” 문서의 단어 분포를 생성했다. 이때 판별기는 이 분포와 문서의 실제 TF-IDF로 얻어진 벡터 사이를 구분했다. 하지만 이는 문서에 대한 토픽 분포를 학습할 수는 없다는 단점이 있다.
이외에도 논문에서 Sequential NTMs, Autoagressive model, Graph Neural Net등을 활용한 토픽 모델링의 사례를 소개하고 있다.
참고문헌
[1] Zhao, He, et al. "Topic modelling meets deep neural networks: A survey." arXiv preprint arXiv:2103.00498 (2021).
[2] https://taeu.github.io/paper/deeplearning-paper-vae/