복진(腹診)에 대한 국내 연구동향 분석 및 연구방향 제안 - JKOM복진(腹診)에 대한 국내 연구동향 분석 및 연구방향 제안 김지혜, 박정환,
딥러닝을 이용한 자연어처리의 연구동향
-
Upload
- -
Category
Technology
-
view
2.711 -
download
13
Transcript of 딥러닝을 이용한 자연어처리의 연구동향
Deep Learning 에 의한 자연어 처리2016. 7김홍배
深層学習による自然言語処理の研究動向 , 進藤裕之
2
자연어 처리기계번역
Hello
안녕 !
자동요약Today’s news
・주가 ○○・날씨・서울、、
자동오류수정
He have a pen.has?
Summary
텍스트 데이터해석 , 편집 , 생성
3
Audio Image Text
불연속연속연속
언어 데이터의 특징
From: https://www.tensorflow.org/
4
• 불연속적인 심볼의 계열 (Sequence)
• 계열 길이가 샘플에 따라 다름• 계층적,재귀적 (Recursive) 인 구조를 지님 (문자 , 단어 , 구 , 문 )
John loves Mary .
언어 데이터의 특징
5
구조학습으로서의 자연어 처리1. 계열 → 계열
• 형태소해석• 기계번역 , 자동요약• 질의응답 , chatbot
2. 계열 → Tree 구조• 구문해석
3. 계열 → 그래프구조• 의미해석
6
딥러닝깊은 구조를 가진 뉴럴넷( NN )
벡터,행렬,텐서
미분가능한 한수입력 특징벡터
7
딥러닝이란함수 f 의 예
• 선형함수 • 활성화함수
• Sigmoid• Tanh• Rectifier Linear Unit
• 콘볼루션 함수( Convolution )• 풀링함수( Pooling )etc...
8
언어처리에 있어서 딥러닝의 효과1. 데이터로부터 특징을 자동적으로 학습2. 종래보다 폭넓은 문맥정보를 다루게 됨3. 모델에 최적인 출력을 다루기가 간단4. 특성이 다른 사진・음성등과 같은 모델들간의 친화성이 높게 되어 멀티모달 모델 구축이 쉬워짐 .
9
계열 모델링
10
Recurrent Neural Networks ( RNN )
입력
특징벡터...
LSTM, GRU 등과조합하는 것이 일반적
11
Long-Short Term Memory (LSTM)
• 게이트에 의해 정보를 선택적으로 통과• 메모리셀에 의해 오랜 시간 기억이 가능
Gated Recurrent Unit도 자주 사용됨
f
x
i g
x
+
tanh
o
x f
x
i g
x
+
tanh
o
x
@ time t
ht-1xt
xt+1
ht ht+1
ct-1
Cell state
ct ct+1
@ time t+1
입력 또는 하부층 출력
전시점 (t-1) cell 데이터
전시점 (t-1) 출력
출력
12
계열모델링에 기반한 언어처리• 형태소분해(단어분해,품사 태그)
• 고유표현인식• 기계번역• 자동요약
Seoul
Seoul
13
종래의 접근법품사 태그 붙이기
DT CD JJ NNVNN
The auto maker sold 1000 cars last year.입력
출력
품사 태크( 45 종류)• DT: 한정사 (the, a, an, ...)• N: 명사 • V: 동사• CD: 숫자• JJ: 형용사
14
특징벡터 : 고차원, Sparse , binary
The auto maker sold ...
1001...01
w0 = ‘maker’
w1 = ‘sold’
W-1 = ‘auto’
w-1 w0 w1
특징량• w0, w1, w-1• w0 의 문자 n-gram• w1 의 문자 n-gram• w2 의 문자 n-gram• 앞에는 대문자• 문장내에서의 단어위치Etc…
106 ~ 109
종래의 접근법품사 태그 붙이기
15
단어 콘볼루션 벡터
VB
The auto maker sold ...
w-1 w0 w1
뉴럴넷특징량을 자동적으로 학습
품사 태그 붙이기뉴럴넷
16
뉴럴넷특징벡터: 저차원, dense
The auto maker sold ...
w-1 w0 w1
특징량랜덤하게 초기화
101 ~ 102
1.1-0.5-0.1...
3.7-2.1 자동적으로 학습
품사 태그 붙이기
17
기계번역(종래방법) 문구 기반 통계적 기계번역
• 【학습】 문구의 얼라이먼트 ( 대응관계 ) 와 번역모델의 점수를 결정.• 【디코드】 번역모델의 점수와 언어 모델의 점수를 고려하여 최적인 번역을 결정.
내일은 영어를 공부한다
? ? ?
3.2 1.45.1오늘은 중국어를 공부한다
18
RNN 에 의한 기계번역의 모델화A B C D X Y Z
A B C D <eos> X Y Z
<eos>X Y Z
Sutskever et al., “Sequence to Sequence Learning with Neural Networks”, Arxiv, 2014
기계번역
19
어텐션 (Attention) 에 기반한 RNN
A B C D <eos> X Y Z
<eos>X Y Z
어디에서 「주의」해서 번역할까를 학습
Bahdanau et al., “Neural Machine Translation by Jointly Learning to Align and Translate”, ICLR, 2015
기계번역
20
A B C D <eos> X Y Z
<eos>X Y Z
Bahdanau et al., “Neural Machine Translation by Jointly Learning to Align and Translate”, ICLR, 2015
어텐션 (Attention) 에 기반한 RNN어디에서「주의」해서 번역할까를 학습
기계번역
21
A B C D <eos> X Y Z
<eos>X Y Z
Bahdanau et al., “Neural Machine Translation by Jointly Learning to Align and Translate”, ICLR, 2015
어텐션 (Attention) 에 기반한 RNN어디에서「주의」해서 번역할까를 학습
기계번역
22
A B C D <eos> X Y Z
<eos>X Y Z
Bahdanau et al., “Neural Machine Translation by Jointly Learning to Align and Translate”, ICLR, 2015
어텐션 (Attention) 에 기반한 RNN어디에서「주의」해서 번역할까를 학습
기계번역
23
자동적으로 학습되는 어텐션의 예
어텐션 모델에 의하여 단어와 단어 사이의 대응관계 (얼라이먼트 ) 를 줄 필요가 생김 .
Bahdanau et al., “Neural Machine Translation by Jointly Learning to Align and Translate”, ICLR, 2015
기계번역
24
자동요약어텐션형 RNN 에 기반한 요약
Rush et al., “A Neural Attention Model for Sentence Summarization”, EMNLP, 2015
russian defense minister ivanov called sunday for the creation of a joint front for combating global terrorism
russia calls for joint front against terrorism
입력(원문)
출력(요약)
• Beam search 에 의해 최적인 요약문을 생성
25
언어모델
<s> A cat sofa
A cat
…
…is </s>• 문장(단어열)의 자연스러움을 점수화하는 모델• 현재까지의 단어열로부터 다음의 단어를 예측 → 관측데이타에 높은 점수가 부여되게끔 학습• RNN (with LSTM, GRU) 이 주류
26
Softmax 문제단어를 출력하는 계열 모델은 출력층의 계산이 부담
차원수: ~105 (=어휘수)
~105 차원
~102 차원Softmax 함수
入力層
중간층
출력층
27
• 계층적 Softmax 를 사용하는 방법 [Morin+ 2005]• 샘플링에 기반한 방법 [Ji+ 2016]• Softmax 함수와 유사한 별도의 함수를 사용하는 방법
• Sparsemax [Martins+ 2016]• Spherical softmax [Vincent+ 2015]
• Self-normalization [Andreas and Klein 2015]
계산량을 줄이거나 작업정도를 높이기 위해서
Softmax 문제단어를 출력하는 계열 모델은 출력층의 계산이 부담
28
Softmax 문제( Vincent 방법)
Vincent et al., “Efficient Exact Gradient Update for training Deep Networks with Very Large Sparse Targets”, Arxiv, 2014
W 를 명시적으로 관리하지 않음WD
d
D: 어휘수
29
Vincent et al., “Efficient Exact Gradient Update for training Deep Networks with Very Large Sparse Targets”, Arxiv, 2014
수백배의 고속화가 실현가능함
Softmax 문제( Vincent 방법)
30
Softmax 문제 결론
• 기본적으로는 학습 시 계산량을 줄이는 방법• 실제 Task 시의 계산량을 줄이는 방법은 앞으로의 과제
• 계층적 Softmax 를 사용하는 방법 [Morin+ 2005]• 샘플링에 기반한 방법 [Ji+ 2016]• Softmax 함수와 유사한 별도의 함수를 사용하는 방법
• Sparsemax [Martins+ 2016]• Spherical softmax [Vincent+ 2015]
• Self-normalization [Andreas and Klein 2015]
31
Lateral Network
얇고 넓은 네트웍 구조를 사용해서 언어모델을 고속화
Devlin et al., “Pre-Computable Multi-Layer Neural Network Language Models”, EMNLP, 2015
일반적인 네트웍 Lateral Network
32
Lateral Network
Devlin et al., “Pre-Computable Multi-Layer Neural Network Language Models”, EMNLP, 2015
• 미리 행렬곱 계산을 해놓고 , 결과를 기억해 놓음 (pre-computation )
• 학습 시에는 학습 시에는 변수가 update 되므로 사용할 수 없으나 , Task 시 대폭적인 고속화가 됨 .
얇고 넓은 네트웍 구조를 사용해서 언어모델을 고속화
33
사진으로부터 설명문을 생성Generates Image Description with RNN
Karpathy et al., “Deep Visual-Semantic Alignments for Generating Image Descriptions”, CVPR, 2015
• 사진으로부터 영역CNN ( RCNN )으로 영역의 특징량을 학습
• 사진의 설명문은 RNN 으로 만듬
34
계열모델링 : 결론• 많은 언어처리 Task 는 계열모델링 문제로 해결 가능• 현재는 RNN + LSTM + Attention 을 사용하는 방법이 일반적임• 출력층의 차원이 크기 때문에 Softmax 의 계산을 어느 정도 효율화하는가가 앞으로의 과제
35
Tree 구조 모델링
36
재귀형 (Recursive) 뉴럴넷
loves MaryJohn
Tree 구조와 네트웍 구조가 함께
특징벡터
37
구문해석(의존구조)
Chen and Manning, “A Fast and Accurate Dependency Parser using Neural Networks”, ACL, 2014
Feedforward 네트웍에 의한 Shift-reduce 해석
• Shift-reduce 해석의 각 action 에 대응하는 점수계산을 NN 으로 수행• 해석 알고리즘은 종래와 동일하지만 , 조합되는 특징량의 설계가 필요하지 않음 .
38
Pei et al., “An Effective Neural Network Model for Graph-based Dependency Parsing”, ACL, 2015
동적계획법에 기반한 해석( Eisner알고리즘 )
• Eisner알고리즘(다음 슬라이드)의 점수계산을 NN 으로 수행
• SHift-reduce 의 경우와 같이 알고리즘은 종래와 동일하지만 , 조합되는 특징량의 설계가 불필요
구문해석(의존구조)
(참고) Eisner’s Algorithm
39
She read a short novel.0 1 2 3 4
Initialization
40
She read a short novel.
[0, 1, comp] + [1, 2, comp] → [0, 2, incomp]
0 1 2 3 4
(참고) Eisner’s Algorithm
41
She read a short novel.
[0, 1, comp] + [1, 2, comp] → [0, 2, incomp]
0 1 2 3 4
(참고) Eisner’s Algorithm
42
She read a short novel.0 1 2 3 4
[0, 1, comp] + [1, 2, comp] → [0, 2, incomp]
[0, 1, comp] + [1, 2, incomp] → [0, 2, comp]
(참고) Eisner’s Algorithm
43
She read a short novel.0 1 2 3 4
[0, 1, comp] + [1, 2, comp] → [0, 2, incomp]
[0, 1, comp] + [1, 2, incomp] → [0, 2, comp]
(참고) Eisner’s Algorithm
44
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
45
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
46
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
47
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
48
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
49
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
50
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
51
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
52
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
53
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
54
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
55
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
56
She read a short novel.0 1 2 3 4
(참고) Eisner’s Algorithm
57
구문해석(구구조)
Dyer et al., “Recurrent Neural Network Grammars”, arXiv, 2016
LSTM 에 의한 Shift-reduce 해석
• Top-down 으로 구구조 tree 를 생성하는 LSTM 모델을 제안 • 영어 WSJ 로 F값 92.4 ( state-of-the-art )
58
Tree 구조의 선형화( linearization )
Vinyals et al., “Grammar as a Foreign Language”, Arxiv, 2015
• Tree 구조를 추정하는 문제를 계열모델링( 3 층 LSTM )으로 해결• 품사태그를 사용하지 않는 쪽이 정확도가 높다 ( 1pt )
(기존방법에서는 품사태그의 정보가 없으면 정확도가 크게 저하 )
구문해석(구구조)
59Vinyals et al., “Grammar as a Foreign Language”, Arxiv, 2015
• 모델이 부정확한 Tree 구조를 출력하는 비율 1.5% (의외로 작음 )
• Attention 을 넣지 않으면 정확도가 크게 저하 • 최종적으로 기존 방법과 거의 비슷한 결과
Tree 구조의 선형화( linearization )구문해석(구구조)
60
Tree 구조 모델링 : 결론• 언어의 구문해석에서는 Tree 구조를 출력하는 것이 목적• 기존 동적계획법 , Shift-reduce 법에 기반한 알고리즘의 경우 , 점수함수를 뉴럴넷으로 바꿈 . → (조합해서)특징량의 설계가 불필요하게 됨 .
• Tree 구조의 선형화에 의해 계열모델링의 기술을 그대로 사용하는 방법과 기존과 동일형태 Tree 구조의 학습을 직접 수행하는 방법도 있음 .
61
질의응답( QA )・언어이해
62
질의응답
Hermann et al., “Teaching Machines to Read and Comprehend”, Arxiv, 2015
독해문제의 자동응답• CNN 으로부터 데이터 수집• Bi-directional LSTM
63Hermann et al., “Teaching Machines to Read and Comprehend”, Arxiv, 2015
• Attention 의 예
질의응답독해문제의 자동응답
64
Facebook bAbi Task
• Facebook 이 개발한 질의응답 Task • Task 1 부터 Task 20 까지 있음
• “기계가 언어이해를 할 수 있는가”를 평가하기 위한 데이터셋(인간은 100% 정확히 답한다고 기대하고
Weston et al., “Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks”, arXiv, 2015
65
Facebook bAbi Task
Weston et al., “Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks”, arXiv, 2015
• 가장 어려운 Task
66
Dynamic Memory Networks
Kumar et al., “Ask Me Anything: Dynamic Memory Networks for Natural Language Processing”, arXiv, 2015
• 입력모듈 :입력문(또는 문장)을 벡터로 변환
• 질문모듈 :질문문을 벡터로 변환
• 에피소드 기억모듈:입력문(과 질문문)을 순서대로 보면서,입력의 어느 부분에 주목할까 ?(Attention) 를 결정하여 , 기억벡터를 만들어 나감 . 이것을 몇번 반복
• 응답모듈: 응답을 만듬
67
Dynamic Memory Networks
Kumar et al., “Ask Me Anything: Dynamic Memory Networks for Natural Language Processing”, arXiv, 2015
68
Dynamic Memory Networks
Kumar et al., “Ask Me Anything: Dynamic Memory Networks for Natural Language Processing”, arXiv, 2015
• 17: Positional Reasoning,19: Path Finding 은 어려움
• 대체로 정확함→ 좀더 어려운 문제가 필요
69
Xiong et al., “Dynamic Memory Networks for Visual and Textual Question Answering”, arXiv, 2016
Dynamic Memory Networks
DMN for Visual QA
CNN 으로 사진으로부터 특징벡터를 만듬
70
의미해석 + Visual QA
Andreas et al., “Learning to Compose Neural Networks for Question Answering”, NAACL, 2016 (Best Paper Award)
Visual QA
71
Andreas et al., “Learning to Compose Neural Networks for Question Answering”, NAACL, 2016 (Best Paper Award)
1. 질문문을 해석2. 대응하는 뉴럴넷으로
변환3. 지식 데이터 베이스로
응답을 질의
Visual QA
의미해석 + Visual QA
72
Deep Learning 의 구현
73
계산 그래프 계산그래프
A, B: 변수행렬x, y: 데이터 벡터
Merlin.jl 에 의한 실행 예 >> x = Var()>> y = Var()>> A = Var(rand(8,5))>> B = Var(rand(8,5))>> z = A*x + B*y>> f = Graph(z)
>> fx = f(rand(8,3),rand(8,3))>> backward!(fx)
74
계산그래프의 최적화• 중간 object 를 만들지 않고 한번에 계산하는 쪽이 빠름.
gemm!
BLAS 에 의한 in-place 연산
75
• Pre-computation :변수가 고정된 Task 시에 유효
W
단어embeddings
The auto maker ...
X
concatx1
W1
x2W2
한번 계산해서 기억해 놈 별도로 계산해서Cache 함
계산그래프의 최적화
76
오늘의 데모딥러닝에 의한 언어해석( Simple version )
https://github.com/hshindo/Merlin.jl 에 링크가 있음
77
in getting their money back
... ... ... ...
g e t t i n gi n b a c k
... ...
... ... ... ...
문장레벨CNN
특징벡터단어레벨
CNN
CNN based POS-Tagging [Santos+ 14]
g e t t i n g
10 dim.
<s> <e>
CNN based POS-Tagging [Santos+ 14]
g e t t i g
... ... ... ...
max-pooling
10 dim.
max
n<s> <e>
문자열로부터 중요한 특징을 추출
CNN based POS-Tagging [Santos+ 14]
80
Mini-batch 화• 언어 데이터는 계열길이가 가변적• 모델에 따라서 mini-batch 화 (복수 샘플을 묶어서 처리함으로써 고속화 ) 가 어려운 경우도 있음• 바로 전의 품사 Tagger 에서는 문자레벨의 CNN 과 단어레벨의 CNN 이 계층적으로 결합되어 있으므로 , mini-batch 화가 어려움 .
• CPU 의 실행에서는 속도의 차가 발생
81
실험결과
Method Tagging 정확도 단어 CNN 만 96.83
단어 CNN + 문자 CNN 97.28
• 학습데이터 : WSJ newswire text, 40k sentences
• Test : WSJ newswire text, 2k sentences
82
1 2 4 8 16 32 640
100200300400500600700800900
1000Merlin.jlTheanoChainer
Batch size
실행시간
[sec
]학습시간의 계측결과 ( CPU )
進藤ら , “Julia 言語による深層学習ライブラリの実装と評価” , 人工知能学会全国大会 , 2016
실험결과
83
Test 시간의 계측결과 ( CPU )(1문씩 처리한 경우)
進藤ら , “Julia 言語による深層学習ライブラリの実装と評価” , 人工知能学会全国大会 , 2016
※mini-batch 사이즈를 크게 하면 차는 줄어든다 .
실험결과
84
결론• 딥러닝의 최신 논문에 대한 소개• 딥러닝의 방법도 중요하지만 , 데이터셋의 개발과 공개도 동시에 중요• Text 의 의미이해는 앞으로의 큰 과제 • 멀티모달(사진 , 음성)과 같은 동시 모델이 앞으로 발전이 기대됨 .