BERT(Bidirectional Encoder Representations from Transformers, BERT)는 2018년 구글이 개발한 자연어 처리 신경망 구조이며, 기존의 단방향 자연어 처리 모델들의 단점을 보완한 양방향 자연어 처리 모델이다. 트랜스포머를 이용하여 구현되었으며, 방대한 양의 텍스트 데이터로 사전 훈련된 언어모델이다. BERT의 기본 구조는 위와 같이 transformer의 encoder를 쌓아올린 구조이다. BERT는 이 구조를 기반으로 다음와 같은 Task를 학습시킨다. 다음 문장 예측 (Next Sentence Prediction, NSP) 문장에서 가려진 토큰 예측 (Maked Language Model, MLM) 위와 같은 학습을 거친 모델로 다른 자연어 처리 학습..
자연어처리는 (Natural Language Processing) 우리가 일상 생활에서 사용하는 언어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말한다. 음성인식, 내용요약, 번역, 사용자의 감성 분석, 텍스트 분류 작업, 챗봇 등 이미 우리 생활의 전반에 많이 사용되고 있는 기술이다. BERT (Bidirectional Encoder Representations from Transformers) 모델에 대해 자세히 알아보기에 앞서, 자연어 처리에 있어서의 사전훈련의 변천사에 대해 자세히 다뤄보겠다. 1. 사전 훈련된 워드 임베딩 Word2Vec, FastText, GloVe등 다양한 워드 임베딩 방법론들의 문제점은, 하나의 단어가 하나의 벡터값으로 맵핑되므로 문맥을 고려하지 못한다는 점이었..
레이블이 불균형한 분포를 가진 데이터 세트를 학습 시, 이상 레이블을 가지는 데이터 건수가 매우 적어 제대로 된 유형의 학습이 어렵다. 반면에 정상 레이블을 가지는 데이터 건수는 매우 많아 일방적으로 정상 레이블로 치우친 학습을 수행하며, 제대로 된 이상 데이터 검출이 어렵다. 이러한 문제점을 보완하고 적절한 학습 데이터를 확보하는 방안이 필요한데, 언더 샘플링과 오버 샘플링은 이러한 방안의 대표적 예시이다! 언더 샘플링은 높은 비율을 차지하던 클래스의 데이터 셋의 개수를 줄이는 방법으로 데이터 불균형을 해소하는 아이디어이다. 하지만 학습에 사용되는 데이터 수가 줄어들기 때문에 학습의 성능이 줄 수 있으므로 주의해야한다. 오버 샘플링은 낮은 비율 클래스의 데이터를 증식하여 학습을 위한 충분한 데이터를 확..