2022년 1월 25일 화요일

LSTM 개념

1. LSTM은 왜 만들어 졌는가?

1) RNN의 기울기 소멸 문제를 해결하기 위해

 

2. 기울기 소멸을 어떻게 해결 했는가? 

1) 오차역전파에 영향을 받지 않고, Cell State를 통해 정보가 흐름

2) Cell State는 시그모이드를 통해 각 피쳐마다 0~1사이의 값을 도출하고 중요도로 사용

3.  망각 게이트 ("이전 정보 중 불필요한 정보제거")

1) 준비물

- 가. 이전 Layer 출력값

- 나. 이번 Layer 입력값

- 다. 이전 Cell State의 출력값

2) 동작과정 

- 가와 나를 concat하고 특정 차원으로 변환하기 위한 웨이트 곱하고, 바이어스 더함

- 위 결과를 시그모이드 함수를 통과시켜 0~1사이로 변환

- 위 결과를 이용해서 특정 피쳐를 얼만큼 망각할지 정함.

4. 메모리 게이트 ("이번 정보 중 필요한 정보남김")

1) 준비물

- 가. 이전 Layer 출력값 

- 나. 이번 Layer 입력값

- 다. forget 게이트를 통과한 cell state의 값

2) 동작과정 

- 가와 나를 concat하고 특정 차원으로 변환하기 위한 웨이트 곱하고, 바이어스 더함 

- 바로 위 결과를 시그모이드 함수를 통과시켜 0~1사이로 변환 (망각게이트와 동일)

- 가와 나를 concat하고 특정 차원으로 변환하기 위한 웨이트 곱하고, 바이어스 더함 

- 바로 위 결과를 하이퍼볼릭 탄젠트 함수를 통과시켜 -1~1사이로 변환

- 이번 스텝에서 중요한 정보들이 부각됨

- 망각게이트에 메모리게이트의 정보를 추가해서 현재 Cell State를 만들고 다음 Layer로 전달


5.  출력 게이트 ("만들어진 현재 Cell State중 중요한 값을 증폭해서 출력 ")

1) 준비물 

- 가. 이전 Layer 출력값 

- 나. 이번 Layer 입력값 

- 다. 이번 Cell State 값

2)  동작과정

- 가와 나를 concat하고 특정 차원으로 변환하기 위한 웨이트 곱하고, 바이어스 더함 

- 바로 위 결과를 시그모이드 함수를 통과시켜 0~1사이로 변환 (망각게이트와 동일) 

- 이번 Cell State에 하이퍼 볼릭 탄젠트 취한 값과 바로위 결과를 곱하여 결과도출

 

 

 

 

Share:

0 comments:

댓글 쓰기