1. 임베딩(Embedding)
컴퓨터는 인간의 언어를 직접 이해할 수 없으며 오직 숫자만 처리 가능
텍스트 데이터를 컴퓨터가 처리할 수 있도록 수치화하는 과정 필요
→ 벡터화(Vectorization)
1-1. One-Hot Encoding
단어 집합의 크기를 차원으로 함
표현하고 싶은 단어의 인덱스에만 1을 부여, 나머지는 모두 0 표시
→ 희소 표현 (Sparse Representation)
문제점
- 의미 결여 : 단어 간의 유사도를 계산할 수 없음
- 차원의 저주 : 단어 수가 늘어날수록 베터의 길이와 0의 개수가 무하히 증가하여 계산 효율↓
1-2. 워드 임베딩 & Word2Vec
○ 임베딩 (Embedding)
단어를 고정된 크기의 밀집 벡터(Dense Vector)로 표현하는 방식 → 분산 표현(Distributed Representation)
학습을 통해 단어의 의미를 다차원 공간상의 좌표로 나타냄
- 장점
- 의미가 비슷한 단어들은 벡터 공간에서 서로 가까운 거리에 위치
○ Word2Vec
저차원에 단어의 의미를 여러 차원에 분산하여 표현하는 기술
두 가지 학습 방식: CBOW, Skip-gram

- CBOW (Continuous Bag of Words)
- 원리 : 주변에 있는 단어들(맥락)을 통해 중앙에 있는 빈칸(타깃 단어)을 예측하는 신경망 구조
- 특징 : 여러 단어를 한꺼번에 처리하므로 학습 속도가 빠름
- ex) You __ goodbye 타깃: __에 들어갈 단어
- Skip-gram 방식
- 원리 : 중앙의 단어로부터 주변의 여러 단어를 예측하는 모델
- 특징 : CBOW보다 학습량 많고 더 어려운 문제를 풂 → 단어의 분산 표현(임베딩) 결과가 더 뛰어날 가능성 높음
2. RNN (Recurrent Neural Network, 순환 신경망)
○ FNN (Forward Neural Network) 의 한계
기존의 순전파 네트워크는 데이터가 한 방향으로만 이동
입력 크기가 고정된 데이터에는 적합
but 이전 단어를 기억해야하는 시퀀스(Sequence) 데이터 처리에는 어려움이 있다
○ RNN의 구조와 특징

RNN은 시계열 또는 순차 데이터를 예측하는 데 효과적인 구조
- 순환 구조: 이전 시점의 은닉 상태(Hidden State, $h_{t-1}$)를 현재 시점의 입력 ($x_t$)과 함께 참조하여 현재의 값 ($h_t$)을 결정
- 수식 : $h_t = f(W_h h_{t-1} + W_x x_t + b)$ (활성화 함수 $f$를 거쳐 결과를 내보냄)
- 종류
- One-to-Many (이미지 캡셔닝)
- 하나의 입력 데이터를 반복하여 신경망에 입력, 연속된 시퀀스 출력
- Many-to-One (감정 분석)
- 연속된 단어로 이루어진 문장 시퀀스에 대한 분석
- Many-to-Many (번역, 주식 예측)
- 시계열 데이터 예측
- One-to-Many (이미지 캡셔닝)

○ BPTT (Backpropagation Through time)
RNN의 역전파 방법
- 모든 시점(Sequence)에 대한 동일한 가중치 벡터를 사용
- 역전파 시, 각 시점의 가중치 기울기를 전부 더해서 업데이트하여, 현재의 오차가 과거의 오차와 연결

○ RNN의 문제점과 발전된 모델(LSTM, GRU)
- RNN의 한계
1. 장기 의존성 (Long-Term Dependency) 문제
시퀀스가 길어질수록 앞쪽의 정보가 뒤쪽까지 충분히 전달되지 않아 기억력이 약해짐
2. 기울기 소실(Vanishing Gradient) 및 폭발
동일한 가중치를 반복해서 곱하기 때문에
가중치가 1보다 작으면 기울기가 0으로 수렴하고 1보다 크면 무한히 커짐
● LSTM (Long Short - Term Memory)

장기 의존성 문제를 해결하기 위해 Cell State를 도입한 모델
- 3개의 게이트
- Forget Gate: 기억하지 않아도 될 정보를 삭제
- Input Gate: 새로운 입력 중 어떤 정보를 기억할지 결정
- Output Gate: 어떤 정보를 출력으로 내보낼지 결정
- 이를 통해 장기 기억을 효과적으로 유지
● GRU(Gated Recurrent Unit)

LSTM의 구조를 단순화하면서도 유사한 성능을 내도록 설계된 모델
- 2개의 게이터
- Update Gate
- Reset Gate
- 특징 : 파라미터 수가 적어 연산 속도가 빠르며, 비교적 적은 데이터에서도 효율적임