본문 바로가기

분류 전체보기

(125)
RNN Neural Machine Translation 학습목표 RNN을 활용한 기계번역의 과정을 공부합니다. 핵심키워드 기계번역(Machine Translation) 소스 언어(Source Language) 타겟 언어(Source Language) 인코더(Encoder) 디코더(Decoder) 학습하기 제가 2015년도에 Bahdanau라는 분과 함께 진행했던 내용은, RNN을 통해 기계번역을 하자는 것이었구요. 이 경우 Bidirectional RNN을 사용했었습니다. 정방향과 역방향, 이 두가지 방향으로 RNN을 통해 토큰을 읽어내리면 두가지 방향의 컨텍스트를 종합한 Representation이 나오겠죠. 이 두개를 Concat시켜서 최종 Representation을 뽑아내니까, 소스 언어의 토큰 개수에 따라서 최종 Representation의 개수가 ..
Encoder & Decoder 학습목표 기계번역의 모델구조와 과정을 살펴봅니다. 핵심키워드 기계번역(Machine Translation) 소스 언어(Source Language) 타겟 언어(Target Language) 인코더(Encoder) 디코더(Decoder) 토크나이즈(Tokenize) 하위 단어의 세분화(Subword Segmentation) 자기회귀 언어 모델링(Autoregressive Language Modeling) 학습하기 간단하게 시작해봅시다. Text classification이나 Language model이나 다 똑같이, 먼저 Vocabulary를 만들어야합니다. 만든 이후에는 정수 인덱스로 원래 단어를 찾아서 보여주게 되겠죠. 아래와 같습니다. 그 이후에는 소스 언어가 있을 때, 이것의 Representati..
Overview: a bit of history remark 학습목표 자연어 처리에서 기계번역 문제를 다뤄보기 전에, 우선 기계번역의 역사를 들어봅니다. 핵심키워드 기계번역(Machine Translation) 룰 기반 기계번역(Rule-based Machine Translation) 통계 기반 기계번역(Statistical Machine Translation) 신경망 기반 기계번역(Neural Machine Translation) 소스 언어(Source Language) 타겟 언어(Target Language) 학습하기 자 여태까지 Language model을 공부해봤는데, 제가 처음에 LM를 설명할 때, LM이 스코어링에도 사용이 되지만, 이게 결국 Generation의 문제를 해결할 수 있게 된다. 했었는데요, 지금부터는 Seq2Seq, Neural mach..
Summary 학습목표 지금까지 배운 언어 모델링에 대해서 다시 한번 정리하고 복습합니다. 핵심키워드 언어 모델링(Language Modeling) 문장표현(Sentence Representation) Neural N-Gram Language Model Convolution Language Model Recurrent Lanugage Model Recurrent Memory Networks 학습하기 자 이제 정리해봅시다. 여태했던 Language model이라 함은, 문장이 주어지면 문장의 스코어링을 하는 행위였죠. Autoregression Language Model은 토큰들을 순차적으로 읽어나가면서 (조건부 확률을 기반으로) 문장을 스코어링할 수 있게 만듬으로써, 스코어링을 감독학습으로 진행할 수 있게 관점을 바꾸..
Questions 질문 1. 문장 생성시 다양성은 어떻게 해결하나요? 자 질문이 이런거죠. 사람은 개개인마다 다른 문장을 구사하는데, 문장의 스코어링을 통해서 가장 높은 점수의 문장만 내뱉게되면, 기계는 결국 똑같은 문장만 반복할 것이다. 그렇죠. 그런데 그건 제가 Deteministic한 Generation을 보여줘서 그런거구요. 가장 높은 점수의 문장만 뱉어서 문제가 된다면, 가장 높지 않아도 적당히 높은 것들을 모아 문장을 샘플링하면 되겠죠. Stochastic한 방법이죠. 우린 이미 스코어를 다 알고있으니까, 이런 행위가 충분히 가능하죠. 2. 문장 생성 모델 훈련시, 토픽을 감안한 효율적인 훈련 방법은 있나요? 역으로 문장이 주어졌을 때, 해당 문장을 어떤 토픽으로 분류할 수 있나요? 토픽, 이라는 건 결국 문장..
최대 우도 추정(Maximum Likelihood Estimation, MLE) 최대 우도 추정(MLE)는 한글인데 한글같지 않은, 개인적으로 참 더럽다고 생각되는 단어입니다. 자연어 처리를 공부하게 되면서, 다시 한 번 이 단어를 마주하게 되었는데, 최대한 깔끔히 정리해둬보겠습니다. 우도(Likelihood)와 추정(Estimation) 최대 우도 추정을 이해하기 위해서 당연히 우도와 추정에 대해서 생각해봐야겠죠. 이를 위해서, 확률밀도함수에 대해 먼저 이해할 필요가 있습니다. 통계학의 관점에서, 어떤 확률변수 X에 대한 확률 모형은 확률밀도함수 f에 의해 정의되는데, 이는 확률 밀도 함수 f(x;θ)와 같이 보통 표기합니다. x는 확률변수의 실수값이며 θ는 확률 밀도 함수의 Parameter 집합을 뜻합니다. 예를 들어, 확률변수 X가 정규 분포를 따른다면, θ=(μ,σ^2) 이..
Long Term Dependency 학습목표 Neural N-gram Language Model이 해결하지 못한 장기의존성 문제를 해결해봅니다. 핵심키워드 Neural N-gram Language Model 데이터 희소성(Data Sparsity) 장기의존성(Long-Term Dependency) Convolution Language Model Recurrent Language Model Recurrent Memory Networks 학습하기 앞에서 Neural N-gram Language Model을 봤는데, 이게 데이터 희소성 문제는 연속 공간으로 임베딩시켜서 해결했지만, 아직 장기의존성문제는 해결을 못했습니다. 기존 N-gram이 왜 해결을 못했었는지에 대해 다시 생각해보면, 딱 N개의 토큰만 보기때문이죠. 그래서 N의 크기를 높이면..
Neural N-Gram Language Model 학습목표 신경망을 이용한 n-gram 언어 모델을 학습하고 이전에 해결하지 못한 데이터 희소성 문제를 해결해봅니다. 핵심키워드 Neural N-Gram Language Model 데이터 희소성(Data Sparsity) 이산 공간(Discrete Space) 연속 벡터 공간(Continuous Vector Space) 학습하기 앞서, 고전적 방법인 N-gram Language model (Counting model)에 대해 알아봤고, 두 가지 문제가 있다고 말했습니다. 데이터 희박성과 Long-Term Dependency. 기존 N-gram 방법론으로는 두 가지 문제를 만족스럽게 해결하는게 불가능했고, 그래서 Neural N-gram을 사용해서, 조금 더 개선했습니다. 처음에는 인풋으로 N-gram, 그..