Глубокое обучение с R и Keras. 2 изд

Глубокое обучение с R и Keras. 2 изд

Глубокое обучение с R и Keras. 2 изд
Автор: Шолле Франсуа
Дата выхода: 2023
Издательство: ДМК Пресс
Количество страниц: 648
Размер файла: 10.0 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

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

Предисловие....17

Благодарности....19

Об этой книге....20

Об иллюстрации на обложке....24

Об авторах....25

Глава 1. Что такое глубокое обучение?....26

1.1 Искусственный интеллект, машинное и глубокое обуче­ние....27

1.1.1 Искусственный интеллект....27

1.1.2 Машинное обуче­ние....28

1.1.3 Извлечение правил и представлений из данных....30

1.1.4 «Глубина» глубокого обуче­ния....33

1.1.5 Принцип действия глубокого обуче­ния в трех рисунках....35

1.1.6 Каких успехов достигло глубокое обуче­ние....37

1.1.7 Не верьте рекламной шумихе....38

1.1.8 Перспективы развития ИИ....39

1.2 Краткая история машинного обуче­ния....40

1.2.1 Вероятностное моделирование....41

1.2.2 Первые нейронные сети....41

1.2.3 Ядерные методы....42

1.2.4 Деревья решений, случайные леса и градиентный бустинг....44

1.2.5 Назад к нейронным сетям....45

1.2.6 Отличительные черты глубокого обуче­ния....46

1.2.7 Современный ландшафт машинного обуче­ния....47

1.3 Почему глубокое обуче­ние? Почему сейчас?....49

1.3.1 Оборудование....50

1.3.2 Данные....51

1.3.3 Алгоритмы....52

1.3.4 Новая волна инвестиций....53

1.3.5 Демократизация глубокого обуче­ния....54

1.3.6 Ждать ли продолжения этой тенденции?....54

Глава 2. Математические основы нейронных сетей....57

2.1 Первое знакомство с нейронной сетью....58

2.2 Представление данных для нейронных сетей....62

2.2.1 Скаляры (тензоры нулевого ранга)....63

2.2.2 Векторы (тензоры первого ранга)....63

2.2.3 Матрицы (тензоры второго ранга)....64

2.2.4 Тензоры третьего и более высокого рангов....64

2.2.5 Ключевые атрибуты....64

2.2.6 Манипулирование тензорами в R....66

2.2.7 Пакеты данных....66

2.2.8 Практические примеры тензоров с данными....67

2.2.9 Векторные данные....67

2.2.10 Временные ряды, или последовательности данных....68

2.2.11 Изображения....69

2.2.12 Видеоданные....69

2.3 Шестеренки нейронных сетей: операции с тензорами....70

2.3.1 Поэлементные операции....71

2.3.2 Операции с тензорами разной размерности....72

2.3.3 Скалярное произведение тензоров....74

2.3.4 Изменение формы тензора....76

2.3.5 Геометрическая интерпретация операций с тензорами....77

2.3.6 Геометрическая интерпретация глубокого обуче­ния....81

2.4 Механизм нейронных сетей: оптимизация на основе градиента....82

2.4.1 Что такое производная?....84

2.4.2 Производная операций с тензорами: градиент....85

2.4.3 Стохастический градиентный спуск....87

2.4.4 Объединение производных: алгоритм обратного распространения ошибки....90

2.5 Возвращаясь к нашему первому примеру....97

2.5.1 Повторная реализация нашего первого примера с нуля в TensorFlow....99

2.5.2 Выполнение одного шага обуче­ния....101

2.5.3 Полный цикл обуче­ния....103

2.5.4 Оценка модели....104

Краткие итоги главы....105

Глава 3. Введение в Keras и TensorFlow....106

3.1 Что такое TensorFlow?....107

3.2 Что такое Keras?....108

3.3 Keras и TensorFlow: краткая история....109

3.4 Интерфейсы Python и R: краткая история....110

3.5 Настройка среды разработки для глубокого обучения....111

3.5.1 Установка Keras и TensorFlow....112

3.6 Первые шаги с TensorFlow....113

3.6.1 Тензоры TensorFlow....114

3.7 Атрибуты тензоров....115

3.7.1 Форма тензора и ее изменение....116

3.7.2 Срезы тензоров....118

3.7.3 Операции с тензорами разной размерности....119

3.7.4 Модуль tf....119

3.7.5 Неизменность тензоров и переменные....121

3.7.6 Математические операции в TensorFlow....122

3.7.7 Взгляд на API GradientTape с другой стороны....123

3.7.8 Полный пример: линейный классификатор в чистом TensorFlow....124

3.8 Анатомия нейронной сети и основы API Keras....129

3.8.1 Слои: строительные блоки глубокого обуче­ния....130

3.8.2 От слоев к моделям....134

3.8.3 Этап «компиляции»: настройка процесса обучения....136

3.8.4 Выбор функции потерь....139

3.8.5 Использование метода fit()....140

3.8.6 Отслеживание потерь и показателей на контрольных данных....141

3.8.7 Использование модели после обуче­ния....142

Краткие итоги главы....143

Глава 4. Примеры работы с нейросетью: классификация и регрессия....145

4.1 Классификация отзывов к фильмам: пример бинарной классификации....147

4.1.1 Набор данных IMDB....147

4.1.2 Подготовка данных....149

4.1.3 Создание модели....150

4.1.4 Проверка вашего выбора....153

4.1.5 Использование обученной сети для прогнозирования на новых данных....156

4.1.6 Продолжаем эксперименты....157

4.1.7 Промежуточные итоги....157

4.2 Классификация новостных лент: пример многоклассовой классификации....158

4.2.1 Набор данных Reuters....158

4.2.2 Подготовка данных....160

4.2.3 Построение модели....160

4.2.4 Проверка модели....161

4.2.5 Предсказания на новых данных....163

4.2.6 Другой способ обработки меток и потерь....164

4.2.7 Важность использования достаточно больших промежуточных слоев....164

4.2.8 Дальнейшие эксперименты....165

4.2.9 Промежуточные итоги....165

4.3 Предсказание цен на дома: пример регрессии....166

4.3.1 Набор данных с ценами на жилье в Бостоне....166

4.3.2 Подготовка данных....167

4.3.3 Построение модели....167

4.3.4 Оценка качества модели методом K-кратной перекрестной проверки....168

4.3.5 Выдача прогнозов на новых данных....173

4.3.6 Промежуточные выводы....173

Краткие итоги главы....173

Глава 5. Основы машинного обучения....175

5.1 Обобщение – цель машинного обуче­ния....175

5.1.1 Недообучение и переобучение....176

5.1.2 Базовые принципы обобщения в глубоком обуче­нии....182

5.2 Оценка моделей машинного обуче­ния....189

5.2.1 Наборы данных для обуче­ния, проверки и контроля....189

5.2.2 Использование критериев, основанных на здравом смысле....193

5.2.3 Что следует помнить об оценке модели....194

5.3 Улучшение качества обуче­ния модели....195

5.3.1 Настройка ключевых параметров градиентного спуска....195

5.3.2 Использование лучшей априорно обоснованной архитектуры....198

5.3.3 Увеличение емкости модели....199

5.4 Как улучшить обобщение....201

5.4.1 Подготовка набора данных....201

5.4.2 Конструирование признаков....202

5.4.3 Использование ранней остановки....204

5.4.4 Регуляризация модели....204

Краткие итоги главы....215

Глава 6. Обобщенный рабочий процесс машинного обучения....217

6.1 Постановка задачи....219

6.1.1 Уточнение задачи....219

6.1.2 Получение исходных данных....221

6.1.3 Добейтесь понимания данных....225

6.1.4 Выберите меру успеха....226

6.2 Разработка модели....227

6.2.1 Подготовка данных....227

6.2.2 Выбор протокола оценки....229

6.2.3 Как превзойти простой базовый уровень....230

6.2.4 Масштабирование: разработка модели, способной к переобучению....231

6.2.5 Регуляризация и настройка модели....232

6.3 Развертывание модели....233

6.3.1 Представление модели заказчику....233

6.3.2 Передача модели заказчику....234

6.3.3 Мониторинг модели в рабочей среде....238

6.3.4 Поддержка и обновление модели....238

Краткие итоги главы....239

Глава 7. Работа с Keras: углубленные навыки....241

7.1 Широкий спектр рабочих процессов Keras....242

7.2 Различные способы построения моделей Keras....242

7.2.1 Sequential API....243

7.2.2 Functional API....246

7.2.3 Создание подкласса класса Model....253

7.2.4 Смешивание и сочетание разных компонентов....257

7.2.5 Используйте правильные инструменты....258

7.3 Использование встроенных циклов обучения и оценки....258

7.3.1 Разработка собственных метрик....259

7.3.2 Использование обратных вызовов....262

7.3.3 Разработка собственных обратных вызовов....264

7.3.4 Мониторинг и визуализация с по­мощью TensorBoard....266

7.4 Разработка собственных циклов обучения и оценки....268

7.4.1 Обучение или логический вывод....269

7.4.2 Использование метрик на низком уровне....270

7.4.3 Полный цикл обуче­ния и оценки....271

7.4.4 Увеличьте быстродействие с по­мощью tf_function()....274

7.4.5 Использование fit() с пользовательским циклом обучения....275

Краткие итоги главы....278

Глава 8. Глубокое обучение в компьютерном зрении....279

8.1 Введение в сверточные нейронные сети....280

8.1.1 Операция свертки....283

8.1.2 Выбор максимального значения из соседних (max-pooling)....288

8.2 Обучение сверточной нейронной сети с нуля на небольшом наборе данных....291

8.2.1 Целесообразность глубокого обуче­ния для решения задач с небольшими наборами данных....292

8.2.2 Загрузка данных....292

8.2.3 Построение сети....295

8.2.4 Предварительная обработка данных....297

8.2.5 Расширение данных....303

8.3 Использование предварительно обученной сверточной нейронной сети....307

8.3.1 Выделение признаков....308

8.3.2 Дообучение ранее обученной модели....318

Краткие итоги главы....322

Глава 9. Глубокое обучение для компьютерного зрения....323

9.1 Три основные задачи компьютерного зрения....324

9.2 Пример сегментации изображения....325

9.3 Современные стандартные архитектуры сверточных сетей....335

9.3.1 Модульность, иерархия и повторное использование....336

9.3.2 Остаточные связи....339

9.3.3 Пакетная нормализация....343

9.3.4 Разделяемые по глубине свертки....346

9.3.5 Применим знания на практике: мини-модель, подобная Xception....349

9.4 Интерпретация знаний сверточной нейросети....352

9.4.1 Визуализация промежуточных активаций....353

9.4.2 Визуализация сетевых фильтров....359

9.4.3 Визуализация тепловых карт активации класса....365

Краткие итоги главы....371

Глава 10. Глубокое обучение и временные ряды....372

10.1 Различные виды задач временных рядов....372

10.2 Пример прогнозирования температуры....374

10.2.1 Подготовка данных....378

10.2.2 Простое решение задачи без привлечения машинного обучения....382

10.2.3 Решение с использованием базовой модели машинного обучения....384

10.2.4 Эксперимент с одномерной сверточной сетью....386

10.2.5 Первый вариант простой рекуррентной модели....389

10.3 Рекуррентные нейронные сети....390

10.3.1 Рекуррентный слой в Keras....393

10.4 Продвинутое применение рекуррентных нейронных сетей....398

10.4.1 Использование рекуррентного прореживания для борьбы с переобуче­ни­ем....399

10.4.2 Наложение рекуррентных слоев....402

10.4.3 Использование двунаправленных рекуррентных сетей....404

10.4.4 Что дальше....407

Краткие итоги главы....409

Глава 11. Глубокое обучение в обработке текстов....410

11.1 Обработка естественного языка: обзор отрасли....410

11.2 Подготовка текстовых данных....413

11.2.1 Стандартизация текста....414

11.2.2 Разделение текста (токенизация)....415

11.2.3 Индексация словаря....416

11.2.4 Использование слоя layer_text_vectorization....418

11.3 Два подхода к представлению групп слов: наборы и последовательности....422

11.3.1 Подготовка данных обзоров фильмов IMDB....423

11.3.2 Обработка слов без учета порядка....426

11.3.3 Обработка последовательности слов....434

11.4 Архитектура Transformer....448

11.4.1 Механизм самовнимания....448

11.4.2 Многоголовое внимание....454

11.4.3 Кодировщик в архитектуре Transformer....455

11.4.4 Когда следует использовать модели последовательности, а не модели мешка слов....465

11.5 Помимо классификации текста: обучение преобразованию последовательностей....466

11.5.1 Пример машинного перевода....468

11.5.3 Рекуррентная модель преобразования последовательностей....471

11.5.4 Преобразование последовательностей с Transformer....478

Краткие итоги главы....484

Глава 12. Генеративные модели глубокого обучения....486

12.1 Генерирование текста с помощью Keras....488

12.1.1 Краткая история генеративных сетей....488

12.1.2 Как генерируют последовательности данных?....490

12.1.3 Важность стратегии выбора....490

12.1.4 Реализация генерации текста с по­мощью Keras....493

12.1.5 Обратный вызов генерации текста с выборкой при разной температуре....497

12.1.6 Подведение итогов....504

12.2 DeepDream....504

12.2.1 Реализация DeepDream в Keras....505

12.2.2 Подведение итогов....513

12.3 Нейронный перенос стиля....514

12.3.1 Функция потерь содержания....515

12.3.2 Функция потерь стиля....515

12.3.3 Реализация переноса стиля в Keras....516

12.3.4 Подведение итогов....524

12.4 Генерация изображений с помощью вариационных автокодировщиков....524

12.4.1 Выбор шаблонов из скрытых пространств изображений....525

12.4.2 Концептуальные векторы для редактирования изображений....526

12.4.3 Вариационные автокодировщики....527

12.4.4 Реализация VAE с по­мощью Keras....530

12.4.5 Подведение итогов....536

12.5 Введение в генеративно-состязательные сети....536

12.5.1 Реализация генеративно-состязательной сети....538

12.5.2 Полезные технические приемы....539

12.5.3 Получение набора данных CelebA....540

12.5.4 Дискриминатор....542

12.5.5 Генератор....543

12.5.6 Состязательная сеть....544

12.5.7 Подведение итогов....547

Краткие итоги главы....548

Глава 13. Глубокое обучение в реальной жизни....549

13.1 Получение максимальной отдачи от ваших моделей....550

13.1.1 Оптимизация гиперпараметров....550

13.1.2 Ансамблирование моделей....559

13.2 Масштабируемое обуче­ние моделей....561

13.2.1 Ускорение обуче­ния на GPU со смешанной точностью....562

13.2.2 Обучение модели на нескольких GPU....565

13.2.3 Обучение модели на TPU....570

Краткие итоги главы....572

Глава 14. Заключение....573

14.1 Краткий обзор ключевых понятий....574

14.1.1 Различные подходы к ИИ....574

14.1.2 Что выделяет глубокое обуче­ние среди других подходов к машинному обуче­нию....575

14.1.3 Как правильно воспринимать глубокое обуче­ние....575

14.1.4 Ключевые технологии глубокого обуче­ния....577

14.1.5 Обобщенный рабочий процесс машинного обуче­ния....578

14.1.6 Основные архитектуры сетей....579

14.1.7 Пространство возможностей....584

14.2 Ограничения глубокого обуче­ния....586

14.2.1 Риск очеловечивания моделей глубокого обуче­ния....587

14.2.2 Принципиальное различие между автоматом и интеллектом....589

14.2.3 Различие между локальным и экстремальным обобщением....591

14.2.4 Предназначение интеллекта....594

14.2.5 Восхождение по уровням обобщения....595

14.3 Курс на большую универсальность в ИИ....596

14.3.1 О важности постановки правильной цели: правило короткого пути....596

14.3.2 Новая цель....599

14.4 Реализация интеллекта: недостающие ингредиенты....601

14.4.1 Построение и использование абстрактных аналогий....601

14.4.2 Два полюса абстракции....603

14.4.3 Сочетание двух полюсов абстракции....606

14.4.4 Недостающая половина картинки....606

14.5 Будущее глубокого обуче­ния....608

14.5.1 Модели как программы....608

14.5.2 Машинное обуче­ние и синтез программ....610

14.5.3 Сочетание глубокого обуче­ния и синтеза программ....610

14.5.4 Непрерывное обуче­ние и повторное использование модульных подпрограмм....613

14.5.5 Долгосрочная перспектива....614

14.6 Как не отстать от прогресса в быстро развивающейся отрасли....616

14.6.1 Решения реальных задач на сайте Kaggle....616

14.6.2 Знакомство с последними разработками на сайте arXiv....616

14.6.3 Исследование экосистемы Keras....617

14.7 Заключительное слово....618

Приложение. Введение в Python для пользователей R....619

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

Перед вами второе, расширенное в 1.5 раза издание бестселлера от автора библиотеки Keras.

Умение работать с моделями глубокого обучения стало важным навыком современных ученых, исследователей и программистов. API языка R для Keras и TensorFlow делает глубокое обучение доступным для всех пользователей R, даже если у них нет опыта работы с машинным обучением или нейронными сетями.Интуитивно понятные объяснения, четкие иллюстрации и наглядные примеры помогут вам освоить основные навыки глубокого обучения с помощью R, такие как компьютерное зрение, обработка естественного языка, работа с текстом, и даже изучить передовую архитектуру Transformer.Для читателей со средними навыками программирования на R. Опыт работы с Keras, TensorFlow или моделями глубокого обучения не требуется.


Похожее:

Список отзывов:

Нет отзывов к книге.