Deep Learning/Basic Recurrent Neural Network - 728x90 반응형 1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사용됨 학습된 neuron의 상태가 다음 학습에 사용되는 것 이전에 수신한 정보를 계속 보유 = 일종의 단기 기억 단기 기억은 hidden weight에 저장 동일한 입력이어도 이전의 입력에 따라 다른 출력 결과 생성 RNN의 필요 기능 가변 길이의 입력에 대한 처리 장기 의존성의 추적 순서 정보의 유지 시퀸스 전체의 파라미터 공유 2. 구조 입력 벡터 : xt 출력 벡터 : yt=f(Whyht) 은닉 상태 : ht=tanh(Whhht−1+Wxhxt) 3. 네트워크 전파 방향 시간 축으로 풀어서 생각 모든 출력의 손실을 합산하여 전체 손실 계산 중간에 출력하기를 원한다면 다른 weight을 사용하여 출력 가능 forward propagation through time 매 시간 단계마다 동일한 weight 사용 backward propagation through time 계층을 통하는 방식 대신 시간을 거슬러 올라가면서 gradient 역전파 아래 그림과 같이 time step 별로 network를 펼친 다음, back-propagation 하는것을 BPTT(Back Propagation Through Time)이라 함 RNN의 전체 time step 양이 많아지면 계산량 또한 많아지기 때문에, time step을 일정 구간별로 나눠 back-propagation 을 수행하는 Truncated BPTT 방식도 존재 4. 종류 1:1 : 단일 입력과 단일 출력을 가지며, 가장 보통의 경우 1:N : 단일 입력과 다중 출력을 가지며, image captioning에 주로 사용 N:1 : 다중 입력과 단일 입력을 가지며, sentiment analysis에 주로 사용 N:M : 다중 입출력을 가지며, machine translation에 주로 사용 5. 문제점 gradient vanishing problem 멀리 떨어진 데이터의 영향을 받는 경우 context가 필요 activation function의 교체나 weight를 단위 행렬로 교체, bias를 0으로 초기화 하는 방법을 통해 해결하거나, LSTM이나 GRU의 gated cell을 사용하여 해결 gradient explosion problem gradient를 일정 크기 이상 커지지 못하게 하는 방법을 통해 해결 참고 서적 딥러닝 EXPRESS 참고 링크 https://excelsior-cjh.tistory.com/184 728x90 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기Minsu Jo's Development Log 저작자표시 비영리 동일조건 Contents 1.개념 2.구조 3.네트워크전파방향 4.종류 5.문제점 당신이 좋아할만한 콘텐츠 Gated Recurrent Unit 2023.03.27 Long Short-Term Memory 2023.03.27 Inductive Bias 2023.02.13 Ablation study 란 2023.02.06 댓글 0 + 이전 댓글 더보기