Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

딥러닝을 이용한 자연어처리의 연구동향

17,783 views

Published on

일본 NAIST 신도 교수가 최근에 정리한 "최신 딥러닝을 이용한 자연어 처리기술"을 번역한 자료입니다.
새로운 기술에 대한 간단한 소개정도를 실은 자료입니다.
세부적인 기술내용은 참고논문을 찾으시면 될 듯 합니다.

Published in: Technology

딥러닝을 이용한 자연어처리의 연구동향

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

×