SlideShare a Scribd company logo
Papago / N2MT 개발 이야기
Papago / 김상경
2017-02-24
2
목차
1. 기계 번역 (Machine Translation)
2. 인공 신경망 (Artificial Neural Network)
3. Word2Vec
4. Papago / N2MT 개발 과정
5. NSMT와 N2MT 번역 성능 비교
6. 마무리하며…
7. Q & A
3
1. 기계 번역 (Machine Translation)
4
1-1. RBMT - 규칙 기반 기계 번역
• Rule Based Machine Translation (RBMT)
• 두 언어의 문법 규칙(Rule)을 기반으로 개발.
• 문법 규칙(Rule) 추출의 어려움
• 번역 언어 확장의 어려움
5
1-2. SMT – 통계 기반 기계 번역 (1/3)
• Statistical Machine Translation (SMT)
• 두 언어의 Parallel Corpus에서
Co-occurance 기반의 통계 정보를 바탕으로 번역을 수행
• 여러 Component의 조합으로 시스템 구성
• Translation Model
• Language Model
• Reordering Model
6
1-2. SMT – 통계 기반 기계 번역 (2/3)
• 구조
7
1-2. SMT – 통계 기반 기계 번역 (3/3)
• 작동 방식
• 입력 문장의 일부분(Word 혹은 Phrase)를 보고 번역 수행
• 번역 사전을 사용하여, 확률에 기반한 번역을 수행
• 어순이 같은 언어 (한국어/일본어, 영어/프랑스어)
• 괜찮은 성능.
• 어순이 다른 언어 (한국어/영어)
• 성능 부족.
입력:
출력: I
나는 아침 일찍 아침 준비를 했다.
prepared breakfast early in the morning.
8
1-3. NMT - 인공신경망 기계 번역 (1/5)
• Neural Machine Translation (NMT)
• Neural Network 기반의 Machine Translation
• 두 언어의 Parallel Corpus를 사용하여 Neural Network 학습
9
1-3. NMT - 인공신경망 기계 번역 (2/5)
• 구조
• Encoder와 Decoder로 구성.
• Encoder에서 입력 문장 Vector화.
• Decoder에서 Vector화된 입력 문장 복호화.
다
<끝>
DC
D
B
C
A
BA
나가 <시작>
10
1-3. NMT - 인공신경망 기계 번역 (3/5)
• 여기서 말하는 Vector란...
• “크기”와 “방향”을 동시에 나타내는 물리량.
(아래의 수식은 Column Major로 표시)
• 𝑎 =
3
1
, 𝑏 =
2
4
𝑎 + 𝑏 =
3
1
+
2
4
=
5
5
• 𝑎 · 𝑏 =
3
1
2 4 = 3 ∗ 2 + (1 ∗ 4) = 10
• 𝑐 · 𝑑 =
1
2
3
⋮
𝑚
2 4 6 ⋯ 𝑛
= 1 ∗ 2 + 2 ∗ 4 + 3 ∗ 6 + ⋯ + (𝑚 ∗ 𝑛)
𝑎
𝑏
𝑎+𝑏
11
1-3. NMT - 인공신경망 기계 번역 (4/5)
• 작동 방식
?
do
fatheryour
father
does
your
What
doesWhat
뭐하시
노
아버지 <시작>느그
<끝>
?
?
do
12
1-3. NMT - 인공신경망 기계 번역 (5/5)
• 특징
• 모든 단어를 고차원 Vector로 처리
• 단어의 입력/출력 순서를 학습
• 매끄러운 번역 문장 생성
• 문장 Vector 기반
• 문장의 의미 또한 고차원 Vector로 처리.
• 문장 전체의 의미를 파악한 후에, 번역을 수행.
• 동음 이의어라 하더라도, 전체 문장의 의미에 맞게 번역 가능
• 문장 Vector 생성 정확도 하락 -> 번역 정확도 하락
• 문장 Vector 해석 정확도 하락 -> 번역 정확도 하락
13
2. 인공 신경망 (Artificial Neural Network)
14
2-1. Neural Network 구조 (1/5)
• Single Neuron
a = 𝑓 𝐰𝐩 + b
= 𝑓(
w1
w2
w3
⋮
wR
p1 p2 p3 ⋯ pR + b)
p1
p2
p3
⋮
pR
Σ
b
w1
wR
𝒇
n
a
Input Weight
Bias
Activation
Function
Output
15
2-1. Neural Network 구조 (2/5)
• Activation functions
• Linear • ReLU
• Sigmoid • Tanh
𝑎 =
1
1 + 𝑒−𝑛 𝑎 =
𝑒 𝑛 − 𝑒−𝑛
𝑒 𝑛 + 𝑒−𝑛
𝑎 = 𝑛 𝑎 = max(0, 𝑛)
a
n
a
n
0
1
a
n
0
1
-1
a
n
0
16
2-1. Neural Network 구조 (3/5)
• 1 Layer = Multiple Neurons (1/2)
• Neuron이 S개 일 때,
p1
p2
p3
⋮
pR
Σ
b1
w1,1, … , w1,R
𝐟
n1
a1
Σ
b2
𝐟 a2
w2,1, … , w2,R
Σ
bS
𝐟 aS
wS,1, … , wS,R
⋮
n2
nS
17
2-1. Neural Network 구조 (4/5)
• 1 Layer = Multiple Neurons (2/2)
a = 𝑓 𝐖𝒑 + 𝒃
= 𝑓(
w1,1
w1,2
w1,3
⋮
w1,R
w2,1
w2,2
w2,3
⋮
w2,R
…
⋯
⋯
…
wS,1
wS,2
wS,3
⋮
wS,R
p1 p2 p3 ⋯ pR + b1 b2 ⋯ bS )
18
2-1. Neural Network 구조 (5/5)
• Multi-Layer Neural Network
19
2-2. 학습 원리 (1/2)
• 1단계 – Propagation (전파)
Layer
1
Layer
2
Layer
3
입력 (p) 결과 (a)
오류 (Δ) = 정답(c) – 결과(a)
• 2단계 – 오류 계산
20
2-2. 학습 원리 (2/2)
• 3단계 – Back Propagation (역전파)
Layer
1
Layer
2
Layer
3
입력 (p) 오류 (Δ)
• 모든 Weight과 Bias에 대한 오류(Δ, Gradient) 계산.
• Back Propagation은
Chain Rule이라는 수학 정의에 의해 수학적으로 증명됨.
• TensorFlow나 Theano 등 다수의 Deep Learning Platform에서
자동으로 지원.
• 4단계 – Weight과 Bias 갱신(Update)
𝑾 𝑛𝑒𝑤
= 𝑾 𝑜𝑙𝑑
+ (α ∗ Δ 𝑾
)
𝒃 𝑛𝑒𝑤
= 𝒃 𝑜𝑙𝑑
+ (α ∗ Δ 𝒃
)
α : Learning Rate
21
2-3. 실용화된 계기
1. Computing Power 증가
• GPU를 통해, 합리적인(?) 가격에 Computing Power 확보.
• GPU
• Parallel Processing에 특화된 Chip.
• Matrix-Vector, Matrix-Matrix 연산에서 뛰어난 성능.
2. Big Data
• Overfitting 문제를 완화시킬 정도의 충분한 Data가 확보되기 시작.
3. Neural Network Model 발전
• Dropout을 비롯한 여러 가지 Technique 발명.
22
3. Word2Vec
23
3. Word2Vec (1/4)
• CBOW & Skip-Gram (1/2)
24
3. Word2Vec (2/4)
• CBOW & Skip-Gram (2/2)
• 학습 목표
• Average log probability의 극대화(Maximization).
• 즉, 확률 극대화.
• 극대화 과정에서 Word Vector들이 조정됨.
• 그로 인한 Side-Effect로
Semantic과 Syntactic 정보가 내재화 됨(Embedded).
25
3. Word2Vec (3/4)
• Word embeddings
Same word relationship
=> same vector
man
uncle
woman
aunt
queen
king
W(“woman”) – W(“man”) + W(“uncle”) = W(“aunt”)
W(“woman”) – W(“man”) + W(“king”) = W(“queen”)
26
3. Word2Vec (4/4)
• Bilingual word embeddings
man
uncle
woman
이모
여왕
king
W(“woman”) – W(“man”) + W(“uncle”) = W(“이모”)
W(“woman”) – W(“man”) + W(“king”) = W(“여왕”)
• 만족할 만한 결과 안나옴… ㅠ
• 하지만, Neural Network과 Word Vector에 대한 내공은 쌓임.
27
4. Papago / N2MT 개발 과정
28
4-1. 소개
• NAVER Neural Machine Translation
• NSMT (NAVER Statistical Machine Translation)의 뒤를 잇는
2세대 Machine Translation
• Papago팀에서 자체 기술로 개발
• Papago팀
= 기계번역 전문가 + Neural Network 전문가 + 시스템 전문가
• CUDA, cuBLAS, C++로 직접 개발.
• Open Source 기반 아님.
(TensorFlow가 나오기 전부터 개발)
29
4-2. Architecture
DecoderEncoder
Input Layer
LSTM Layer
LSTM Layer
LSTM Layer
Attention Layer
Softmax Layer
• Stacked LSTM Encoder/Decoder + Attention
30
4-3. LSTM (1/3)
• LSTM 구성
• Input Gate
• Forget Gate
• Output Gate
• Cell
• Hidden Output
• Long Short Term Memory
• Short Term Memory를 오래 지속(Long)하는 Memory Neuron.
31
4-3. LSTM (2/3)
• Vanishing Gradient 문제 (1/2)
• 전통적인 RNN
32
4-3. LSTM (3/3)
• Vanishing Gradient 문제 (2/2)
• LSTM
33
4-4. 개발 과정 1 – Reconstruction Model (1/2)
• Stacked LSTM Encoder/Decoder Only
DecoderEncoder
Input Layer
LSTM Layer
LSTM Layer
LSTM Layer
Softmax Layer
34
4-4. 개발 과정 1 – Reconstruction Model (2/2)
• 입력 문장 재생성(Reconstruction) 하기
D
<끝>
DC
D
B
C
A
BA
CB <시작>A
• Test Perplexity (Test PPL): 1.0029
35
4-5. 개발 과정 2 – Small NMT
• Small Parallel Corpus로 NMT 만들기 (한국어 -> 영어)
• 수 십만 개의 Parallel 문장
• 약 1,900만 단어 (한국어 + 영어)
• 개발 결과
• 번역 수행되는 것 확인
• 장문에 취약
• 대용량 Corpus를 Training하기에 너무 오래 걸림.
36
4-6. 개발 과정 3 – 대용량 Corpus 처리 (1/4)
• Multi-GPU / Propagation
GPU 1
GPU 4
GPU 3
GPU 0 다
<끝>
DC
D
B
C
A
BA
나가 <시작>
GPU 2
37
4-6. 개발 과정 3 – 대용량 Corpus 처리 (2/4)
• Multi-GPU / Back-Propagation
GPU 1
GPU 4
GPU 3
GPU 0 다
<끝>
DC
D
B
C
A
BA
나가 <시작>
GPU 2
38
4-6. 개발 과정 3 – 대용량 Corpus 처리 (3/4)
• Sampled Softmax (1/2)
• Softmax Layer
• Decoding시,
Vocab 사전에서 적합한 Vocab(Word)를 고르는 부분.
• 계산량 문제
Input
(Projection)
Hidden Size
(1,000)
Softmax Weight
HiddenSize
(1,000)
Vocab Size
(50,000)
x
• Matrix 계산량 크기
• [50,000 * 1,000] [1,000 * 1] = [50,000 * 1]
Voca
b
I You We love loves … <끝> <Unknown>
확률 5% 2% 4% 51% 25% … 5% 6%
39
4-6. 개발 과정 3 – 대용량 Corpus 처리 (4/4)
• Sampled Softmax (2/2)
• NMT에서 계산량이 가장 많은 부분.
• Decoding 시, 매 단어를 학습할 때마다, 해야 하는 연산.
• Vocab 개수 증가 -> 계산량 증가.
• 해결책
• 학습시 Vocab의 일부만 Sampling하여 학습.
• Sampling 방식.
• 학습에 포함된 Vocab은 무조건 추가.
• 그 외의 Vocab은 Random으로 추가.
40
4-7. 개발 과정 4 – Attention (1/4)
• 구조
DecoderEncoder
Input Layer
LSTM Layer
LSTM Layer
LSTM Layer
Attention Layer
Softmax Layer
41
4-7. 개발 과정 4 – Attention (2/4)
• Attention Layer의 역할
• Target Word 생성시,
어떤 Source Word에 Focus를 맞춰서 생성해야 하는지
알려주는 모델.
• 장문에서 번역 성능이 급격히 떨어지는 문제 완화.
1. 매 time t마다,
ht와 모든 hs의 내적을 통해
각 src word에 대한 tar word의 Score를
구함
42
4-7. 개발 과정 4 – Attention (3/4)
3. Context Vector(ct)는
모든 hs의 alignment score를 곱해 구해.
(즉, ct는 모든 hs의 weighted average sum임.)
4. Attention Output(ℎt)는
Context Vector(ct)와 Attention Input(ht)의
Concat에 Wc와 Tanh를 적용하여 계산
2. Score에 Softmax 연산을 통해 확률 구함
(Alignment Score)
43
4-7. 개발 과정 4 – Attention (4/4)
• Attention Map
• 입력: 존과 메리는 아들과 딸이 있다.
• 결과: John and Mary have a son and a daughter.
44
5. NSMT와 N2MT 번역 성능 비교
45
5. NSMT와 N2MT 번역 성능 비교 (1/4)
• 동음 이의어
입력문 나의 눈에 눈이 떨어졌다.
N2MT Snow fell upon my eyes.
NSMT Fell in the eyes of my eyes.
• 번역 정확도
입력문 곰 세마리가 한 집에 있어, 아빠곰, 엄마곰, 애기곰.
N2MT Three bears are in one house, father bear, mother bear, and baby bear.
NSMT 3 bears. Father bear, mummy bear, and baby bear, in a house.
46
5. NSMT와 N2MT 번역 성능 비교 (2/4)
• 정량 평가
• 평가 방법: BLEU
• 평가 문장 개수: 1,000 문장
47
5. NSMT와 N2MT 번역 성능 비교 (3/4)
• 정성 평가
• 평가 방법: Blind Test
• 평가 문장 개수: 100 문장
• 100점 만점. (평가자 2명 평균)
48
5. NSMT와 N2MT 번역 성능 비교 (4/4)
• 번역 결과 주요 특징
• 완전한 형태의 문장을 생성
(비문이 생성되는 경우가 거의 없다.)
• 번역 결과가 SMT 대비 많이 우수.
(번역 결과가 틀릴 때는, 아예 딴 소리를 하는 경우도 많음.)
• Vocab 개수의 제약으로, Out Of Vocab 문제가 발생
49
6. 마무리하며…
50
6. 마무리하며…
• Deep Learning 분야에 많은 개발자들이 필요.
• Neural Network을 Modeling 할 사람도 필요.
• Neural Network을 서비스로 만들 사람은 더 많이 필요.
• 누구나 도전해 볼만한 분야.
• 꼼꼼한 성격.
• Bug가 눈에 잘 띄지 않는다.
• 학습이 제대로 안 될뿐…
• 많은 인내심 필요.
• 뭐 하나 고치면, 결과 보는데 몇 시간씩 걸린다.
• 개발 코드량은 얼마 되지 않는다.
• 많은 분들이 도전하셔서, 더 재미있고 좋은 세상을 만들었으면 좋겠습니다.
51
Q & A
52
References (1/2)
• Artificial Neural Network
• Martin T. Hagan, Howard B. Demuth, Mark Beale. Nerual Network Design. PWS Publishing Company.
• NMT - Encoder/Decoder Model
• I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. In NIPS,
2014
• Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and Yoshua
Bengio. Learning phrase representations using RNN encoder-decoder for statistical machine translation.
In EMNLP, 2014
• Kyunghyun Cho, van Merri¨enboer, B., Bahdanau, D., and Bengio, Y. On the properties of neural
machine translation: Encoder–Decoder approaches. In Eighth Workshop on Syntax, Semantics and
Structure in Statistical Translation. to appear. 2014
• N. Kalchbrenner and P. Blunsom. Recurrent continuous translation models. In EMNLP, 2013
• NMT - Attention
• Luong, Minh-Thang, Pham, Hieu, and Manning, Christopher D. Effective approaches to attentionbased
neural machine translation. Proceedings of EMNLP, 2015.
• D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and
translate. In ICLR, 2015
• NMT - Sampled Softmax
• S´ebastien Jean, Kyunghyun Cho, Roland Memisevic, and Yoshua Bengio. On using very large target
vocabulary for neural machine translation. In ACL, 2015
53
References (2/2)
• LSTM
• A. Graves. Generating sequences with recurrent neural networks. In Arxiv preprint arXiv:1308.0850,
2013.
• Word2Vec
• Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word
Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.
• Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations
of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013.
• Tomas Mikolov, Wen-tau Yih, and Geoffrey Zweig. Linguistic Regularities in Continuous Space Word
Representations. In Proceedings of NAACL HLT, 2013.
54
Thank you

More Related Content

What's hot

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
taeseon ryu
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
AkhilPolisetty
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
CloudxLab
 
[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...
[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...
[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...
Deep Learning JP
 
[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need
Daiki Tanaka
 
Dictionary Learning in Games - GDC 2014
Dictionary Learning in Games - GDC 2014Dictionary Learning in Games - GDC 2014
Dictionary Learning in Games - GDC 2014
Manchor Ko
 
OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and More
Mark Kilgard
 
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Edureka!
 
Music signal separation using supervised nonnegative matrix factorization wit...
Music signal separation using supervised nonnegative matrix factorization wit...Music signal separation using supervised nonnegative matrix factorization wit...
Music signal separation using supervised nonnegative matrix factorization wit...
Daichi Kitamura
 
サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価
サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価
サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価
Shinnosuke Takamichi
 
Machine translation survey - vol1
Machine translation survey  - vol1Machine translation survey  - vol1
Machine translation survey - vol1
gohyunwoong
 
omp-and-k-svd - Gdc2013
omp-and-k-svd - Gdc2013omp-and-k-svd - Gdc2013
omp-and-k-svd - Gdc2013
Manchor Ko
 
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
智啓 出川
 
Introduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNNIntroduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNN
Hye-min Ahn
 
Introduction to TextRank - 22.pptx
Introduction to TextRank - 22.pptxIntroduction to TextRank - 22.pptx
Introduction to TextRank - 22.pptx
Yung-Ting Chen
 
Auto-encoding variational bayes
Auto-encoding variational bayesAuto-encoding variational bayes
Auto-encoding variational bayes
Kyuri Kim
 
Pregel reading circle
Pregel reading circlePregel reading circle
Pregel reading circle
charlingual
 
感性情報心理学(3/4)
感性情報心理学(3/4)感性情報心理学(3/4)
感性情報心理学(3/4)
Masashi Komori
 
C2 ae open set recognition
C2 ae open set recognitionC2 ae open set recognition
C2 ae open set recognition
哲东 郑
 
"Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio...
"Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio..."Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio...
"Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio...
Edge AI and Vision Alliance
 

What's hot (20)

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...
[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...
[DL輪読会]DNN-based Source Enhancement to Increase Objective Sound Quality Asses...
 
[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need[Paper Reading] Attention is All You Need
[Paper Reading] Attention is All You Need
 
Dictionary Learning in Games - GDC 2014
Dictionary Learning in Games - GDC 2014Dictionary Learning in Games - GDC 2014
Dictionary Learning in Games - GDC 2014
 
OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and More
 
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
 
Music signal separation using supervised nonnegative matrix factorization wit...
Music signal separation using supervised nonnegative matrix factorization wit...Music signal separation using supervised nonnegative matrix factorization wit...
Music signal separation using supervised nonnegative matrix factorization wit...
 
サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価
サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価
サブバンドフィルタリングに基づくリアルタイム広帯域DNN声質変換の実装と評価
 
Machine translation survey - vol1
Machine translation survey  - vol1Machine translation survey  - vol1
Machine translation survey - vol1
 
omp-and-k-svd - Gdc2013
omp-and-k-svd - Gdc2013omp-and-k-svd - Gdc2013
omp-and-k-svd - Gdc2013
 
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
 
Introduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNNIntroduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNN
 
Introduction to TextRank - 22.pptx
Introduction to TextRank - 22.pptxIntroduction to TextRank - 22.pptx
Introduction to TextRank - 22.pptx
 
Auto-encoding variational bayes
Auto-encoding variational bayesAuto-encoding variational bayes
Auto-encoding variational bayes
 
Pregel reading circle
Pregel reading circlePregel reading circle
Pregel reading circle
 
感性情報心理学(3/4)
感性情報心理学(3/4)感性情報心理学(3/4)
感性情報心理学(3/4)
 
C2 ae open set recognition
C2 ae open set recognitionC2 ae open set recognition
C2 ae open set recognition
 
"Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio...
"Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio..."Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio...
"Quantizing Deep Networks for Efficient Inference at the Edge," a Presentatio...
 

Viewers also liked

텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님
NAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
NAVER D2
 
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님
NAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
NAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
NAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
NAVER D2
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
NAVER D2
 
[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
NAVER D2
 
[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신
NAVER D2
 
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
NAVER D2
 
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
NAVER D2
 
[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선
NAVER D2
 
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
NAVER D2
 
Docker d2 박승환
Docker d2 박승환Docker d2 박승환
Docker d2 박승환
Seunghwan Park
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
Ted Jung
 
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
NAVER D2
 
blue-green deployment with docker containers
blue-green deployment with docker containersblue-green deployment with docker containers
blue-green deployment with docker containers
Alfred UC
 
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
NAVER D2
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
NAVER D2
 
[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이
[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이
[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이
NAVER D2
 

Viewers also liked (20)

텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
 
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
 
[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
 
[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신[D2 오픈세미나]4.네이티브앱저장통신
[D2 오픈세미나]4.네이티브앱저장통신
 
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
 
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
 
[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선
 
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
[D2 COMMUNITY] Open Container Seoul Meetup - Kubernetes를 이용한 서비스 구축과 openshift
 
Docker d2 박승환
Docker d2 박승환Docker d2 박승환
Docker d2 박승환
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
 
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
[D2 COMMUNITY] Open Container Seoul Meetup - Running a container platform in ...
 
blue-green deployment with docker containers
blue-green deployment with docker containersblue-green deployment with docker containers
blue-green deployment with docker containers
 
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
[D2 COMMUNITY] Open Container Seoul Meetup - Docker security
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이
[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이
[고려대 ALPS&ALKOR] 프로그래밍 경진대회 문제 풀이
 

Similar to Papago/N2MT 개발이야기

[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경
NAVER D2
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지
deepseaswjh
 
GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역
Byeong il Ko
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Taehoon Kim
 
Mt
MtMt
Bert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeBert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP Challenge
OverDeep
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
Kiho Suh
 
딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향
LGCNSairesearch
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
Youngjae Kim
 
Machine translation survey vol2
Machine translation survey   vol2Machine translation survey   vol2
Machine translation survey vol2
gohyunwoong
 
NLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTNLU Tech Talk with KorBERT
NLU Tech Talk with KorBERT
LGCNSairesearch
 
메이크챗봇 자연어기초
메이크챗봇 자연어기초메이크챗봇 자연어기초
메이크챗봇 자연어기초
김용범 | 무영인터내쇼날
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역
NAVER LABS
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
hoondong kim
 
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & SparkDeep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
hoondong kim
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation
NAVER LABS
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
김용범 | 무영인터내쇼날
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
홍배 김
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
taeseon ryu
 
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
hkh
 

Similar to Papago/N2MT 개발이야기 (20)

[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지
 
GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
Mt
MtMt
Mt
 
Bert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeBert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP Challenge
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
Machine translation survey vol2
Machine translation survey   vol2Machine translation survey   vol2
Machine translation survey vol2
 
NLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTNLU Tech Talk with KorBERT
NLU Tech Talk with KorBERT
 
메이크챗봇 자연어기초
메이크챗봇 자연어기초메이크챗봇 자연어기초
메이크챗봇 자연어기초
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & SparkDeep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
 
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
NAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
NAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
NAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
NAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
NAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

Papago/N2MT 개발이야기

  • 1. Papago / N2MT 개발 이야기 Papago / 김상경 2017-02-24
  • 2. 2 목차 1. 기계 번역 (Machine Translation) 2. 인공 신경망 (Artificial Neural Network) 3. Word2Vec 4. Papago / N2MT 개발 과정 5. NSMT와 N2MT 번역 성능 비교 6. 마무리하며… 7. Q & A
  • 3. 3 1. 기계 번역 (Machine Translation)
  • 4. 4 1-1. RBMT - 규칙 기반 기계 번역 • Rule Based Machine Translation (RBMT) • 두 언어의 문법 규칙(Rule)을 기반으로 개발. • 문법 규칙(Rule) 추출의 어려움 • 번역 언어 확장의 어려움
  • 5. 5 1-2. SMT – 통계 기반 기계 번역 (1/3) • Statistical Machine Translation (SMT) • 두 언어의 Parallel Corpus에서 Co-occurance 기반의 통계 정보를 바탕으로 번역을 수행 • 여러 Component의 조합으로 시스템 구성 • Translation Model • Language Model • Reordering Model
  • 6. 6 1-2. SMT – 통계 기반 기계 번역 (2/3) • 구조
  • 7. 7 1-2. SMT – 통계 기반 기계 번역 (3/3) • 작동 방식 • 입력 문장의 일부분(Word 혹은 Phrase)를 보고 번역 수행 • 번역 사전을 사용하여, 확률에 기반한 번역을 수행 • 어순이 같은 언어 (한국어/일본어, 영어/프랑스어) • 괜찮은 성능. • 어순이 다른 언어 (한국어/영어) • 성능 부족. 입력: 출력: I 나는 아침 일찍 아침 준비를 했다. prepared breakfast early in the morning.
  • 8. 8 1-3. NMT - 인공신경망 기계 번역 (1/5) • Neural Machine Translation (NMT) • Neural Network 기반의 Machine Translation • 두 언어의 Parallel Corpus를 사용하여 Neural Network 학습
  • 9. 9 1-3. NMT - 인공신경망 기계 번역 (2/5) • 구조 • Encoder와 Decoder로 구성. • Encoder에서 입력 문장 Vector화. • Decoder에서 Vector화된 입력 문장 복호화. 다 <끝> DC D B C A BA 나가 <시작>
  • 10. 10 1-3. NMT - 인공신경망 기계 번역 (3/5) • 여기서 말하는 Vector란... • “크기”와 “방향”을 동시에 나타내는 물리량. (아래의 수식은 Column Major로 표시) • 𝑎 = 3 1 , 𝑏 = 2 4 𝑎 + 𝑏 = 3 1 + 2 4 = 5 5 • 𝑎 · 𝑏 = 3 1 2 4 = 3 ∗ 2 + (1 ∗ 4) = 10 • 𝑐 · 𝑑 = 1 2 3 ⋮ 𝑚 2 4 6 ⋯ 𝑛 = 1 ∗ 2 + 2 ∗ 4 + 3 ∗ 6 + ⋯ + (𝑚 ∗ 𝑛) 𝑎 𝑏 𝑎+𝑏
  • 11. 11 1-3. NMT - 인공신경망 기계 번역 (4/5) • 작동 방식 ? do fatheryour father does your What doesWhat 뭐하시 노 아버지 <시작>느그 <끝> ? ? do
  • 12. 12 1-3. NMT - 인공신경망 기계 번역 (5/5) • 특징 • 모든 단어를 고차원 Vector로 처리 • 단어의 입력/출력 순서를 학습 • 매끄러운 번역 문장 생성 • 문장 Vector 기반 • 문장의 의미 또한 고차원 Vector로 처리. • 문장 전체의 의미를 파악한 후에, 번역을 수행. • 동음 이의어라 하더라도, 전체 문장의 의미에 맞게 번역 가능 • 문장 Vector 생성 정확도 하락 -> 번역 정확도 하락 • 문장 Vector 해석 정확도 하락 -> 번역 정확도 하락
  • 13. 13 2. 인공 신경망 (Artificial Neural Network)
  • 14. 14 2-1. Neural Network 구조 (1/5) • Single Neuron a = 𝑓 𝐰𝐩 + b = 𝑓( w1 w2 w3 ⋮ wR p1 p2 p3 ⋯ pR + b) p1 p2 p3 ⋮ pR Σ b w1 wR 𝒇 n a Input Weight Bias Activation Function Output
  • 15. 15 2-1. Neural Network 구조 (2/5) • Activation functions • Linear • ReLU • Sigmoid • Tanh 𝑎 = 1 1 + 𝑒−𝑛 𝑎 = 𝑒 𝑛 − 𝑒−𝑛 𝑒 𝑛 + 𝑒−𝑛 𝑎 = 𝑛 𝑎 = max(0, 𝑛) a n a n 0 1 a n 0 1 -1 a n 0
  • 16. 16 2-1. Neural Network 구조 (3/5) • 1 Layer = Multiple Neurons (1/2) • Neuron이 S개 일 때, p1 p2 p3 ⋮ pR Σ b1 w1,1, … , w1,R 𝐟 n1 a1 Σ b2 𝐟 a2 w2,1, … , w2,R Σ bS 𝐟 aS wS,1, … , wS,R ⋮ n2 nS
  • 17. 17 2-1. Neural Network 구조 (4/5) • 1 Layer = Multiple Neurons (2/2) a = 𝑓 𝐖𝒑 + 𝒃 = 𝑓( w1,1 w1,2 w1,3 ⋮ w1,R w2,1 w2,2 w2,3 ⋮ w2,R … ⋯ ⋯ … wS,1 wS,2 wS,3 ⋮ wS,R p1 p2 p3 ⋯ pR + b1 b2 ⋯ bS )
  • 18. 18 2-1. Neural Network 구조 (5/5) • Multi-Layer Neural Network
  • 19. 19 2-2. 학습 원리 (1/2) • 1단계 – Propagation (전파) Layer 1 Layer 2 Layer 3 입력 (p) 결과 (a) 오류 (Δ) = 정답(c) – 결과(a) • 2단계 – 오류 계산
  • 20. 20 2-2. 학습 원리 (2/2) • 3단계 – Back Propagation (역전파) Layer 1 Layer 2 Layer 3 입력 (p) 오류 (Δ) • 모든 Weight과 Bias에 대한 오류(Δ, Gradient) 계산. • Back Propagation은 Chain Rule이라는 수학 정의에 의해 수학적으로 증명됨. • TensorFlow나 Theano 등 다수의 Deep Learning Platform에서 자동으로 지원. • 4단계 – Weight과 Bias 갱신(Update) 𝑾 𝑛𝑒𝑤 = 𝑾 𝑜𝑙𝑑 + (α ∗ Δ 𝑾 ) 𝒃 𝑛𝑒𝑤 = 𝒃 𝑜𝑙𝑑 + (α ∗ Δ 𝒃 ) α : Learning Rate
  • 21. 21 2-3. 실용화된 계기 1. Computing Power 증가 • GPU를 통해, 합리적인(?) 가격에 Computing Power 확보. • GPU • Parallel Processing에 특화된 Chip. • Matrix-Vector, Matrix-Matrix 연산에서 뛰어난 성능. 2. Big Data • Overfitting 문제를 완화시킬 정도의 충분한 Data가 확보되기 시작. 3. Neural Network Model 발전 • Dropout을 비롯한 여러 가지 Technique 발명.
  • 23. 23 3. Word2Vec (1/4) • CBOW & Skip-Gram (1/2)
  • 24. 24 3. Word2Vec (2/4) • CBOW & Skip-Gram (2/2) • 학습 목표 • Average log probability의 극대화(Maximization). • 즉, 확률 극대화. • 극대화 과정에서 Word Vector들이 조정됨. • 그로 인한 Side-Effect로 Semantic과 Syntactic 정보가 내재화 됨(Embedded).
  • 25. 25 3. Word2Vec (3/4) • Word embeddings Same word relationship => same vector man uncle woman aunt queen king W(“woman”) – W(“man”) + W(“uncle”) = W(“aunt”) W(“woman”) – W(“man”) + W(“king”) = W(“queen”)
  • 26. 26 3. Word2Vec (4/4) • Bilingual word embeddings man uncle woman 이모 여왕 king W(“woman”) – W(“man”) + W(“uncle”) = W(“이모”) W(“woman”) – W(“man”) + W(“king”) = W(“여왕”) • 만족할 만한 결과 안나옴… ㅠ • 하지만, Neural Network과 Word Vector에 대한 내공은 쌓임.
  • 27. 27 4. Papago / N2MT 개발 과정
  • 28. 28 4-1. 소개 • NAVER Neural Machine Translation • NSMT (NAVER Statistical Machine Translation)의 뒤를 잇는 2세대 Machine Translation • Papago팀에서 자체 기술로 개발 • Papago팀 = 기계번역 전문가 + Neural Network 전문가 + 시스템 전문가 • CUDA, cuBLAS, C++로 직접 개발. • Open Source 기반 아님. (TensorFlow가 나오기 전부터 개발)
  • 29. 29 4-2. Architecture DecoderEncoder Input Layer LSTM Layer LSTM Layer LSTM Layer Attention Layer Softmax Layer • Stacked LSTM Encoder/Decoder + Attention
  • 30. 30 4-3. LSTM (1/3) • LSTM 구성 • Input Gate • Forget Gate • Output Gate • Cell • Hidden Output • Long Short Term Memory • Short Term Memory를 오래 지속(Long)하는 Memory Neuron.
  • 31. 31 4-3. LSTM (2/3) • Vanishing Gradient 문제 (1/2) • 전통적인 RNN
  • 32. 32 4-3. LSTM (3/3) • Vanishing Gradient 문제 (2/2) • LSTM
  • 33. 33 4-4. 개발 과정 1 – Reconstruction Model (1/2) • Stacked LSTM Encoder/Decoder Only DecoderEncoder Input Layer LSTM Layer LSTM Layer LSTM Layer Softmax Layer
  • 34. 34 4-4. 개발 과정 1 – Reconstruction Model (2/2) • 입력 문장 재생성(Reconstruction) 하기 D <끝> DC D B C A BA CB <시작>A • Test Perplexity (Test PPL): 1.0029
  • 35. 35 4-5. 개발 과정 2 – Small NMT • Small Parallel Corpus로 NMT 만들기 (한국어 -> 영어) • 수 십만 개의 Parallel 문장 • 약 1,900만 단어 (한국어 + 영어) • 개발 결과 • 번역 수행되는 것 확인 • 장문에 취약 • 대용량 Corpus를 Training하기에 너무 오래 걸림.
  • 36. 36 4-6. 개발 과정 3 – 대용량 Corpus 처리 (1/4) • Multi-GPU / Propagation GPU 1 GPU 4 GPU 3 GPU 0 다 <끝> DC D B C A BA 나가 <시작> GPU 2
  • 37. 37 4-6. 개발 과정 3 – 대용량 Corpus 처리 (2/4) • Multi-GPU / Back-Propagation GPU 1 GPU 4 GPU 3 GPU 0 다 <끝> DC D B C A BA 나가 <시작> GPU 2
  • 38. 38 4-6. 개발 과정 3 – 대용량 Corpus 처리 (3/4) • Sampled Softmax (1/2) • Softmax Layer • Decoding시, Vocab 사전에서 적합한 Vocab(Word)를 고르는 부분. • 계산량 문제 Input (Projection) Hidden Size (1,000) Softmax Weight HiddenSize (1,000) Vocab Size (50,000) x • Matrix 계산량 크기 • [50,000 * 1,000] [1,000 * 1] = [50,000 * 1] Voca b I You We love loves … <끝> <Unknown> 확률 5% 2% 4% 51% 25% … 5% 6%
  • 39. 39 4-6. 개발 과정 3 – 대용량 Corpus 처리 (4/4) • Sampled Softmax (2/2) • NMT에서 계산량이 가장 많은 부분. • Decoding 시, 매 단어를 학습할 때마다, 해야 하는 연산. • Vocab 개수 증가 -> 계산량 증가. • 해결책 • 학습시 Vocab의 일부만 Sampling하여 학습. • Sampling 방식. • 학습에 포함된 Vocab은 무조건 추가. • 그 외의 Vocab은 Random으로 추가.
  • 40. 40 4-7. 개발 과정 4 – Attention (1/4) • 구조 DecoderEncoder Input Layer LSTM Layer LSTM Layer LSTM Layer Attention Layer Softmax Layer
  • 41. 41 4-7. 개발 과정 4 – Attention (2/4) • Attention Layer의 역할 • Target Word 생성시, 어떤 Source Word에 Focus를 맞춰서 생성해야 하는지 알려주는 모델. • 장문에서 번역 성능이 급격히 떨어지는 문제 완화. 1. 매 time t마다, ht와 모든 hs의 내적을 통해 각 src word에 대한 tar word의 Score를 구함
  • 42. 42 4-7. 개발 과정 4 – Attention (3/4) 3. Context Vector(ct)는 모든 hs의 alignment score를 곱해 구해. (즉, ct는 모든 hs의 weighted average sum임.) 4. Attention Output(ℎt)는 Context Vector(ct)와 Attention Input(ht)의 Concat에 Wc와 Tanh를 적용하여 계산 2. Score에 Softmax 연산을 통해 확률 구함 (Alignment Score)
  • 43. 43 4-7. 개발 과정 4 – Attention (4/4) • Attention Map • 입력: 존과 메리는 아들과 딸이 있다. • 결과: John and Mary have a son and a daughter.
  • 44. 44 5. NSMT와 N2MT 번역 성능 비교
  • 45. 45 5. NSMT와 N2MT 번역 성능 비교 (1/4) • 동음 이의어 입력문 나의 눈에 눈이 떨어졌다. N2MT Snow fell upon my eyes. NSMT Fell in the eyes of my eyes. • 번역 정확도 입력문 곰 세마리가 한 집에 있어, 아빠곰, 엄마곰, 애기곰. N2MT Three bears are in one house, father bear, mother bear, and baby bear. NSMT 3 bears. Father bear, mummy bear, and baby bear, in a house.
  • 46. 46 5. NSMT와 N2MT 번역 성능 비교 (2/4) • 정량 평가 • 평가 방법: BLEU • 평가 문장 개수: 1,000 문장
  • 47. 47 5. NSMT와 N2MT 번역 성능 비교 (3/4) • 정성 평가 • 평가 방법: Blind Test • 평가 문장 개수: 100 문장 • 100점 만점. (평가자 2명 평균)
  • 48. 48 5. NSMT와 N2MT 번역 성능 비교 (4/4) • 번역 결과 주요 특징 • 완전한 형태의 문장을 생성 (비문이 생성되는 경우가 거의 없다.) • 번역 결과가 SMT 대비 많이 우수. (번역 결과가 틀릴 때는, 아예 딴 소리를 하는 경우도 많음.) • Vocab 개수의 제약으로, Out Of Vocab 문제가 발생
  • 50. 50 6. 마무리하며… • Deep Learning 분야에 많은 개발자들이 필요. • Neural Network을 Modeling 할 사람도 필요. • Neural Network을 서비스로 만들 사람은 더 많이 필요. • 누구나 도전해 볼만한 분야. • 꼼꼼한 성격. • Bug가 눈에 잘 띄지 않는다. • 학습이 제대로 안 될뿐… • 많은 인내심 필요. • 뭐 하나 고치면, 결과 보는데 몇 시간씩 걸린다. • 개발 코드량은 얼마 되지 않는다. • 많은 분들이 도전하셔서, 더 재미있고 좋은 세상을 만들었으면 좋겠습니다.
  • 52. 52 References (1/2) • Artificial Neural Network • Martin T. Hagan, Howard B. Demuth, Mark Beale. Nerual Network Design. PWS Publishing Company. • NMT - Encoder/Decoder Model • I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. In NIPS, 2014 • Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using RNN encoder-decoder for statistical machine translation. In EMNLP, 2014 • Kyunghyun Cho, van Merri¨enboer, B., Bahdanau, D., and Bengio, Y. On the properties of neural machine translation: Encoder–Decoder approaches. In Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation. to appear. 2014 • N. Kalchbrenner and P. Blunsom. Recurrent continuous translation models. In EMNLP, 2013 • NMT - Attention • Luong, Minh-Thang, Pham, Hieu, and Manning, Christopher D. Effective approaches to attentionbased neural machine translation. Proceedings of EMNLP, 2015. • D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and translate. In ICLR, 2015 • NMT - Sampled Softmax • S´ebastien Jean, Kyunghyun Cho, Roland Memisevic, and Yoshua Bengio. On using very large target vocabulary for neural machine translation. In ACL, 2015
  • 53. 53 References (2/2) • LSTM • A. Graves. Generating sequences with recurrent neural networks. In Arxiv preprint arXiv:1308.0850, 2013. • Word2Vec • Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013. • Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013. • Tomas Mikolov, Wen-tau Yih, and Geoffrey Zweig. Linguistic Regularities in Continuous Space Word Representations. In Proceedings of NAACL HLT, 2013.