НачатьНачать бесплатно

Изменение параметров оптимизации

Пора применить знания об оптимизации на практике. Вы попробуете обучить модель с очень маленькой скоростью обучения, очень большой и «оптимальной». Обратите внимание на результаты после выполнения упражнения — помните, что чем меньше значение функции потерь, тем лучше.

Для этих упражнений мы заранее загрузили предикторы и целевые значения из ваших предыдущих моделей классификации (предсказание выживаемости пассажиров «Титаника»). Чтобы корректно сравнить разные скорости обучения, оптимизация должна каждый раз начинаться с нуля. Для этого мы создали функцию get_new_model(), которая возвращает необученную модель.

Это упражнение является частью курса

Введение в глубокое обучение на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте SGD из tensorflow.keras.optimizers.
  • Создайте список скоростей обучения для тестирования и назовите его lr_to_test. В список должны входить значения .000001, 0.01 и 1.
  • Используйте цикл for для перебора элементов lr_to_test:
    • Вызовите функцию get_new_model(), чтобы создать новую необученную модель.
    • Создайте оптимизатор my_optimizer с помощью конструктора SGD(), передав именованный аргумент lr=lr.
    • Скомпилируйте модель: установите параметр optimizer равным созданному объекту SGD, а для параметра loss используйте 'categorical_crossentropy', поскольку это задача классификации.
    • Обучите модель, передав predictors и target.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import the SGD optimizer
____

# Create list of learning rates: lr_to_test
lr_to_test = ____

# Loop over learning rates
for lr in lr_to_test:
    print('\n\nTesting model with learning rate: %f\n'%lr )
    
    # Build new model to test, unaffected by previous models
    model = ____
    
    # Create SGD optimizer with specified learning rate: my_optimizer
    my_optimizer = ____
    
    # Compile the model
    ____
    
    # Fit the model
    ____
Редактировать и запускать код