일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- GPT-1
- Transformer
- huggingface
- scaled dot-product attention
- Eliza
- Chatbot
- KLUE
- boj
- beam search
- Relation Extraction
- Dialogue System
- 백준
- Transformers
- multi-head attention
- KLUE-RE
- text classification
- bert
- Conversation System
- BoostCamp
- BELU
- MT-DNN
- FSML
- ai-tech
- Prompt Tuning with Rules for Text Classification
- layer normalization
- BLEU Score
- NLP
- 취업
- pytorch
- fine-tuning
Archives
- Today
- Total
dukim's blog
[WK06-Day026][21.09.07.Tue] RNN, LSTM, GRU, 필수과제 1, 2, 3 본문
Boostcamp AI Tech 2th
[WK06-Day026][21.09.07.Tue] RNN, LSTM, GRU, 필수과제 1, 2, 3
eliza.dukim 2021. 9. 9. 15:34Intro
- 멘토님과 짧은 만남, 논문 읽기 주제 관련 30분 톡
- 활발한 피어세션 : 꽉찬 2시간 동안 대충 넘어가는 것 없이 정리
- 필수과제 2, 3번 풀이
학습 내용
RNN
- Character-level LM의 작동 예시와 이것이 할 수 있는 것들(희극 생성, c code 생성, 논문 생성) 등을 살펴봄
- Backpropagation through time(BPTT) : GPU 메모리 등 처리 용량의 한계로 전체 시퀀스를 한 번에 학습하는 대신 제한된 길이의 시퀀스 만으로 학습을 진행
- RNN의 특성 분석 연구
- Visualizing and Understanding Recurrent Neural Networks(Andrej et al., 2015)
- hidden state vector의 셀 일부를 고정을 하고, 그 값이 time step이 진행됨에 따라 어떻게 변화하는지를 분석한 연구
- RNN의 Vanishing/Exploding Gradient 문제(또는 Long-term dependency 문제),
- 원인 : 반복적으로 곱해지는 $W_{hh}$
LSTM and GRU
- 기존 RNN을 대체
- Gradient Vanishing/Exploding 과 Long-term dependency에 대해 개선된 성능
- Long Short-Term Memory
- hidden state vector : Short-Term Memory, 현재 time step에서 노출할 필요가 있는 정보만을 남긴 필터링된 벡터
- cell state vector : Long-Term Memory, 장기적으로 유지하는 완전한 정보를 포함하는 벡터
- GRU
- LSTM의 경량화 버전
- LSTM의 cell state와 hidden state를 통합함
- 동작원리는 동일함
- Uninterrupted gradient flow(ResNet과 유사한 구조)
- cell state의 업데이트 과정이 $W_hh$와 같은 행렬 곱이 아닌 합과 요소별 곱 연산으로 되어 있어 backpropagation 시 gradient를 큰 병형 없이 전달
Summary on RNN/LSTM/GRU
- 다양한 길이의 seq 길이 데이터 처리에 특화된 유연한 구조
- LSTM과 GRU를 훨씬 더 많이 사용하고, cell state vector, hidden state vector를 연산하는 방식이 기본적으로 덧셈에 기반한 방식이기 때문에 gradient vanishing/exploding 문제를 피하고 long-term dependency 문제를 해결할 수 있다.
과제 수행
- 필수과제는 모두 입력 데이터 전처리를 다루고 있다.
과제 1
- 영어, 한국어에 대한 pre-tokenization. 영어의 경우는 Spacy, 한국어는 KoNLPy내의 형태소분석기를 활용한 형태소 단위 토크나이징
- 불용어처리와 음절단위 토크나이징도 다룸
- 라이브러리 그대로 진행하면 되는 것이라 어렵지 않게 끝냄
과제 2, 3
- wikitext-2 데이터셋에 대하여 Word-level 그리고 Sub-word level 각각으로 토크나이징한 RNN을 비교함
- train set의 단어로만 vocab을 구성할 것, 나머지는 unk 토큰으로 처리
- sub-word level 토크나이징을 적용했을 때의 장점
- word-level 토크나이징을 적용했을 때보다 embedding parameter의 수 감소(6,655,600개 -> 4,619,000개)
- OOV 문제 완화
멘토링
- 피어세션 30분 전 멘토님께서 막간을 이용해서 진행하셨다.
- 목표로한 논문이 너무 어려울 수 있어서 transformer 계열 기본 논문을 권장하시고 기본 논문을 제시해주심
피어세션
- 월요일 강의 내용이었던 BoW, W2V에 대한 내용 복습 및 Further Question에 대한 토론
- Q: Word2Vec과 GloVe 알고리즘이 가지고 있는 단점은 무엇일까요?
- 문맥에 따라 다른 의미, 동음이의어의 서로 다른 의미를 반영하지 못함(e.g. play, 배)
- 기존 단어 임베딩의 얕은 신경망 한계 극복 → "Deep contextualized word representations(ELMO)"
- Q: Word2Vec과 GloVe 알고리즘이 가지고 있는 단점은 무엇일까요?
- Paper 선정 : 멘토님 추천해주신 6개 논문(Transformer, BERT, MT-DNN, BART, XLNet, ELECTRA)에 대해 각자 분담하여 목요일까지 각자 내용 정리
학습회고
- RNN, LSTM, GRU 물론 요새도 계속 쓰이지만 자주 안보다보니 데이터 입출력 텐서 모양처리를 매번 까먹는 것 같다.
- 봤던 논문도 다시 보면 새로운 게 보인다. 왜 또 보냐 싶겠지만 다시 한 번 보자.
'Boostcamp AI Tech 2th' 카테고리의 다른 글
[WK06-Day028][21.09.09.Thu] 팀 결성, BLEU Score 추가 학습, Beam Search HF 구현체 뜯기 (0) | 2021.09.12 |
---|---|
[WK06-Day027][21.09.08.Wed] Seq2seq with Attention, Beam Search and BLEU Score (0) | 2021.09.09 |
[WK06-Day025][21.09.06.Mon] Level-2 NLP U-Stage 시작, Intro to NLP, BoW, W2V (2) | 2021.09.06 |
[WK05] P-Stage level 1 마스크 이미지 분류 대회 도전기 (0) | 2021.09.06 |
[WK04] P-Stage level 1 - 이미지 분류 1주차 (0) | 2021.08.28 |
Comments