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

Додавання шарів до мережі

Ви вже бачили, як експериментувати з ширшими мережами. У цій вправі ви спробуєте глибшу мережу (більше прихованих шарів).

Знову маєте базову модель model_1 як відправну точку. Вона має 1 прихований шар з 10 одиницями. Ви бачите зведення структури цієї моделі. Ви створите подібну мережу з 3 прихованими шарами (і надалі по 10 одиниць у кожному шарі).

Навчання обох моделей знову займе трохи часу, тож після запуску коду доведеться кілька секунд зачекати на результати.

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

Вступ до Deep Learning у Python

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

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

  • Створіть модель model_2, подібну до model_1, але з 3 прихованими шарами по 10 одиниць замість лише 1 прихованого шару.
    • Використайте input_shape, щоб задати форму входу в першому прихованому шарі.
    • Задайте активацію 'relu' для 3 прихованих шарів і 'softmax' для вихідного шару, який має містити 2 одиниці.
  • Скомпілюйте model_2, як і попередні моделі: використайте 'adam' як optimizer, 'categorical_crossentropy' як функцію втрат, і metrics=['accuracy'].
  • Натисніть 'Submit Answer', щоб навчити обидві моделі та побачити, яка з них дає кращі результати!

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

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

# The input shape to use in the first hidden layer
input_shape = (n_cols,)

# Create the new model: model_2
model_2 = ____

# Add the first, second, and third hidden layers
____
____
____

# Add the output layer
____

# Compile model_2
____

# Fit model 1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)

# Fit model 2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)

# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()
Редагувати та запускати код