[머신러닝+딥러닝 기초 강의] 26강. 어텐션 메커니즘과 트랜스포머
- LSTM 드롭아웃 매개변수(
dropout은 입력에, recurrent_dropout은 은닉 상태에 적용)에 대한 설명이 정정되었습니다. 🔄
- 인코더-디코더 신경망은 번역, 요약 등 시퀀스-투-시퀀스 작업에 사용되는 두 개의 신경망(인코더, 디코더)으로 구성됩니다. 🤝
- 기존 순환 신경망 기반 인코더-디코더는 긴 텍스트 정보를 마지막 은닉 상태에 압축하는 데 한계가 있었습니다. 📉
- 어텐션 메커니즘은 디코더가 인코더의 모든 은닉 상태를 참조하고 가중치를 부여하여 관련 정보에 집중함으로써 긴 텍스트 처리 능력을 향상시킵니다. 💡
- 어텐션 메커니즘은 모든 은닉 상태를 저장해야 하므로 메모리 사용량이 많고 입력 텍스트 길이에 제한이 생기는 단점이 있습니다. 💾
- 2017년 구글이 개발한 트랜스포머 모델은 순환 신경망을 완전히 제거하고 어텐션 구조만 사용하여 대규모 언어 모델의 기반을 마련했습니다. 🚀
- 트랜스포머 인코더는 모든 입력 토큰을 동시에 처리하여 입력 처리 속도를 크게 향상시킵니다. ⚡
- 트랜스포머 디코더는 이전 타임스텝의 출력을 재활용하여 다음 토큰을 생성하는 자기 회귀적 구조를 유지합니다. ✍️
- 셀프 어텐션은 입력 텍스트 자체 내에서 Query, Key, Value 벡터를 사용하여 각 토큰 간의 관련성을 스스로 결정하고 가중치를 계산합니다. 🤔
- 멀티헤드 어텐션은 여러 개의 어텐션 헤드를 병렬로 사용하여 입력 데이터에서 다양한 패턴과 관계를 포착합니다. 🧠
- 순차 데이터 처리에는 배치 정규화 대신 각 토큰별로 정규화를 수행하는 층 정규화(Layer Normalization)가 주로 사용됩니다. 📊
- 잔차 연결(Residual Connections)은 층의 입력을 출력에 직접 더하여 모델을 깊게 쌓을 때 훈련 안정성과 성능을 향상시키는 기법입니다. ➕
- 피드포워드 네트워크는 두 개의 밀집층으로 구성되며, 일반적으로 단어 벡터 차원을 확장했다가 다시 줄여 어텐션에서 포착한 정보를 저장하고 처리합니다. 📈
- 트랜스포머는 여러 개의 인코더 블록과 디코더 블록을 쌓아 올려 복잡한 언어 패턴을 학습합니다. 🏗️
- 디코더 블록의 크로스 어텐션은 인코더의 최종 출력을 키(Key)와 값(Value)으로, 디코더의 임베딩을 쿼리(Query)로 사용하여 인코더와 디코더 간의 정보를 연결합니다. 🔗
- 디코더의 마스크드 멀티헤드 어텐션은 훈련 시 다음 토큰을 미리 보지 못하도록 마스킹하여 올바른 순차적 예측 학습을 보장합니다. 🙈
데브허브 | DEVHUB | [머신러닝+딥러닝 기초 강의] 26강. 어텐션 메커니즘과 트랜스포머