카테고리 없음

4-1. NLP기초 (Embedding & RNN)

kimyeji2358 2026. 4. 2. 14:20

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 (번역, 주식 예측)
      • 시계열 데이터 예측

○ 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
  • 특징 : 파라미터 수가 적어 연산 속도가 빠르며, 비교적 적은 데이터에서도 효율적임