SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
VGLAB 이명규CNN for Sentence Classification
문장 분류를 위한
합성곱 신경망
CNN for Sentence
Classification
VGLAB 이명규CNN for Sentence Classification
AGENDA
01
02
03
04
05
논문소개 및 논문 선정 이유
Word Embeddings
Classification
Experiments and Conclusion
한국어를 위한 문장분류 방법
VGLAB 이명규CNN for Sentence Classification
논문소개 및
논문 선정 이유
Part 01
VGLAB 이명규CNN for Sentence Classification
↳
논문소개 및 논문 선정 이유
1. Convolutional Neural Networks for
Sentence Classification
Part 01
• 2014년 EMNLP(Empirical Methods on Natural Language Processing)에서
발표된 논문
• Submitted on 25 Aug 2014 (v1), last revised 3 Sep 2014 (v2)
• 저자 : Yoon Kim (New York University)
• 1236회 인용됨
VGLAB 이명규CNN for Sentence Classification
↳
논문소개 및 논문 선정 이유
1. Convolutional Neural Networks for
Sentence Classification
Part 01
• 문장 수준의 분류 문제에 word vector와
합성곱 신경망(CNN)을 도입한 연구
• NLP에 CNN을 적용했을 때 모델이 단순해도
word2vec 모델로 미리 훈련하면 높은 성능을 낼 수 있을까?
• 선행 연구에서 CNN을 1개 층만 활용했는데, 이것을
멀티 채널로 늘려 보면 어떨까?
VGLAB 이명규CNN for Sentence Classification
↳
논문소개 및 논문 선정 이유
2. A Syllable-based Technique for Word Embeddings of
Korean Words
Part 01
• 2017년 발표된 국내 논문
• The 28th Annual Conference on HCLT(Human & Cognitive Language Technology) 논문집
• 저자 : Sanghyuk Choi(서울대학교), Jinseok Seol(연세대학교),
Sang-goo Lee(서울대학교)
VGLAB 이명규CNN for Sentence Classification
↳
논문소개 및 논문 선정 이유
2. A Syllable-based Technique for Word Embeddings of
Korean Words
Part 01
• 한국어에 최적화된 단어 임베딩 학습 방법 분석
• 한국어에 대해 최적의 성능을 낼 수 있는 학습용 말뭉치와
적합한 하이퍼 파라미터를 찾고 파라미터가 성능에 미치는
영향 및 결과 분석
VGLAB 이명규CNN for Sentence Classification
↳
논문소개 및 논문 선정 이유
두 논문의 선정 이유
Part 01
• SKT Nugu, Amazon Alexa, Naver Clova 등
NLP 기술이 들어간 인공지능 스피커의 원리가 뭘까?
• 그렇다면 이 원리를 어떻게 한국어를 위한 문장분류 문제에
적용할 수 있을까?
VGLAB 이명규CNN for Sentence Classification
Word Embeddings
Part 02
VGLAB 이명규CNN for Sentence Classification
↳
Word Embeddings
기존의 자연어 처리 방식
Part 02
• Word Embedding은 컴퓨터가 어떤 단어에 대해 인지할 수
있도록 수치적인 방식으로 단어를 표현하는 것
• 단순 수치화를 통해서는 단어의 개념적인 차이를 나타내기가
힘들기 때문에 One-hot encoding 방식을 주로 사용해 왔음.
• Softmax로 구한 값 중에서 가장 큰 값을 1로, 나머지를 0으로 만듬.
• Naive Bayes 분류를 이용한 스팸 분류기가 One-hot encoding의 예시 중 하나
• 컴퓨터가 단어들 간의 관계를 이해한다고 볼 수는 없기 때문에 한계가 명확하다.
VGLAB 이명규CNN for Sentence Classification
↳
Word Embeddings
Word2vec 모델
Part 02
• 단어 간 관계를 표현하기 위해 단어 자체의 의미를
벡터화하여 표현하는 모델
• 1980년대부터 관련 연구가 진행되어 옴
• 2000년대 들어 NNLM(Neural Network based Language Model)과
RNNLM(Recurrent NNLM)으로 발전
• 이후 CBOW와 Skip-gram 두 가지의 아키텍쳐 모델을
포함하고 있는 구글의 Word2vec으로 발전
VGLAB 이명규CNN for Sentence Classification
↳
Word Embeddings
Using word embeddings as features in classification
Part 02
• Word embedding은 분류를 위한 Classifier로
사용될 수 있다.
• 기존의 다양한 NLP들도 물론 가능
• 단순히 Word embedding만으로 문장을 분류하는
것은 다소 정교하지 못하기 때문에 좀 더 복잡한
방법으로 구성하고자 함
VGLAB 이명규CNN for Sentence Classification
Classification
Part 03
VGLAB 이명규CNN for Sentence Classification
↳
• 기존의 최신 정서 분석 기법을 크게
확장한 모델(감정분석을 위해 디자인된 모델)
• Recursive Network 계열에서 좋은
성능을 보임
• 합성 함수는 Tensor로 표현되며,
Tensor의 각 슬라이스는 다른 구성을
인코딩하는 구조
RNTN(Recursive Neural Tensor Networks)
Socher et al.,"Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank", EMNLP 2013
ClassificationPart 03
VGLAB 이명규CNN for Sentence Classification
↳
Classification
RNTN(Recursive Neural Tensor Networks)
Part 03
• 단어마다 긍정, 부정의 극성(Polarity)이 태깅되어 있는 형태
• 극성이라는 레이블 정보가 주어진 파싱 트리를 기반으로
단어나 구를 벡터로 임베딩하고, 임베딩된 벡터를 통해
레이블을 예측하는 모델.
• 구절(Phrase-level) 수준의 분류는 느린 속도를 보인다.
VGLAB 이명규CNN for Sentence Classification
↳
Classification
CNN(Convolutional Neural Networks)
Part 03
• 컴퓨터 비전을 위해 처음 제안된 개념으로, 거의 모든 현대의 컴퓨터 비전
시스템은 CNN을 사용 중
• Collobert와 Weston이 CNN을 사용하여 POS(Part-Of-Speech) tagging 및
SRL(Semantic role labeling) 등의 NLP 작업에서 최고의 결과를 냄
• CNN이 적용된 대부분의 네트워크들은 여러 개의 합성곱 레이어를
사용하여 매우 복잡한 구조를 가짐.
• 의미론적 파싱, 감정 분석 등 NLP분야에서 점점 유명해지고 있음
• 본 논문에서 사용한 CNN 아키텍쳐 모델의 출처는 Collobert의 JLMR
2011년 논문인 “Natural Language Processing (almost) from Scratch”
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Multi-channel CNN
Part 03
• 채널을 두 개로 나누어 연산하는 모델(두 채널은 모두 word2vec으로 initialize)
• Static : Word Vector가 Training중에 변하지 않는 채널
• Non-static : Word Vector를 Backpropagation을 통해 fine-tune
하여 조정하는 채널
• Backpropagation과 fine tune
• Backpropagation : Output neuron에서 계산된 오류를 각 edge들의 weight를 통해 바로 이
전 레이어의 neuron들이 얼마나 오류에 영향을 미쳤는지 계산하는 것. (정보가 Output에서 hidden
으로 흐르기 때문에 backpropagation 이라고 함.)
• Fine tuning : 이미 존재하는 모델에 추가 데이터를 투입, 파라미터를 업데이트함으로서
미세하게 조정하는 행위
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Multi-channel CNN
Part 03
• CNN-Static
• 간단한 모델일지라도 훌륭한 성능을 보임
(CNN-Rand는 CNN을 사용했지만 Word Vector의 개념은 사용하지 않은 모델)
• 모든 데이터 세트에 대해 동일한 hyperparameters를 갖는다.
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Multi-channel CNN
Part 03
• CNN-Nonstatic
• 각 작업마다 임베딩에 대한 fine-tunning을 수행
• Fine-tunning Vector를 통해 임베딩하므로 CNN-Static에 비해 성능이 썩 좋지는 않음
• CNN-Static이 Backpropagation으로 feature maps까지만 연산한다면,
CNN-Nonstatic은 인풋 레이어의 Word Vector까지도 고려하여 학습
VGLAB 이명규CNN for Sentence Classification
↳
Classification
왜 Non-static 모델을 사용하는가?
Part 03
• CNN-Static 모델에서는 벡터의 위치만 같으면
비슷한 단어로 인식
• Bad와 Good, terrible, horrible, lousy가 비슷한 위치에서
여러 번 등장하면 비슷한 단어로 인식함.
• 따라서 인풋 레이어까지도 Backpropagation의
대상으로 포함시켜 학습시킴으로서 단어의
의미를 더 잘 이해할 수 있도록 함.
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Multi-channel CNN
Part 03
• n은 문장 속 단어의 개수, k는 Word Vector의 dimension, h는 filter
window size를 의미
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Multi-channel CNN
Part 03
• 길이 n의 문장은 다음과 같이 word vector 𝑿𝑿𝒊𝒊를 연결하여 다음과 같은
수식으로 표현 가능
• ⊕는 concatenation 연산을 의미
• 합성곱 연산은 윈도우 크기(=filter window size) 단위로 이뤄짐
VGLAB 이명규CNN for Sentence Classification
↳ Multi-channel CNN
• filter의 Weight w에 대하여 feature 𝒄𝒄𝒊𝒊는 다음과 같이 계산된다.
𝒃𝒃는 bias, 𝑓𝑓는 ReLU 함수를 의미
• {𝑿𝑿𝟏𝟏:𝒉𝒉, 𝑿𝑿𝟐𝟐:𝒉𝒉+𝟏𝟏, . . . , 𝑿𝑿𝒏𝒏−𝒉𝒉+𝟏𝟏:𝒏𝒏} 에 필터를 적용하면 아래와 같은 feature map을
구할 수 있다.
얻어진 feature map에 max-pooling 연산을 거쳐 뽑아낸 최대값을
fully-connected layer에 집어넣고, dropout을 적용한 다음 마지막 단에서
softmax 출력을 계산한다.
ClassificationPart 03
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Dropout
Part 03
• Dropout은 망의 크기가 커질 경우 Overfitting 문제를 피
하기 위한 regularization 방법 중 하나
• Hinton이 hidden unit들의 동조화(co-adaptation)를 방지하기 위해
제안한 개념
• 망에 있는 모든 레이어들에 대해 학습을 수행하는 것이 아닌,
forward propagation 동안 Input layer나 hidden layer의
일부 뉴런을 생략하고 줄어든 신경망을 통해 학습을 수행하는 것
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Dropout
Part 03
• 일정한 mini batch 구간 동안 생략된 망에 대한 학습 후
다시 무작위로 다른 뉴런들을 생략하면서 반복적인 학습을
수행한다.
• 𝑳𝑳𝟐𝟐 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 > 𝑠𝑠가 될 때마다 𝑳𝑳𝟐𝟐 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 𝑠𝑠이 되도록
gradient step 이후에 weight를 조정한다.
VGLAB 이명규CNN for Sentence Classification
↳
Classification
Multi-channel CNN 정리
Part 03
• 입력층은 Word2vec을 통해 단어 임베딩을 연결한
문장으로 구성
• 그 다음 Multiple filter를 가진 합성곱 층과 max-pooling
층을 연결
• 마지막으로 Dropout을 적용한 다음 softmax 출력을 계산
VGLAB 이명규CNN for Sentence Classification
Experiments and
Conclusion
Part 04
VGLAB 이명규CNN for Sentence Classification
↳
Experiments and Conclusion
실험환경과 데이터셋
Part 04
• Convolutional Layer : 1 layer(with ReLU)
• Filter Window Size : 3, 4, 5 with 100 feature maps each(total 300)
• Regularization : Dropout(rate 0.5), 𝑳𝑳𝟐𝟐 norm constraint
• Mini-batch size : 50
• SGD with Adadelta
• Dataset : 구글 Word2vec의 Pre-trained embedding 사용
VGLAB 이명규CNN for Sentence Classification
↳
Experiments and Conclusion
실험에 사용된 모델
Part 04
• CNN-rand : word2vec을 사용하지 않고 모든 단어를 무작위로 초기화
• CNN-Static : Pre-trained word2vec을 사용하고, Word Vector가
Training중에 변하지 않음
• CNN-Nonstatic : Pre-trained word2vec을 사용하고, Word Vector를
학습하는 중에 fine-tunning 수행
• CNN-Multichannel : CNN-Static 모델과 CNN-Nonstatic 모델을
둘 다 사용하는 모델
VGLAB 이명규CNN for Sentence Classification
↳
Experiments and Conclusion
실험 결과
Part 04
• NLP에 CNN을 적용했을때 word2vec으로 pre-training한 데이터를 사용하면
간단한 네트워크임에도 불구하고 높은 성능을 낼 수 있다
VGLAB 이명규CNN for Sentence Classification
↳
Experiments and Conclusion
실험 요약
Part 04
• CNN-rand : 성능이 이하 세 모델들에 비해 그리 좋지 않음
• CNN-Static : word2vec를 도입함으로서 성능을 월등히 개선할 수 있었음
• CNN-Nonstatic : static 방식에 비해 fine-tunning을 수행함으로서 얻는
효과는 미미하지만 감정 분류에 도움이 됨
• CNN-Multichannel : Static과 non-static 모델을 결합함으로서 기대되는
괄목할 만한 성능 향상은 없지만 단어 간의 관계를 잘 이해함(큰 차이는 없음)
VGLAB 이명규CNN for Sentence Classification
↳
Experiments and Conclusion
결론
Part 04
• CNN을 적용한 NLP에서 CNN 모델이 단순하더라도
pre-trained word2vec을 사용하면 더 높은 성능을 낼 수 있다
• Word2vec이 다른 word vector 방식들보다 훨씬 성능이 뛰어남
• Hyperparameters를 거의 튜닝하지 않고,
하나의 convolution layer를 가진 CNN이라도 잘 실행됨을 알 수 있음
• Dropout이 regularizer로서 잘 작동하며, 2~4% 정도의 개선 효과가 있음
• Adadelta는 Adgrad와 비슷한 결과를 내지만 더 적은 수의 epoch로도 충분
VGLAB 이명규CNN for Sentence Classification
한국어를 위한
문장분류 방법
Part 05
VGLAB 이명규CNN for Sentence Classification
↳
한국어를 위한 문장분류 방법
A Syllable-based Technique for Word Embeddings of
Korean Words
Part 05
• 한국어는 교착어이기 때문에 영어 기반의 단어 임베딩은
적합하지 않음.
• 영어를 비롯한 라틴 문자 기반의 언어는 word2vec 모델이 가장 높은 성능을 냄.
• 본 논문에서는 GloVe, Word2vec에서 제안하고 있는
학습 모델을 사용
• Word2vec 방식을 사용하기 위해 오픈 소스인
꼬꼬마 형태소 분석기, 트위터 형태소 분석기를 통해
형태소 품사 태그를 분류하는 전처리 수행
VGLAB 이명규CNN for Sentence Classification
↳
• 전처리 과정을 수행한 이유
• 한국어는 문장에서 어근이 독립적으로 존재하지 않고
다른 어절이 동일 형태소를 포함하는 경우가 다소 있기
때문
• 하나의 어근에 대해 너무 많은 형태가 존재하고,
형태에 비례해서 늘어나는 단어 수는 학습 성능을
떨어뜨리는 요인이 됨.
A Syllable-based Technique for Word Embeddings of
Korean Words
한국어를 위한 문장분류 방법Part 05
VGLAB 이명규CNN for Sentence Classification
↳
한국어를 위한 문장분류 방법
A Syllable-based Technique for Word Embeddings of
Korean Words
Part 05
• 나무위키, 한국어 위키와 뉴스 기사 크롤링 데이터로 학습 후
WS353 테스트셋으로 평가하되, 테스트셋을 한국어로
번역하여 사용
• 나무위키와 뉴스 기사를 통한 학습이 가장 좋은 결과를 냄.
• 단어 임베딩 시행 후 얻은 학습 단어와 테스트셋 단어 사이의
코사인 유사도 값과 실제 점수와의 피어슨 상관 계수를 이용해
학습을 평가
VGLAB 이명규CNN for Sentence Classification
↳
한국어를 위한 문장분류 방법
A Syllable-based Technique for Word Embeddings of
Korean Words
Part 05
• 영문 테스트셋을 한국어로 번역해 사용한다는 가정 하에,
Word2vec 방식이 현재 한국어에 적합한 단어 임베딩 학습
방법이라는 결론
• 그러나 WS353 테스트셋은 한국어 임베딩을 평가하기엔
부족하기 때문에 한국어 특성에 맞는 임베딩 평가 방법 및
데이터셋을 구축할 필요가 있음
• 한국어는 새로 추가되는 어휘들이 노이즈로 작용되는 경우가
종종 있기 때문에 학습 데이터 크기와 성능이 비례하진 않음.
VGLAB 이명규CNN for Sentence Classification
출처
• Yoon Kim의 본 논문 ‘Convolutional Neural Networks for Sentence Classification’ (https://arxiv.org/abs/1408.5882)
• Yoon Kim의 논문 요약 슬라이드 (http://www.people.fas.harvard.edu/~yoonkim/data/sent-cnn-slides.pdf)
• BEOMSU KIM의 'word2vec 관련 이론 정리' 블로그 글 (https://goo.gl/U9DrT5)
• code.google.com의 word2vec 공식 페이지 (https://code.google.com/archive/p/word2vec/)
• ‘자연어 처리 문제를 해결하는 CONVOLUTIONAL NEURAL NETWORKS 이해하기’ 블로그 글 (http://mlduck.tistory.com/)
• ‘CS231n : Neural Networks Part 2: Setting up the Data and the Loss’ (http://cs231n.github.io/neural-networks-2/)
• Jamie Kang의 ‘Convolutional Neural Networks for Sentence Classification’ 블로그 글 (https://goo.gl/T6WDGB)
• Ronan Collobert et al.,"Natural Language Processing (almost) from Scratch", 2011 (https://arxiv.org/abs/1103.0398)
• laonple의 ‘Hyperparameters Optimization[1] – 라온피플 머신러닝 아카데미’ 블로그 글 (http://blog.naver.com/laonple/220571820368)
VGLAB 이명규CNN for Sentence Classification
Thank you for Listening.

Mais conteúdo relacionado

Semelhante a (Papers Review)CNN for sentence classification

[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경NAVER D2
 
Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)Jaemin Cho
 
Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec AlgorithmHyeongmin Lee
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)Adonis Han
 
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)XAIC
 
Convoutional sequence to sequence
Convoutional sequence to sequenceConvoutional sequence to sequence
Convoutional sequence to sequenceWoodam Lim
 
Attention is all you need
Attention is all you needAttention is all you need
Attention is all you needHoon Heo
 
180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pubJaewook. Kang
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine TranslationNAVER LABS
 
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
 
Automated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep LearningAutomated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep LearningSoo Kim
 
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense DisambiguationContext2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation찬희 이
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용Youngjae Kim
 
Compressing neural language models by sparse word representation
Compressing neural language models by sparse word representationCompressing neural language models by sparse word representation
Compressing neural language models by sparse word representationBrian Kim
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesKang Pilsung
 
스마트폰 위의 딥러닝
스마트폰 위의 딥러닝스마트폰 위의 딥러닝
스마트폰 위의 딥러닝NAVER Engineering
 
댓글 감성 분석 상용화 개발기(Ver. 2)
댓글 감성 분석 상용화 개발기(Ver. 2)댓글 감성 분석 상용화 개발기(Ver. 2)
댓글 감성 분석 상용화 개발기(Ver. 2)Jeffrey Kim
 

Semelhante a (Papers Review)CNN for sentence classification (20)

[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경
 
Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)
 
Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec Algorithm
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
 
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
 
Convoutional sequence to sequence
Convoutional sequence to sequenceConvoutional sequence to sequence
Convoutional sequence to sequence
 
Attention is all you need
Attention is all you needAttention is all you need
Attention is all you need
 
180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub180624 mobile visionnet_baeksucon_jwkang_pub
180624 mobile visionnet_baeksucon_jwkang_pub
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation
 
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
 
Automated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep LearningAutomated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep Learning
 
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense DisambiguationContext2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
Review MLP Mixer
Review MLP MixerReview MLP Mixer
Review MLP Mixer
 
Compressing neural language models by sparse word representation
Compressing neural language models by sparse word representationCompressing neural language models by sparse word representation
Compressing neural language models by sparse word representation
 
Deep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniquesDeep neural networks cnn rnn_ae_some practical techniques
Deep neural networks cnn rnn_ae_some practical techniques
 
221011_BERT
221011_BERT221011_BERT
221011_BERT
 
스마트폰 위의 딥러닝
스마트폰 위의 딥러닝스마트폰 위의 딥러닝
스마트폰 위의 딥러닝
 
댓글 감성 분석 상용화 개발기(Ver. 2)
댓글 감성 분석 상용화 개발기(Ver. 2)댓글 감성 분석 상용화 개발기(Ver. 2)
댓글 감성 분석 상용화 개발기(Ver. 2)
 

Mais de MYEONGGYU LEE

(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...
(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...
(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...MYEONGGYU LEE
 
Survey of HDR & Tone Mapping Task
Survey of HDR & Tone Mapping TaskSurvey of HDR & Tone Mapping Task
Survey of HDR & Tone Mapping TaskMYEONGGYU LEE
 
Survey of Super Resolution Task (SISR Only)
Survey of Super Resolution Task (SISR Only)Survey of Super Resolution Task (SISR Only)
Survey of Super Resolution Task (SISR Only)MYEONGGYU LEE
 
Simple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution TaskSimple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution TaskMYEONGGYU LEE
 
(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...
(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...
(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...MYEONGGYU LEE
 
(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...
(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...
(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...MYEONGGYU LEE
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...
(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...
(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...MYEONGGYU LEE
 
(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...
(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...
(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...MYEONGGYU LEE
 
(Paper Review)Neural 3D mesh renderer
(Paper Review)Neural 3D mesh renderer(Paper Review)Neural 3D mesh renderer
(Paper Review)Neural 3D mesh rendererMYEONGGYU LEE
 
(Paper Review)3D shape reconstruction from sketches via multi view convolutio...
(Paper Review)3D shape reconstruction from sketches via multi view convolutio...(Paper Review)3D shape reconstruction from sketches via multi view convolutio...
(Paper Review)3D shape reconstruction from sketches via multi view convolutio...MYEONGGYU LEE
 
(Paper Review)Image to image translation with conditional adversarial network...
(Paper Review)Image to image translation with conditional adversarial network...(Paper Review)Image to image translation with conditional adversarial network...
(Paper Review)Image to image translation with conditional adversarial network...MYEONGGYU LEE
 
(Book summary) Ensemble method 2018summerml_study
(Book summary) Ensemble method 2018summerml_study(Book summary) Ensemble method 2018summerml_study
(Book summary) Ensemble method 2018summerml_studyMYEONGGYU LEE
 
(Paper Review)Towards foveated rendering for gaze tracked virtual reality
(Paper Review)Towards foveated rendering for gaze tracked virtual reality(Paper Review)Towards foveated rendering for gaze tracked virtual reality
(Paper Review)Towards foveated rendering for gaze tracked virtual realityMYEONGGYU LEE
 
(Paper Review)Geometrically correct projection-based texture mapping onto a d...
(Paper Review)Geometrically correct projection-based texture mapping onto a d...(Paper Review)Geometrically correct projection-based texture mapping onto a d...
(Paper Review)Geometrically correct projection-based texture mapping onto a d...MYEONGGYU LEE
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...MYEONGGYU LEE
 

Mais de MYEONGGYU LEE (17)

(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...
(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...
(Paper Review) Abnormal Event Detection in Videos using Generative Adversaria...
 
Survey of HDR & Tone Mapping Task
Survey of HDR & Tone Mapping TaskSurvey of HDR & Tone Mapping Task
Survey of HDR & Tone Mapping Task
 
Survey of Super Resolution Task (SISR Only)
Survey of Super Resolution Task (SISR Only)Survey of Super Resolution Task (SISR Only)
Survey of Super Resolution Task (SISR Only)
 
Simple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution TaskSimple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution Task
 
ICCV 2019 Review
ICCV 2019 ReviewICCV 2019 Review
ICCV 2019 Review
 
(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...
(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...
(Paper Review)Few-Shot Adversarial Learning of Realistic Neural Talking Head ...
 
(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...
(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...
(Paper Review)U-GAT-IT: unsupervised generative attentional networks with ada...
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...
(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...
(Paper Review) Reconstruction of Monte Carlo Image Sequences using a Recurren...
 
(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...
(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...
(Paper Review)A versatile learning based 3D temporal tracker - scalable, robu...
 
(Paper Review)Neural 3D mesh renderer
(Paper Review)Neural 3D mesh renderer(Paper Review)Neural 3D mesh renderer
(Paper Review)Neural 3D mesh renderer
 
(Paper Review)3D shape reconstruction from sketches via multi view convolutio...
(Paper Review)3D shape reconstruction from sketches via multi view convolutio...(Paper Review)3D shape reconstruction from sketches via multi view convolutio...
(Paper Review)3D shape reconstruction from sketches via multi view convolutio...
 
(Paper Review)Image to image translation with conditional adversarial network...
(Paper Review)Image to image translation with conditional adversarial network...(Paper Review)Image to image translation with conditional adversarial network...
(Paper Review)Image to image translation with conditional adversarial network...
 
(Book summary) Ensemble method 2018summerml_study
(Book summary) Ensemble method 2018summerml_study(Book summary) Ensemble method 2018summerml_study
(Book summary) Ensemble method 2018summerml_study
 
(Paper Review)Towards foveated rendering for gaze tracked virtual reality
(Paper Review)Towards foveated rendering for gaze tracked virtual reality(Paper Review)Towards foveated rendering for gaze tracked virtual reality
(Paper Review)Towards foveated rendering for gaze tracked virtual reality
 
(Paper Review)Geometrically correct projection-based texture mapping onto a d...
(Paper Review)Geometrically correct projection-based texture mapping onto a d...(Paper Review)Geometrically correct projection-based texture mapping onto a d...
(Paper Review)Geometrically correct projection-based texture mapping onto a d...
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
 

(Papers Review)CNN for sentence classification

  • 1. VGLAB 이명규CNN for Sentence Classification 문장 분류를 위한 합성곱 신경망 CNN for Sentence Classification
  • 2. VGLAB 이명규CNN for Sentence Classification AGENDA 01 02 03 04 05 논문소개 및 논문 선정 이유 Word Embeddings Classification Experiments and Conclusion 한국어를 위한 문장분류 방법
  • 3. VGLAB 이명규CNN for Sentence Classification 논문소개 및 논문 선정 이유 Part 01
  • 4. VGLAB 이명규CNN for Sentence Classification ↳ 논문소개 및 논문 선정 이유 1. Convolutional Neural Networks for Sentence Classification Part 01 • 2014년 EMNLP(Empirical Methods on Natural Language Processing)에서 발표된 논문 • Submitted on 25 Aug 2014 (v1), last revised 3 Sep 2014 (v2) • 저자 : Yoon Kim (New York University) • 1236회 인용됨
  • 5. VGLAB 이명규CNN for Sentence Classification ↳ 논문소개 및 논문 선정 이유 1. Convolutional Neural Networks for Sentence Classification Part 01 • 문장 수준의 분류 문제에 word vector와 합성곱 신경망(CNN)을 도입한 연구 • NLP에 CNN을 적용했을 때 모델이 단순해도 word2vec 모델로 미리 훈련하면 높은 성능을 낼 수 있을까? • 선행 연구에서 CNN을 1개 층만 활용했는데, 이것을 멀티 채널로 늘려 보면 어떨까?
  • 6. VGLAB 이명규CNN for Sentence Classification ↳ 논문소개 및 논문 선정 이유 2. A Syllable-based Technique for Word Embeddings of Korean Words Part 01 • 2017년 발표된 국내 논문 • The 28th Annual Conference on HCLT(Human & Cognitive Language Technology) 논문집 • 저자 : Sanghyuk Choi(서울대학교), Jinseok Seol(연세대학교), Sang-goo Lee(서울대학교)
  • 7. VGLAB 이명규CNN for Sentence Classification ↳ 논문소개 및 논문 선정 이유 2. A Syllable-based Technique for Word Embeddings of Korean Words Part 01 • 한국어에 최적화된 단어 임베딩 학습 방법 분석 • 한국어에 대해 최적의 성능을 낼 수 있는 학습용 말뭉치와 적합한 하이퍼 파라미터를 찾고 파라미터가 성능에 미치는 영향 및 결과 분석
  • 8. VGLAB 이명규CNN for Sentence Classification ↳ 논문소개 및 논문 선정 이유 두 논문의 선정 이유 Part 01 • SKT Nugu, Amazon Alexa, Naver Clova 등 NLP 기술이 들어간 인공지능 스피커의 원리가 뭘까? • 그렇다면 이 원리를 어떻게 한국어를 위한 문장분류 문제에 적용할 수 있을까?
  • 9. VGLAB 이명규CNN for Sentence Classification Word Embeddings Part 02
  • 10. VGLAB 이명규CNN for Sentence Classification ↳ Word Embeddings 기존의 자연어 처리 방식 Part 02 • Word Embedding은 컴퓨터가 어떤 단어에 대해 인지할 수 있도록 수치적인 방식으로 단어를 표현하는 것 • 단순 수치화를 통해서는 단어의 개념적인 차이를 나타내기가 힘들기 때문에 One-hot encoding 방식을 주로 사용해 왔음. • Softmax로 구한 값 중에서 가장 큰 값을 1로, 나머지를 0으로 만듬. • Naive Bayes 분류를 이용한 스팸 분류기가 One-hot encoding의 예시 중 하나 • 컴퓨터가 단어들 간의 관계를 이해한다고 볼 수는 없기 때문에 한계가 명확하다.
  • 11. VGLAB 이명규CNN for Sentence Classification ↳ Word Embeddings Word2vec 모델 Part 02 • 단어 간 관계를 표현하기 위해 단어 자체의 의미를 벡터화하여 표현하는 모델 • 1980년대부터 관련 연구가 진행되어 옴 • 2000년대 들어 NNLM(Neural Network based Language Model)과 RNNLM(Recurrent NNLM)으로 발전 • 이후 CBOW와 Skip-gram 두 가지의 아키텍쳐 모델을 포함하고 있는 구글의 Word2vec으로 발전
  • 12. VGLAB 이명규CNN for Sentence Classification ↳ Word Embeddings Using word embeddings as features in classification Part 02 • Word embedding은 분류를 위한 Classifier로 사용될 수 있다. • 기존의 다양한 NLP들도 물론 가능 • 단순히 Word embedding만으로 문장을 분류하는 것은 다소 정교하지 못하기 때문에 좀 더 복잡한 방법으로 구성하고자 함
  • 13. VGLAB 이명규CNN for Sentence Classification Classification Part 03
  • 14. VGLAB 이명규CNN for Sentence Classification ↳ • 기존의 최신 정서 분석 기법을 크게 확장한 모델(감정분석을 위해 디자인된 모델) • Recursive Network 계열에서 좋은 성능을 보임 • 합성 함수는 Tensor로 표현되며, Tensor의 각 슬라이스는 다른 구성을 인코딩하는 구조 RNTN(Recursive Neural Tensor Networks) Socher et al.,"Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank", EMNLP 2013 ClassificationPart 03
  • 15. VGLAB 이명규CNN for Sentence Classification ↳ Classification RNTN(Recursive Neural Tensor Networks) Part 03 • 단어마다 긍정, 부정의 극성(Polarity)이 태깅되어 있는 형태 • 극성이라는 레이블 정보가 주어진 파싱 트리를 기반으로 단어나 구를 벡터로 임베딩하고, 임베딩된 벡터를 통해 레이블을 예측하는 모델. • 구절(Phrase-level) 수준의 분류는 느린 속도를 보인다.
  • 16. VGLAB 이명규CNN for Sentence Classification ↳ Classification CNN(Convolutional Neural Networks) Part 03 • 컴퓨터 비전을 위해 처음 제안된 개념으로, 거의 모든 현대의 컴퓨터 비전 시스템은 CNN을 사용 중 • Collobert와 Weston이 CNN을 사용하여 POS(Part-Of-Speech) tagging 및 SRL(Semantic role labeling) 등의 NLP 작업에서 최고의 결과를 냄 • CNN이 적용된 대부분의 네트워크들은 여러 개의 합성곱 레이어를 사용하여 매우 복잡한 구조를 가짐. • 의미론적 파싱, 감정 분석 등 NLP분야에서 점점 유명해지고 있음 • 본 논문에서 사용한 CNN 아키텍쳐 모델의 출처는 Collobert의 JLMR 2011년 논문인 “Natural Language Processing (almost) from Scratch”
  • 17. VGLAB 이명규CNN for Sentence Classification ↳ Classification Multi-channel CNN Part 03 • 채널을 두 개로 나누어 연산하는 모델(두 채널은 모두 word2vec으로 initialize) • Static : Word Vector가 Training중에 변하지 않는 채널 • Non-static : Word Vector를 Backpropagation을 통해 fine-tune 하여 조정하는 채널 • Backpropagation과 fine tune • Backpropagation : Output neuron에서 계산된 오류를 각 edge들의 weight를 통해 바로 이 전 레이어의 neuron들이 얼마나 오류에 영향을 미쳤는지 계산하는 것. (정보가 Output에서 hidden 으로 흐르기 때문에 backpropagation 이라고 함.) • Fine tuning : 이미 존재하는 모델에 추가 데이터를 투입, 파라미터를 업데이트함으로서 미세하게 조정하는 행위
  • 18. VGLAB 이명규CNN for Sentence Classification ↳ Classification Multi-channel CNN Part 03 • CNN-Static • 간단한 모델일지라도 훌륭한 성능을 보임 (CNN-Rand는 CNN을 사용했지만 Word Vector의 개념은 사용하지 않은 모델) • 모든 데이터 세트에 대해 동일한 hyperparameters를 갖는다.
  • 19. VGLAB 이명규CNN for Sentence Classification ↳ Classification Multi-channel CNN Part 03 • CNN-Nonstatic • 각 작업마다 임베딩에 대한 fine-tunning을 수행 • Fine-tunning Vector를 통해 임베딩하므로 CNN-Static에 비해 성능이 썩 좋지는 않음 • CNN-Static이 Backpropagation으로 feature maps까지만 연산한다면, CNN-Nonstatic은 인풋 레이어의 Word Vector까지도 고려하여 학습
  • 20. VGLAB 이명규CNN for Sentence Classification ↳ Classification 왜 Non-static 모델을 사용하는가? Part 03 • CNN-Static 모델에서는 벡터의 위치만 같으면 비슷한 단어로 인식 • Bad와 Good, terrible, horrible, lousy가 비슷한 위치에서 여러 번 등장하면 비슷한 단어로 인식함. • 따라서 인풋 레이어까지도 Backpropagation의 대상으로 포함시켜 학습시킴으로서 단어의 의미를 더 잘 이해할 수 있도록 함.
  • 21. VGLAB 이명규CNN for Sentence Classification ↳ Classification Multi-channel CNN Part 03 • n은 문장 속 단어의 개수, k는 Word Vector의 dimension, h는 filter window size를 의미
  • 22. VGLAB 이명규CNN for Sentence Classification ↳ Classification Multi-channel CNN Part 03 • 길이 n의 문장은 다음과 같이 word vector 𝑿𝑿𝒊𝒊를 연결하여 다음과 같은 수식으로 표현 가능 • ⊕는 concatenation 연산을 의미 • 합성곱 연산은 윈도우 크기(=filter window size) 단위로 이뤄짐
  • 23. VGLAB 이명규CNN for Sentence Classification ↳ Multi-channel CNN • filter의 Weight w에 대하여 feature 𝒄𝒄𝒊𝒊는 다음과 같이 계산된다. 𝒃𝒃는 bias, 𝑓𝑓는 ReLU 함수를 의미 • {𝑿𝑿𝟏𝟏:𝒉𝒉, 𝑿𝑿𝟐𝟐:𝒉𝒉+𝟏𝟏, . . . , 𝑿𝑿𝒏𝒏−𝒉𝒉+𝟏𝟏:𝒏𝒏} 에 필터를 적용하면 아래와 같은 feature map을 구할 수 있다. 얻어진 feature map에 max-pooling 연산을 거쳐 뽑아낸 최대값을 fully-connected layer에 집어넣고, dropout을 적용한 다음 마지막 단에서 softmax 출력을 계산한다. ClassificationPart 03
  • 24. VGLAB 이명규CNN for Sentence Classification ↳ Classification Dropout Part 03 • Dropout은 망의 크기가 커질 경우 Overfitting 문제를 피 하기 위한 regularization 방법 중 하나 • Hinton이 hidden unit들의 동조화(co-adaptation)를 방지하기 위해 제안한 개념 • 망에 있는 모든 레이어들에 대해 학습을 수행하는 것이 아닌, forward propagation 동안 Input layer나 hidden layer의 일부 뉴런을 생략하고 줄어든 신경망을 통해 학습을 수행하는 것
  • 25. VGLAB 이명규CNN for Sentence Classification ↳ Classification Dropout Part 03 • 일정한 mini batch 구간 동안 생략된 망에 대한 학습 후 다시 무작위로 다른 뉴런들을 생략하면서 반복적인 학습을 수행한다. • 𝑳𝑳𝟐𝟐 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 > 𝑠𝑠가 될 때마다 𝑳𝑳𝟐𝟐 − 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 𝑠𝑠이 되도록 gradient step 이후에 weight를 조정한다.
  • 26. VGLAB 이명규CNN for Sentence Classification ↳ Classification Multi-channel CNN 정리 Part 03 • 입력층은 Word2vec을 통해 단어 임베딩을 연결한 문장으로 구성 • 그 다음 Multiple filter를 가진 합성곱 층과 max-pooling 층을 연결 • 마지막으로 Dropout을 적용한 다음 softmax 출력을 계산
  • 27. VGLAB 이명규CNN for Sentence Classification Experiments and Conclusion Part 04
  • 28. VGLAB 이명규CNN for Sentence Classification ↳ Experiments and Conclusion 실험환경과 데이터셋 Part 04 • Convolutional Layer : 1 layer(with ReLU) • Filter Window Size : 3, 4, 5 with 100 feature maps each(total 300) • Regularization : Dropout(rate 0.5), 𝑳𝑳𝟐𝟐 norm constraint • Mini-batch size : 50 • SGD with Adadelta • Dataset : 구글 Word2vec의 Pre-trained embedding 사용
  • 29. VGLAB 이명규CNN for Sentence Classification ↳ Experiments and Conclusion 실험에 사용된 모델 Part 04 • CNN-rand : word2vec을 사용하지 않고 모든 단어를 무작위로 초기화 • CNN-Static : Pre-trained word2vec을 사용하고, Word Vector가 Training중에 변하지 않음 • CNN-Nonstatic : Pre-trained word2vec을 사용하고, Word Vector를 학습하는 중에 fine-tunning 수행 • CNN-Multichannel : CNN-Static 모델과 CNN-Nonstatic 모델을 둘 다 사용하는 모델
  • 30. VGLAB 이명규CNN for Sentence Classification ↳ Experiments and Conclusion 실험 결과 Part 04 • NLP에 CNN을 적용했을때 word2vec으로 pre-training한 데이터를 사용하면 간단한 네트워크임에도 불구하고 높은 성능을 낼 수 있다
  • 31. VGLAB 이명규CNN for Sentence Classification ↳ Experiments and Conclusion 실험 요약 Part 04 • CNN-rand : 성능이 이하 세 모델들에 비해 그리 좋지 않음 • CNN-Static : word2vec를 도입함으로서 성능을 월등히 개선할 수 있었음 • CNN-Nonstatic : static 방식에 비해 fine-tunning을 수행함으로서 얻는 효과는 미미하지만 감정 분류에 도움이 됨 • CNN-Multichannel : Static과 non-static 모델을 결합함으로서 기대되는 괄목할 만한 성능 향상은 없지만 단어 간의 관계를 잘 이해함(큰 차이는 없음)
  • 32. VGLAB 이명규CNN for Sentence Classification ↳ Experiments and Conclusion 결론 Part 04 • CNN을 적용한 NLP에서 CNN 모델이 단순하더라도 pre-trained word2vec을 사용하면 더 높은 성능을 낼 수 있다 • Word2vec이 다른 word vector 방식들보다 훨씬 성능이 뛰어남 • Hyperparameters를 거의 튜닝하지 않고, 하나의 convolution layer를 가진 CNN이라도 잘 실행됨을 알 수 있음 • Dropout이 regularizer로서 잘 작동하며, 2~4% 정도의 개선 효과가 있음 • Adadelta는 Adgrad와 비슷한 결과를 내지만 더 적은 수의 epoch로도 충분
  • 33. VGLAB 이명규CNN for Sentence Classification 한국어를 위한 문장분류 방법 Part 05
  • 34. VGLAB 이명규CNN for Sentence Classification ↳ 한국어를 위한 문장분류 방법 A Syllable-based Technique for Word Embeddings of Korean Words Part 05 • 한국어는 교착어이기 때문에 영어 기반의 단어 임베딩은 적합하지 않음. • 영어를 비롯한 라틴 문자 기반의 언어는 word2vec 모델이 가장 높은 성능을 냄. • 본 논문에서는 GloVe, Word2vec에서 제안하고 있는 학습 모델을 사용 • Word2vec 방식을 사용하기 위해 오픈 소스인 꼬꼬마 형태소 분석기, 트위터 형태소 분석기를 통해 형태소 품사 태그를 분류하는 전처리 수행
  • 35. VGLAB 이명규CNN for Sentence Classification ↳ • 전처리 과정을 수행한 이유 • 한국어는 문장에서 어근이 독립적으로 존재하지 않고 다른 어절이 동일 형태소를 포함하는 경우가 다소 있기 때문 • 하나의 어근에 대해 너무 많은 형태가 존재하고, 형태에 비례해서 늘어나는 단어 수는 학습 성능을 떨어뜨리는 요인이 됨. A Syllable-based Technique for Word Embeddings of Korean Words 한국어를 위한 문장분류 방법Part 05
  • 36. VGLAB 이명규CNN for Sentence Classification ↳ 한국어를 위한 문장분류 방법 A Syllable-based Technique for Word Embeddings of Korean Words Part 05 • 나무위키, 한국어 위키와 뉴스 기사 크롤링 데이터로 학습 후 WS353 테스트셋으로 평가하되, 테스트셋을 한국어로 번역하여 사용 • 나무위키와 뉴스 기사를 통한 학습이 가장 좋은 결과를 냄. • 단어 임베딩 시행 후 얻은 학습 단어와 테스트셋 단어 사이의 코사인 유사도 값과 실제 점수와의 피어슨 상관 계수를 이용해 학습을 평가
  • 37. VGLAB 이명규CNN for Sentence Classification ↳ 한국어를 위한 문장분류 방법 A Syllable-based Technique for Word Embeddings of Korean Words Part 05 • 영문 테스트셋을 한국어로 번역해 사용한다는 가정 하에, Word2vec 방식이 현재 한국어에 적합한 단어 임베딩 학습 방법이라는 결론 • 그러나 WS353 테스트셋은 한국어 임베딩을 평가하기엔 부족하기 때문에 한국어 특성에 맞는 임베딩 평가 방법 및 데이터셋을 구축할 필요가 있음 • 한국어는 새로 추가되는 어휘들이 노이즈로 작용되는 경우가 종종 있기 때문에 학습 데이터 크기와 성능이 비례하진 않음.
  • 38. VGLAB 이명규CNN for Sentence Classification 출처 • Yoon Kim의 본 논문 ‘Convolutional Neural Networks for Sentence Classification’ (https://arxiv.org/abs/1408.5882) • Yoon Kim의 논문 요약 슬라이드 (http://www.people.fas.harvard.edu/~yoonkim/data/sent-cnn-slides.pdf) • BEOMSU KIM의 'word2vec 관련 이론 정리' 블로그 글 (https://goo.gl/U9DrT5) • code.google.com의 word2vec 공식 페이지 (https://code.google.com/archive/p/word2vec/) • ‘자연어 처리 문제를 해결하는 CONVOLUTIONAL NEURAL NETWORKS 이해하기’ 블로그 글 (http://mlduck.tistory.com/) • ‘CS231n : Neural Networks Part 2: Setting up the Data and the Loss’ (http://cs231n.github.io/neural-networks-2/) • Jamie Kang의 ‘Convolutional Neural Networks for Sentence Classification’ 블로그 글 (https://goo.gl/T6WDGB) • Ronan Collobert et al.,"Natural Language Processing (almost) from Scratch", 2011 (https://arxiv.org/abs/1103.0398) • laonple의 ‘Hyperparameters Optimization[1] – 라온피플 머신러닝 아카데미’ 블로그 글 (http://blog.naver.com/laonple/220571820368)
  • 39. VGLAB 이명규CNN for Sentence Classification Thank you for Listening.