डिकोडर परिभाषित करना

Keras के साथ Machine Translation

Thushan Ganegedara

Data Scientist and Author

Encoder-decoder मॉडल

  • Encoder अंग्रेज़ी शब्द एक-एक कर consume करता है
  • अंत में context vector बनाता है
  • Decoder context vector को initial state के रूप में लेता है
  • Decoder फ़्रेंच शब्द एक-एक कर उत्पन्न करता है

Encoder decoder model

Keras के साथ Machine Translation

डिकोडर का इनपुट

  • Decoder को Keras की GRU लेयर से implement किया गया है
  • GRU मॉडल को दो इनपुट चाहिए
    • एक time-series इनपुट (???)
    • एक hidden state

Encoder decoder model

Keras के साथ Machine Translation

डिकोडर का इनपुट

Encoder का context vector N बार दोहराएँ

  • 10 शब्दों का फ़्रेंच वाक्य चाहिए तो context vector को 10 बार दोहराएँ।

Encoder decoder model repeat vector

Keras के साथ Machine Translation

RepeatVector लेयर समझना

RepeatVector लेयर:

  • एक argument लेता है जो आउटपुट sequence length तय करता है
  • इनपुट आकार (batch_size, input size) लेता है (जैसे 2 x 3)
  • आउटपुट आकार देता है (batch_size, sequence length, input size) (जैसे 2 x 3 x 3)

Repeat vector functionality

Keras के साथ Machine Translation

RepeatVector लेयर परिभाषित करना

from tensorflow.keras.layers import RepeatVector
rep = RepeatVector(5)
r_inp = Input(shape=(3,))
r_out = rep(r_inp)
repeat_model = Model(inputs=r_inp, outputs=r_out)
  • ध्यान दें, निम्न दोनों समतुल्य हैं
rep = RepeatVector(5)
r_out = rep(r_inp)
r_out = RepeatVector(5)(r_inp)
Keras के साथ Machine Translation

मॉडल से प्रेडिक्ट करना

मॉडल से prediction करना

x = np.array([[0,1,2],[3,4,5]])
y = repeat_model.predict(x)
print('x.shape = ',x.shape,'\ny.shape = ',y.shape)
x.shape =  (2, 3) 
y.shape =  (2, 5, 3)
Keras के साथ Machine Translation

डिकोडर लागू करना

डिकोडर परिभाषित करना

de_inputs = RepeatVector(fr_len)(en_state)
decoder_gru = GRU(hsize, return_sequences=True)

डिकोडर की initial state तय करना

gru_outputs = decoder_gru(de_inputs, initial_state=en_state)
Keras के साथ Machine Translation

मॉडल परिभाषित करना

enc_dec = Model(inputs=en_inputs, outputs=gru_outputs)
Keras के साथ Machine Translation

अभ्यास करते हैं!

Keras के साथ Machine Translation

Preparing Video For Download...