Deep Learning/NLP

본 포스팅은 BERT 이후에 출현한 DistilBERT 모델의 구조와 기존 BERT와 비교했을 때 차이점 및 개선된 점을 알아보도록 하겠습니다. DistllBERT, A Distilled version of BERT DistilBERT는 Knowledge Distillation (KD) 압축 기법을 사용하였다. 사전 학습된 대규모 BERT 모델을 기반으로 KD를 통해 소규모 BERT 모델을 학습하였다. 기존 BERT 대비 모델 사이즈를 40% 수준으로 줄이고, 97% 수준의 성능을 유지하면서 60%가량 빠른 학습 속도를 보였다. 1. Knowledge Distillation Knowledge Distillation은 사전 학습된 대형 모델(teacher)의 동작을 재현하기 위해 소형 모델(student..
본 포스팅은 BERT 이후에 출현한 ALBERT 모델의 구조와 기존 BERT와 비교했을 때 차이점 및 개선된 점을 알아보도록 하겠습니다. ALBERT (A Lite BERT For Self-Supervised Learning of Language Representation) ALBERT는 모델의 효율을 높이기 위해 모델 크기를 줄이되 성능은 향상시킨 모델이다. Input token embedding의 사이즈를 줄여서 파라미터 수를 줄였으며, Transformer layer 간의 같은 파라미터를 공유하여 파라미터 수를 줄였다. 또한 NLP 대신 SOP(Sentence Order Prediction)을 통해 사전 학습을 수행하였다. 모델의 크기가 커짐에 따라 발생하는 문제인 Memory Limitation..
본 포스팅은 BERT 이후에 출현한 ELECTRA 모델의 구조와 기존 BERT와 비교했을 때 차이점 및 개선된 점을 알아보도록 하겠습니다. ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately) ELECTRA는 기존 BERT에서 학습의 효율성에 기반하여 새로운 pre-training 방식을 제시한 버전이다. 본 논문에서는 MLM(Masked Language Modeling) 대신 RTD(Replaced Token Detection)을 사용했다. 또한 GAN(Generative Adversarial Network)과 비슷하게 ELECTRA에서는 Generator(작은 MLM)가 마스킹된 단어에 대한 단어..
본 포스팅은 BERT 이후에 출현한 SpanBERT 모델의 구조와 기존 BERT와 비교했을 때 차이점 및 개선된 점을 알아보도록 하겠습니다. SpanBERT (Improving Pre-training by Representing and Predicting Spans) SpanBERT에서는 Span masking 방식을 통해 개별 token을 마스킹하지 않고, 연속적인 span을 마스킹하였다. 또한 RoBERTa와 마찬가지로 NSP(Next Sentence Prediction) task를 사용하지 않고 단일 시퀀스를 입력으로 한 사전 학습을 진행하여 성능을 향상시켰다. 이를 통해 텍스트 범위를 예측하는 질문-응답(Question Answering)과 같은 task에서 성능 향상을 확인하였다. Span m..
본 포스팅은 BERT 이후에 출현한 RoBERTa 모델의 구조와 기존 BERT와 비교했을 때 차이점 및 개선된 점을 알아보도록 하겠습니다. RoBERTa (A Robustly Optimized BERT Pretraining Approach) RoBERTa는 BERT의 Pre-training 방식의 변화를 통해 성능을 향상한 모델이다. 기존 BERT 모델의 Pre-training 방식인 MLM(Masked Language Modeling) task를 Dynamic masking 방법으로 바꾸어 학습했으며 NSP(Next Sentence Prediction) task를 제거하였다. 또한 BERT와 비교했을 때 더 많은 학습 데이터와 더 큰 batch size로 학습을 진행해 성능을 향상했다. 1. Stati..
본 포스팅에서는 현재 대부분의 자연어처리 모델에 사용되는 Transformer 등장 이전의 Backbone 모델인 RNN, LSTM, GRU에 대해 살펴보고 동작 방식을 이해해 보도록 하겠습니다. 1. RNN(Recurrent Neural Network) 기본적인 딥러닝 네트워크인 MLP(Multi Layer Perceptron)의 구조를 생각해 본다면, 하나의 입력 데이터에 대해 하나의 출력 결과를 내어주는 방식으로 생각해 볼 수 있다. 하지만 자연어처리에서의 텍스트 데이터는 순차적 특성을 지닌 시계열 데이터 형태이다. 이처럼 시계열적 특성을 지닌 데이터를 잘 처리할 수 있도록 고안된 모델이 RNN이며, 해당 모델에 대해 자세히 살펴보도록 하겠다. RNN의 주요 아이디어는 고정 크기의 hidden st..
기술블로그
'Deep Learning/NLP' 카테고리의 글 목록