1. 학습교재 📚
'김기현의 자연어처리 딥러닝 캠프'를 사용했습니다.
자연어 처리에 대한 배경지식이 부족해서 전반적으로 이 분야를 설명해주는 책을 선택했습니다.
내용에 대해서 부족한 점은 많지만 한번 훑어보기에는 적당합니다.
2. 학습방법 👩🏫
자연어에 대한 설명을 건너 뛰고 시퀀스 모델링부터 학습을 진행했습니다.
딥러닝에 대한 단편적인 지식이 있으므로 NLP 모델에 중점을 뒀습니다.
A. 모델링 [중요도 :🌟🌟🌟🌟]
모델을 스터디한 순선대로 나열했습니다.
모델 | 중요도 | 설명 |
---|---|---|
RNN | ⭐⭐⭐⭐ | NLP 모델들의 기초가 됩니다. 순차적으로 학습시키는 모델로 생각하면 됩니다. |
LSTM | ⭐⭐ | 장기기억이 불가능한 RNN 를 개선했습니다 |
GRU | ⭐ | LSTM의 복잡성을 개선했습니다. light version |
CNN | ⭐⭐⭐ | 이미지 CNN과 원리가 같습니다 CNN에 대한 지식을 넓힐 수 있습니다. |
seq2seq | ⭐⭐⭐ | 문장을 압축해서 의미를 파악합니다. |
Attention | ⭐⭐⭐ | 현재 성능이 가장 좋은 BERT의 기본 요소입니다. |
Transformer | ⭐⭐⭐ | 어텐션을 이용해 만들 모델입니다. 마찬가지로 Bert의 기본 요소입니다. |
ELMO | ⭐ | 양방향 LSTM을 사용해 문장 내 단어의 위치에 따른 의미를 파악할 수 있게 합니다. |
BERT | ⭐⭐⭐⭐⭐ | 많은 Transformer를 쌓아서 만든 현재 가장 좋은 모델입니다. |
B. 단어 임베딩 [중요도 :🌟🌟]
단순히 단어를 벡터로 바꾸는 작업입니다. 모델과 큰 상관은 없습니다.
word2vec, GloVE 두 가지 주요 방법이 있는데, 모델을 다룰 때는 많이 쓰지 않았습니다.
C. 모델 평가 [중요도 :🌟]
모델 평가 부분에서 크게 남는 것은 PPL 과 BLEU입니다.
학습을 하면서 모델을 볼 때는 단순히 결과를 보면 대충 알 수 있습니다. (모델이 허접할 경우가 대부분이므로..)
따라서 NLP 모델에 대하여 심도 있는 공부를 진행하면서 비교가 필요할 때 알면 충분합니다.
D. 정규표현식 [중요도 :🌟🌟🌟]
NLP를 하다보면 정규표현식으로 데이터를 처리해야 하는 경우가 많이 있습니다.
일단 배워두면 코딩을 하는데 전체적으로 큰 도움이 됩니다.
스스로 공부하는 것보다 제대로 설명 1번 듣으면 충분합니다. (글로 공부하는 건 비추)
3. 후기 🧐
한국어는 영어에 비해서 형태소 분해(기쁜 --> [ 기쁘다, ㄴ ] )에 대하여 처리가 어렵습니다.
NLP 모델을 학습하면서 한국어를 바탕으로 할 경우 난이도가 올라가게 됩니다.
모델과 이론을 공부할 때는 한국어를 제외하고 라틴어 계열만 접하는 것이 도움이 되는 것 같습니다.
최신 모델을 접하는 경우가 많아서 **Jupyter보다 Colab으로 하는 게 낫습니다.**
'딥러닝 > 자연어(NLP)' 카테고리의 다른 글
[논문 리뷰] Very Deep Transformers for Neural Machine Translation (0) | 2021.01.25 |
---|---|
Transformer 모델 학습은 생각보다 어렵다. (0) | 2021.01.19 |
About NLP (0) | 2020.07.23 |
Colab에서 한글 사용하기 (0) | 2020.07.17 |
Word2Vec을 활용한 단어 유사성 (0) | 2020.07.15 |