데브허브 | DEVHUB | [머신러닝+딥러닝 기초 강의] 25강. LSTM과 GRU 셀[머신러닝+딥러닝 기초 강의] 25강. LSTM과 GRU 셀
- LSTM 및 GRU 소개: 순환 신경망(RNN)의 장기 의존성 문제를 해결하고 더 높은 성능을 위해 고안된 복잡한 순환 셀 구조입니다. 🚀
- LSTM 셀의 특징: 은닉 상태(Hidden State) 외에 셀 상태(Cell State)라는 추가적인 상태를 가지며, 삭제, 입력, 출력 게이트를 통해 정보의 흐름을 제어하여 장기 기억 능력을 향상시킵니다. 🧠
- LSTM 게이트 구조: 각 게이트는 다른 가중치를 사용하여 복잡한 연산을 수행하며, 이는 Simple RNN보다 훨씬 많은 정보를 저장하고 복잡한 패턴을 표현할 수 있게 합니다. 🚪
- 가중치 증가: LSTM은 Simple RNN에 비해 약 4배 많은 가중치(파라미터)를 사용하여 모델의 표현력을 높입니다. 📈
- GRU 셀의 특징: LSTM의 간소화된 버전으로, 셀 상태와 은닉 상태를 통합하고 게이트 수를 줄여(업데이트 게이트, 리셋 게이트) 계산 효율성을 높이면서도 LSTM과 유사한 성능을 제공합니다. ⚙️
- Keras 구현의 용이성:
SimpleRNN 층을 LSTM 또는 GRU 층으로 교체하고 units 매개변수로 뉴런 수를 지정하는 것만으로 쉽게 모델을 구성할 수 있습니다. 🛠️
- 다층 순환 신경망 구성: 여러 순환 층을 연결할 때는 마지막 층을 제외한 이전 층들에서
return_sequences=True 매개변수를 설정하여 모든 타임스텝의 은닉 상태를 다음 층으로 전달해야 합니다. 🔗
- 과대적합 방지: LSTM 및 GRU 층은
dropout 및 recurrent_dropout 매개변수를 제공하여 과대적합을 줄이고 모델의 일반화 성능을 향상시킬 수 있습니다. 🛡️
- 파라미터 수의 차이: GRU는 LSTM보다 적은 수의 가중치(Simple RNN의 약 3배)를 가지지만, 실제 Keras 구현에서는 절편(bias) 추가 등으로 인해 Simple RNN의 3배보다 약간 더 많은 파라미터 수를 가질 수 있습니다. 🔢
- 다음 학습 주제: 순환 신경망 이후에는 대규모 언어 모델의 기반이 되는 어텐션 메커니즘과 트랜스포머에 대해 학습할 예정입니다. ➡️