Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Эволюционные нейросети на языке Python

Покупка
Артикул: 748352.01.99
Доступ онлайн
999 ₽
В корзину
Эта книга дает всестороннее представление о нейроэволюции - подходе к обучению искусственных нейронных сетей, который использует эволюционные алгоритмы, чтобы упростить процесс решения сложных задач в таких областях, как игры, робототехника и моделирование естественных процессов. Читатель начнет знакомство с ключевыми концепциями и методами нейроэволюции, написав несложный код на языке Python, а затем получит практический опыт работы с популярными библиотеками Python и научится решать распространенные и нестандартные прикладные задачи, используя алгоритмы на основе нейроэволюции. Речь пойдет о том, как адаптировать методы нейроэволюции к существующим проектам нейронных сетей для повышения эффективности обучения и принятия решений; в завершение будет рассказано о топологиях нейронных сетей и о том, как нейроэволюция позволяет развивать сложную топологию из простейшей базовой структуры. Издание предназначено для специалистов в области машинного обучения и искусственного интеллекта, которые стремятся реализовать алгоритмы нейроэволюции с нуля. Наличие базовых знаний в области глубокого обучения и нейронных сетей, а также программирования на языке Python обязательно.
Омельяненко, Я. Эволюционные нейросети на языке Python : практическое руководство / Я. Омельяненко ; пер. с англ. В. С. Яценкова. - Москва : ДМК Пресс, 2020. - 310 с. - ISBN 978-5-97060-854-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1210699 (дата обращения: 29.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Интернет-магазин:  
www.dmkpress.com

Оптовая продажа:
КТК “Галактика”
books@alians-kniga.ru
www.дмк.рф

Эта книга дает исчерпывающее понимание основных концепций 
нейроэволюции и формирует навыки использования подобных 
алгоритмов для решения практических задач. 

Для специалистов по аназизу данных и машинному обучению, стремящихся реализовывать алгоритмы нейроэволюции с нуля.

Требуются базовые знания в области глубокого обучения и нейронных 
сетей, а также навыки программирования на языке Python.
Эволюционные 
нейросети 
на языке Python

Ярослав Омельяненко

9 785970 608548

ISBN 978-5-97060-854-8

Эволюционные нейросети на языке Python

Прочитав книгу, вы:

•   откроете для себя самые популярные алгоритмы нейроэволюции –  
     NEAT, HyperNEAT и ES-HyperNEAT;
•   узнаете, как реализовать алгоритмы нейроэволюции на языке 
    Python;
•   освоите продвинутые инструменты визуализации для исследования 
     сложных графов топологии нейронных сетей;
•   научитесь проверять результаты экспериментов и анализировать 
     производительность алгоритмов;
•   узнаете, как улучшить производительность существующих методов 
     при помощи нейроэволюции;
•   научитесь применять глубокую нейроэволюцию для разработки 
     автономного агента, играющего в классические игры Atari.

Ярослав Омельяненко

Эволюционные  
нейросети  
на языке Python

Hands-On  
Neuroevolution  
with Python

Iaroslav Omelianenko

Эволюционные  
нейросети  
на языке Python

Ярослав Омельяненко

Москва, 2020

УДК 004.421
ББК 32.811
О57

Ярослав Омельяненко
О57 Эволюционные нейросети на языке Python / пер. с анг. В. С. Яценкова. – 
М.: ДМК Пресс, 2020. – 310 с.: ил. 

ISBN 978-5-97060-854-8

Эта книга дает всестороннее представление о нейроэволюции – подходе к обучению 
искусственных нейронных сетей, который использует эволюционные алгоритмы, чтобы 
упростить процесс решения сложных задач в таких областях, как игры, робототехника 
и моделирование естественных процессов.
Читатель начнет знакомство с ключевыми концепциями и методами нейроэволюции, написав несложный код на языке Python, а затем получит практический опыт 
работы с популярными библиотеками Python и научится решать распространенные 
и нестандартные прикладные задачи, используя алгоритмы на основе нейроэволюции. 
Речь пойдет о том, как адаптировать методы нейроэволюции к существующим проектам нейронных сетей для повышения эффективности обучения и принятия решений; 
в завершение будет рассказано о топологиях нейронных сетей и о том, как нейроэволюция позволяет развивать сложную топологию из простейшей базовой структуры.
Издание предназначено для специалистов в области машинного обучения и искусственного интеллекта, которые стремятся реализовать алгоритмы нейроэволюции 
с нуля. Наличие базовых знаний в области глубокого обучения и нейронных сетей, 
а также программирования на языке Python обязательно.

УДК 004.421
ББК 32.811

This translation is published and sold by permission of O’Reilly Media, Inc., which owns or 
controls all rights to publish and sell the same.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения 
владельцев авторских прав.

ISBN  (анг.) 9781838824914
ISBN  (рус.) 978-5-97060-854-8

©  Packt Publishing 2019. First published in the English language 
under the title ‘Hands-on Neuroevolution with Python
© Оформление, издание, перевод, ДМК Пресс, 2020

Моей жене Люси с благодарностью за то,  
что она была моим лучшим другом и любящей супругой  
на протяжении всей нашей совместной жизни

Оглавление

Предисловие от издательства ...................................................................13
Отзывы и пожелания ............................................................................................13
Список опечаток ...................................................................................................13
Нарушение авторских прав..................................................................................13

Об авторе ........................................................................................................14

О рецензентах .................................................................................................15

Предисловие от автора .........................................................................16
Для кого написана эта книга................................................................................17
О чем эта книга .....................................................................................................17
Как получить максимальную отдачу от этой книги ...........................................18
Скачивание исходного кода примеров ...............................................................18
Скачивание цветных иллюстраций  ....................................................................18
Условные обозначения и соглашения, принятые в книге .................................18

ЧАСТЬ I. Основы эволюционных вычислительных  
алгоритмов и методов нейроэволюции ...............................................19

Глава 1. Обзор методов нейроэволюции .............................................21
1.1 Эволюционные алгоритмы и нейроэволюционные методы .......................22

1.1.1 Генетические операторы .........................................................................23
1.1.2 Схемы кодирования генома ....................................................................25
1.1.3 Коэволюция ..............................................................................................27
1.1.4 Модульность и иерархия .........................................................................27

1.2 Обзор алгоритма NEAT ...................................................................................28

1.2.1 Схема кодирования NEAT  .......................................................................28
1.2.2 Структурные мутации .............................................................................29
1.2.3 Кроссовер с номером обновления ..........................................................30
1.2.4 Видообразование .....................................................................................32

1.3 NEAT на основе гиперкуба .............................................................................33

1.3.1 Сети, производящие составные паттерны .............................................34
1.3.2 Конфигурация субстрата .........................................................................35
1.3.3 CPPN с развивающимися связями и алгоритм HyperNEAT ..................36

1.4 HyperNEAT с развиваемым субстратом .........................................................37

1.4.1 Плотность информации в гиперкубе ......................................................37

1.4.2 Квадродерево как эффективный экстрактор информации ..................38
1.4.3 Алгоритм ES-HyperNEAT  ........................................................................40

1.5 Метод оптимизации поиском новизны ........................................................42

1.5.1 Поиск новизны и естественная эволюция .............................................43
1.5.2 Метрика новизны.....................................................................................43

1.6 Заключение .....................................................................................................45
1.7 Дополнительное чтение .................................................................................45

Глава 2. Библиотеки Python и настройка среды разработки .......47
2.1 Библиотеки Python для экспериментов с нейроэволюцией ........................47

2.1.1 Библиотека NEAT-Python.........................................................................48
2.1.2 Библиотека PyTorch NEAT .......................................................................49
2.1.3 Библиотека MultiNEAT .............................................................................51
2.1.4 Библиотека Deep Neuroevolution ............................................................53

2.2 Настройка среды .............................................................................................56

2.2.1 Pipenv ........................................................................................................56
2.2.2 Virtualenv ..................................................................................................57
2.2.3 Anaconda Distribution ...............................................................................58

2.3 Заключение .....................................................................................................59

ЧАСТЬ II. Применение методов нейроэволюции  
для решения классических задач информатики ..............................61

Глава 3. Использование NEAT для оптимизации  
решения задачи XOR  ...................................................................................63
3.1 Технические требования ................................................................................63
3.2 Суть задачи XOR ..............................................................................................64
3.3 Целевая функция для эксперимента XOR .....................................................65
3.4 Настройка гиперпараметров .........................................................................66

3.4.1 Секция NEAT .............................................................................................67
3.4.2 Секция DefaultStagnation ........................................................................67
3.4.3 Секция DefaultReproduction ....................................................................68
3.4.4 Секция DefaultSpeciesSet .........................................................................68
3.4.5 Секция DefaultGenome .............................................................................68
3.4.6 Гиперпараметры эксперимента XOR .....................................................70

3.5 Выполнение эксперимента XOR ....................................................................72

3.5.1 Настройка среды ......................................................................................72
3.5.2 Исходный код эксперимента XOR ..........................................................73
3.5.3 Запуск эксперимента и анализ результатов ..........................................76

3.6 Упражнения .....................................................................................................81
3.7 Заключение .....................................................................................................83

Глава 4. Балансировка тележки с обратным маятником ...............85
4.1 Технические требования ................................................................................85
4.2 Задача балансировки обратного маятника ...................................................86

Оглавление  7
7  Оглавление

4.2.1 Уравнения движения балансировщика ..................................................86
4.2.2 Уравнения состояния и управляющие воздействия ..............................87
4.2.3 Взаимодействие между решателем и симулятором ..............................88

4.3 Целевая функция для эксперимента по балансировке  
одиночного маятника ..........................................................................................90

4.3.1 Моделирование тележки .........................................................................90
4.3.2 Цикл моделирования ...............................................................................91
4.3.3 Оценка приспособленности генома .......................................................93

4.4 Эксперимент по балансировке одиночного маятника ................................93

4.4.1 Выбор гиперпараметров .........................................................................94
4.4.2 Настройка рабочей среды........................................................................95
4.4.3 Исходный код эксперимента ..................................................................95
4.4.4 Запуск эксперимента по балансировке одиночного маятника ............98

4.5 Упражнения ...................................................................................................100
4.6 Задача балансировки двойного маятника ..................................................101

4.6.1 Переменные состояния системы и уравнения движения ...................101
4.6.2 Подкрепляющий сигнал ........................................................................104
4.6.3 Начальные условия и обновление состояния ......................................104
4.6.4 Управляющие действия .........................................................................106
4.6.5 Взаимодействие между решателем и симулятором ............................106

4.7 Целевая функция для эксперимента по балансировке  
двойного маятника .............................................................................................107
4.8 Эксперимент по балансировке ....................................................................108

4.8.1 Выбор гиперпараметров .......................................................................108
4.8.2 Настройка рабочей среды......................................................................110
4.8.3 Реализация эксперимента .....................................................................110
4.8.4 Запуск эксперимента с двумя маятниками .........................................111

4.9 Упражнения ...................................................................................................115
4.10 Заключение..................................................................................................116

Глава 5. Автономное прохождение лабиринта ................................117
5.1 Технические требования ..............................................................................117
5.2 Задача навигации в лабиринте ....................................................................118
5.3 Среда моделирования лабиринта ................................................................119

5.3.1 Агент-решатель лабиринта ...................................................................119
5.3.2 Реализация среды моделирования лабиринта ....................................121
5.3.3 Хранение записей агента ......................................................................125
5.3.4 Визуализация записей агента ...............................................................127

5.4 Определение целевой функции с использованием  
показателя приспособленности ........................................................................127
5.5 Проведение эксперимента с простой конфигурацией лабиринта ............129

5.5.1 Выбор гиперпараметров .......................................................................130
5.5.2 Файл конфигурации лабиринта ............................................................132
5.5.3 Настройка рабочей среды......................................................................132
5.5.4 Реализация движка эксперимента .......................................................132
5.5.5 Проведение эксперимента по навигации в простом лабиринте........135

5.6 Упражнения ...................................................................................................140

8  Оглавление
  8

5.7 Эксперимент со сложной конфигурацией лабиринта ................................140

5.7.1 Настройка гиперпараметров .................................................................141
5.7.2 Настройка рабочей среды и движок эксперимента .............................141
5.7.3 Выполнение эксперимента по прохождению  
сложного лабиринта .......................................................................................141

5.8 Упражнения ...................................................................................................143
5.9 Заключение ...................................................................................................144

Глава 6. Метод оптимизации поиском новизны ..............................145
6.1 Технические требования ..............................................................................145
6.2 Метод оптимизации поиском новизны ......................................................146
6.3 Основы реализации алгоритма поиска новизны .......................................147

6.3.1 NoveltyItem .............................................................................................147
6.3.2 NoveltyArchive ........................................................................................148

6.4 Функция приспособленности с оценкой новизны .....................................149

6.4.1 Оценка новизны .....................................................................................150
6.4.2 Метрика новизны...................................................................................152
6.4.3 Функция приспособленности ................................................................153

6.5 Эксперимент с простой конфигурацией лабиринта ..................................158

6.5.1 Настройка гиперпараметров.................................................................159
6.5.2 Настройка рабочей среды......................................................................159
6.5.3 Реализация движка эксперимента .......................................................160
6.5.4 Простой эксперимент по навигации в лабиринте  
с поиском новизны .........................................................................................163
6.5.5 Упражнение 1 .........................................................................................168

6.6 Эксперимент со сложной конфигурацией лабиринта ................................169
6.6.1 Настройка гиперпараметров и рабочей среды ....................................169
6.6.2 Выполнение эксперимента по прохождению  
труднодоступного лабиринта ........................................................................169
6.6.3 Упражнение 2 .........................................................................................172

6.7 Заключение ...................................................................................................173

ЧАСТЬ III. Передовые методы нейроэволюции .............................175

Глава 7. Зрительное различение с NEAT на основе гиперкуба ... 177
7.1 Технические требования...............................................................................177
7.2 Косвенное кодирование нейросетей с CPPN ...............................................178

7.2.1 Кодирование CPPN .................................................................................178
7.2.2 Нейроэволюция с развитием топологии на основе гиперкуба ...........179

7.3 Основы эксперимента по зрительному различению .................................180

7.3.1 Определение целевой функции ............................................................182

7.4 Подготовка эксперимента по зрительному различению ...........................182

7.4.1 Тестовая среда зрительного дискриминатора .....................................183
7.4.2 Движок эксперимента ............................................................................190

7.5 Эксперимент по зрительному различению объектов ................................196

7.5.1 Выбор гиперпараметра ..........................................................................196
7.5.2 Настройка рабочей среды ......................................................................197

Оглавление  9

7.5.3 Запуск эксперимента по зрительному различению ............................198

7.6 Упражнения ...................................................................................................201
7.7 Заключение ....................................................................................................202

Глава 8. Метод ES-HyperNEAT и задача сетчатки ............................203
8.1 Технические требования ..............................................................................204
8.2 Ручное и эволюционное формирование топографии узлов ......................204
8.3 Извлечение информации из квадродерева  
и основы ESHyperNEAT ......................................................................................205
8.4 Основы задачи модульной сетчатки ...........................................................207

8.4.1 Определение целевой функции ............................................................209

8.5 Подготовка эксперимента с модульной сетчаткой  ...................................210

8.5.1 Начальная конфигурация субстрата .....................................................210
8.5.2 Тестовая среда для задачи модульной сетчатки ..................................211
8.5.3 Движок эксперимента ...........................................................................215

8.6 Эксперимент с модульной сетчаткой ..........................................................222
8.6.1 Настройка гиперпараметров.................................................................222
8.6.2 Настройка рабочей среды......................................................................223
8.6.3 Запуск эксперимента с модульной сетчаткой .....................................223

8.7 Упражнения ...................................................................................................227
8.8 Заключение ...................................................................................................227

Глава 9. Коэволюция и метод SAFE.......................................................229
9.1 Технические требования ..............................................................................229
9.2 Общие стратегии коэволюции .....................................................................229
9.3 Метод SAFE ....................................................................................................230
9.4 Модифицированный эксперимент с лабиринтом ......................................231

9.4.1 Агент-решатель задачи лабиринта .......................................................231
9.4.2 Среда лабиринта ....................................................................................232
9.4.3 Определение функции приспособленности ........................................233

9.5 Модифицированный поиск новизны ..........................................................234

9.5.1 Функция _add_novelty_item  ...................................................................235
9.5.2 Функция evaluate_novelty_score ............................................................235

9.6 Движок модифицированного эксперимента с лабиринтом ......................236

9.6.1 Создание совместно эволюционирующих популяций........................237
9.6.2 Оценка приспособленности совместно  
развивающихся популяций ...........................................................................238
9.6.3 Выполнение эксперимента модифицированного лабиринта ............243

9.7 Эксперимент с модифицированным лабиринтом .....................................245

9.7.1 Гиперпараметры для популяции агентов-решателей .........................245
9.7.2 Гиперпараметры популяции кандидатов на целевую функцию ........246
9.7.3 Настройка рабочей среды ......................................................................246
9.7.4 Проведение модифицированного эксперимента с лабиринтом ........247

9.8 Упражнения ...................................................................................................250
9.9 Заключение ...................................................................................................250

10  Оглавление

Глава 10. Глубокая нейроэволюция ......................................................251
10.1 Технические требования ............................................................................251
10.2 Глубокая нейроэволюция для глубокого обучения с подкреплением.....252
10.3 Обучение агента игре Atari Frostbite с использованием  
глубокой нейроэволюции ..................................................................................253

10.3.1 Игра Atari Frostbite ...............................................................................254
10.3.2 Отображение игрового экрана на действия .......................................254
10.3.3 Обучение игрового агента ...................................................................257

10.4 Обучение агента навыкам игры в Frostbite ...............................................260

10.4.1 Учебная среда Atari ..............................................................................260
10.4.2 Расчет RL на ядрах GPU........................................................................262
10.4.3 Движок эксперимента .........................................................................267

10.5 Запуск эксперимента с игрой Atari Frostbite .............................................271

10.5.1 Настройка рабочей среды ....................................................................271
10.5.2 Запуск эксперимента ...........................................................................272
10.5.3 Визуализация прохождения игры Frostbite .......................................273

10.6 Визуальный инспектор нейроэволюции ...................................................274

10.6.1 Настройка рабочей среды ....................................................................274
10.6.2 Использование VINE для визуализации эксперимента ....................274

10.7 Упражнения .................................................................................................276
10.8 Заключение..................................................................................................276

ЧАСТЬ IV. Обсуждение результатов  
и заключительные замечания ................................................................277

Глава 11. Лучшие методы, советы и подсказки ...............................279
11.1 Первичный анализ задачи .........................................................................279

11.1.1 Предварительная обработка данных ..................................................280
11.1.2 Исследование проблемной области ....................................................282
11.1.3 Написание хороших симуляторов ......................................................282

11.2 Выбор оптимального метода поисковой оптимизации ...........................283

11.2.1 Целеориентированный поиск оптимального решения ....................283
11.2.2 Оптимизация поиском новизны ........................................................284

11.3 Качественная визуализация .......................................................................285
11.4 Настройка гиперпараметров ......................................................................285
11.5 Метрики качества модели ..........................................................................287

11.5.1 Точность ................................................................................................287
11.5.2 Отклик...................................................................................................287
11.5.3 Оценка F1 ..............................................................................................287
11.5.4 ROC AUC ................................................................................................288
11.5.5 Достоверность ......................................................................................289

11.6 Python, кодирование, советы и рекомендации .........................................289

11.6.1 Советы и рекомендации ......................................................................290
11.6.2 Рабочая среда и инструменты программирования ...........................291

11.7 Заключение..................................................................................................292

Оглавление  11

Глава 12. Заключительные замечания ................................................293
12.1 Что вы узнали в этой книге ........................................................................293

12.1.1 Обзор методов нейроэволюции ..........................................................293
12.1.2 Библиотеки Python и настройка среды разработки ..........................295
12.1.3 Использование NEAT для оптимизации решения задачи XOR ........296
12.1.4 Балансировка тележки с обратным маятником.................................296
12.1.5 Автономное прохождение лабиринта ................................................298
12.1.6 Метод оптимизации поиском новизны .............................................299
12.1.7 Зрительное различение с NEAT на основе гиперкуба .......................300
12.1.8 Метод ES-HyperNEAT и задача сетчатки ............................................301
12.1.9 Коэволюция и метод SAFE ...................................................................302
12.1.10 Глубокая нейроэволюция ..................................................................302

12.2 Куда двигаться дальше ................................................................................303

12.2.1 Uber AI Labs ...........................................................................................304
12.2.2 alife.org ..................................................................................................304
12.2.3 Открытая эволюция в Reddit ...............................................................304
12.2.4 Каталог программного обеспечения NEAT ........................................304
12.2.5 arXiv.org ................................................................................................305
12.2.6 Оригинальная публикация про алгоритм NEAT ................................305

12.3 Заключение..................................................................................................305

Предметный указатель ..............................................................................306

12  Оглавление

Предисловие от издательства

Отзывы и пОжелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете 
об этой книге – что понравилось или, может быть, не понравилось. Отзывы 
важны для нас, чтобы выпускать книги, которые будут для вас максимально 
полезны.
Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя 
на страницу книги, и оставить комментарий в разделе «Отзывы и рецензии». 
Также можно послать письмо главному редактору по адресу dmkpress@gmail.
com, при этом напишите название книги в теме письма.
Если есть тема, в которой вы квалифицированы, и вы заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http://
dmkpress.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com.

СпиСОк ОпечатОк

Хотя мы приняли все возможные меры для того, чтобы удостовериться в качестве наших текстов, ошибки все равно случаются. Если вы найдете ошибку 
в одной из наших книг – возможно, ошибку в тексте или в коде, – мы будем 
очень благодарны, если вы сообщите нам о ней. Сделав это, вы избавите других читателей от расстройств и поможете нам улучшить последующие версии 
этой книги.
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них 
главному редактору по адресу dmkpress@gmail.com, и мы исправим это 
в следующих тиражах.

нарушение автОрСких прав

Пиратство в интернете по-прежнему остается насущной проблемой. Издательство «ДМК Пресс» очень серьезно относится к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконно 
выполненной копией любой нашей книги, пожалуйста, сообщите нам адрес 
копии или веб-сайта, чтобы мы могли применить санкции.
Пожалуйста, свяжитесь с нами по адресу электронной почты dmkpress@
gmail.com со ссылкой на подозрительные материалы.
Мы высоко ценим любую помощь по защите наших авторов, помогающую 
нам предоставлять вам качественные материалы.

Об авторе

Ярослав Омельяненко более десяти лет работает техническим директором 
и директором по исследованиям. Он является активным членом исследовательского сообщества и опубликовал несколько исследовательских работ на 
arXiv, ResearchGate, Preprints и др. Он начал заниматься прикладным машинным обучением более десяти лет назад, разрабатывая автономные агенты 
для мобильных игр. Последние 5 лет активно участвовал в исследованиях, 
связанных с применением методов глубокого машинного обучения для аутентификации, распознавания личных качеств, групповой робототехники, 
искусственного интеллекта и многого другого. Он активный разработчик 
программного обеспечения и создает реализации нейроэволюционного алгоритма с открытым исходным кодом на языке Go.

Я хочу поблагодарить всех исследователей и разработчиков за то,  
что они поделились результатами своей работы и вдохновляются  
идеалами открытого кода.  
Без сообщества open source наш мир был бы другим

О рецензентах

Алан Макинтайр (Alan McIntyre) – главный архитектор программного обеспечения в CodeReclaimers, LLC, где он оказывает услуги по индивидуальному проектированию и разработке программного обеспечения для технических вычислительных приложений, включая вычислительную геометрию, 
компью терное зрение и машинное обучение. Ранее он работал инженеромпрограммистом в General Electric, Microsoft и нескольких стартапах.

Унсал Гокдаг (Unsal Gokdag) с 2017 года работает старшим научным сотрудником в области логистики, а в 2013 году работал инженером по исследованиям и разработкам. В настоящее время он готовит докторскую диссертацию 
по сравнению алгоритмов машинного обучения для удаления пятен на изображениях и классификации поляриметрических изображений SAR. Его прошлый опыт включает работу в области машинного обучения, компьютерного 
зрения и биоинформатики. Он впервые применил алгоритм NEAT в своей 
дипломной работе бакалавра и с тех пор интересуется эволюционными алгоритмами. В настоящее время проживает в Германии.

Я хочу поблагодарить мою семью за бескорыстную любовь, которую они мне 
подарили. Без этой поддержки я бы ничего не добился. Моей маме и сестре: спасибо за все, что вы сделали для меня в самые трудные времена. Папа, я скучаю 
по тебе

Предисловие от автора

Когда традиционные методы глубокого обучения приблизились к пределу 
своих возможностей, все больше и больше исследователей начали искать альтернативные подходы к обучению искусственных нейронных сетей (artificial 
neural network, ANN).
Глубокое машинное обучение чрезвычайно эффективно для распознавания 
образов, но не позволяет выполнять задачи, требующие понимания контекста или незнакомых данных. Многие исследователи, включая Джеффа Хинтона, отца современной концепции глубокого машинного обучения, согласны 
с тем, что существующий подход к проектированию систем искусственного 
интеллекта больше не в состоянии справиться с насущными проблемами.
В этой книге мы обсуждаем жизнеспособную альтернативу традиционным 
методам глубокого машинного обучения – нейроэволюционные алгоритмы. 
Нейроэволюция – это семейство методов машинного обучения, которые используют эволюционные алгоритмы для облегчения решения сложных задач, 
таких как игры, робототехника и моделирование естественных процессов. 
Нейроэволюционные алгоритмы имитируют процесс естественного отбора. 
Очень простые искусственные нейронные сети могут стать очень сложными. Конечным результатом нейроэволюции является оптимальная топология 
сети, которая делает модель более энергоэффективной и удобной для анализа.
В этой книге вы узнаете о различных нейроэволюционных алгоритмах и получите практические навыки по их использованию для решения различных 
типовых задач информатики – от классического обучения с подкреплением до 
создания агентов для автономной навигации по лабиринту. Кроме того, вы узнаете, как можно применить нейроэволюцию для обучения глубоких нейронных сетей при создании агента, способного играть в классические игры Atari.
Цель этой книги – дать вам ясное представление о методах нейроэволюции, 
проводя различные эксперименты с пошаговым руководством. Она содержит 
практические примеры в таких областях, как игры, робототехника и моделирование естественных процессов, с использованием реальных наборов данных, чтобы помочь вам лучше понять исследуемые методы. После прочтения 
этой книги у вас будет все необходимое для применения методов нейроэволюции к другим задачам, по аналогии с представленными экспериментами.
При написании этой книги я стремился дать вам знания о передовых технологиях, которые являются жизненно важной альтернативой традиционному глубокому обучению. Я надеюсь, что применение нейроэволюционных 
алгоритмов в ваших проектах позволит вам элегантно и эффективно решать 
проблемы, которые казались неразрешимыми. 

Доступ онлайн
999 ₽
В корзину