이번 수업에서는 지난 주에 이어서 계속해서 뉴럴넷을 기반으로 한 자동 번역을 배우는데, 좀 더 깊이 들어가서 거기에 쓰이는 attention mechanism 과 Decoder 성능을 어떻게 향상시킬 수 있는지에 대해 다룬다. 1. Machine translation with neural networks NMT 는 기본적으로 Encoder 와 Decoder 로 이루어져 있다. Encoder 는 인풋을 hidden state 로 바꾸는 역할이고, Decoder 는 이걸 바탕으로 번역을 generate (생성)하는 구조라고 보면 된다. Encoder 의 마지막 부분이 인풋 문장 전체에 대한 정보를 담고 있다고 보면 되고, 디코더는 이 마지막 hidden state 를 바탕으로 번역을 생성하는 것이 특징이다...
1. Traditional Machine Translation (statistical)기존의 classical machine translation 은 아무래도 statistics (다르게 얘기하면 co-occurrence frequencies)를 이용한 방법이 대부분이었다. parallel corpus 를 사용했다. 기존의 방법은 다양한 feature engineering 을 요구하는 방식이었다. 예를 들어 기본적인 machine translation system 은 1) alignment model 2) language model 3) re-ordering model 등이 필요하다. alignment 는 parallel corpus 에서 co-occurrence 를 기준으로 뽑아내는데 input sen..
1. Traditional 한 Language modeling 언어 모델이란 건 사실 간단히 말하면, 연속적인 단어들이 주어졌을 때 그 sequence 에 대한 probability 를 주는 모델이다. 이런 언어 모델을 다양한 NLP task 에 함께 쓰이는데 예를 들어 자동 번역 모델이라든지, 음성 인식 모델에 쓰이곤 한다. 이 언어 모델을 word order 이나 word choice 에 있어서 좀 더 자주 쓰이는 패턴의 phrases 에 더 높은 probability 를 부여하는 모델이다. 그렇다면 기존의 언어 모델은 어떻게 만들어졌느냐! 간단하게 말하면 count 를 이용해서 만들어졌다. 노가다처럼 들리지만, 주어진 corpus 에서 window 를 옮겨가면서 모든 단어에 대한 co-occurre..
1. 문장의 구조를 나타내는 방법 2가지 문장의 구조 (linguistic structure) 를 나타내는 방법에는 두 가지가 있다. - Context-free grammars (CFGs) - Dependency tree parsing 우선 Context-free grammars 은 내가 예전에 배웠던 syntax tree 생각하면 된다. 왜 context free 라고 부르는지 생각해보면, 문장 내의 단어 의미나 context 에 상관없이 문장의 각 성분을 어떤 큰 chunk 를 이루는 구성요소로 보기때문이 아닐까 싶다. NP -> Det N 이런식으로. 하지만 요새 대세는 dependency parser 로 굳어지는 듯 하다. 장점은 여러가지가 있겠지만 우선 다음의 장점이 있다. 1) 언어에 상관없이..
이번 수업에서는 거의 본격 neural network 해부 수업?! 간단하게 Word window 를 이용해서 해당 단어가 Named entity 인지 아닌지를 classify 하는 모델을 통해서 neural net 에서는 어떤 식으로 parameters 가 업데이트 되는지를 살펴봤다. 이번 수업을 통해서 좀 더 확실히 뉴럴넷이 back propagation 과 forward propagation 으로 이루어지는지 조금 더 잘 이해할 수 있게 됐다고나 할까?! 이번 강의 포인트 러닝 모델의 수식은 거의 항상 매트릭스를 기준으로 표현된다. 인덱스를 사용하지 않아도 돼서 간단하게 표현 가능하기 때문! 이번 수업에서는 Matrix 와 그 안의 elements 를 넘나들며 이해함! Matrix 로 표현하는 게 ..
1. Word2vec 의 원리 Word2vec 은 결국 window 를 옮겨가며 center word 를 가지고 context words 를 output 하는 모델을 가지고 만든다. 예를 들어 "I like deep learning and NLP" 라는 문장이 있고, window size 는 2라고 하자. 현재의 time step (t) 에서 center word 가 "deep" 일 때 를 계산하고 context words vector 와 center word vector (deep) 을 update 하는 것이다. 그 다음 time step t+1 에서는 center word 가 learning 이 되겠고, 똑같은 방식으로 window 를 옮겨가면서 실제로 함께 co-occur 하는 단어관의 확률을 높이..
1. NLP 에서 단어를 표현하는 방법! 의미를 표현하는 방법은 2가지가 있다. 전통적으로 쓰이는 방법과, 요새 쓰이는 방법. 1) symbolic representation = one-hot vector = localist representation (그 단어에 해당하는 곳만 1이라서 인덱스와 같이 쓰이기 때문에) 2) distributed representation 우선 symbolic 한 방법은 기존에 쓰이던 방법으로, one-hot vector 를 이용해서 원하는 단어를 표현하던 방법이다. one-hot vector 의 문제점은 여러가지가 있는데, 우선 vector 의 사이즈가 vocabulary 의 사이즈이기 때문에 vocabulary 가 늘어날 수록 사이즈가 커질 수밖에 없다. 무엇보다도 on..
- Total
- Today
- Yesterday
- Elmo
- Contextual Embedding
- word embedding
- Pre-trained LM
- Neural Language Model
- neural network
- 뉴런
- cs224n
- language model
- transformer
- Statistical Language Model
- 언어모델
- GPTZero
- nlp
- 뉴럴넷
- weight vector
- LM
- 워터마킹
- Bert
- Attention Mechanism
- neurone
- 벡터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |