Що таке автокодер?
Автокодер - чудовий інструмент для відтворення введення. Простим словом, машина робить, скажімо, зображення, і воно може створити тісно пов’язане зображення. Вхідні дані до цього типу нейронних мереж не позначені тегами, це означає, що мережа здатна навчатися без нагляду. Точніше, вхід кодується мережею, щоб зосередитись лише на найбільш критичній функції. Це одна з причин, чому автокодер популярний для зменшення розмірності. Крім того, для кодування можна використовувати автокодери генеративні моделі навчання. Наприклад, нейронну мережу можна навчити з набором граней, а потім створити нові грані.
У цьому підручнику ви дізнаєтесь:
Як працює Autoencoder?
Призначення автокодера - наблизити вхідні дані, зосереджуючись лише на основних характеристиках. Ви можете подумати, чому б просто не навчитися копіювати та вставляти вхідні дані для отримання вихідних даних. Насправді автокодер - це набір обмежень, які змушують мережу вивчати нові способи представлення даних, крім простого копіювання вихідних даних.
Типовий автокодер визначається із входом, внутрішнім поданням та виходом (наближення введення). Навчання відбувається в рівнях, пов’язаних із внутрішнім представництвом. Насправді існує два основних блоки шарів, які виглядають як традиційна нейронна мережа. Невелика різниця полягає в тому, що шар, що містить вихідні дані, повинен дорівнювати вхідному. На зображенні нижче вихідний вхід надходить у перший блок, який називається кодер. Це внутрішнє подання стискає (зменшує) розмір вводу. У другому блоці відбувається реконструкція входу. Це фаза декодування.
Модель оновить ваги, мінімізуючи функцію втрат. Модель карається, якщо вихід реконструкції відрізняється від вхідного.
Зокрема, уявіть собі зображення розміром 50 × 50 (тобто 250 пікселів) і нейронну мережу з одним прихованим шаром, що складається із 100 нейронів. Навчання здійснюється на карті об’єктів, яка в два рази менша за введену. Це означає, що мережа повинна знайти спосіб реконструювати 250 пікселів за допомогою лише вектора нейронів, рівного 100.
Приклад автокодера з накопиченням
У цьому підручнику ви дізнаєтеся, як користуватися автокодером з накопиченням. Архітектура схожа на традиційну нейронну мережу. Вхідні дані надходять на прихований шар, який потрібно стиснути або зменшити в розмірі, а потім доходить до шарів відновлення. Мета полягає в тому, щоб створити вихідне зображення, наближене до оригіналу. Модель повинна вивчити спосіб досягнення свого завдання за набору обмежень, тобто з меншим виміром.
Сьогодні автоматичні кодери в основному використовуються для ретушування зображення. Уявіть собі зображення з подряпинами; людина все ще здатна розпізнати зміст. Ідея декодування автокодера полягає в додаванні шуму до зображення, щоб змусити мережу вивчити шаблон, що стоїть за даними.
Іншим корисним сімейством автокодерів є варіаційний автокодер. Цей тип мережі може генерувати нові зображення. Уявіть, що ви тренуєте мережу із зображенням чоловіка; така мережа може створити нові обличчя.
Створіть автокодер за допомогою TensorFlow
У цьому підручнику ви дізнаєтесь, як створити автокодер, що складається з накопиченням, для реконструкції зображення.
Ви будете використовувати набір даних CIFAR-10, що містить 60 000 кольорових зображень розміром 32 × 32. Набір даних уже розділений на 50 000 зображень для навчання та 10 000 для тестування. Існує до десяти класів:
- Літак
- Автомобіль
- Птах
- Кішка
- Олень
- Пес
- Жаба
- Кінь
- Надіслати
- Вантажівка
Вам потрібно завантажити зображення за цією URL-адресою https://www.cs.toronto.edu/
kriz/cifar.html та розпакуйте його. Папка for-10-batch-py містить п’ять пакетів даних із 10000 зображень у випадковому порядку.
Перш ніж створювати та навчати свою модель, ви повинні застосувати деяку обробку даних. Ви будете діяти наступним чином:
- Імпортуйте дані
- Перетворення даних у чорно-білий формат
- Додайте всі партії
- Створіть набір навчальних даних
- Створіть програму перегляду зображень
Попередня обробка зображень
Крок 1) Імпортуйте дані.
Згідно з офіційним веб-сайтом, ви можете завантажити дані з таким кодом. Код завантажить дані у словник за допомогою даних та етикетці. Зверніть увагу, що код є функцією.
- Ембер Рачді, її перетворення є прикладом для всіх
- 2л Борисов, комета глибокого космосу, яку тепер видно із Землі
- ЗНИЖКА 33% 2021 Темно-синя сорочка для схуднення з пуховим рукавом ZAFUL Іспанія
- Як розмістити H1, H2, H3 та H4 у моїх публікаціях Blogger (Приклад) Заголовки та субтитри в HTML Погляд
- Скоротіть програму навчання, щоб посилити навчання - блог Сальвароя