CHAPTER 5. 자기회귀 모델
2025. 2. 16. 21:34ㆍ읽어보기, 교재/만들면서 배우는 생성 AI
5.2 LSTM 네트워크 소개

- RNN이란?
- 순차 데이터를 처리하는 순환 층(셀).
- 특정 타임 스텝에서 셀의 출력은 다음 타임 스텝 입력의 일부분.
- 매우 간단하며 tanh 함수 하나로 구성(-1 ~ 1 스케일).
- 그레디언트 소실 일어나 긴 시퀀스에는 부적합.
=> LSTM이 문제 해결.

5.2.2 텍스트 데이터 다루기
- 이미지와 텍스트 데이터의 차이점.
- 텍스트는 개별적인 데이터 조각이지만, 이미지는 픽셀의 연속적인 색상위의 한 점. 개별 픽셀의 그레디언트를 계산하면 역전파가 쉽지만, 텍스트는 어려움.
- 텍스트는 시간차원이 있고 공간차원이 없지만 이미지는 반대. 단어 사이에는 의존성이 있지만 이미지는 모든 픽셀 동시 처리 가능.
- 텍스트는 개별 단위 변화에 민감하나 이미지는 아님. 픽셀 하나가 달라져도 이미지는 큰 변화가 없지만 문장은 단어 하나가 달라지면 큰 차이 발생.
- 텍스트는 문법 구조•의미론족 규칙이 있지만 이미지는 없음.
5.2.3 토큰화
- LSTM 학습을 위한 데이터 전처리 첫 단계는 토큰화.
- 단어 토큰
- 희소 단어는 별도 토큰 할당보다 <unknown token> 사용해서 가중치 줄이기.
- 시제를 기본형으로 단순화해 하나로 토큰화.
- 구두점을 모두 제거.
- 훈련 어휘 사전에 없는 단어는 모델이 예측 불가능.
- 문자 토큰
- 훈련 어휘 사전에 없는 새로운 단어 만들 수 있음.
- 어휘 사전 크기 작아 훈련 속도에 유리.
5.2.6 임베딩 층
- 임베딩 층은 각 정수 토큰을 embedding_size 길이의 벡터로 변환하는 룩업 테이블.
=> 룩업 테이블은 가중치.
- 입력 토큰을 원핫 인코딩 할수도 있지만 임베딩 층이 더 선호.

5.2.7 LSTM 층
- 순환층은 셀로 구성됨.
- 은닉 상태 h는 한 번에 한 타임 스텝씩 시퀀스 x의 각 원소를 셀로 전달해 업데이트.
- 은닉 상태는 셀 안에 있는 유닉의 개수와 길이가 동일한 벡터. => 현재 셀의 지식.

5.2.8 LSTM 셀
- h_t의 길이는 LSTM에 있는 유닛의 개수와 동일. -> 시퀀스 길이와 아무 상관 없음.
* LSTM에는 하나의 셀이 있고 셀은 여러 개의 유닛을 포함.
- 셀은 하나의 셀 상태를 관리.
- 셀 상태는 은닉 상태와 길이가 같음.

- 삭제 게이트 : 시그모이드 활성화 함수 사용해 이전 셀 상태를 얼마나 유지할지 결정.
- 이 연결된 벡터는 입력 게이트로 전달되며 시그모이드 활성화 함수 사용해 얼만 새로운 정보 추가할지 결정.
- 이 연결된 벡터는 tanh 활성화 함수를 사용해 새로운 정보 저장.
- 업데이트된 셀 상태 C_t를 만드는 과정.
- 시그모이드 활성화 함수 사용해 출력 게이트로 전달. 업데이트 된 셀 상태를 얼마나 보낼지 결정.
- 업데이트 된 셀 상태를 tanh 활성화 함수 사용해 은닉 상태 h_t 생성.
5.2.10 LSTM 분석
- temperture 매개변수는 샘플링 과정을 얼마나 경정적으로 할 지 결정(0 ~ 1).
- LSTM 네트워크는 생성하는 단어의 의미를 알지는 못함.
5.3 RNN 확장
5.3.1 적층 순환 네트워크
- LSTM 층을 쌓아 더 깊은 특성 학습.

5.3.2 GRU 층
- LSTM과의 차이점
- 삭제 게이트와 입력 게이트가 리셋 게이트와 업데이트 게이트로 바뀜.
- 셀 상태와 출력 게이트가 없고 은닉 상태만 출력.

- 시그모이드 활성화 함수 사용해 이전 은닉 상태를 얼마나 제공할지 결정.
- tanh 활성화 함수를 사용해 셀의 새로운 생각을 저장하는 벡터로 사용.
- 시그모이드 활성화 함수를 사용해 이전 타임 스텝의 은닉 상태를 얼마나 섞일지 결정.
- 은닉 상태 h_t를 만드는 과정. 즉, 셀의 출력.
5.3.3 양방향 셀
- Bidirectional 층은 두개의 은닉 상태를 사용.(전진 방향, 후진 방향)
5.4 PixelCNN
- 자기 회귀 방식으로 이미지 생성.
- 마스크드 합성곱 층과 잔차 블록이라는 개념이 중요.
5.4.1 마스크드 합성곱 층
- 합성곱 층 : 일련의 필터 적용해 이미지 특성 추출.
- 특정 픽셀에서 이 층의 출력은 픽셀을 중심으로 한 작은 정사각형에 대해 필터 가중치와 이전 층의 값을 곱하여 더한것.
=> 에지와 질감을 감지 할 수 있고 고수준 특성 감지.
- 합성곱 층은 특성 추출에 유용하나 순서가 지정되지 않아 자기회귀에 부적합.
- 자기회귀에 사용하려면 픽셀 순서를 지정하고 필터가 해당 픽셀 앞의 픽셀만 보도록. => 한번에 한 픽셀씩 이미지 생성.
- 현재 픽셀 뒤 모든 픽셀의 값이 0.

- PixelCNN의 두 종류의 마스크
A. 중앙 픽셀의 값이 마스킹.
B. 중앙 픽셀의 값이 마스킹 되지 않음.
* 초기 마스크드 합성곱 층(입력 이미지에 직접 적용)에서는 A 타입, 후속층에서는 B 타입 사용.

5.4.2 잔차 블록
- 잔차 블록 : 입력이 중간 층을 거치지 않고 출력과 더해지는 블록.(스킵 연결)
- 신경망이 중간 층을 통해 입력과 동일해지는 매핑을 찾을때 유리(가중치가 0이 될 때).
5.4.3 PixelCNN 훈련
- PixelCNN 신경망은 AE처럼 정확한 픽셀 값을 예측하는 입력 재구성.
- 차이점은 MaskedConv2D 층을 사용해 앞 픽셀 정보가 현재 픽셀의 예측에 영향을 끼치지 못하도록 제한.
- 모든 픽셀 출력 값을 독립적으로 사용해 학습속도 매우 느림.
5.4.5 혼합 분포
- 학습 속도 개선 위해 신경망 출력을 256개의 이산 픽셀 값에 대한 소프트맥스 출력 대신 혼합 분포 사용.
- 혼합 분포
- 두 개 이상의 다른 확률 분포가 혼합된 것.
- 혼합에 포함된 각 분포를 선택할 확률을 나타내는 범주형 분포도 필요.
- 샘플인 시 범주형 분포에서 특정 하위 분포를 선택해 그 분포네서 샘플링.
=> 상대적으로 작은 파라미터 사용 가능.

728x90
'읽어보기, 교재 > 만들면서 배우는 생성 AI' 카테고리의 다른 글
CHAPTER 7. 에너지 기반 모델 (0) | 2025.03.02 |
---|---|
CHAPTER 6. 노멀라이징 플로 모델 (0) | 2025.02.23 |
CHAPTER 4. 생성적 적대 신경망 (4) | 2025.02.14 |
CHAPTER 3. 변이형 오토인코더 (6) | 2025.02.14 |
CHAPTER 2. 딥러닝 (0) | 2025.02.14 |