Эволюционное глубокое обучение. Генетические алгоритмы и нейронные сети
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Лэнхэм Майкл
Перевод:
Логунов А. В.
Год издания: 2023
Кол-во страниц: 442
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-93700-253-2
Артикул: 856453.01.99
В книге проводится анализ методов усиления мощи нейронных сетей за счет биологических алгоритмов в решении задач поиска, оптимизации и управления. Книга знакомит с эволюционными вычислениями и предоставляет ряд методов, которые вы можете применять на протяжении всего процесса глубокого обучения. Вы откроете для себя генетические алгоритмы и эволюционно-вычислительные подходы к выведению нейросетевых топологий, генеративному моделированию, обучению с подкреплением и многому другому.
Издание предназначено для специалистов по анализу и обработке данных, хорошо знакомых с языком Python.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Майкл Лэнхэм Эволюционное глубокое обуче-ние
Evolutionary Deep Learning GENETIC ALGORITHMS AND NEURAL NETWORKS MICHEAL LANHAM
Эволюционное глубокое обуче-ние ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ И НЕЙРОННЫЕ СЕТИ МАЙКЛ ЛЭНХЭМ Москва, 2023
УДК 004.021 ББК 32.973 Л92 Лэнхэм М. Л92 Эволюционное глубокое обуче-ние / пер. с англ. А. В. Логунова. – М.: ДМК Пресс, 2023. – 440 с.: ил. ISBN 978-5-93700-253-2 В книге проводится анализ методов усиления мощи нейронных сетей за счет биологических алгоритмов в решении задач поиска, оптимизации и управления. Книга знакомит с эволюционными вычислениями и предоставляет ряд методов, которые вы можете применять на протяжении всего процесса глубокого обучения. Вы откроете для себя генетические алгоритмы и эволюционно-вычислительные подходы к выведению нейросетевых топологий, генеративному моделированию, обучению с подкреплением и многому другому. Издание предназначено для специалистов по анализу и обработке данных, хорошо знакомых с языком Python. УДК 004.021 ББК 32.973 Copyright © DMK Press 2023. Authorized translation of the English edition. © 2023 Manning Publications. This translation is published and sold by permission of Manning Publications, the owner of all rights to publish and sell the same. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-6172-9952-0 (англ.) © Manning Publications, 2023 ISBN 978-5-93700-253-2 (рус.) © Перевод, оформление, издание, ДМК Пресс, 2023
Хотел бы посвятить эту книгу моей матери, Шэрон Лэнхэм. Она учила меня с раннего возраста мыслить нестандартно и верить в себя
Оглавление ЧАСТЬ I НАЧАЛО РАБОТЫ.................................................................................. 21 1 Введение в эволюционное глубокое обучение.......................................... 22 2 Введение в эволюционные вычисления..................................................... 42 3 Введение в генетические алгоритмы с использованием фреймворка DEAP............................................................................................ 76 4 Еще больше эволюционных вычислений с использованием фреймворка DEAP...........................................................................................109 ЧАСТЬ II ОПТИМИЗАЦИЯ ГЛУБОКОГО ОБУЧЕНИЯ.............................146 5 Автоматизация гиперпараметрической оптимизации.........................147 6 Нейроэволюционная оптимизация............................................................189 7 Эволюционные сверточные нейронные сети...........................................214 ЧАСТЬ III ПРОДВИНУТЫЕ ПРИМЕНЕНИЯ................................................245 8 Эволюционное выведение автокодировщиков.......................................246 9 Генеративное глубокое обучение и эволюция.........................................283 10 NEAT: нейроэволюция расширяющихся топологий...............................317 11 Эволюционное (само)обучение с помощью метода NEAT....................346 12 Эволюционное машинное обучение и за его пределами......................379
Содержание Предисловие........................................................................................................ 13 Благодарности................................................................................................... 14 Об этой книге..................................................................................................... 15 Об авторе........................................................................................................... 19 Об иллюстрации на обложке............................................................................ 20 ЧАСТЬ I НАЧАЛО РАБОТЫ.................................................................... 21 1 Введение в эволюционное глубокое обучение......................... 22 1.1 Что такое эволюционное глубокое обучение?.................................. 23 1.1.1 Введение в эволюционные вычисления......................................... 25 1.2 Зачем нужно эволюционное глубокое обучение и где оно применяется........................................................................................... 28 1.3 Потребность в оптимизации глубокого обучения............................ 29 1.3.1 Оптимизация нейросетевой архитектуры................................ 30 1.4 Автоматизация оптимизации средствами автоматизированного машинного обучения............................................................................ 32 1.4.1 Что такое автоматизированное машинное обучение?............. 33 1.5 Приложения эволюционного глубокого обучения........................... 36 1.5.1 Отбор модели: поиск весовых коэффициентов........................... 37 1.5.2 Модельная архитектура: архитектурная оптимизация.......... 37 1.5.3 Гиперпараметрическая настройка/оптимизация...................... 37 1.5.4 Валидация и оптимизация функции потери............................... 39 1.5.5 Нейроэволюция расширяющихся топологий............................... 39 1.5.6 Цели.............................................................................................. 39 Резюме................................................................................................................ 40 2 Введение в эволюционные вычисления....................................... 42 2.1 Игра Конвея в жизнь в Google Colaboratory....................................... 43
Содержание 2.2 Симуляция жизни на языке Python.................................................... 46 2.2.1 Учебные упражнения.................................................................... 49 2.3 Симуляция жизни как оптимизация.................................................. 50 2.3.1 Учебные упражнения.................................................................... 53 2.4 Добавление эволюции в симуляцию жизни...................................... 54 2.4.1 Симуляция эволюции.................................................................... 54 2.4.2 Учебные упражнения.................................................................... 57 2.4.3 Немного сведений о Дарвине и эволюции..................................... 58 2.4.4 Естественный отбор и выживание наиболее приспособленных.......................................................................... 59 2.5 Генетические алгоритмы на языке Python........................................ 60 2.5.1 Понимание генетики и мейоза.................................................... 60 2.5.2 Программирование генетических алгоритмов........................... 63 2.5.3 Конструирование популяции....................................................... 63 2.5.4 Оценивание приспособленности.................................................. 64 2.5.5 Отбор для размножения (скрещивания)..................................... 65 2.5.6 Применение скрещивания: размножение.................................... 66 2.5.7 Применение мутации и вариации............................................... 68 2.5.8 Сведение всего воедино................................................................. 69 2.5.9 Понимание гиперпараметров генетического алгоритма.......... 72 2.5.10 Учебные упражнения.................................................................... 74 Резюме................................................................................................................ 74 3 Введение в генетические алгоритмы с использованием фреймворка DEAP.......................................... 76 3.1 Генетические алгоритмы во фреймворке DEAP............................... 77 3.1.1 Максимизация числа единиц с помощью фреймворка DEAP....... 77 3.1.2 Учебные упражнения.................................................................... 81 3.2 Решение задачи о ферзевом гамбите................................................. 81 3.2.1 Учебные упражнения.................................................................... 86 3.3 Помощь коммивояжеру........................................................................ 87 3.3.1 Сборка решателя задачи о коммивояжере.................................. 89 3.3.2 Учебные упражнения.................................................................... 94 3.4 Выбор генетических операторов для усовершенствования эволюции................................................................................................ 94 3.4.1 Учебные упражнения...................................................................100 3.5 Рисование с помощью EvoLisa............................................................100 3.5.1 Учебные упражнения...................................................................107 Резюме...............................................................................................................107 4 Еще больше эволюционных вычислений с использованием фреймворка DEAP.........................................109 4.1 Генетическое программирование средствами фреймворка DEAP........................................................................................................110 4.1.1 Решение регрессии с помощью генетического программирования......................................................................110 4.1.2 Учебные упражнения...................................................................118 4.2 Оптимизация роя частиц средствами фреймворка DEAP.............118 4.2.1 Решение уравнений с помощью оптимизации роя частиц.........118
Содержание 4.2.2 Учебные упражнения...................................................................124 4.3 Коэволюционное выведение решений средствами фреймворка DEAP.................................................................................124 4.3.1 Коэволюционное выведение с использованием генетического программирования в паре с генетическими алгоритмами.......125 4.4 Эволюционные стратегии средствами фреймворка DEAP............131 4.4.1 Применение эволюционных стратегий для аппроксимации функций.......................................................................................131 4.4.2 Повторный обзор проекта EvoLisa............................................138 4.4.3 Учебные упражнения...................................................................139 4.5 Дифференциальная эволюция средствами фреймворка DEAP....139 4.5.1 Аппроксимация комплексных и прерывных функций с помощью дифференциальной эволюции...................................140 4.5.2 Учебные упражнения...................................................................144 Резюме...............................................................................................................144 ЧАСТЬ II ОПТИМИЗАЦИЯ ГЛУБОКОГО ОБУЧЕНИЯ.....146 5 Автоматизация гиперпараметрической оптимизации............................................................................................147 5.1 Выбор опций и гиперпараметрическая настройка ........................148 5.1.1 Стратегии гиперпараметрической настройки.........................148 5.1.2 Выбор модельных опций..............................................................154 5.2 Автоматизация ГПО посредством случайного поиска...................157 5.2.1 Применение случайного поиска к ГПО........................................157 5.3 Поиск в параметрической решетке и ГПО........................................164 5.3.1 Использование поиска в параметрической решетке в автоматической ГПО..............................................................165 5.4 Эволюционные вычисления для ГПО................................................171 5.4.1 Оптимизация роя частиц для ГПО............................................171 5.4.2 Добавление эволюционных вычислений и фреймворка DEAP в автоматическую ГПО..............................................................171 5.5 Генетические алгоритмы и эволюционные стратегии для ГПО...177 5.5.1 Применение эволюционных стратегий к ГПО............................177 5.5.2 Редукция размерностей с помощью анализа главных компонент..................................................................................180 5.6 Дифференциальная эволюция для ГПО............................................183 5.6.1 Дифференциальный поиск для эволюционной ГПО.....................183 Резюме...............................................................................................................188 6 Нейроэволюционная оптимизация............................................189 6.1 Многослойный персептрон средствами NumPy..............................190 6.1.1 Учебные упражнения...................................................................195 6.2 Генетические алгоритмы в качестве оптимизаторов моделей глубокого обучения..............................................................................196 6.2.1 Учебные упражнения...................................................................200 6.3 Другие эволюционные методы нейрооптимизации......................201 6.3.1 Учебные упражнения...................................................................202
Содержание 6.4 Применение нейроэволюционной оптимизации к фреймворку Keras..............................................................................203 6.4.1 Учебные упражнения...................................................................208 6.5 Понимание ограничений эволюционной оптимизации...............208 6.5.1 Учебные упражнения...................................................................211 Резюме...............................................................................................................212 7 Эволюционные сверточные нейронные сети.......................214 7.1 Краткий обзор сверточных нейронных сетей во фреймворке Keras........................................................................................................215 7.1.1 Понимание проблем слоев сверточной нейронной сети............221 7.1.2 Учебные упражнения...................................................................224 7.2 Кодирование нейросетевой архитектуры в генах...........................225 7.2.1 Учебные упражнения...................................................................230 7.3 Создание операции спаривания/скрещивания...............................231 7.4 Разработка конкретно-прикладного оператора мутации.............234 7.5 Эволюционное выведение архитектуры сверточной нейронной сети.....................................................................................237 7.5.1 Учебные упражнения...................................................................242 Резюме...............................................................................................................243 ЧАСТЬ III ПРОДВИНУТЫЕ ПРИМЕНЕНИЯ...............................245 8 Эволюционное выведение автокодировщиков....................246 8.1 Сверточный автокодировщик............................................................247 8.1.1 Введение в автокодировщики.....................................................247 8.1.2 Сборка сверточного автокодировщика......................................249 8.1.3 Учебные упражнения...................................................................253 8.1.4 Усиление способности сверточного автокодировщика к обобщению................................................................................254 8.1.5 Улучшение автокодировщика.....................................................255 8.2 Эволюционная оптимизация автокодировщика.............................257 8.2.1 Формирование последовательности генов автокодировщика.......................................................................258 8.2.2 Учебные упражнения...................................................................263 8.3 Спаривание и мутирование последовательности генов автокодировщика.................................................................................264 8.4 Эволюционное выведение автокодировщика.................................267 8.4.1 Учебные упражнения...................................................................270 8.5 Сборка вариационных автокодировщиков......................................270 8.5.1 Вариационные автокодировщики: краткий обзор....................271 8.5.2 Реализация вариационного автокодировщика...........................272 8.5.3 Учебные упражнения...................................................................280 Резюме...............................................................................................................281 9 Генеративное глубокое обучение и эволюция......................283 9.1 Генеративные состязательные сети...................................................284