2018년 10월 28일 일요일

Deep Learning with Sequence Data and text (순차적 데이터와 텍스트의 딥러닝 PyTorch) (11)


Recursive neural networks

RNNs(재귀 신경망)은 분류, 순차적 데이터 레이블 지정, 다음 단어를 예측하는 swiftkey 키보드 응용 프로그램과 같은 일련의 텍스트 생성과 같은 응용 프로그램을 사용할 수있게 해주는 가장 강력한 모델 중 하나입니다.
feedforward NN(neural network) 와 같은 모델 구조의 대부분은 순차적 데이터 처리의 이점을 가지고 있지 않습니다. feedforward NN(neural network)은 단지 모든 특징들이 한번에 보여지고 출력에 매핑되도록 디자인 되었습니다. 순서가 있는 텍스트 예를 봅시다. "I had cleaned my car" 와 "I had my car cleaned" 같은 단어를 가지는 두개의 문장입니다. 그러나 우리가 단어의 순서를 고려할때 그 의미는 다릅니다.
인간은 왼쪽에서 오른쪽으로 단어를 읽고 텍스트가 나타내는 모든 다른 단어를 이해하는 강력한 모델을 구축함으로써 텍스트 데이터를 이해하게 됩니다. RNN은 한 번에 한 단어씩 텍스트로 보면서 약간 유사하게 작동합니다. RNN은 그것 안에 특별한 layer를 가진 NN입니다. 한번에 처리하는 대신에 데이터를 반복 합니다. RNN은 순차적인 데이터를 처리 할 수 있기 때문에 다른길이의 벡터들을 사용 할 수 있습니다. 그리고 다른 길이의 출력을 생성 할 수 있습니다. 다른 표현들 중 일부는 다음 이미지로 제공됩니다.

위 이미지는 유명한 RNN 블로그중 하나로 부터 온 이미지 입니다. http://karpathy.github.io/2015/05/21/rnn-effectiveness/ Python을 이용하여 처음부터 RNN을 어떻게 만드는지에 관한 내용입니다.


책 내용을 간단하게 적어봤는데 이번에는 PyTorch에 관한 내용은 없고 RNN에 관한 내용 밖에 없습니다. 개인적으로는 모두를 위한 딥러닝 강의 중 RNN 부분을 보시는게 이해가 빠를것 같습니다.
https://hunkim.github.io/ml/

Recurrent Neural Network 강의 슬라이드  실습 슬라이드 






댓글 없음:

댓글 쓰기