NN basics - RNN
Sequential DataPermalink
표현Permalink
- 벡터의 벡터
.
- 사전
- BoW
- 빈도수를 세서
차원의 벡터로 표현 ( 은 사전 크기) - 정보 검색에 주로 사용.
- ML에 부적절
- 시간정보가 사라짐
- 빈도수를 세서
- One hot Encoding
- 한 단어를 표현하는데 m차원 벡터 사용
- 비효율
- 단어간 유사성 측정 불가
.
- word embedding
- w2v
- 단어 사이의 상호작용을 분석하여 새로운 공간으로 변환( 보통 m보다 훨씬 낮은 차원으로 변환)
- BoW
특성Permalink
- 순서가 중요함
- 샘플마다 다른 길이
- 문맥 의존성
- 공분산은 의미없고 문맥 의존성이 중요함
- 장기 의존성은 LSTM으로 처리가능함.
RNNPermalink
- 시간성
- 순서
- 가변길이
- 문맥 의존성
- 이전 특징을 기억해야함
구조Permalink
- 입력층, 은닉층, 출력층
- 은닉층이 recurrent edge를 갖음.
- 시간성, 가변길이, 문맥 의존성을 모두 처리
- recurrent edge는
에 발생한 정보를 로 전달하는 역할수식Permalink
는 신경망의 매개변수
매개변수Permalink
- 순환 신경망의 매개변수(가중치 집합)는
: 입력층과 은닉층을 연결하는 행렬 : 은닉층과 은닉층을 연결하는 행렬 : 은닉층과 출력층을 연결하는 행렬 : 바이어스로서 각각 과 행렬
👉 RNN 학습이란 훈련집합을 최적의 성능으로 예측하는
Re-use the same weight matrix at every time-stepPermalink
Example: Character-levelLanguage ModelPermalink
변형Permalink
Sequence to SequencePermalink
- Transformer 구조
- Encoder and Decoder
동작Permalink
가중치Permalink
은닉층Permalink
이 때
행렬 표기로 쓰면,
출력층Permalink
계산 예제Permalink
기억과 문맥 의존성 기능Permalink
BPTT 학습 (Backpropagation Through Time)Permalink
DMLP와 유사성Permalink
- 둘다 입력층, 은닉층, 출력층을 가짐.
DMLP와 차별성Permalink
- RNN은 샘플마다 은닉층의 수가 다름
- DMLP는 왼쪽에 입력, 오른쪽에 출력이 있지만, RNN은 매 순간 입력과 출력이 있음
- RNN은 가중치를 공유함
- DMLP는 가중치를
로 표기하는데, RNN은 𝐖로 표기
- DMLP는 가중치를
목적함수 정의Permalink
- MSE, CrossEntropy, NLL
Gradient 계산Permalink
BPTT 알고리즘Permalink
은닉층 미분Permalink
순간
- 마지막 순간
에 대해 미분식을 유도하면, . .
- T-1 순간의 그레이디언트를 유도하면
는 번 열의 대각선이 을 가진 대각 행렬
- t 순간으로 일반화하면
는 t를 포함하여 이후의 목적함숫값을 모두 더한 값, 즉 .
양방향 RNNPermalink
양방향 문맥 의존성Permalink
왼쪽에서 오른쪽으로만 정보가 흐르는 단방향 RNN의 한계
양방향 RNN (Bidirectional RNN)Permalink
t순간의 단어는 앞뒤 단어 정보를 모두 보고 처리.
장기 문맥 의존성Permalink
관련된 요소가 멀이 떨어진 상황
- 문제점
- gradient vanishing
- gradient explosion
- RNN은 CNN보다 심함
- 긴 샘플이 자주 있기 때문.
- 가중치 공유 때문에 같은 값을 계속 곱함.
LSTM 이 해결책
LSTM (Long short term memory)Permalink
GatePermalink
- 입력 게이트와 출력 게이트
- 게이트를 열면(⭕) 신호가 흐르고, 닫으면(🚫) 차단됨
- 예, [그림 8-14]에서 t=1에서는 입력만 열렸고, 32와 33에서는 입력과 출력이 모두 열림
- 실제로는 [0,1] 사이의 실숫값으로 개폐 정도를 조절
- 이 값은 학습으로 알아냄
LSTM GATESPermalink
- 메모리 블록(셀): 은닉 상태(hidden state) 장기기억
- 망각(forget) gate: 기억 유지 혹은 제거 (1: 유지, 0: 제거)
- 입력(input) gate: 입력 연산
- 출력(output) gate: 출력 연산
- i: Input gate, whether to write to cell
- f: Forget gate, Whether to erase cell
- o: Output gate, How much to reveal cell
- g: Gate gate(?), How much to write to cell
: 과거로부터 시각 t까지의 모든 정보 저장. 기억 셀. : 기억셀 를 tanh 함수 적용- o: output 게이트. 다음 은식 상태
산출. 입력 을 받음.- formula:
- return:
- formula:
- f: forget 게이트. 기억셀
산출. 을 받음.- formula:
- return:
- formula:
- g: tanh 노드. 새로 기억해야 할 정보를 ‘기억셀’에 추가. ⇒ 위 그림에서
- formula:
- formula:
- i: input 게이트. 새로 기억해야 할 정보(g의 결과물)의 중요도 판별=가중치.
- formula:
- formula:
- params 정리
. . . . . .
RNN과 LSTM의 비교Permalink
LSTM은 메모리 셀을 가짐.
LSTM 가중치Permalink
- 입력단과 연결하는
, 입력 게이트와 연결하는 , 출력 게이트와 연결하는 - 입력층과 은닉층을 연결하는 가중치
망각 게이트와 핍홀Permalink
LSTM 동작Permalink
Uninterrupted Gradient Flow!
- forget-gate
- input-gate
- cell-gate
- output-gate
응용 사례Permalink
언어 모델Permalink
- 문장, 즉 단어 열의 확률분포를 모형화
- 음성 인식기 또는 언어 번역기가 후보로 출력한 문장이 여러 있을 때, 언어 모델로 확률을 계산한 다음 확률이 가장 높은 것을 선택해서 성능을 높임.
- 확률분포를 추정하는 방법
- n-gram
- joint probability
- n을 작게 해야함.
- 확률 추정은 corpus 사용
- 단어가 ohe로 표현되므로 단어간 거리 반영 못함.
- mlp
- rnn
- 확률분포 추정뿐만 아니라 문장 생성 기능까지 갖춤
- 비지도 학습에 해당하여 말뭉치로부터 쉽게 훈련집합 구축가능
- n-gram
- 순환 신경망의 학습
- 말뭉치에 있는 문장을 변환하여 훈련집합 생성후 BPTT 알고리즘 적용
- 일반적으로, 사전학습을 수행한 언어모델을 개별 과제에 맞게 미세 조정함
- 주요 언어모델
- ElMo
- GPT
- BERT
기계 번역Permalink
- 언어모델보다 어려움
- 언어 모델은 입력 문장과 출력 문장의 길이가 같은데, 기계 번역은 길이가 서로 다른 seq2seq 문제
- 어순이 다름.
- 현재 DL 기반 기계 번역 방법이 주류
- LSTM을 사용하여 번역 과정 자체를 통째로 학습
- LSTM 2개를 사용(encoder, decoder)
- 가변 길이의 문장을 고정 길이의 특징 벡터로 변환후 가변 길이 문장 생성
- Encoder는
를 라는 feature vector로 변환후 Decoder로 를 가지고 문장 생성.
영상 주석 생성Permalink
- 영상 속 물체를 검출하고 인식, 물체의 속성과 행위, 물체 간의 상호작용을 알아내는 일
- CNN 으로 영상을 분석하고 인식 + LSTM 문장생성
- CNN: 입력 영상을 단어 임베딩 공간의 특징 벡터로 변환
AppendixPermalink
ArrowsPermalink
⇒, →
⇒ →
ReferencePermalink
CNN cs231n lecture_10 RNN: http://cs231n.stanford.edu/slides/2021/lecture_8.pdf
LSTM: https://github.com/llSourcell/LSTM_Networks/blob/master/LSTM%20Demo.ipynb
LSTM illustrated guide: https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21
Transformer illustrated guide: https://towardsdatascience.com/illustrated-guide-to-transformers-step-by-step-explanation-f74876522bc0
Attention is All you need: https://youtu.be/4Bdc55j80l8
arrows: https://www.w3schools.com/charsets/ref_utf_arrows.asp
Leave a comment