본문 바로가기

개발/NLP

(19)
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (18) Ⅰ.Transfer Learning 트랜스퍼 러닝(transfer learning)이란 특정 테스크를 학습한 모델을 다른 테스크 수행에 재사용하는 기법을 가리킨다. 즉, 사람이 새로운 지식을 배울 때 그 사람이 평생 쌓아왔던 지식을 요긴하게 써먹는 것과 같다고 볼 수 있다. 트랜스퍼 러닝을 적용하면 기존보다 모델의 학습 속도가 빨라지고 새로운 테스크를 더 잘 수행하는 경향이 있다. 이때문에 최근 널리 사용되는 작업이며, BERT, GPT등이 바로 해당 기법을 사용한다. 위의 Task1 은 업스트림(UpStream) 테스크라고 부르고 이와 대비된 개념을 다운스트림(DownStream) 테스크라고 한다. Task1은 다음 단어 맞추기, 빈칸 채우기 등 대규모 말뭉치의 문맥을 이해하는 과제이고, Task2는 ..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (17) Ⅰ. SOTA SOTA는 State of the art의 약자로 현재 최고 수준의 결과를 의미한다. 캐글과 같은 데이터 대회에서 모델 구축을 위해서는 사전학습된 신경망들을 많이 사용하는데, SOTA는 사전학습된 신경망들 중 현재 최고 수준의 신경망이라는 뜻이다. 예를들어, SOTA EfficientDet은 현재 가장 수준이 높은 신경망을 사용한다는 의미이다. Ⅱ. 언어모델에 대한 평가 체계 ⅰ. 언어 모델의 평가 모델을 설계할 때 가장 중요한 것 중 하나는 “모델을 어떻게 평가할 것인가”이다. 이에 맞게 테스트셋을 구축하고 테스트셋에 대한 평가 지표를 체계적으로 설계함으로써 원하는 테스크에 대한 모델의 성능을 적절하게 평가할 수 있다. NLP는 CV와 다르게 비교적 평가방법이 표준화되어 있지 않다. 20..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (16) Ⅰ. Sequence to Sequence, seq2seq 시퀀스 투 시퀀스는 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 다양한 분야에서 사용되는 모델이다. 예를 들어 챗봇(Chatbot)과 기계번역(Machine Translation)이 그러한 대표적인 예씨로서 입력 시퀀스와 출력 시퀀스를 각각 질문과 대답으로 구성하면 챗봇으로, 입출력 시퀀스를 각각 입력문장과 번역문장으로 만들면 번역기로 사용할 수 있다. 그 외에도 내용요약(Text Summeraization), STT(Sppech to Text) 등에서 쓰일 수 있다. 1. 모델의 개요(Overview) seq2seq는 번역기에서 대표적으로 사용되는 모델이다. 간단히 표현하면 위와 같은 원리로 동작하는데 내부 모습은 아래와 같다. seq2..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (15) Ⅰ. Language Model 언어모델(LM)은 언어라는 현상을 모델링하고자 단어 시퀀스(문장)에 확률을 할당(assign)하는 모델이다. 언어모델을 만드는 방법은 크게 통계를 이용한 방법과 인공 신경망을 이용한 방법으로 구분할 수 있다. 1. 언어 모델 (Language Model) 언어 모델은 단어 시퀀스에 확률을 할당(assign)하는 일을 하는 모델이다. 풀어서 얘기하면 가장 자연스러운 단어 시퀀스를 찾아내는 모델인 것이다. 단어 시퀀스에 확률을 할당하게 하기 위해서 가장 보편적으로 사용되는 방법은 언어모델이 이전 단어들이 주어졌을 때 다음 단어를 예측하도록 하는 것이다. 다른 유형의 언어모델로는 주어진 양쪽의 단어들로부터 가운데 비어있는 단어를 예측하는 언어 모델이 있다. 이는 문장의 가운데에..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (14) Ⅰ. 게이트 순환 유닛(Gated Recurrent Unit) GRU(Gated Recurrent Unit)은 2014년 뉴욕대학교 조경현 교수님이 집필한 논문에서 제안되었다. LSTM의 장기 의존성 문제에 대한 해결책을 유지하면서 은닉상태를 업데이트하는 계산을 줄였다. 즉, GRU는 성능은 LSTM과 유사하면서 복잡했던 LSTM의 구조를 간단화 시킨것이다. 1. GRU(Gated Recurrent Unit) LSTM에서는 출력, 입력, 삭제 게이트라는 3개의 게이트가 존재했다. 반면, GRU에서는 업데이트 게이트과 리셋 게이트 3가지 게이트만 존재한다. GRU는 LSTM보다 학습 속도가 빠르다고 알려져있지만 여러 평가에서 GRU는 LSTM과 비슷한 성능을 보인다. $$ r_t = \sigma(W_{xr..