Keras में RNN का परिचय

Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

David Cecchini

Data Scientist

keras क्या है?

  • हाई-लेवल API

  • Tensorflow 2 के ऊपर चलता है

  • इंस्टॉल और उपयोग करना आसान

$pip install tensorflow

तेज़ एक्सपेरिमेंटेशन:

from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

keras.models

keras.models.Sequential

keras मॉडलों की Sequential क्लास का संक्षिप्त आरेख. हर लेयर इनपुट से आउटपुट तक क्रम में जुड़ती है.

keras.models.Model

keras मॉडलों की Model क्लास का संक्षिप्त आरेख. इसमें मल्टिपल इनपुट और आउटपुट हो सकते हैं, जिससे अधिक जटिल आर्किटेक्चर संभव हैं.

Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

keras.layers

  1. LSTM
  2. GRU
  3. Dense
  4. Dropout
  5. Embedding
  6. Bidirectional
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

keras.preprocessing

keras.preprocessing.sequence.pad_sequences(texts, maxlen=3)

टेक्स्ट padding का उदाहरण. यदि टेक्स्ट padding साइज से छोटा है तो शुरुआत में "0" टोकन जोड़ा जाएगा, और यदि बड़ा है तो आखिरी शब्द हटेंगे.

Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

keras.datasets

कई उपयोगी डेटासेट

  • IMDB Movie reviews
  • Reuters newswire

और भी!

पूरी सूची और उदाहरण के लिए keras documentation देखें

Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

मॉडल बनाना

# Import required modules
from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Instantiate the model class
model = Sequential()
# Add the layers
model.add(Dense(64, activation='relu', input_dim=100))
model.add(Dense(1, activation='sigmoid'))
# Compile the model
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

मॉडल ट्रेनिंग

मेथड .fit() मॉडल को training सेट पर ट्रेन करती है

model.fit(X_train, y_train, epochs=10, batch_size=32)
  1. epochs तय करते हैं कि मॉडल पर कितने weight अपडेट होंगे
  2. batch_size हर स्टेप पर डेटा का साइज
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

मॉडल इवैल्यूएशन और उपयोग

मॉडल का मूल्यांकन करें:

model.evaluate(X_test, y_test)
[0.3916562925338745, 0.89324]

नए डेटा पर प्रिडिक्शन करें:

model.predict(new_data)
array([[0.91483957],[0.47130653]], dtype=float32)
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

फुल उदाहरण: IMDB Sentiment Classification

# Build and compile the model
model = Sequential()

model.add(Embedding(10000, 128)) model.add(LSTM(128, dropout=0.2)) model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Training
model.fit(x_train, y_train, epochs=5)
# Evaluation
score, acc = model.evaluate(x_test, y_test)
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

अभ्यास करने का समय!

Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

Preparing Video For Download...