Download presentation
Presentation is loading. Please wait.
1
Chapter 12. Applications (12.3 ~ 12.4.3.3)
서울시립대학교 인공지능연구실 홍 성학
2
Index 12.3 Speech Recognition 12.4 Natural Language Processing
n-grams Neural Language Models High-Dimensional Outputs Use of a Short List Hierarchical Softmax Importance Sampling
3
12.3 Speech Recognition Speech recognition의 task는 말로 표현할 수 있는 acoustic signal을 speaker가 의도한 word의 시퀀스에 mapping 하는 것. The automatic speech recognition(ASR) task 는 acoustic 시퀀스 X가 주어질 때 가장 가능성 있는 linguistic y를 계산하는 함수 을 생성하는 것을 포함 : 는 inputs X를 targets y와 연관시키는 true conditional distribution.
4
12.3 Speech Recognition 1980년대 부터 년 까지 최신 speech recognition system 은 주로 hidden Markov models(HMM)과 Gaussian mixture models를 결합했다. GMMs은 acoustic features 와 phonemes 간의 연관성을 modeling 하고 HMMs은 phonemes 의 시퀀스를 modeling 했다. GMM-HMM model 군은 다음과 같은 process 로 생성된 acoustic waveform 을 처리했다 : 먼저 HMM이 phonemes의 시퀀스와 sub-phonemic state 를 생성 GMM이 각각의 discrete symbol 을 audio waveform의 짧은 segment 로 변환
5
12.3 Speech Recognition 나중에, larger deeper model 과 larger data set 과 함께, neural networks를 사용하여 GMM을 대체 함으로써 인식 정확도가 크게 향상되었다. Speech recognition task 를 해결하기 위해, unsupervised pretraining 은 RBM을 training 하여 각각 초기화 된 layer 들의 deep feedforward networks를 구축하기위해 사용되었다. (phoneme error rate 26% -> 20.7%) 긴 기간동안 전통적인 GMM-HMM기술로의 오류율이 크게 개선되지 않아, speech recognition community 는 deep learning 으로 빠르게 전환 Time, frequency를 통해 weight 를 복제하는 convolutional network 의 사용 Deep RNN을 사용하여 HMM을 완전히 제거하기 위한 방법 (phoneme error rate 17.7%)
6
12.4 Natural Language Processing
Natural language processing(NLP)는 영어, 불어같은 언어를 컴퓨터를 통해 사용하는 것이다. 많은 NLP application은 자연언어로 된 characters, byte, words의 시퀀스에 대한 확률분포를 정의하는 언어모델을 기반으로 한다. 많은 경우, 개별 character, byte의 시퀀스보다 words의 시퀀스를 자연어로 간주한다. 가능한 words의 총 개수가 너무 많기 때문에, word-base language model은 매우 high-dimensional하고 sparse discrete space에서 계산되어야 한다.
7
n-gram n-gram에 기반을 둔 모델은 n-1 token이 주어진 경우 n번째 token의 conditional probability을 정의한다. Conditional distributions의 곱을 사용하여 더 긴 시퀀스에 대한 probability distribution을 정의한다. 보통 n-gram모델과 n-1 gram 모델을 동시에 train 한다.
8
n-gram Pn에서 추론한것을 정확히 reproduce하기 위해서, Pn-1을 train할 때 각각의 시퀀스에서 마지막 character를 생각해야 한다. “THE DOG RAN AWAY” Sentence의 시작에 context가 없기 때문에 conditional probability에 기초한 공식으로 처리 불가능. 대신, sentence 의 시작에서 word에 대한 marginal probability사용. 마지막 word는 conditional distribution P(AWAY | DOG RAN)를 사용하여 예측할 수 있다. n-gram 모델의 통계적 효율성을 향상시키기 위해 clustering algorithm을 사용하여 word set를 다른 word와 co-occurrence frequencies에 따라 clusters 혹은 class로 분할하는 class-based language model을 사용한다.
9
12.4.2 Neural Language Models
Neural language models은 word의 분산 표현을 사용하여 natural language 시퀀스의 차원의 저주를 극복하기 위해 설계된 language model의 class이다. 각 word를 학습한 분산 표현은 유사하게 공통된 feature를 가지는 word를 model이 처리 하도록 함으로써 두 word와 각각의 context 간의 통계적 공유를 가능하게 한다. Dog이라는 word와 cat이라는 word가 많은 속성을 공유하는 표현에 mapping되면, 각 word를 포함하는 sentence는 model에 의해 만들어진 prediction을 상대 sentence 에게 알린다. Model은 각 training sentence를 비슷한 sentence으로 연결하여 차원의 저주를 이겨낸다.
10
12.4.2 Neural Language Models
Word embedding Vocabulary size와 같은 dimension space에서 raw symbols을 point로 본다. Word 표현은 lower dimension의 feature space에 point를 embed한다. Embedding space에서 종종 비슷한 의미의 word가 이웃이 된다. 그림 12.3 학습된 word embedding space의 특정 영역을 확대하여 의미론적으로 유사한 word가 서로 가까이 있는 표현과 어떻게 mapping 되는지 보여줌.
11
12.4.3 High-Dimensional Outputs
large vocabulary에서, word 선택에 대한 output 분포를 표현하는 것은 계산적으로 매우 비싸다. 많은 application에서 V는 수십만 개의 word를 포함한다. 분포를 표현하는 단순한 방법은 hidden 표현에서 output space로 affine transformation을 적용 한 뒤, softmax function 을 적용하는 것이다. h가 ouput probabilities y^을 predict하는데 사용하는 top hidden layer라고 가정했을 때, 편차 b와 가중치 W를 가지고 h에서 y^로의 변환을 매개변수화 할 때, affine-softmax output layer는 다음과 같은 계산을 수행한다 : h가 nh 엘리먼트를 포함 할 경우, 위의 연산은 O(|V|nh)이다.
12
Use of a Short List Schwenk and Gauvain(2002) and Schwenk(2007) 는 vocabulary V를 가장 빈번한 words의 shortlist L와 더 희귀한 words의 tail T = V-L 로 분리함으로써 접근법을 구축했다. 두 prediction을 결합하기 위해, neural net은 context C 이후에 나타나는 word가 tail list에 속할 probability를 predict해야한다. P(i ∈ T | C) 의 추정 값을 제공하기 위해 extra sigmoid output unit을 추가 Shortlist의 단점은 neural language model의 generalization 장점이 가장 빈번한 word로 제한되는 것이다.
13
Hierarchical Softmax High-Dimensional output layer의 계산 부담을 줄이는 방법은 probabilities를 계층적으로 분해하는 것이다. 이 계층구조는 categories of words, categories of categories of words, categories of categories of categories of words 로 생각 할 수 있다. 이 중첩 categories는 leaves에 word가 있는 tree를 형성한다. Balanced tree는 depth O(log |V|)을 가진다. Word를 선택할 probability는 root에서 leaf까지 모든 branch를 선택할 probability 의 곱이다. Hierarchical Softmax의 장점은 test time에서 specific word의 probability 를 계산하고 싶을 경우, test time 과 training time 모두에서 이익을 얻을 수 있다.
14
Hierarchical Softmax Tree를 word y값 쪽으로 횡단 할 때 bi(y)를 i번째 이진결정이라고 한다. Output y 를 sampling하는 probability 는 각 node의 bit로 prefix된 conditional probabilities의 곱으로 분해된다. Node(1,0) = prefix (b0(w4) = 1, b1(w4)=0)에 해당 W4의 probability =
15
Importance Sampling Nerual language model의 training 속도를 높이는 방법은 다음에 나타나지 않는 모든 word에 대한 gradient의 기여를 명시적으로 계산하지 않는 것. 모든 incorrect words는 model에서 low probability 를 가져야 한다. Word의 subset 만 sampling 이 가능하다. 12.8에 기초하여 gradient를 다음과 같이 쓸 수 있다 : Importance sampling은 large softmax output을 가지는 model의 속도를 높이는데 유용할 뿐만 아니라 large sparse ouput layer로 학습을 가속화하는데 유용하다.
Similar presentations