Transfer öğrenimi
Bir embedding katmanını eğitirken çok sayıda parametre öğrenmen gerektiğini görmüştün.
Bu egzersizde, transfer öğrenimi kullanırken önceden eğitilmiş ağırlıkları kullanıp bunları güncellememenin mümkün olduğunu göreceksin; yani embedding katmanındaki tüm parametreler sabit kalacak ve model yalnızca diğer katmanlardaki parametreleri öğrenecek.
load_glove fonksiyonu ortamda zaten yüklü ve glove matrisini bir numpy.ndarray vektörü olarak getiriyor. Bu egzersizdeki sözlük için 200 boyutlu embedding vektörlerini almak üzere, derste yer alan slaytlarda anlatılan fonksiyonu kullanır.
Bu egzersiz
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
kursunun bir parçasıdırEgzersiz talimatları
- Glove vektörlerini yüklemek için önceden tanımlı fonksiyonu kullan.
- Önceden eğitilmiş vektörlerde
Constantbaşlatıcısını kullan. - Çıkış katmanını tek bir birimli
Denseolarak ekle. - Özeti yazdır ve eğitilebilir parametreleri kontrol et.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Load the glove pre-trained vectors
glove_matrix = ____('glove_200d.zip')
# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=vocabulary_size + 1, output_dim=wordvec_dim,
embeddings_initializer=____(glove_matrix),
input_length=sentence_len, trainable=False))
model.add(GRU(128))
model.add(____)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Print the summaries of the model with embeddings
model.____