방명록
- RNN2024년 03월 02일 20시 20분 18초에 업로드 된 글입니다.작성자: 재형이반응형
- 안돼~ 혁펜하임님 파트가 끝났다ㅜㅜ 아숩~
- 패캠 강의가 끝나고 나서는 혁펜하임님 커리큘럼이랑 논문 리뷰를 쭈욱 진행해봐야겠다
1. 연속적인 데이터와 RNN (Recurrent Neural Network)
- RNN은 이름 그대로 반복되는 인공 신경망이다
- 이전의 값들을 반복적으로 사용한다? 뭘 할 수 있을까? 댓글을 읽고 상대의 기분이 어떤지 예측? 주식 차트 예상? 번역?
1-1. RNN의 동작 방식
- 이전에 나왔던 출력값을 다시 사용하는 것이다
- 이때 레이어는 같은 것을 사용한다
- 수식으로 표현하면 다음과 같다
- tanh( )는 하이퍼볼릭 탄젠트라는 액티베이션이다
- 시그모이드의 단점을 좀 보완한 형태이다
- 이런 식으로 이전의 값들을 계속 사용하기 때문에 RNN은 이전 정보를 계속 담고 있다고 볼 수 있다
2. RNN의 backpropagation과 구조적 한계
- 그렇다면 저렇게 서로 영향을 주는데 그라디언트는 어떻게 구할까? 역전파
- 근데 여기서 또 보면
- 물론 시그모이드보다는 최대 기울기 값이 더 크니까 덜 하긴 한데 결국 그라디언트 배니싱이 일어난다
- 그렇다 보니 멀어질수록 영향을 덜 준다
- 그 뜻은 제일 가까운 애한테 영향을 많이 받는다는 것인데 예를 들어 "나는 강사 입니다"를 영어로 번역하려고 할 때 이상한 부분이 생긴다. "I am a instructor"라고 나올텐데 instructor는 사실 강사라는 단어를 가장 많이 참조해야 한다 (인간의 관점에서 보면). 하지만 RNN은 항상 제일 가까이 있는 애한테 영향을 많이 받게 되는 구조이므로 instructor는 입니다의 영향을 가장 많이 받게 된다...? → 그래서 LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit)이 나왔지만 얘네들도 구조적으로는 결국 "나는", "강사", "입니다" 순서대로 진행되기 때문에 이상하다는 것이다. RNN은 번역기로는 잘 안쓰인다
- GRU, LSTM은 나는, 강사, 입니다를 지나치는데 instructor일 때는 강사에 비중을 더 두면서 진행하겠다는 식으로 학습이 된다. 최종적으로 가면 instructor에 영향을 가장 많이 주는 것은 강사가 되겠지만 결국 구조적인 문제를 해결한 것은 아니다
- 그래서 트랜스포머가 나왔다
- 트랜스포머(Attention is all you need!)는 "나는 강사 입니다"와 "i am a instructor"를 이해한 후에 서로 어떤게 영향이 있는지 보기 때문에 번역에 많이 쓰인다
- 이걸 또 응용해서 이미지도 부분 부분 나눠서 서로 연관되어 있는 문장이 아니냐?라는 개념으로 트랜스포머를 적용할 수 있다
3. RNN의 여러 유형과 seq2seq
3-1. RNN의 여러 유형
3-2. seq2seq
- encoder, decoder 두 파트(서로 다른 RNN임)로 구성, encoder 의 마지막 h(context vector 라고 함)를 decoder의 처음 h로 사용
- 학습 시엔 teacher forcing, test 땐 출력 나온 것을 입력으로 사용
반응형'인공지능 > 인공지능 기초' 카테고리의 다른 글
분류 알고리즘, 회귀 알고리즘 (0) 2024.03.04 군집 알고리즘 (0) 2024.03.03 컨볼루션, Padding, Stride, Pooling, CNN (0) 2024.03.01 Overfitting 방지, CNN과 이미지의 상관 관계 (2) 2024.02.29 Univeral Approximation Theorem, Vanishing Gradient 방지 (2) 2024.02.28 다음글이 없습니다.이전글이 없습니다.댓글