SlideShare une entreprise Scribd logo
1  sur  105
Télécharger pour lire hors ligne
모두를 위한 기계번역
Natural Language Processing & AI Lab.,
Korea University
발표자: 박찬준
Who Am I
2
2018.06~2019.07: SYSTRAN (현: LLsoLLu )
Automatic Speech Recognition
Machine Translation
Grammar Error Correction
Real-time lecture interpreter system
2019.07~Now: Korea University
컴퓨터학과 대학원 과정(지도교수: 임희석 교수님)
NLP&AI Lab
Research Interest:
기계번역, 문법교정, 실시간 통역 시스템
네이버 자연언어처리 전문 블로그 운영(For: 비전공자)
목차
3
1. Overview of MT
2. RBMT
3. SMT
4. NMT (RNN ~ Transformer ~ MASS)
5. NMT 하위 분야
6. Open Source
7. 기계번역 서비스 해보기
Overview of MT
Overview
자연언어처리란?
5
기계 번역이란?
6
기계 번역이란?
7
기계 번역이란?
8
RBMT
규칙기반 기계번역
한눈에 보는 규칙기반 기계번역
10
한눈에 보는 규칙기반 기계번역
11
SMT
통계기반 기계번역
한눈에 보는 통계기반 기계번역
13
한눈에 보는 통계기반 기계번역
14최적의 번역열 찾기
한눈에 보는 통계기반 기계번역
15
처음에는 단어(word) 단위로 번역을 수행
2003년 여러 개의 단어 묶음인 구(Phrase) 단위의 번역 방식 제안:
단어 단위 보다 잘 번역
구(Phrase)내에 변수 개념을 도입한 것이 Hierarchical Phrase-
Based SMT
예를 들어 "eat an apple -> 사과를 먹다" 이렇게 하는 것이 아닌
"eat X --> X를 먹다" 이런식으로 표현!!
이러한 방식의 장점은 X에 apple, banna 등 다양한 단어를 수용할
수 있음 !!
Prereordering-based SMT는 번역하기 전 어순을 바꾸는 작업 !!
Syntax Base SMT는 Hierarchical Phrase-Based SMT에서 eat X
를 eat NP(명사구) 로 변경한 것 !! 즉 모든 구가 올 수 있는 것이
아닌 명사구만 올 수 있다고 한정 지어 불필요한 번역 후보를
사전에 제거 !!
한눈에 보는 통계기반 기계번역
16
한눈에 보는 통계기반 기계번역
17
NMT
인공신경망 기반 기계번역
Neural Machine Translation
19
Neural Machine Translation
20
Neural Machine Translation
21
Neural Machine Translation
22
RNN Based NMT
23
RNN Based NMT
24
RNN with Attention
25
26
RNN with Attention
모든 스텝의 hidden states를 decoder에게 넘김
출처) http://jalammar.github.io/illustrated-transformer/
RNN with Attention
27
스텝마다 관련된 부분에 더 집중할 수 있게 해주는 Attention model
RNN with Attention
28
스텝마다 관련된 부분에 더 집중할 수
있게 해주는 Attention model
Annotations == Bi RNN Concat Hidden
29
인코더에서는 Bidirectional RNN을 사용하여
Forward Network와 Backward Network에서
Hidden State Vector Set 를 각각 생성하여 각각의
단어 별로 두 벡터들을 합하여 Context Vector Set
를 생성한다. (annotations)
Attention
30
Attention Weight(Energy) 를 결정하기 위해서 Feed-
Forward Neural Network(FFNN) 와 같은 신경망이
내부적으로 사용되고, Attention Weight를 이용하여
Context Vector Set의 가중치 합 (Weighted Sum)을
구하여 새로운 Context Vector C t를 아래와 같이 구한다:
S
E: Energy
a: Align
(좌)C: Context vector
(우)C: annotation
(우)C: annotation
디코딩 과정
31
디코더는 새로 구한 Context Vector C t 와 디코더의
이 전 Hidden State Vector S t-1 와 이전 출력 단어
Y t-1을 입 력으로 받아서 Hidden State Vector S t를
갱신하고 이를 이용하여 새로운 출력 단어 Yt를
결정한다.
32
더 쉽게
기존 RNN
디코딩에서 h3만 사용함.
출처)
https://www.youtube.com/watch?v=WsQLdu2JMgI&t=4
18s
33
더 쉽게
H1, H2, H3 모두 사용
34
더 쉽게
Softmax를 거쳐서
Attention Weight를 만듬
35
더 쉽게
Context Vector생성
H1에 90%
H2에 0 %
H3에 10% 참조할게 !
Initial
Hidden
36
더 쉽게
Context Vector 그때
그때 다름 !!! (핵심)
37
더 쉽게
38
더 쉽게
End가 나올 때 까지 !
Attention is All you need
39
Before Attention is All you need
40
Before Attention is All you need
41
Recurrent Convolution
Attention is All you need
42
Recurrent Convolution
Solely on Attention Mechanisms,
dispending with recurrence and
Convolutions entirely
Attention is All you need
43
Parallelizable
Less time to Train
Attention is All you need
44
SOTA
결국 Seq2Seq
45
지난 방법론들
Attention, RNN Search, RNN Encoder
Decoder, Luong Attention
➔ 결국 Seq2Seq
결국 Seq2Seq
46
Transformer
➔ 결국 Seq2Seq
출처) http://jalammar.github.io/illustrated-transformer/
Encoder Decoder구조일 뿐 !
47
결국 Seq2Seq
➔ Encoder Decoder 구조
쌓아 올린 Encoder Decoder 구조일 뿐
48
Stack(쌓아 올린 구조)
따라서 입력 차원 출력 차원이 같다.
512차원 !
몇 개를 Stack???
6개 ➔ Transformer
12개 ➔ Transformer Big
Attention is All you need
49
N(6)개
Stack
Transformer
50
Encoder에 2개의 블록
Decoder에 3개의 블록
Encoder
51각 단어들은 크기 512의 벡터 하나로 embedding
위치에 있는 각 단어가
그만의 path를 통해
encoder에서 흘러간다
Encoder
52
바로 전의 encoder의 출력
word embedding
Self Attention
53
자기 들 끼리의 Attention
Self Attention
54
1단계)
3개의 벡터를 만든다
이름은
Query
Key
Value
Self Attention
55
이 벡터들은 입력 벡터에 대해서
세 개의 학습 가능한 행렬들을
각각 곱함으로써 만들어짐!!
(WQ,WK,WV)기존의 벡터들 보다 더 작은 사이즈(64차원)
multi-head attention의 계산 복잡도를 일정하게 만들고자 내린 구조적인 선택
Self Attention
56
2단계) 일종의 점수를 만든다?
Query와 Key를 곱한다.
Self Attention
57
3단계) 나눈다(Scale)
뭘로? ➔ 8
8이란 숫자는 key 벡터의 사이즈인 64의 제곱 근
왜? ➔ 더 안정적인 gradient를 가지게 됨
Self Attention
58
4단계) Softmax
현재 위치의 단어의 encoding에 있어서
얼마나 각 단어들의 표현이 들어가는지에 대한
일종의 비율
Self Attention
59
5단계) Value 곱하기 !
Softmax값 높은 거는 큰 값
낮은 것은 무시해버리는 효과!
➔ 오른쪽은 본 논문에서 그린 그림
지금까지의 과정을
Scaled Dot Product Attention이라 함
Self Attention
60
6단계) 결과로 나온 벡터 다 합해버리기
➔ 이것이 곧 Self Attention의 출력
Self Attention
61
수식도 어렵지 않다
Scale ➔ Key벡터에 제곱근 값으로 나누어줌
Dot-Product ➔ Query와 Key 곱해줌 !
Value도 곱해줌
Self Attention
62
Multi Head Attention
63
self-attention 계산 과정을 8개의 다른 weight 행렬들에 대해 8번 거친다.
1방에 하지 말고 8개로 나누어서 해보자 !!
➔ 여러 개의 “representation 공간”을 가지게 해줌!!
쉽게 생각해 다양한 표현을 학습함으로 더 잘 표현할 수 있음
self.dim_per_head = model_dim // head_count
Multi Head Attention
64
각각의 Query Key Value벡터를 가진다 !
즉 8번의 Scale Dot Product Attention과정을 거친다 !!
따라서 결과값도 8개가 나올 것임 !!
Multi Head Attention
65
문제는 이 8개의 행렬을 바로 feed-forward layer으로 보낼 수 없다.
feed-forward layer 은 한 위치에 대해 오직 한 개의 행렬만을 input으로 받음 !
일단 모두 이어 붙여서 하나의 행렬로 만들어버리고, 그 다음 하나의 또 다른 weight 행렬인 W0을 곱해버립니다.
1개로 만들어버리기 성공 !!
한눈에 보는 Multi Head Attention
66
한눈에 보는 Multi Head Attention
67
각각의 Query Key Value벡터를 가진다 !
Head개수만큼 Attention과정
1개의 값으로 표현해야하니 Concat
거기에 Weight 행렬 곱해 !
Position-wise
Feed-Forward Networks
68
position 마다, 즉 개별 단어마다 적용되기 때문에 position-wise !!
두 번의 linear transformation과 ReLU로 이루어짐 !
Positional Encoding
69
순서정보 알 수 있어야 !
Parallelizable 하니깐 알 방법이 없음
Transformer 모델은 각각의 입력 embedding에
“positional encoding”이라고 불리는 하나의 벡터를 추가
Positional Encoding
70
순서에 대한 정보 부여
Positional Encoding
71
순서에 대한 정보 부여
Embedding with Time Signal
Residual & Layer Normalization
72
Residual
73
Fast Forward Connection (Baidu)
Residual Network (Google)
Decoder – Encoder와의 차이점
74
1. Masked
2. Key 와 Value 행렬들을
encoder의 출력에서
가져온다.
Decoder – Encoder와의 차이점
75
<1> Masked
Decoder에서의 self-attention layer은 output
sequence 내에서 현재 위치의 이전 위치들에
대해서만 Attention을 진행 할 수 있다.
➔ Decoder에서는 encoder와
달리 순차적으로 결과를 만들어내야 하기
때문 !!
<2> Query 행렬들을 그 밑의 layer에서
가져오고 Key 와 Value 행렬들을 encoder의
출력에서 가져온다.
Decoder – Encoder와의 차이점
76
Linear & Softmax
77
Decoder를 거치고 난 후에는 소수로 이루어진 벡터 하나가 남게 됨 !
이것을 Vocab 즉 단어로 변환해야 함 !!
Linear layer은 fully-connected 신경망으로
decoder가 마지막으로 출력한 벡터를
그보다 훨씬 더 큰 사이즈의 벡터인 logits 벡터로 투영시킴 !
Logits벡터는 Vocab size와 동일 !!!
softmax layer는 이 점수들을 확률로 변환해주는 역할
Linear & Softmax
78Linear layer 와 softmax layer를 통과하여 최종 출력 단어로 변환 !
79
Experiment
80
Experiment
81
BERT & GPT
Encoder
Decoder
BERT(좌측)는 Language Understanding을 위해 인코더를 Pre-train하는 반면,
GPT(우측)는Language Modeling을 위해 디코더를 Pre-train 시키는 구조를 지니고 있음
82
MASS
Seq to Seq:
인코더 디코더 함께 훈련되어야 !
문제는 기존 BERT, GPT는 함께
훈련 될 수 없는 구조 !
83
MASS
Input에서 k 개의 토큰 조각을 임의로 지정해 마스킹 한 후, 마스킹 된 해당조각들을
예측하도록 훈련시키는 Pre-training 기법
인코더 측 에서 마스킹 되지 않은 토큰들이 디코더 측에서 마스킹됨에 따라,디코더는
인코더가 제공한 hidden representation과 Attention 정보만을 참고해 마스킹 된 토큰들을
예측해야 하게 되고 이는Encoder와 Decoder가 함께Pre-train될 수 있는 환경을 제공하게 됨
84
MASS
K: 마스킹 되는 토큰 개수
BERT의 Masked LM: k=1일때 인코더 측에서는 하나의 토큰이 마스킹 되고,디코더는 마스킹 된 하나의 토큰을 예측
GPT의 Standard LM: k가Input 문장의 전체 길이인 m과 같을 때 인코더 측의 모든 토큰들이 마스킹 됨
85
MASS
기본적으로 MASS는 Pre-training을 위해 monolingual 데이터를 필요로 함
그러나 기계번역과같은 Cross-lingual Task도 수행할 수 있음
영어-불어번역과 같은 Cross-lingual Task의 수행을 위해서는 Pre-training으로 하나의MASS 모델에
‘English-English’와 ‘ French-French’ 데이터를 모두 학습시키는 방법을 사용
이때, 두 언어를 구분 짓기 위해 “Language embedding” 이라는 정보를 추가적으로 더해 줌
Facebook의 XLM은 인코더와 디코더를 각각 BERT의 Masked LM과 standard LM으로 Pre-train 시킨 모델
86
CNN ?
NMT 하위 분야
APE, QE, Parallel Corpus Filtering
실시간 강연통역
Automatic Post Editing
88
번역문 사후 교정(Automatic Post-Editing, APE)은 기계 번역 시스템이 생성한 결과물에
포함되어 있는 오류를 수정하여 더 나은 품질의 번역문을 만들어내는 과정
Quality Estimation
89
기계번역 품질 예측은 정답번역문의 참고 없이 기계번역문장의 번역품질을
예측하는 것을 말하며, 최근 들어 기계번역분야에서 중요성이 강조되고 있다.
사용자가 원시 언어(source language) 나 목표 언어(target language)를 잘 알지 못하는
경우 유용!
BLEU ??
Quality Estimation
90
원시문장 (source sentence)와 기계번역문장(translation sentence, target
sentence)만을 보고 기계번역문장의 번역 품질 (translation quality)을
예측(estimation)
즉 정답문장이 필요 없음 !! BLEU와 결정적 차이점
데이터(QE 데이터):
1) 원시문장, 2) 기계번역문장, 3) 기계번역 문장의 각 수준 별 품질 주석
(quality annotations)
Parallel Corpus Filtering
91
Parallel Corpus Filtering이란 양질의 Parallel Corpus를 구축하기 위한 작업이며 좋은
품질의 Corpus만을 선별하는 작업을 의미한다.
실시간 강연통역
92
실시간 동시통역 기술’은 한 문장씩 통역하는 기술을 넘어, 연속된 자유 발화를 통역사처럼
실시간으로 통역해 사용자에게 제공하는 방식
https://www.etri.re.kr/webzine/20190201/sub02.html
음성인식 기계번역
Open Source
기계번역 분야의 오픈소스 소개
OpenNMT
94
OpenNMT
95
Tensor2Tensor
96
Fairseq
97
Open Kiwi
98
Parallel Corpus Filtering
99
기계번역 서비스 해보기
All About MT
기계번역을 서비스 하는 과정
101
1. 데이터 수집
2. Parallel Corpus
Filtering
3. Subword
Tokenization
4. Train/valid/test
Hyper Parameter
Vocab
5. Transformer
6. Translate 7. Detoken
8. Evaluation
9. Service
(Web server,
Translation Server)
기계번역을 서비스 하는 과정
102
1. 웹크롤링
구매
2. 규칙 정의
정제 모듈
3. BPE
SentencePiece
Mecab
4. 하이퍼 파리미터
튜닝
Vocab 개수
5. OpenNMT
Or
직접 구현
6. Beam Search
7. BPE Code
보관하기
8. BLEU
GLEU
3점/5점 척도
9. 서버
https://github.com/Parkchanjun/OpenNMT-Colab-Tutorial
감사합니다.
박찬준
bcj1210@naver.com
참고자료
104
[1]Bahdanau, D., Cho, K., and Bengio, Y. (2014). Neural Machine Translation By Jointly Learning To Align and Translate. In ICLR,
pages 1–15
[2]Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., and Bengio, Y. (2014). Learning Phrase
Representations using RNN Encoder-Decoder for Statistical Machine Translation. In Proc of EMNLP.
[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin.
Attention is all you need. In Advances in neural information processing systems, pages 5998–6008, 2017.
[4] Marcin Junczys-Dowmunt, Roman Grundkiewicz, MS-UEdin Submission to the WMT2018 APE Shared Task: Dual-Source
Transformer for Automatic Post-Editing
[5] Rikters, Matīss, Impact of Corpora Quality on Neural Machine Translation(2018), In Proceedings of the 8th Conference Human
Language Technologies - The Baltic Perspective (Baltic HLT 2018)
[6]H. Xu and P. Koehn, Zipporah: a Fast and Scalable Data Cleaning System for Noisy Web-Crawled Parallel Corpora, Emnlp (2017),
2935–2940. http://www.aclweb.org/anthology/D17-1319% 0Ahttp://aclweb.org/anthology/D17-1318
[7] Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016. Neural machine translation of rare words with subword units. In Proc.
of ACL
[8] Taku Kudo, John Richardson, SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural
Text Processing, EMNLP2018
[9] Taku Kudo. 2018. Subword regularization: Improving neural network translation models with multiple subword candidates. In
Proc. of ACL.
참고자료
105
[10] Guillaume Klein, Yoon Kim, Yuntian Deng, Jean Senellart, and Alexander M. Rush. 2017. Opennmt: Open-source toolkit for
neural machine translation. CoRR, abs/1701.02810.
[11] Hyun Kim, Jong-Hyeok Lee, and Seung-Hoon Na. 2017. Predictor-Estimator using Multilevel Task Learning with
Stack Propagation for Neural Quality Estimation. In Conference on Machine Translation (WMT).
[12] 이 창 기 , 김 준 석 , 이 형 규 , 이 재 송 . (2015). Neural Machine Translation 기 반 의 영 어 - 일 본 어
자동번역. 정보과학회지, 33(10), 48-52.
[13] http://jalammar.github.io/illustrated-transformer/
[14] 김기현의 자연어처리 딥러닝 캠프
[15] 자연어처리 튜토리얼 2019
[16] https://www.etri.re.kr/webzine/20190201/sub02.html
[17] https://blog.naver.com/bcj1210
[18] https://brunch.co.kr/@kakao-it/156
[19] https://www.youtube.com/watch?v=WsQLdu2JMgI

Contenu connexe

Tendances

Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language ProcessingVeenaSKumar2
 
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Universitat Politècnica de Catalunya
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processingMinh Pham
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
 
natural language processing help at myassignmenthelp.net
natural language processing  help at myassignmenthelp.netnatural language processing  help at myassignmenthelp.net
natural language processing help at myassignmenthelp.netwww.myassignmenthelp.net
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language ProcessingMariana Soffer
 
GPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersGPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersYoung Seok Kim
 
IE: Named Entity Recognition (NER)
IE: Named Entity Recognition (NER)IE: Named Entity Recognition (NER)
IE: Named Entity Recognition (NER)Marina Santini
 
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 Attentiontaeseon ryu
 
Introduction to Named Entity Recognition
Introduction to Named Entity RecognitionIntroduction to Named Entity Recognition
Introduction to Named Entity RecognitionTomer Lieber
 
Natural language processing
Natural language processingNatural language processing
Natural language processingAbash shah
 
Word Embeddings - Introduction
Word Embeddings - IntroductionWord Embeddings - Introduction
Word Embeddings - IntroductionChristian Perone
 
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!
 
Natural Language Processing (NLP)
Natural Language Processing (NLP)Natural Language Processing (NLP)
Natural Language Processing (NLP)Yuriy Guts
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embeddingtaeseon ryu
 

Tendances (20)

Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
BERT introduction
BERT introductionBERT introduction
BERT introduction
 
natural language processing help at myassignmenthelp.net
natural language processing  help at myassignmenthelp.netnatural language processing  help at myassignmenthelp.net
natural language processing help at myassignmenthelp.net
 
NLP.pptx
NLP.pptxNLP.pptx
NLP.pptx
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
GPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersGPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask Learners
 
IE: Named Entity Recognition (NER)
IE: Named Entity Recognition (NER)IE: Named Entity Recognition (NER)
IE: Named Entity Recognition (NER)
 
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
 
Introduction to Named Entity Recognition
Introduction to Named Entity RecognitionIntroduction to Named Entity Recognition
Introduction to Named Entity Recognition
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Word Embeddings - Introduction
Word Embeddings - IntroductionWord Embeddings - Introduction
Word Embeddings - Introduction
 
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...
 
Tutorial on word2vec
Tutorial on word2vecTutorial on word2vec
Tutorial on word2vec
 
Natural Language Processing (NLP)
Natural Language Processing (NLP)Natural Language Processing (NLP)
Natural Language Processing (NLP)
 
What is word2vec?
What is word2vec?What is word2vec?
What is word2vec?
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
 

Similaire à Mt

Attention is all you need
Attention is all you needAttention is all you need
Attention is all you needHoon Heo
 
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...keunbong kwak
 
[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경NAVER D2
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderLee Seungeun
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기NAVER D2
 
Bidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehensionBidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehensionWoodam Lim
 
2017 tensor flow dev summit
2017 tensor flow dev summit2017 tensor flow dev summit
2017 tensor flow dev summitTae Young Lee
 
Sequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural NetworksSequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural NetworksHoon Heo
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Kris Jeong
 
Machine translation survey vol2
Machine translation survey   vol2Machine translation survey   vol2
Machine translation survey vol2gohyunwoong
 
Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지Subin An
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역NAVER LABS
 
NLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTNLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTLGCNSairesearch
 
Masked Sequence to Sequence Pre-training for Language Generation
Masked Sequence to Sequence Pre-training for Language GenerationMasked Sequence to Sequence Pre-training for Language Generation
Masked Sequence to Sequence Pre-training for Language GenerationHoon Heo
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우NAVER D2
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)Dong Chan Shin
 

Similaire à Mt (20)

Attention is all you need
Attention is all you needAttention is all you need
Attention is all you need
 
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
 
[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기
 
Bidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehensionBidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehension
 
자연어5 | 1차강의
자연어5 | 1차강의자연어5 | 1차강의
자연어5 | 1차강의
 
2017 tensor flow dev summit
2017 tensor flow dev summit2017 tensor flow dev summit
2017 tensor flow dev summit
 
Sequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural NetworksSequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural Networks
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
파이썬과 자연어 5 | 딥러닝
파이썬과 자연어 5 | 딥러닝파이썬과 자연어 5 | 딥러닝
파이썬과 자연어 5 | 딥러닝
 
Machine translation survey vol2
Machine translation survey   vol2Machine translation survey   vol2
Machine translation survey vol2
 
Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지Voice Conversion : Audio알못에서 VCC2020참가까지
Voice Conversion : Audio알못에서 VCC2020참가까지
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역
 
NLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTNLU Tech Talk with KorBERT
NLU Tech Talk with KorBERT
 
Masked Sequence to Sequence Pre-training for Language Generation
Masked Sequence to Sequence Pre-training for Language GenerationMasked Sequence to Sequence Pre-training for Language Generation
Masked Sequence to Sequence Pre-training for Language Generation
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
 
llvm 소개
llvm 소개llvm 소개
llvm 소개
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 

Plus de NAVER Engineering

디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIXNAVER Engineering
 
진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)NAVER Engineering
 
서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트NAVER Engineering
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호NAVER Engineering
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라NAVER Engineering
 
날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기NAVER Engineering
 
쏘카프레임 구축 배경과 과정
 쏘카프레임 구축 배경과 과정 쏘카프레임 구축 배경과 과정
쏘카프레임 구축 배경과 과정NAVER Engineering
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기NAVER Engineering
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)NAVER Engineering
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드NAVER Engineering
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기NAVER Engineering
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활NAVER Engineering
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출NAVER Engineering
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우NAVER Engineering
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...NAVER Engineering
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법NAVER Engineering
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며NAVER Engineering
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기NAVER Engineering
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기NAVER Engineering
 

Plus de NAVER Engineering (20)

React vac pattern
React vac patternReact vac pattern
React vac pattern
 
디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX디자인 시스템에 직방 ZUIX
디자인 시스템에 직방 ZUIX
 
진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)진화하는 디자인 시스템(걸음마 편)
진화하는 디자인 시스템(걸음마 편)
 
서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라
 
날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기날고 있는 여러 비행기 넘나 들며 정비하기
날고 있는 여러 비행기 넘나 들며 정비하기
 
쏘카프레임 구축 배경과 과정
 쏘카프레임 구축 배경과 과정 쏘카프레임 구축 배경과 과정
쏘카프레임 구축 배경과 과정
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 

Dernier

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Dernier (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

Mt

  • 1. 모두를 위한 기계번역 Natural Language Processing & AI Lab., Korea University 발표자: 박찬준
  • 2. Who Am I 2 2018.06~2019.07: SYSTRAN (현: LLsoLLu ) Automatic Speech Recognition Machine Translation Grammar Error Correction Real-time lecture interpreter system 2019.07~Now: Korea University 컴퓨터학과 대학원 과정(지도교수: 임희석 교수님) NLP&AI Lab Research Interest: 기계번역, 문법교정, 실시간 통역 시스템 네이버 자연언어처리 전문 블로그 운영(For: 비전공자)
  • 3. 목차 3 1. Overview of MT 2. RBMT 3. SMT 4. NMT (RNN ~ Transformer ~ MASS) 5. NMT 하위 분야 6. Open Source 7. 기계번역 서비스 해보기
  • 10. 한눈에 보는 규칙기반 기계번역 10
  • 11. 한눈에 보는 규칙기반 기계번역 11
  • 13. 한눈에 보는 통계기반 기계번역 13
  • 14. 한눈에 보는 통계기반 기계번역 14최적의 번역열 찾기
  • 15. 한눈에 보는 통계기반 기계번역 15 처음에는 단어(word) 단위로 번역을 수행 2003년 여러 개의 단어 묶음인 구(Phrase) 단위의 번역 방식 제안: 단어 단위 보다 잘 번역 구(Phrase)내에 변수 개념을 도입한 것이 Hierarchical Phrase- Based SMT 예를 들어 "eat an apple -> 사과를 먹다" 이렇게 하는 것이 아닌 "eat X --> X를 먹다" 이런식으로 표현!! 이러한 방식의 장점은 X에 apple, banna 등 다양한 단어를 수용할 수 있음 !! Prereordering-based SMT는 번역하기 전 어순을 바꾸는 작업 !! Syntax Base SMT는 Hierarchical Phrase-Based SMT에서 eat X 를 eat NP(명사구) 로 변경한 것 !! 즉 모든 구가 올 수 있는 것이 아닌 명사구만 올 수 있다고 한정 지어 불필요한 번역 후보를 사전에 제거 !!
  • 16. 한눈에 보는 통계기반 기계번역 16
  • 17. 한눈에 보는 통계기반 기계번역 17
  • 26. 26 RNN with Attention 모든 스텝의 hidden states를 decoder에게 넘김 출처) http://jalammar.github.io/illustrated-transformer/
  • 27. RNN with Attention 27 스텝마다 관련된 부분에 더 집중할 수 있게 해주는 Attention model
  • 28. RNN with Attention 28 스텝마다 관련된 부분에 더 집중할 수 있게 해주는 Attention model
  • 29. Annotations == Bi RNN Concat Hidden 29 인코더에서는 Bidirectional RNN을 사용하여 Forward Network와 Backward Network에서 Hidden State Vector Set 를 각각 생성하여 각각의 단어 별로 두 벡터들을 합하여 Context Vector Set 를 생성한다. (annotations)
  • 30. Attention 30 Attention Weight(Energy) 를 결정하기 위해서 Feed- Forward Neural Network(FFNN) 와 같은 신경망이 내부적으로 사용되고, Attention Weight를 이용하여 Context Vector Set의 가중치 합 (Weighted Sum)을 구하여 새로운 Context Vector C t를 아래와 같이 구한다: S E: Energy a: Align (좌)C: Context vector (우)C: annotation (우)C: annotation
  • 31. 디코딩 과정 31 디코더는 새로 구한 Context Vector C t 와 디코더의 이 전 Hidden State Vector S t-1 와 이전 출력 단어 Y t-1을 입 력으로 받아서 Hidden State Vector S t를 갱신하고 이를 이용하여 새로운 출력 단어 Yt를 결정한다.
  • 32. 32 더 쉽게 기존 RNN 디코딩에서 h3만 사용함. 출처) https://www.youtube.com/watch?v=WsQLdu2JMgI&t=4 18s
  • 33. 33 더 쉽게 H1, H2, H3 모두 사용
  • 35. 35 더 쉽게 Context Vector생성 H1에 90% H2에 0 % H3에 10% 참조할게 ! Initial Hidden
  • 36. 36 더 쉽게 Context Vector 그때 그때 다름 !!! (핵심)
  • 39. Attention is All you need 39
  • 40. Before Attention is All you need 40
  • 41. Before Attention is All you need 41 Recurrent Convolution
  • 42. Attention is All you need 42 Recurrent Convolution Solely on Attention Mechanisms, dispending with recurrence and Convolutions entirely
  • 43. Attention is All you need 43 Parallelizable Less time to Train
  • 44. Attention is All you need 44 SOTA
  • 45. 결국 Seq2Seq 45 지난 방법론들 Attention, RNN Search, RNN Encoder Decoder, Luong Attention ➔ 결국 Seq2Seq
  • 46. 결국 Seq2Seq 46 Transformer ➔ 결국 Seq2Seq 출처) http://jalammar.github.io/illustrated-transformer/
  • 47. Encoder Decoder구조일 뿐 ! 47 결국 Seq2Seq ➔ Encoder Decoder 구조
  • 48. 쌓아 올린 Encoder Decoder 구조일 뿐 48 Stack(쌓아 올린 구조) 따라서 입력 차원 출력 차원이 같다. 512차원 ! 몇 개를 Stack??? 6개 ➔ Transformer 12개 ➔ Transformer Big
  • 49. Attention is All you need 49 N(6)개 Stack
  • 51. Encoder 51각 단어들은 크기 512의 벡터 하나로 embedding 위치에 있는 각 단어가 그만의 path를 통해 encoder에서 흘러간다
  • 52. Encoder 52 바로 전의 encoder의 출력 word embedding
  • 53. Self Attention 53 자기 들 끼리의 Attention
  • 54. Self Attention 54 1단계) 3개의 벡터를 만든다 이름은 Query Key Value
  • 55. Self Attention 55 이 벡터들은 입력 벡터에 대해서 세 개의 학습 가능한 행렬들을 각각 곱함으로써 만들어짐!! (WQ,WK,WV)기존의 벡터들 보다 더 작은 사이즈(64차원) multi-head attention의 계산 복잡도를 일정하게 만들고자 내린 구조적인 선택
  • 56. Self Attention 56 2단계) 일종의 점수를 만든다? Query와 Key를 곱한다.
  • 57. Self Attention 57 3단계) 나눈다(Scale) 뭘로? ➔ 8 8이란 숫자는 key 벡터의 사이즈인 64의 제곱 근 왜? ➔ 더 안정적인 gradient를 가지게 됨
  • 58. Self Attention 58 4단계) Softmax 현재 위치의 단어의 encoding에 있어서 얼마나 각 단어들의 표현이 들어가는지에 대한 일종의 비율
  • 59. Self Attention 59 5단계) Value 곱하기 ! Softmax값 높은 거는 큰 값 낮은 것은 무시해버리는 효과! ➔ 오른쪽은 본 논문에서 그린 그림 지금까지의 과정을 Scaled Dot Product Attention이라 함
  • 60. Self Attention 60 6단계) 결과로 나온 벡터 다 합해버리기 ➔ 이것이 곧 Self Attention의 출력
  • 61. Self Attention 61 수식도 어렵지 않다 Scale ➔ Key벡터에 제곱근 값으로 나누어줌 Dot-Product ➔ Query와 Key 곱해줌 ! Value도 곱해줌
  • 63. Multi Head Attention 63 self-attention 계산 과정을 8개의 다른 weight 행렬들에 대해 8번 거친다. 1방에 하지 말고 8개로 나누어서 해보자 !! ➔ 여러 개의 “representation 공간”을 가지게 해줌!! 쉽게 생각해 다양한 표현을 학습함으로 더 잘 표현할 수 있음 self.dim_per_head = model_dim // head_count
  • 64. Multi Head Attention 64 각각의 Query Key Value벡터를 가진다 ! 즉 8번의 Scale Dot Product Attention과정을 거친다 !! 따라서 결과값도 8개가 나올 것임 !!
  • 65. Multi Head Attention 65 문제는 이 8개의 행렬을 바로 feed-forward layer으로 보낼 수 없다. feed-forward layer 은 한 위치에 대해 오직 한 개의 행렬만을 input으로 받음 ! 일단 모두 이어 붙여서 하나의 행렬로 만들어버리고, 그 다음 하나의 또 다른 weight 행렬인 W0을 곱해버립니다. 1개로 만들어버리기 성공 !!
  • 66. 한눈에 보는 Multi Head Attention 66
  • 67. 한눈에 보는 Multi Head Attention 67 각각의 Query Key Value벡터를 가진다 ! Head개수만큼 Attention과정 1개의 값으로 표현해야하니 Concat 거기에 Weight 행렬 곱해 !
  • 68. Position-wise Feed-Forward Networks 68 position 마다, 즉 개별 단어마다 적용되기 때문에 position-wise !! 두 번의 linear transformation과 ReLU로 이루어짐 !
  • 69. Positional Encoding 69 순서정보 알 수 있어야 ! Parallelizable 하니깐 알 방법이 없음 Transformer 모델은 각각의 입력 embedding에 “positional encoding”이라고 불리는 하나의 벡터를 추가
  • 71. Positional Encoding 71 순서에 대한 정보 부여 Embedding with Time Signal
  • 72. Residual & Layer Normalization 72
  • 73. Residual 73 Fast Forward Connection (Baidu) Residual Network (Google)
  • 74. Decoder – Encoder와의 차이점 74 1. Masked 2. Key 와 Value 행렬들을 encoder의 출력에서 가져온다.
  • 75. Decoder – Encoder와의 차이점 75 <1> Masked Decoder에서의 self-attention layer은 output sequence 내에서 현재 위치의 이전 위치들에 대해서만 Attention을 진행 할 수 있다. ➔ Decoder에서는 encoder와 달리 순차적으로 결과를 만들어내야 하기 때문 !! <2> Query 행렬들을 그 밑의 layer에서 가져오고 Key 와 Value 행렬들을 encoder의 출력에서 가져온다.
  • 77. Linear & Softmax 77 Decoder를 거치고 난 후에는 소수로 이루어진 벡터 하나가 남게 됨 ! 이것을 Vocab 즉 단어로 변환해야 함 !! Linear layer은 fully-connected 신경망으로 decoder가 마지막으로 출력한 벡터를 그보다 훨씬 더 큰 사이즈의 벡터인 logits 벡터로 투영시킴 ! Logits벡터는 Vocab size와 동일 !!! softmax layer는 이 점수들을 확률로 변환해주는 역할
  • 78. Linear & Softmax 78Linear layer 와 softmax layer를 통과하여 최종 출력 단어로 변환 !
  • 81. 81 BERT & GPT Encoder Decoder BERT(좌측)는 Language Understanding을 위해 인코더를 Pre-train하는 반면, GPT(우측)는Language Modeling을 위해 디코더를 Pre-train 시키는 구조를 지니고 있음
  • 82. 82 MASS Seq to Seq: 인코더 디코더 함께 훈련되어야 ! 문제는 기존 BERT, GPT는 함께 훈련 될 수 없는 구조 !
  • 83. 83 MASS Input에서 k 개의 토큰 조각을 임의로 지정해 마스킹 한 후, 마스킹 된 해당조각들을 예측하도록 훈련시키는 Pre-training 기법 인코더 측 에서 마스킹 되지 않은 토큰들이 디코더 측에서 마스킹됨에 따라,디코더는 인코더가 제공한 hidden representation과 Attention 정보만을 참고해 마스킹 된 토큰들을 예측해야 하게 되고 이는Encoder와 Decoder가 함께Pre-train될 수 있는 환경을 제공하게 됨
  • 84. 84 MASS K: 마스킹 되는 토큰 개수 BERT의 Masked LM: k=1일때 인코더 측에서는 하나의 토큰이 마스킹 되고,디코더는 마스킹 된 하나의 토큰을 예측 GPT의 Standard LM: k가Input 문장의 전체 길이인 m과 같을 때 인코더 측의 모든 토큰들이 마스킹 됨
  • 85. 85 MASS 기본적으로 MASS는 Pre-training을 위해 monolingual 데이터를 필요로 함 그러나 기계번역과같은 Cross-lingual Task도 수행할 수 있음 영어-불어번역과 같은 Cross-lingual Task의 수행을 위해서는 Pre-training으로 하나의MASS 모델에 ‘English-English’와 ‘ French-French’ 데이터를 모두 학습시키는 방법을 사용 이때, 두 언어를 구분 짓기 위해 “Language embedding” 이라는 정보를 추가적으로 더해 줌 Facebook의 XLM은 인코더와 디코더를 각각 BERT의 Masked LM과 standard LM으로 Pre-train 시킨 모델
  • 87. NMT 하위 분야 APE, QE, Parallel Corpus Filtering 실시간 강연통역
  • 88. Automatic Post Editing 88 번역문 사후 교정(Automatic Post-Editing, APE)은 기계 번역 시스템이 생성한 결과물에 포함되어 있는 오류를 수정하여 더 나은 품질의 번역문을 만들어내는 과정
  • 89. Quality Estimation 89 기계번역 품질 예측은 정답번역문의 참고 없이 기계번역문장의 번역품질을 예측하는 것을 말하며, 최근 들어 기계번역분야에서 중요성이 강조되고 있다. 사용자가 원시 언어(source language) 나 목표 언어(target language)를 잘 알지 못하는 경우 유용! BLEU ??
  • 90. Quality Estimation 90 원시문장 (source sentence)와 기계번역문장(translation sentence, target sentence)만을 보고 기계번역문장의 번역 품질 (translation quality)을 예측(estimation) 즉 정답문장이 필요 없음 !! BLEU와 결정적 차이점 데이터(QE 데이터): 1) 원시문장, 2) 기계번역문장, 3) 기계번역 문장의 각 수준 별 품질 주석 (quality annotations)
  • 91. Parallel Corpus Filtering 91 Parallel Corpus Filtering이란 양질의 Parallel Corpus를 구축하기 위한 작업이며 좋은 품질의 Corpus만을 선별하는 작업을 의미한다.
  • 92. 실시간 강연통역 92 실시간 동시통역 기술’은 한 문장씩 통역하는 기술을 넘어, 연속된 자유 발화를 통역사처럼 실시간으로 통역해 사용자에게 제공하는 방식 https://www.etri.re.kr/webzine/20190201/sub02.html 음성인식 기계번역
  • 93. Open Source 기계번역 분야의 오픈소스 소개
  • 101. 기계번역을 서비스 하는 과정 101 1. 데이터 수집 2. Parallel Corpus Filtering 3. Subword Tokenization 4. Train/valid/test Hyper Parameter Vocab 5. Transformer 6. Translate 7. Detoken 8. Evaluation 9. Service (Web server, Translation Server)
  • 102. 기계번역을 서비스 하는 과정 102 1. 웹크롤링 구매 2. 규칙 정의 정제 모듈 3. BPE SentencePiece Mecab 4. 하이퍼 파리미터 튜닝 Vocab 개수 5. OpenNMT Or 직접 구현 6. Beam Search 7. BPE Code 보관하기 8. BLEU GLEU 3점/5점 척도 9. 서버 https://github.com/Parkchanjun/OpenNMT-Colab-Tutorial
  • 104. 참고자료 104 [1]Bahdanau, D., Cho, K., and Bengio, Y. (2014). Neural Machine Translation By Jointly Learning To Align and Translate. In ICLR, pages 1–15 [2]Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., and Bengio, Y. (2014). Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. In Proc of EMNLP. [3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pages 5998–6008, 2017. [4] Marcin Junczys-Dowmunt, Roman Grundkiewicz, MS-UEdin Submission to the WMT2018 APE Shared Task: Dual-Source Transformer for Automatic Post-Editing [5] Rikters, Matīss, Impact of Corpora Quality on Neural Machine Translation(2018), In Proceedings of the 8th Conference Human Language Technologies - The Baltic Perspective (Baltic HLT 2018) [6]H. Xu and P. Koehn, Zipporah: a Fast and Scalable Data Cleaning System for Noisy Web-Crawled Parallel Corpora, Emnlp (2017), 2935–2940. http://www.aclweb.org/anthology/D17-1319% 0Ahttp://aclweb.org/anthology/D17-1318 [7] Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016. Neural machine translation of rare words with subword units. In Proc. of ACL [8] Taku Kudo, John Richardson, SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing, EMNLP2018 [9] Taku Kudo. 2018. Subword regularization: Improving neural network translation models with multiple subword candidates. In Proc. of ACL.
  • 105. 참고자료 105 [10] Guillaume Klein, Yoon Kim, Yuntian Deng, Jean Senellart, and Alexander M. Rush. 2017. Opennmt: Open-source toolkit for neural machine translation. CoRR, abs/1701.02810. [11] Hyun Kim, Jong-Hyeok Lee, and Seung-Hoon Na. 2017. Predictor-Estimator using Multilevel Task Learning with Stack Propagation for Neural Quality Estimation. In Conference on Machine Translation (WMT). [12] 이 창 기 , 김 준 석 , 이 형 규 , 이 재 송 . (2015). Neural Machine Translation 기 반 의 영 어 - 일 본 어 자동번역. 정보과학회지, 33(10), 48-52. [13] http://jalammar.github.io/illustrated-transformer/ [14] 김기현의 자연어처리 딥러닝 캠프 [15] 자연어처리 튜토리얼 2019 [16] https://www.etri.re.kr/webzine/20190201/sub02.html [17] https://blog.naver.com/bcj1210 [18] https://brunch.co.kr/@kakao-it/156 [19] https://www.youtube.com/watch?v=WsQLdu2JMgI