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

Створення автокодувальника

Автокодувальники мають кілька цікавих застосувань, зокрема виявлення аномалій та очищення зображень від шуму. Вони мають на меті відтворити на виході те саме, що й на вході. Вхід стискається до простору меншої розмірності — він кодується. Потім модель вчиться декодувати його назад до початкового вигляду.

Ви закодуєте й декодуєте набір даних MNIST з рукописними цифрами. Прихований шар закодує 32-вимірне подання зображення, яке спочатку складається з 784 пікселів (28 × 28). По суті, автокодувальник навчиться перетворювати початкове зображення з 784 пікселів на стиснене подання з 32 пікселями й використовувати це кодування, щоб відновити початкове зображення з 784 пікселів.

Модель Sequential і шари Dense вже підготовлено для використання.

Створімо автокодувальник!

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

Вступ до Deep Learning з Keras

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

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

  • Створіть модель Sequential.
  • Додайте щільний шар із кількістю нейронів, що дорівнює розмірам закодованого зображення, та з input_shape, рівним кількості пікселів у початковому зображенні.
  • Додайте фінальний шар із кількістю нейронів, що дорівнює кількості пікселів у вхідному зображенні.
  • Скомпілюйте ваш autoencoder, використовуючи оптимізатор adadelta і функцію втрат binary_crossentropy, після чого виведіть його підсумок.

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

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

# Start with a sequential model
autoencoder = ____

# Add a dense layer with input the original image pixels and neurons the encoded representation
autoencoder.add(____(____, input_shape=(____, ), activation="relu"))

# Add an output layer with as many neurons as the orginal image pixels
autoencoder.add(____(____, activation = "sigmoid"))

# Compile your model with adadelta
autoencoder.compile(optimizer = ____, loss = ____)

# Summarize your model structure
____
Редагувати та запускати код