글

라벨이 RNN인 게시물 표시

RNN 에 대하여

이미지
RNN에 대하여 공유할 일이 생겨서 작성하는 RNN에 대한 포스트 입니다. RNN? RNN은 순차적인 데이터를 학습하는 뉴럴네트워크 입니다. 구글 번역기로 대표적인 자연어처리가 그 한 예 입니다. RNN의 입력값은 아래의 데이터처럼 순차적인 데이터인 𝓍가 들어 갑니다.𝓍의 예시로는 문장이 될 수 있습니다. 우리가 원하는 출력값인 о는 아래와 같이 입력값 처럼 순차적인 시퀀스 데이터가 나올 수 있습니다. 중간의 s는 Hidden State로 중간중간 결과마다 State값을 매긴 결과 이고, 수식은  . 으로 나타낼 수 있습니다. 아래 그림처럼 볼 수 있듯이 각 State마다 결과 값 о를 출력 할 수 있습니다. W,U,V는 파라미터 값 이고, 모든 State 마다 공유 합니다. RNN (https://aikorea.org/blog/rnn-tutorial-1/) Tensorflow로 짠 RNN Core Oreilly의 Learning TensorFlow의 RNN예제 를 분석 하려고 합니다. 아래 그림은 Tensorboard를 통해서 텐서플로우 코드를 도식화 한 그림 입니다. RNN의 Flow라기 보다는 딥러닝 자체의 플로우로 봐도 무방 해 보입니다. RNN 학습 로그를 Tensorboard로 분석한 결과 Input, Transpose 아래 코드는 RNN 예제 데이터인 mnist 데이터를 불러오고, 데이터를 Transpose 합니다. RNN States 아래는 Hidden State를 구하는 부분 입니다. RNN Output 아래 코드는 RNN의 출력값 o를 나타 냅니다. 출력값은 선형 방식을 사용하였습니다. RNN Train, Test 아래 코드는 위에서 쌓은 Tensor 객체를 통해서 Train과 Test를 진행 합니다. 결과 아래처럼 정확도는 97퍼센트로 나쁘지 않습니다. Iter 0, Minibatch Loss= 2.302...