02 Ago 2019

python rnn 예제

이 메모리를 사용하면 네트워크에서 장기 종속성을 시퀀스로 학습할 수 있으므로 예측할 때 문장의 다음 단어인지, 감정 분류인지 또는 다음 온도 측정인지 를 고려할 수 있습니다. . RNN은 서열을 처리하는 인간의 방법을 모방하도록 설계되었습니다 : 우리는 단어 자체대신 응답을 형성 할 때 전체 문장을 고려합니다. 예를 들어, 다음 문장을 고려해 보십시오: TensorFlow LSTM이 한 번에 여러 데이터 스트림을 처리할 수 있는지 알고 있습니까? 예제에서 작업하면 20x4x35x650 입력의 경우 한 번에 4개의 35×650 입력이 있는 것과 같습니다. 나는 4x35x650을 140 × 650으로 변환 할 수 있다는 것을 알고 있지만 4 개의 입력을 한 번에 고려할 수있는 더 우아한 방법이 있는지 궁금했습니다. 이 예제에서 사용되는 입력 데이터 $X$는 각각 10개의 시퀀스로 구성된 20개의 이진 시퀀스로 구성됩니다. 각 입력 시퀀스는 $0$ 또는 $1$로 반올림되는 균일한 임의 분포에서 생성됩니다. 텍스트는 시퀀스 데이터의 또 다른 좋은 예입니다. 주어진 텍스트 다음에 어떤 단어나 구가 오는지 예측할 수 있다는 것은 매우 유용한 자산이 될 수 있습니다. 우리는 우리의 모델이 셰익스피어 소네트를 작성하기를 원합니다! 이 코드 예제에서는 멋진 캡슐화와 더 나은 코드를 갖기 위해 Python 클래스에서 모델을 빌드하겠습니다. 첫 번째 클래스는 입력 데이터를 포함하는 간단한 클래스입니다 : Keras는 놀라운 라이브러리입니다 : 그것은 우리가 이해할 수있는 파이썬 코드의 몇 줄에 최첨단 모델을 구축 할 수 있습니다. 다른 신경망 라이브러리가 더 빠르거나 더 많은 유연성을 허용할 수 있지만 개발 시간과 사용 편의성에 대해 Keras를 이길 수 있는 것은 없습니다.

우리는 항상 RNN을 코딩하기 위해 높은 수준의 파이썬 라이브러리를 활용할 수 있습니다. 그렇다면 왜 처음부터 코딩해야 합니까? 나는 단단히 배우고 진정으로 개념을 배어 하는 가장 좋은 방법은 처음부터 그것을 배울 수 있다고 생각합니다. 그리고 이 튜토리얼에서 선보일 것입니다. 처음으로 재발신경망을 연구하려고 시도했을 때, LSTM과 GRUs와 같은 이론을 먼저 배우려고 노력하는 실수를 저질렀습니다. 선형 대수 방정식을보고 몇 가지 좌절 일 후, 나는 파이썬과 딥 러닝의 다음 구절에 일어났다 : 우리는 시퀀스 데이터의 예를 사용하여이 작업을 수행 할 수 있습니다, 특정 회사의 주식을 말한다. 간단한 기계 학습 모델 또는 인공 신경망은 주식의 양, 개방 값 등과 같은 여러 기능을 기반으로 주가를 예측하는 방법을 배울 수 있습니다. 이 외에도, 가격은 또한 주식이 이전 fays 및 주에 어떻게 지냈는지에 따라 달라집니다. 상인의 경우,이 기록 데이터는 실제로 예측을하기위한 주요 결정 요인입니다. 연구원은 이 불안정한 환경에서 그라데이션 기반 훈련을 할 수 있는 여러 가지 방법을 발견했습니다.

몇 가지 예는 다음과 같습니다 그라데이션 클리핑, 헤시안무료 최적화, 모멘텀 등 다음 단계는 LSTM 모델을 만드는 것입니다. 다시 말하지만, 모든 정보와 TensorFlow 작업을 보유하기 위해 Python 클래스를 사용했습니다 : 모델의 핵심은 한 번에 한 단어를 처리하고 문장의 다음 단어에 대한 가능한 값의 확률을 계산하는 LSTM 셀로 구성됩니다.