SlideShare a Scribd company logo
김용범
무영인터내쇼날
딥러닝을 활용한 자연어 분석
RNN, LSTM, Seq2Seq, Attention
Jupyter Notebook 소스보기
http://nbviewer.jupyter.org/github/YongBeomKim
/nltk_tutorial/blob/master/05.RNN.ipynb
딥러닝 자연어 활용
1. Word2Vec, Doc2Vec
2. CNN
3. RNN
4. LSTM
5. Seq2Seq
6. Attention
http://visionigniter.blogspot.com/2017/03/word2vec-visualization-wtensorflow.html
CNN
CNN 기본개념
CNN을 활용한 자연어 분석
1. 전방향 합성곱 신경망
2. 방대한 데이터 중 특징적인 부분을 추출하는 기법
3. Text 분류를 CNN을 사용하여 훈련모델을 생성 [Blog]
RNN
RNN
1. 전방향 신경망 : 회귀모델, 베이지안, CNN
2. 순환 신경망 : Recurrent Neual Network
3. 입력뉴런, 연결뉴런, 출력뉴런등이 연결되어 있다
4. Gate 반복에 따라 각기 다른 결과값을 Cell위치에서 저장
5. 저장된 다른 위상 값 들을 평균 또는 합 등을 구함으로써
압축 가능하다
RNN CELL
Recurrent Neual Network
인풋과 아웃풋을 모두 받는 네트워크 구조로써
다양하고 유연한 구조를 만들 수 있다.
RNN Model
LSTM
RNN
LSTM Cell
LSTM Cell
LSTM 유닛구조
1. 유지게이트 : 앞의 Cell에서 넘어온 정보 중, 오래된 삭제할
정보와 유지할 정보를 Sigmoid 뉴런으로 구분한다
2. 쓰기게이트 : 위에서 구분한 정보중 필요한 정보(tan h)를
판단 후 상태변환/유지 여부를 파악 후 처리를 한다
3. 출력게이트 : 쓰기게이트와 유사한 구조를 갖고서 최종
결과물을 판단, 처리를 한다
LSTM RNN CELL
Recurrent Neual Network
https://medium.com/@apiltamang/unmasking-a-vanilla-rnn-what-lies-beneath-912120f7e56c
the recurrent connection
allows the network to
remember what it learned
in the previous step.
활성화 / 게이트 함수들
LSTM 의 장점
1. Gate는 공식들 연결 가운데 Noise를 발생
2. Noise를 활용하여 위상차이(반복횟수)를 구분한다
3. 또는 Gate 통과 전/이후의 값의 차이를 활용하는 등 다양한
시간차를 인식 가능하다
4. Sequence(연속적) 형태인 원본 데이터를 학습하기
용이하다 (HMM 보다 다양한 모델을 구축가능)
[실습Code] - 단어 어휘 예측하기
1. 3개의 알파벳을 입력하면, 나머지 알파벳 1개를 정확하게
예측하는 모델을 학습한다
2. 알파벳을 기본 요소로써 LSTM graph를 활용한다
3. 입력 데이터는 One hot - Encoding을 활용
4. One hot-encoding 에 적합한 별도의 batch 사용자 함수를
정의한다
LSTM Tensorflow
알파벳 one hot encoding을 정의 후, 학습에 사용할 batch 함수를 정의한다
LSTM Tensorflow - LSTM 파라미터, 모델 매개변수를 정의
LSTM Tensorflow - LSTM Cell 과 모델 및 비용함수, 활성화 함수를 정의
LSTM Tensorflow - graph 를 학습한다
LSTM Tensorflow - 학습한 모델을 평가한다
seq 2 seq
LSTM
RNN Model
LSTM Cell
seq 2 seq Cell
seq 2 seq
1. 2013년 구글에서 공개한 기계번역 신경망 모델이다
2. LSTM 인코더(A, B, C) 와 LSTM 디코더(W, X, Y,)를 연결
3. RNN의 재귀적 학습의 특성으로 인해, 특수함 심벌 ((1)
입력의 시작을 알림 (2) 디코더 출력이 끝남을 알림)을
필요로 한다
4. 대화형 챗봇, 번역 등 폭넓게 활용
seq 2 seq
1. CNN 의 모델중 하나인 GAN과 유사한 구조를 갖는다
2. GAN은 전방향 학습망 으로써, 입력 이미지와 출력 이미지
중간과정이 별도로 관리가 되지 않아 학습할 때마다 다른
결과를 출력한다
3. 반면 seq2seq 는 보다 일관성 있는 결과물을 출력한다
[실습Code] - 번역봇
1. 영문과 이에 대응하는 한글을 학습
2. 객체들은 One-Hot Encoding을 활용
3. 한글 과 영문의 갯수는 정교한 학습을 위해 동일하게 한다
4. 글자수가 다른 내용을 학습 할 경우는 Padding 기호를
활용
seq2seq Tensorflow - 학습에 사용할 영문과 한글을 정의한다
seq2seq Tensorflow - encoder 와 decoder 를 정의한다
seq2seq Tensorflow - 모델을 학습한다
seq2seq Tensorflow - 학습 모델로 단어를 예측해본다
Attention
CNN - LSTM
Attention 모델 - 뉴스 제목 추출하기
seq 2 seq
1. seq2seq 에서 LSTM의 연속적인 분석능력을 Encoder 와
Decoder 로 연결하여 2배의 길이의 성능을 활용
2. 하지만 길이가 4, 5이 아닌 20개 30개의 LSTM을 seq2seq
로 만든다면 그 성능또한 한계가 존재
3. LSTM 셀들의 가중치를 별도로 학습하는 보조 Cell을
추가하여 다양한 길이의 객체도 학습가능한 모델을 제안
CNN LSTM -attention
CNN LSTM -attention
https://www.oreilly.com/ideas/interpretability-
via-attentional-and-memory-based-interfaces-
using-tensorflow
Image Detection
Attention and LSTM
MS COCO - http://cocodataset.org/#explore
GRU - LSTM과 유사 / 압축모델로 속도가 빠르다
GRU - LSTM과 유사 / 압축모델로 속도가 빠르다
1. GRU는 게이트가 2개이고, LSTM은 3개입니다.
2. 입력 게이트와 포겟 게이트가 업데이트 게이트 z로
합쳐졌고, 리셋 게이트 r은 이전 hidden state 값에 바로
적용됩니다.
3. GRU는 파라미터 수가 적어서 학습이 빠르고 적은
데이터로도 학습이 가능
4. GRU는 상당히 최근기술로(2014), 장단점이 확실히
밝혀지지는 않다
https://aikorea.org/blog/rnn-tutorial-4/
[예제 Code]
http://nbviewer.jupyter.org/github/Sanand007/Ima
ge-captioning/blob/master/evaluate_model.ipynb
Review
마치며
번역기 자막의 수준
인간번역 자막의 논란
1. 3행시, 끝말 잇기, 말투 따라하기, 단문분석
2. (Business) 짜임새 있게 잘 구성된 글을 대상으로
1 문장구조를 분석하여 핵심을 추출
2 주제 부분과 설명 부분을 구분
3 글의 완결성의 판단
Deep Learning 실습들
1. 내용/단점이 파악가능 해야 개선점을 찾기쉽다
2. 딥러닝은 자료의 최선의 해를 블랙박스로 추출
3. 학습모델의 구조/ 장단점 분석 작업이 필요 (RB모델)
(딥러닝 모델의 단점을 찾는 딥러닝, 찾는 딥러닝의 단점을 찾는 딥러닝…..)
Deep Learning의 한계
오늘의 수업을 마무리 하며
1. Simple is the Best
2. Big Bang 이론은 Not Yet..
3. 단계를 세분화 하고, rule based 로 안정성 추구
4. 통계적 기초, 선형대수 및 미적분의 기본개념 등 수학적
지식의 추가는, 보다 정교한 이해가 가능하다
1. 국립국어원 정보나눔터 (link)
2. 한글 말뭉치 2007년에 멈춘이유 (기사)
3. 2017년 11월 2차 세종계획 추진 (기사)
4. 분석기사 (기사)
5. 기초 자료의 부족을 딥러닝으로 해결
2018 ~ 2022 2차 세종계획 추진 (문체부, 국립국어원)
Q/A
수고하셨습니
다

More Related Content

PDF
파이썬과 자연어 5 | 딥러닝
PDF
자연어4 | 1차강의
PDF
파이썬을 활용한 자연어 분석 - 2차
PDF
파이썬과 자연어 1 | Word Cloud
PDF
서울 R&D 캠퍼스 자연어 수업자료
PDF
파이썬과 자연어 4 | word/doc2vec
PDF
메이크챗봇 자연어기초
PDF
파이썬을 활용한 자연어 분석
파이썬과 자연어 5 | 딥러닝
자연어4 | 1차강의
파이썬을 활용한 자연어 분석 - 2차
파이썬과 자연어 1 | Word Cloud
서울 R&D 캠퍼스 자연어 수업자료
파이썬과 자연어 4 | word/doc2vec
메이크챗봇 자연어기초
파이썬을 활용한 자연어 분석

What's hot (20)

PDF
파이썬을 활용한 자연어 분석 - 추가분
PDF
파이썬과 자연어 3 | 문장구조
PDF
파이썬을 활용한 자연어분석 기초
PDF
자연어1 | 1차강의
PDF
자연어2 | 1차강의
PDF
자연어3 | 1차강의
PPTX
임태현, Text-CNN을 이용한 Sentiment 분설모델 구현
PDF
한글 언어 자원과 R: KoNLP 개선과 활용
PDF
파이썬과 자연어 2 | Sentence
PDF
파이썬을 활용한 챗봇 서비스 개발 3일차
PPTX
GNMT로 알아보는 신경망 기반 기계번역
PDF
REALM
PDF
Sequence to Sequence Learning with Neural Networks
PDF
자바, 미안하다! 파이썬 한국어 NLP
PPTX
Ropasaurusrex
PDF
Efficient Training of Bert by Progressively Stacking
PDF
Neural Machine Translation 기반의 영어-일본어 자동번역
PDF
문자 단위의 Neural Machine Translation
PDF
Python을 활용한 챗봇 서비스 개발 2일차
PPTX
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
파이썬을 활용한 자연어 분석 - 추가분
파이썬과 자연어 3 | 문장구조
파이썬을 활용한 자연어분석 기초
자연어1 | 1차강의
자연어2 | 1차강의
자연어3 | 1차강의
임태현, Text-CNN을 이용한 Sentiment 분설모델 구현
한글 언어 자원과 R: KoNLP 개선과 활용
파이썬과 자연어 2 | Sentence
파이썬을 활용한 챗봇 서비스 개발 3일차
GNMT로 알아보는 신경망 기반 기계번역
REALM
Sequence to Sequence Learning with Neural Networks
자바, 미안하다! 파이썬 한국어 NLP
Ropasaurusrex
Efficient Training of Bert by Progressively Stacking
Neural Machine Translation 기반의 영어-일본어 자동번역
문자 단위의 Neural Machine Translation
Python을 활용한 챗봇 서비스 개발 2일차
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Ad

Similar to 자연어5 | 1차강의 (20)

PPTX
Chapter 10 sequence modeling recurrent and recursive nets
PDF
[기초개념] Recurrent Neural Network (RNN) 소개
PDF
LSTM 네트워크 이해하기
PPTX
텐서플로우 2.0 튜토리얼 - RNN
PDF
Rnn keras
PDF
Rnn개념정리
PDF
Deep Learning for Chatbot (2/4)
PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
PDF
Neural module Network
PPTX
A neural image caption generator
PDF
2017 tensor flow dev summit
PPTX
딥러닝을 이용한 자연어처리의 연구동향
PDF
Deep Learning for Chatbot (4/4)
PDF
MultiModal Embedding integrates various data types, like images, text, and au...
PDF
순환신경망(Recurrent neural networks) 개요
PPTX
Convolutional rnn
PDF
연구실 세미나 Show and tell google image captioning
 
PDF
딥러닝 기반의 자연어처리 최근 연구 동향
PDF
Convoutional sequence to sequence
PDF
[한국어] Neural Architecture Search with Reinforcement Learning
Chapter 10 sequence modeling recurrent and recursive nets
[기초개념] Recurrent Neural Network (RNN) 소개
LSTM 네트워크 이해하기
텐서플로우 2.0 튜토리얼 - RNN
Rnn keras
Rnn개념정리
Deep Learning for Chatbot (2/4)
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Neural module Network
A neural image caption generator
2017 tensor flow dev summit
딥러닝을 이용한 자연어처리의 연구동향
Deep Learning for Chatbot (4/4)
MultiModal Embedding integrates various data types, like images, text, and au...
순환신경망(Recurrent neural networks) 개요
Convolutional rnn
연구실 세미나 Show and tell google image captioning
 
딥러닝 기반의 자연어처리 최근 연구 동향
Convoutional sequence to sequence
[한국어] Neural Architecture Search with Reinforcement Learning
Ad

자연어5 | 1차강의

  • 3. 딥러닝 자연어 활용 1. Word2Vec, Doc2Vec 2. CNN 3. RNN 4. LSTM 5. Seq2Seq 6. Attention http://visionigniter.blogspot.com/2017/03/word2vec-visualization-wtensorflow.html
  • 4. CNN
  • 6. CNN을 활용한 자연어 분석 1. 전방향 합성곱 신경망 2. 방대한 데이터 중 특징적인 부분을 추출하는 기법 3. Text 분류를 CNN을 사용하여 훈련모델을 생성 [Blog]
  • 7. RNN
  • 8. RNN 1. 전방향 신경망 : 회귀모델, 베이지안, CNN 2. 순환 신경망 : Recurrent Neual Network 3. 입력뉴런, 연결뉴런, 출력뉴런등이 연결되어 있다 4. Gate 반복에 따라 각기 다른 결과값을 Cell위치에서 저장 5. 저장된 다른 위상 값 들을 평균 또는 합 등을 구함으로써 압축 가능하다
  • 9. RNN CELL Recurrent Neual Network 인풋과 아웃풋을 모두 받는 네트워크 구조로써 다양하고 유연한 구조를 만들 수 있다.
  • 14. LSTM 유닛구조 1. 유지게이트 : 앞의 Cell에서 넘어온 정보 중, 오래된 삭제할 정보와 유지할 정보를 Sigmoid 뉴런으로 구분한다 2. 쓰기게이트 : 위에서 구분한 정보중 필요한 정보(tan h)를 판단 후 상태변환/유지 여부를 파악 후 처리를 한다 3. 출력게이트 : 쓰기게이트와 유사한 구조를 갖고서 최종 결과물을 판단, 처리를 한다
  • 15. LSTM RNN CELL Recurrent Neual Network https://medium.com/@apiltamang/unmasking-a-vanilla-rnn-what-lies-beneath-912120f7e56c the recurrent connection allows the network to remember what it learned in the previous step.
  • 17. LSTM 의 장점 1. Gate는 공식들 연결 가운데 Noise를 발생 2. Noise를 활용하여 위상차이(반복횟수)를 구분한다 3. 또는 Gate 통과 전/이후의 값의 차이를 활용하는 등 다양한 시간차를 인식 가능하다 4. Sequence(연속적) 형태인 원본 데이터를 학습하기 용이하다 (HMM 보다 다양한 모델을 구축가능)
  • 18. [실습Code] - 단어 어휘 예측하기 1. 3개의 알파벳을 입력하면, 나머지 알파벳 1개를 정확하게 예측하는 모델을 학습한다 2. 알파벳을 기본 요소로써 LSTM graph를 활용한다 3. 입력 데이터는 One hot - Encoding을 활용 4. One hot-encoding 에 적합한 별도의 batch 사용자 함수를 정의한다
  • 19. LSTM Tensorflow 알파벳 one hot encoding을 정의 후, 학습에 사용할 batch 함수를 정의한다
  • 20. LSTM Tensorflow - LSTM 파라미터, 모델 매개변수를 정의
  • 21. LSTM Tensorflow - LSTM Cell 과 모델 및 비용함수, 활성화 함수를 정의
  • 22. LSTM Tensorflow - graph 를 학습한다
  • 23. LSTM Tensorflow - 학습한 모델을 평가한다
  • 27. seq 2 seq Cell
  • 28. seq 2 seq 1. 2013년 구글에서 공개한 기계번역 신경망 모델이다 2. LSTM 인코더(A, B, C) 와 LSTM 디코더(W, X, Y,)를 연결 3. RNN의 재귀적 학습의 특성으로 인해, 특수함 심벌 ((1) 입력의 시작을 알림 (2) 디코더 출력이 끝남을 알림)을 필요로 한다 4. 대화형 챗봇, 번역 등 폭넓게 활용
  • 29. seq 2 seq 1. CNN 의 모델중 하나인 GAN과 유사한 구조를 갖는다 2. GAN은 전방향 학습망 으로써, 입력 이미지와 출력 이미지 중간과정이 별도로 관리가 되지 않아 학습할 때마다 다른 결과를 출력한다 3. 반면 seq2seq 는 보다 일관성 있는 결과물을 출력한다
  • 30. [실습Code] - 번역봇 1. 영문과 이에 대응하는 한글을 학습 2. 객체들은 One-Hot Encoding을 활용 3. 한글 과 영문의 갯수는 정교한 학습을 위해 동일하게 한다 4. 글자수가 다른 내용을 학습 할 경우는 Padding 기호를 활용
  • 31. seq2seq Tensorflow - 학습에 사용할 영문과 한글을 정의한다
  • 32. seq2seq Tensorflow - encoder 와 decoder 를 정의한다
  • 33. seq2seq Tensorflow - 모델을 학습한다
  • 34. seq2seq Tensorflow - 학습 모델로 단어를 예측해본다
  • 36. Attention 모델 - 뉴스 제목 추출하기
  • 37. seq 2 seq 1. seq2seq 에서 LSTM의 연속적인 분석능력을 Encoder 와 Decoder 로 연결하여 2배의 길이의 성능을 활용 2. 하지만 길이가 4, 5이 아닌 20개 30개의 LSTM을 seq2seq 로 만든다면 그 성능또한 한계가 존재 3. LSTM 셀들의 가중치를 별도로 학습하는 보조 Cell을 추가하여 다양한 길이의 객체도 학습가능한 모델을 제안
  • 42. MS COCO - http://cocodataset.org/#explore
  • 43. GRU - LSTM과 유사 / 압축모델로 속도가 빠르다
  • 44. GRU - LSTM과 유사 / 압축모델로 속도가 빠르다 1. GRU는 게이트가 2개이고, LSTM은 3개입니다. 2. 입력 게이트와 포겟 게이트가 업데이트 게이트 z로 합쳐졌고, 리셋 게이트 r은 이전 hidden state 값에 바로 적용됩니다. 3. GRU는 파라미터 수가 적어서 학습이 빠르고 적은 데이터로도 학습이 가능 4. GRU는 상당히 최근기술로(2014), 장단점이 확실히 밝혀지지는 않다 https://aikorea.org/blog/rnn-tutorial-4/
  • 50. 1. 3행시, 끝말 잇기, 말투 따라하기, 단문분석 2. (Business) 짜임새 있게 잘 구성된 글을 대상으로 1 문장구조를 분석하여 핵심을 추출 2 주제 부분과 설명 부분을 구분 3 글의 완결성의 판단 Deep Learning 실습들
  • 51. 1. 내용/단점이 파악가능 해야 개선점을 찾기쉽다 2. 딥러닝은 자료의 최선의 해를 블랙박스로 추출 3. 학습모델의 구조/ 장단점 분석 작업이 필요 (RB모델) (딥러닝 모델의 단점을 찾는 딥러닝, 찾는 딥러닝의 단점을 찾는 딥러닝…..) Deep Learning의 한계
  • 52. 오늘의 수업을 마무리 하며 1. Simple is the Best 2. Big Bang 이론은 Not Yet.. 3. 단계를 세분화 하고, rule based 로 안정성 추구 4. 통계적 기초, 선형대수 및 미적분의 기본개념 등 수학적 지식의 추가는, 보다 정교한 이해가 가능하다
  • 53. 1. 국립국어원 정보나눔터 (link) 2. 한글 말뭉치 2007년에 멈춘이유 (기사) 3. 2017년 11월 2차 세종계획 추진 (기사) 4. 분석기사 (기사) 5. 기초 자료의 부족을 딥러닝으로 해결 2018 ~ 2022 2차 세종계획 추진 (문체부, 국립국어원)
  • 54. Q/A