TensorFlow для глубокого обучения

Бхарат Рамсундар Реза Босаг Заде

Обложка:


Полное содержание
Об авторах 11
Предисловие 13
Условные обозначения, принятые в этой книге 13
Использование примеров программ 14
Признательности 14
Комментарии переводчика 15
Исходный код 16
Протокол установки библиотек 17
Установка библиотек Python из whl-файлов 17
Глава 1. Введение в глубокое самообучение
19
Машинное самообучение "питается" информатикой 19
Глубоко обучающиеся примитивы 21
Полносвязный слой 21
Сверточный слой 22
Слои рекуррентной нейронной сети 22
Ячейки долгой краткосрочной памяти 23
Глубоко обучающиеся архитектуры 24
LeNet 24
AlexNet 24
ResNet 25
Нейронная модель титрования изображений 26
Нейронный машинный перевод Google 27
Однократные модели 27
AlphaGo 29
Генеративно-состязательные сети 31
Нейронные машины Тьюринга 31
Вычислительные каркасы для глубокого самообучения 32
Ограничения вычислительной среды TensorFlow 33
Резюме 34
Глава 2. Введение в примитивы TensorFlow
35
Введение в тензоры 35
Скаляры, векторы и матрицы 36
Матричная математика 39
Тензоры 41
Тензоры в физике 42
Математические ремарки 44
Базовые вычисления в TensorFlow 44
Установка TensorFlow и начало работы 45
Инициализация константных тензоров 45
Отбор случайных значений для тензоров 47
Сложение и шкалирование тензоров 48
Матричные операции 49
Типы тензоров 50
Обработка форм тензоров 51
Введение в операцию транслирования 52
Императивное и декларативное программирование 53
Графы TensorFlow 55
Сеансы TensorFlow 55
Переменные TensorFlow 56
Резюме 58
Глава 3. Линейная и логистическая регрессия с помощью TensorFlow
59
Математический обзор 59
Функции и дифференцируемость 59
Функции потерь 61
Классификация и регрессия 62
L2-потеря 63
Режимы сбоя функции L2-потери 63
Распределения вероятностей 64
Перекрестно-энтропийная потеря 65
Градиентный спуск 66
Системы автоматического дифференцирования 69
Самообучение с помощью TensorFlow 70
Создание игрушечных наборов данных 71
Чрезвычайно краткое введение в NumPy 71
Почему важны игрушечные наборы данных? 71
Добавление шума с помощью гауссиан 72
Игрушечные наборы регрессионных данных 73
Игрушечные наборы классификационных данных 74
Новые понятия TensorFlow 76
Заполнители 76
Словари передачи данных и выборки 76
Области имен 77
Оптимизаторы 77
Взятие градиентов с помощью TensorFlow 78
Сводки и пишущие объекты для TensorBoard 79
Тренировка моделей с помощью TensorFlow 80
Тренировка линейной и логистической моделей в TensorFlow 80
Линейная регрессия в TensorFlow 80
Определение и тренировка линейной регрессии в TensorFlow 81
Визуализация линейных регрессионных моделей с помощью TensorBoard 83
Метрические показатели для оценивания регрессионных моделей 86
Логистическая регрессия в TensorFlow 89
Визуализация логистических регрессионных моделей с помощью TensorBoard 90
Метрические показатели для оценивания классификационных моделей 93
Резюме 94
Глава 4. Полносвязные глубокие сети
95
Что такое полносвязная глубокая сеть? 95
"Нейроны" в полносвязных сетях 97
Обучающиеся полносвязные сети с обратным распространением 99
Теорема об универсальной сходимости 100
Почему именно глубокие сети? 102
Тренировка полносвязных нейронных сетей 102
Заучиваемые представления 102
Активации 103
Полносвязные сети запоминают 104
Регуляризация 104
Отсев 105
Ранняя остановка 106
Регуляризация весов 107
Тренировка полносвязных сетей 108
Мини-пакетирование 108
Скорости заучивания 108
Реализация в TensorFlow 109
Инсталляция DeepChem 109
Набор данных Tox21 109
Принятие мини-пакетов заполнителей 110
Реализация скрытого слоя 111
Добавление отсева в скрытый слой 112
Реализация мини-пакетирования 113
Оценивание точности модели 113
Использование пакета TensorBoard для отслеживания схождения модели 114
Резюме 116
Глава 5. Гиперпараметрическая оптимизация
117
Оценивание модели и гиперпараметрическая оптимизация 118
Метрики, метрики, метрики 120
Бинарно-классификационные показатели 120
Метрические показатели мультиклассовой классификации 123
Регрессионные метрические показатели 124
Алгоритмы оптимизации гиперпараметров 125
Установление ориентира 126
Спуск студента магистратуры 128
Решеточный поиск гиперпараметров 129
Случайный поиск гиперпараметров 130
Задание для читателя 132
Резюме 132
Глава 6. Сверточные нейронные сети
133
Введение в сверточные архитектуры 134
Локальные рецептивные поля 134
Сверточные ядра 136
Редуцирующие слои 138
Конструирование сверточных сетей 139
Растянутые свертки 139
Применения сверточных сетей 140
Обнаружение и локализация объектов 140
Сегментация изображений 141
Графовые свертки 142
Генерирование изображений с помощью вариационных автокодировщиков 144
Состязательные модели 146
Тренировка сверточной сети в TensorFlow 147
Набор данных MNIST 147
Скачивание набора данных MNIST 148
Сверточные примитивы TensorFlow 152
Сверточная архитектура 153
Оценивание натренированных моделей 158
Задание для читателя 160
Резюме 160
Глава 7. Рекуррентные нейронные сети
161
Обзор рекуррентных архитектур 162
Рекуррентные ячейки 164
Долгая краткосрочная память 164
Вентильные рекуррентные блоки 166
Применение рекуррентных моделей 166
Получение образцов из рекуррентных сетей 167
Модели Seq2seq 167
Нейронные машины Тьюринга 169
Работа с рекуррентными нейронными сетями на практике 171
Обработка корпуса Penn Treebank 171
Программный код для предобработки 173
Загрузка данных в TensorFlow 175
Базовая рекуррентная архитектура 177
Задание для читателя 179
Резюме 179
Глава 8. Самообучение с максимизацией подкрепления
181
Марковские процессы принятия решений 185
Алгоритмы для самообучения с максимизацией подкрепления 187
Q-заучивание 188
Заучивание стратегии 189
Асинхронная тренировка 191
Ограничения самообучения с максимизацией подкрепления 191
Игра крестики-нолики 193
Объектная ориентированность 194
Абстрактная среда 194
Среда игры крестики-нолики 195
Слоевая абстракция 198
Определение графа слоев 201
Алгоритм A3C 206
Функция потери 211
Определение рабочих процессов 213
Разворачивание игровой ситуации в рабочих процессах 214
Тренировка стратегии 217
Задание для читателя 218
Резюме 218
Глава 9. Тренировка крупных глубоких сетей
219
Специальное аппаратное обеспечение для глубоких сетей 219
Тренировка на CPU 220
Тренировка на GPU 221
Тензорные процессоры 222
Программируемые пользователем вентильные матрицы 224
Нейроморфные чипы 224
Распределенная тренировка глубоких сетей 225
Параллелизм данных 226
Параллелизм моделей 227
Параллельная тренировка на данных Cifar10 с использованием многочисленных GPU 228
Скачивание и загрузка данных 229
Глубокое погружение в архитектуру 231
Тренировка на многочисленных GPU 234
Задание для читателя 237
Резюме 237
Глава 10. Будущее глубокого самообучения
239
Глубокое самообучение вне технологической индустрии 240
Глубокое самообучение в фармацевтической промышленности 241
Глубокое самообучение в юстиции 241
Глубокое самообучение для робототехники 242
Глубокое самообучение в сельском хозяйстве 242
Этическое использование глубокого самообучения 243
Действительно ли универсальный искусственный интеллект неизбежен? 245
Куда направиться дальше? 246

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