Отзывы о книге «Глубокое обучение в картинках» .............................................13
Предисловие ....................................................................................................16
Вступление ......................................................................................................18
Как пользоваться этой книгой................................................................................................... 20
Благодарности .................................................................................................22
Об авторах.......................................................................................................23
От издательства .............................................................................................................................. 24
ЧАСТЬ I. ВВЕДЕНИЕ В ГЛУБОКОЕ ОБУЧЕНИЕ................................................................................25
Глава 1. Биологическое и компьютерное зрение .................................................26
Биологическое зрение .................................................................................................................. 26
Компьютерное зрение................................................................................................................... 31
Неокогнитрон........................................................................................................................... 32
LeNet-5 ........................................................................................................................................ 33
Традиционное машинное обучение .................................................................................. 35
ImageNet и ILSVRC................................................................................................................ 37
AlexNet........................................................................................................................................ 38
Интерактивная среда TensorFlow ..................................................................................... 41
Quick, Draw!..................................................................................................................................... 43
Итоги .................................................................................................................................................. 43
Глава 2. Языки людей и машин ..........................................................................44
Глубокое обучение для обработки естественного языка.................................................. 45
Сети глубокого обучения автоматически изучают
варианты представления ...................................................................................................... 45
Обработка естественного языка......................................................................................... 46
Краткая история глубокого обучения для NLP ........................................................... 48
Вычислительное представление языка .................................................................................. 49
Прямое кодирование слов.................................................................................................... 50
Векторы слов ............................................................................................................................ 51
Арифметика с векторами слов............................................................................................ 54
word2viz ...................................................................................................................................... 55
Локальные и распределенные представления .............................................................. 57
Элементы естественного языка................................................................................................. 59
Google Duplex .................................................................................................................................. 62
Итоги .................................................................................................................................................. 64
Глава 3. Машинное искусство............................................................................65
Ночная пьянка................................................................................................................................. 65
Арифметика изображений несуществующих людей......................................................... 68
Передача стиля: преобразование фотографий в изображения в стиле Моне
(и наоборот) ..................................................................................................................................... 71
Придание фотореалистичности простым рисункам.......................................................... 72
Создание фотореалистичных изображений из текста ...................................................... 73
Обработка изображений с использованием технологий глубокого обучения ......... 73
Итоги .................................................................................................................................................. 75
Глава 4. Машины-игроки...................................................................................77
Глубокое обучение, искусственный интеллект и другие ................................................. 77
Искусственный интеллект................................................................................................... 77
Машинное обучение............................................................................................................... 79
Обучение представлению..................................................................................................... 79
Искусственные нейронные сети ........................................................................................ 79
Глубокое обучение.................................................................................................................. 80
Компьютерное зрение............................................................................................................ 81
Обработка естественного языка......................................................................................... 82
Три категории задач машинного обучения........................................................................... 82
Обучение с учителем.............................................................................................................. 82
Обучение без учителя............................................................................................................ 83
Обучение с подкреплением ................................................................................................. 83
Глубокое обучение с подкреплением...................................................................................... 86
Видеоигры......................................................................................................................................... 87
Настольные игры ........................................................................................................................... 90
AlphaGo....................................................................................................................................... 90
AlphaGo Zero............................................................................................................................. 93
AlphaZero.................................................................................................................................... 95
Манипулирование объектами ................................................................................................... 97
Популярные окружения для глубокого обучения с подкреплением........................... 99
OpenAI Gym.............................................................................................................................. 99
DeepMind Lab.........................................................................................................................100
Unity ML-Agents....................................................................................................................102
Три категории ИИ .......................................................................................................................103
Ограниченный искусственный интеллект ...................................................................103
Универсальный искусственный интеллект .................................................................103
Искусственный суперинтеллект......................................................................................103
Итоги ................................................................................................................................................104
ЧАСТЬ II. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ В КАРТИНКАХ ....................................................................105
Глава 5. Телега (код) впереди лошади (теории) ................................................ 106
Подготовка .....................................................................................................................................106
Установка........................................................................................................................................107
Неглубокая сеть в Keras.............................................................................................................108
Коллекция изображений рукописных цифр MNIST ...............................................108
Схема сети................................................................................................................................109
Загрузка данных ....................................................................................................................111
Переформатирование данных...........................................................................................113
Проектирование архитектуры нейронной сети..........................................................115
Обучение модели глубокого обучения..........................................................................115
Итоги ................................................................................................................................................116
Глава 6. Искусственные нейроны, определяющие хот-доги ............................... 117
Введение в биологическую нейроанатомию.......................................................................117
Перцептрон.....................................................................................................................................118
Детектор хот-догов ...............................................................................................................119
Самое важное уравнение в этой книге...........................................................................122
Современные нейроны и функции активации ..................................................................124
Нейроны sigmoid ...................................................................................................................125
Нейрон типа tanh ..................................................................................................................127
ReLU: Rectified Linear Unit................................................................................................128
Выбор типа нейронов..................................................................................................................129
Итоги ................................................................................................................................................130
Глава 7. Искусственные нейронные сети .......................................................... 132
Входной слой.................................................................................................................................132
Полносвязанный слой................................................................................................................133
Полносвязанная сеть, определяющая хот-доги.................................................................134
Прямое распространение через первый скрытый слой ...........................................135
Прямое распространение через последующие слои .................................................137
Слой softmax для сети классификации фастфуда ............................................................139
Повторный обзор неглубокой сети........................................................................................142
Итоги ................................................................................................................................................144
Глава 8. Обучение глубоких сетей ................................................................... 145
Функции стоимости....................................................................................................................145
Квадратичная функция стоимости.................................................................................146
Насыщенные нейроны.........................................................................................................147
Перекрестная энтропия.......................................................................................................148
Оптимизация: обучение методом минимизации стоимости.........................................150
Градиентный спуск...............................................................................................................150
Скорость обучения ..............................................................................................................152
Размер пакета и стохастический градиентный спуск...............................................154
Как избежать ловушки локального минимума...........................................................158
Обратное распространение.......................................................................................................160
Настройка числа скрытых слоев и нейронов .....................................................................161
Сеть промежуточной глубины на основе Keras.................................................................163
Итоги ................................................................................................................................................166
Глава 9. Совершенствование глубоких сетей .................................................... 168
Инициализация весов.................................................................................................................168
Распределения Ксавье Глоро ............................................................................................172
Нестабильность градиентов .....................................................................................................175
Исчезающие градиенты.......................................................................................................175
Взрывные градиенты............................................................................................................176
Пакетная нормализация .....................................................................................................176
Обобщающая способность модели (предотвращение переобучения) ......................178
Регуляризация L1 и L2........................................................................................................180
Прореживание........................................................................................................................181
Обогащение данных .............................................................................................................184
Необычные оптимизаторы........................................................................................................184
Метод моментов.....................................................................................................................185
Метод Нестерова ...................................................................................................................185
AdaGrad ....................................................................................................................................185
AdaDelta и RMSProp............................................................................................................186
Adam...........................................................................................................................................187
Глубокая нейронная сеть на основе Keras...........................................................................188
Регрессия.........................................................................................................................................189
TensorBoard....................................................................................................................................192
Итоги ................................................................................................................................................195
ЧАСТЬ III. ИНТЕРАКТИВНЫЕ ПРИЛОЖЕНИЯ ГЛУБОКОГО ОБУЧЕНИЯ ..........................................197
Глава 10. Компьютерное зрение ...................................................................... 198
Сверточные нейронные сети....................................................................................................198
Двумерная структура визуальных изображений.......................................................199
Вычислительная сложность ..............................................................................................199
Сверточные слои ...................................................................................................................200
Множество фильтров...........................................................................................................202
Пример сверточной сети.....................................................................................................203
Гиперпараметры сверточных фильтров........................................................................207
Слои субдискретизации.............................................................................................................209
LeNet-5 в Keras..............................................................................................................................211
AlexNet и VGGNet в Keras........................................................................................................217
Остаточные сети...........................................................................................................................220
Затухание градиентов: ахиллесова пята глубоких сверточных сетей ................220
Остаточные связи..................................................................................................................221
ResNet........................................................................................................................................223
Применения компьютерного зрения.....................................................................................224
Обнаружение объектов .......................................................................................................225
Сегментация изображений ................................................................................................229
Перенос обучения .................................................................................................................231
Капсульные сети ...................................................................................................................235
Итоги ................................................................................................................................................236
Глава 11. Обработка естественного языка ........................................................ 238
Предварительная обработка данных на естественном языке.......................................238
Лексемизация .........................................................................................................................241
Преобразование всех символов в нижний регистр ...................................................244
Удаление стоп-слов и знаков препинания ...................................................................244
Стемминг..................................................................................................................................245
Обработка n-грамм...............................................................................................................246
Предварительная обработка полного корпуса............................................................248
Создание векторных представлений с помощью алгоритма word2vec.....................251
Теоретические основы алгоритма word2vec................................................................251
Вычисление векторов слов ................................................................................................254
Запуск word2vec ....................................................................................................................254
Отображение векторов слов на графике.......................................................................259
Площадь под кривой ROC........................................................................................................262
Матрица ошибок....................................................................................................................264
Вычисление метрики ROC AUC.....................................................................................265
Классификация естественного языка с использованием уже знакомых сетей......268
Загрузка отзывов к фильмам из IMDb..........................................................................268
Исследование данных из IMDb .......................................................................................272
Стандартизация длин отзывов .........................................................................................275
Полносвязанная сеть............................................................................................................276
Сверточные сети....................................................................................................................283
Сети, специализирующиеся на изучении последовательных данных ......................288
Рекуррентные нейронные сети.........................................................................................288
Реализация RNN с помощью Keras.................................................................................290
Долгая краткосрочная память ..........................................................................................293
Реализация LSTM с помощью Keras..............................................................................295
Двунаправленные LSTM....................................................................................................297
Многослойные рекуррентные модели...........................................................................297
Seq2seq и механизм внимания..........................................................................................299
Перенос обучения в NLP....................................................................................................300
Непоследовательные архитектуры: функциональный API в библиотеке Keras.......302
Итоги ................................................................................................................................................307
Глава 12. Генеративно-состязательные сети ..................................................... 309
Базовая теория GAN...................................................................................................................309
Набор данных Quick, Draw! ..............................................................................................314
Сеть дискриминатора .................................................................................................................317
Сеть генератора.............................................................................................................................320
Состязательная сеть....................................................................................................................323
Обучение генеративно-состязательной сети......................................................................326
Итоги ................................................................................................................................................332
Глава 13. Глубокое обучение с подкреплением ................................................. 334
Теоретические основы глубокого обучения с подкреплением ....................................334
Игра Cart-Pole........................................................................................................................335
Марковский процесс принятия решений.....................................................................338
Оптимальная стратегия ......................................................................................................340
Базовая теория сетей глубокого Q-обучения.....................................................................342
Функции ценности ...............................................................................................................343
Функции Q-ценности..........................................................................................................343
Оценка оптимальной Q-ценности...................................................................................344
Определение агента DQN .........................................................................................................345
Инициализация параметров..............................................................................................347
Создание модели нейронной сети агента......................................................................349
Запоминание игрового процесса .....................................................................................350
Обучение посредством воспроизведения воспоминаний.......................................351
Выбор действия .....................................................................................................................352
Сохранение и загрузка параметров модели.................................................................353
Взаимодействие с окружением из OpenAI Gym ...............................................................353
Оптимизация гиперпараметров с помощью SLM Lab....................................................357
Другие агенты, отличные от DQN..........................................................................................360
Градиенты стратегий и алгоритм REINFORCE.........................................................361
Алгоритм Actor-Critic..........................................................................................................362
Итоги ................................................................................................................................................363
ЧАСТЬ IV. ВЫ И ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ..........................................................................365
Глава 14. Вперед, к собственным проектам глубокого обучения ........................ 366
Идеи для проектов глубокого обучения ..............................................................................366
Компьютерное зрение и генеративно-состязательные сети...................................366
Обработка естественного языка.......................................................................................368
Глубокое обучение с подкреплением.............................................................................369
Преобразование имеющегося проекта машинного обучения................................370
Ресурсы для будущих проектов..............................................................................................371
Социально значимые проекты..........................................................................................371
Процесс моделирования, включая настройку гиперпараметров ................................372
Автоматизация поиска гиперпараметров .....................................................................375
Библиотеки глубокого обучения............................................................................................376
Keras и TensorFlow ...............................................................................................................376
PyTorch.....................................................................................................................................378
MXNet, CNTK, Caffe и другие ..........................................................................................379
Программное обеспечение 2.0 .................................................................................................379
На пути к универсальному искусственному интеллекту...............................................381
Итоги ................................................................................................................................................384
ЧАСТЬ V. ПРИЛОЖЕНИЯ............................................................................................................385
Приложение A. Формальная нотация нейронных сетей..................................... 386
Приложение Б. Обратное распространение...................................................... 388
Приложение В. PyTorch.................................................................................. 392
Особенности PyTorch.................................................................................................................392
Система Autograd..................................................................................................................392
Динамическая инфраструктура .......................................................................................392
PyTorch и TensorFlow..........................................................................................................393
Практическое использование PyTorch.................................................................................394
Установка PyTorch...............................................................................................................395
Основные компоненты PyTorch......................................................................................395
Конструирование глубоких нейронных сетей в PyTorch ......................................397