ПочатиПочніть безкоштовно

Transfer learning

Ви бачили, що під час навчання шару вкладень потрібно вивчити дуже багато параметрів.

У цій вправі ви побачите, що під час використання transfer learning можна взяти попередньо натреновані ваги й не оновлювати їх. Тобто всі параметри шару вкладень будуть фіксованими, а моделі потрібно буде навчити лише параметри інших шарів.

Функція load_glove уже завантажена в середовище й повертає матрицю GloVe як вектор типу numpy.ndarray. Вона використовує функцію зі слайдів уроку, щоб отримати glove-вектори з 200-вимірними вкладеннями для словника, що використовується в цій вправі.

Ця вправа є частиною курсу

Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Переглянути курс

Інструкції до вправи

  • Скористайтеся заздалегідь визначеною функцією, щоб завантажити glove-вектори.
  • Застосуйте ініціалізатор Constant до попередньо натренованих векторів.
  • Додайте вихідний шар як Dense з однією одиницею.
  • Виведіть summary і перевірте параметри, що навчаються.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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.____
Редагувати та запускати код