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

Издательство: БХВ-Петербург
Автор: Рамсундар Б., Заде Р.
ISBN: 978-5-9775-4014-8
Страниц: 256
Язык: Русский
Год издания: 2019

 
 
 

Описание книгиСодержаниеДополнительно

Книги по IT. В издании рассказывается о программной библиотеке TensorFlow и принципах глубокого обучения. Прочитав руководство, Вы узнаете о базовых вычислениях в 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

Эта книга познакомит Вас с фундаментальными принципами машинного обучения с использованием TensorFlow — новой программной библиотеки компании Google для глубокого обучения, которая значительно облегчает инженерам работу по проектированию и внедрению сложных глубоко обучающихся архитектур. Вы познакомитесь с тем, как использовать библиотеку TensorFlow для построения систем, способных обнаруживать объекты на изображениях, понимать человеческий текст и предсказывать свойства потенциальных лекарств. Кроме того, Вы получите интуитивное понимание возможностей TensorFlow как системы для выполнения тензорного исчисления и узнаете, как использовать ее для задач, лежащих за пределами традиционной сферы машинного обучения. Важно отметить, что эта книга является одной из первых книг по глубокому обучению, написанных для практикующих специалистов. Она обучает фундаментальным понятиям на практических примерах и развивает понимание основ машинного обучения, начиная с нулевого уровня. Целевая аудитория этой книги — практикующие разработчики, которые не испытывают проблем с проектированием программных систем, но отнюдь не всегда справляются с созданием обучающихся систем. По ходу изложения мы лишь изредка будем использовать элементарную линейную алгебру и математический анализ, но при этом рассмотрим все необходимые фундаментальные принципы. Мы также ожидаем, что наша книга окажется полезной для ученых и других специалистов, которые не испытывают проблем с написанием сценариев, но отнюдь не всегда — с проектированием обучающихся алгоритмов.
Об авторах
Бхарат Рамсундар (Bharath Ramsundar) получил степень бакалавра гуманитарных и естественных наук по электротехнике, компьютерным наукам и математике в институте Беркли Калифорнийского университета, с отличием закончил выпускной класс по математике. В настоящее время он является аспирантом в области вычислительной техники в Стэнфордском университете в лаборатории Панде. Его исследовательская работа лежит в сфере применения глубокого обучения при создании медицинских препаратов. В частности, Бхарат является ведущим разработчиком DeepChem.io — пакета с открытым исходным кодом, основанного на библиотеке TensorFlow, который ориентирован на демократизацию использования глубокого обучения при создании медицинских препаратов. Он стипендиат аспирантуры Герца, самой избирательной аспирантуры в данной области наук.
Реза Босаг Заде (Reza Bosagh Zadeh) — основатель и генеральный директор компании Matroid и адъюнкт-профессор в Стэнфордском университете. Его профессиональная деятельность лежит в области машинного обучения, вычислительной и дискретной прикладной математики. Реза получил докторскую степень по вычислительной математике под руководством Гуннара Карлссона в Стэнфордском университете. Его награды включают премию KDD Best Paper Award в области открытия знаний в базах данных и премию Gene Golub Outstanding Thesis Award за выдающуюся дипломную работу. Он работал в технических консультативных советах Microsoft и Databricks. В рамках своего исследования Реза занимался построением машиннообучающихся алгоритмов, лежащих в основе системы Twitter «кого-читать», которая стала первым продуктом с использованием машинного обучения в этой социальной сети. Реза является инициатором создания линейно-алгебраического пакета в Apache Spark, и его работа была включена в промышленные и академические кластерные вычислительные среды. В дополнение к исследованиям, Реза разработал и преподает два класса уровня докторантуры в Стэнфордском университете: распределенные алгоритмы и оптимизация (CME 323) и дискретная математика и алгоритмы (CME 305).

Отрывок из книги
ссылка

Похожие книги