Шаблоны и практика глубокого обучения

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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

Author(s): Эндрю Ферлитш
Edition: 1
Publisher: ДМК Пресс
Year: 2022

Language: Russian
Commentary: Slava Ukraini!
Pages: 538
City: М.
Tags: Neural Networks; Deep Learning; Python; Convolutional Neural Networks; Autoencoders; Classification; Transfer Learning; Keras; Pipelines; Hyperparameter Tuning; Best Practices; NumPy; Natural Language Understanting; HDF5; Load Balancing; ResNet; Data Pipelines; Mobile Applications; A/B Testing; TensorFlow Lite; DICOM; Backpropagation; Model Training; Data Augmentation

Предисловие
Признательности
Об этой книге
Об авторе
Об иллюстрации на обложке
Часть I. Основы машинного обучения
Глава 1. Конструирование современного машинного обучения
1.1 Курс на адаптируемость
1.1.1 Компьютерное зрение задает тон
1.1.2 За пределами компью­тер­ного зрения: обработка ЕЯ, понимание ЕЯ, структурированные данные
1.2 Эволюция подходов, основанных на машинном обучении
1.2.1 Классический ИИ против узкого ИИ
1.2.2 Следующие шаги в компью­тер­ном обучении
1.3 Выгоды от шаблонов конструирования
Резюме
Глава 2. Глубокие нейронные сети
2.1 Основы нейронных сетей
2.1.1 Входной слой
2.1.2 Глубокие нейронные сети
2.1.3 Сети прямого распространения
2.1.4 Метод последовательного API
2.1.5 Метод функционального API
2.1.6 Входная форма и входной слой
2.1.7 Плотный слой
2.1.8 Активационные функции
2.1.9 Сокращенный синтаксис
2.1.10 Повышение точности с по­мощью оптимизатора
2.2 Двоичный классификатор в форме глубокой нейронной сети
2.3 Мультиклассовый классификатор в форме глубокой нейронной сети
2.4 Мультиметочный мультиклассовый классификатор в форме глубокой нейронной сети
2.5 Простой классификатор изображений
2.5.1 Разглаживание
2.5.2 Переподгонка и отсев
Резюме
Глава 3. Сверточная и остаточная нейронные сети
3.1 Сверточные нейронные сети
3.1.1 Зачем для моделирования изображений использовать сверточную нейросеть поверх глубокой нейросети
3.1.2 Отбор с пониженной частотой (изменение размера)
3.1.3 Обнаружение признаков
3.1.4 Сведение
3.1.5 Разглаживание
3.2 Конструкция в форме ConvNet для сверточной нейросети
3.3 Сети в форме VGG
3.4 Сети в форме ResNet
3.4.1 Архитектура
3.4.2 Пакетная нормализация
3.4.3 Архитектура ResNet50
Резюме
Глава 4. Основы процесса тренировки
4.1 Прямая подача и обратное распространение
4.1.1 Подача данных
4.1.2 Обратное распространение
4.2 Разбивка набора данных
4.2.1 Тренировочный и тестовый наборы
4.2.2 Кодирование с одним активным состоянием
4.3 Нормализация данных
4.3.1 Нормализация
4.3.2 Стандартизация
4.4 Валидация и переподгонка
4.4.1 Валидация
4.4.2 Слежение за потерей
4.4.3 Погружение вглубь с по­мощью слоев
4.5 Схождение
4.6 Фиксация контрольных точек и ранняя остановка
4.6.1 Фиксация контрольной точки
4.6.2 Ранняя остановка
4.7 Гиперпараметры
4.7.1 Эпохи
4.7.2 Шаги
4.7.3 Размер пакета
4.7.4 Скорость усвоения
4.8 Инвариантность
4.8.1 Трансляционная инвариантность
4.8.2 Масштабная инвариантность
4.8.3 ImageDataGenerator модуля TF.Keras
4.9 Сырые (дисковые) наборы данных
4.9.1 Каталожная структура
4.9.2 Файл CSV
4.9.3 Файл JSON
4.9.4 Чтение изображений
4.9.5 Изменение размера
4.10 Сохранение/восстановление модели
4.10.1 Сохранение
4.10.2 Восстановление
Резюме
Часть II. Базовый шаб­лон конструирования
Глава 5. Шаблон процедурного конструирования
5.1 Базовая нейросетевая архитектура
5.2 Стержневой компонент
5.2.1 VGG
5.2.2 ResNet
5.2.3 ResNeXt
5.2.4 Xception
5.3 Предстержень
5.4 Ученический компонент
5.4.1 ResNet
5.4.2 DenseNet
5.5 Задачный компонент
5.5.1 ResNet
5.5.2 Многослойный выход
5.5.3 SqueezeNet
5.6 За пределами компью­тер­ного зрения: обработка естественного языка
5.6.1 Понимание естественного языка
5.6.2 Трансформерная архитектура
Резюме
Глава 6. Широкие сверточные нейронные сети
6.1 Inception v1
6.1.1 Нативный модуль Inception
6.1.2 Модуль Inception v1
6.1.3 Стержень
6.1.4 Ученик
6.1.5 Вспомогательные классификаторы
6.1.6 Классификатор
6.2 Inception v2: разложение сверток
6.3 Inception v3: модернизация архитектуры
6.3.1 Группы и блоки архитектуры Inception
6.3.2 Нормальная свертка
6.3.3 Пространственно разделяемая свертка
6.3.4 Модернизация и имплементация стержня
6.3.5 Вспомогательный классификатор
6.4 ResNeXt: широкие остаточные нейронные сети
6.4.1 Блок ResNeXt
6.4.2 Архитектура ResNeXt
6.5 Широкая остаточная сеть
6.5.1 Архитектура WRN-50-2
6.5.2 Широкий остаточный блок
6.6 За пределами компью­тер­ного зрения: структурированные данные
Резюме
Глава 7. Альтернативные шаблоны связности
7.1 DenseNet: плотносвязанная сверточная нейронная сеть
7.1.1 Плотная группа
7.1.2 Плотный блок
7.1.3 Макроархитектура DenseNet
7.1.4 Плотный переходный блок
7.2 Xception: экстремальное начало
7.2.1 Архитектура Xception
7.2.2 Входной поток Xception
7.2.3 Срединный поток модели Xception
7.2.4 Выходной поток архитектуры Xception
7.2.5 Свертка, разделяемая по глубине
7.2.6 Свертка вглубь
7.2.7 Точечная свертка
7.3 SE-Net: сдавливание и возбуждение
7.3.1 Архитектура SE-Net
7.3.2 Группа и блок архитектуры SE-Net
7.3.3 Связь SE
Резюме
Глава 8. Мобильные сверточные нейронные сети
8.1 MobileNet v1
8.1.1 Архитектура
8.1.2 Множитель ширины
8.1.3 Множитель разрешающей способности
8.1.4 Стержень
8.1.5 Ученик
8.1.6 Классификатор
8.2 MobileNet v2
8.2.1 Архитектура
8.2.2 Стержень
8.2.3 Ученик
8.2.4 Классификатор
8.3 SqueezeNet
8.3.1 Архитектура
8.3.2 Стержень
8.3.3 Ученик
8.3.4 Классификатор
8.3.5 Обходные соединения
8.4 ShuffleNet v1
8.4.1 Архитектура
8.4.2 Стержень
8.4.3 Ученик
8.5 Развертывание
8.5.1 Квантизация
8.5.2 Конверсия и предсказание с TF Lite
Резюме
Глава 9. Автокодировщики
9.1 Глубокие нейросетевые автокодировщики
9.1.1 Архитектура автокодировщика
9.1.2 Кодировщик
9.1.3 Декодировщик
9.1.4 Тренировка
9.2 Сверточные автокодировщики
9.2.1 Архитектура
9.2.2 Кодировщик
9.2.3 Декодировщик
9.3 Разреженные автокодировщики
9.4 Автокодировщики для устранения шума
9.5 Сверхразрешающая способность
9.5.1 Сверхразрешение на основе предотбора с повышенной частотой
9.5.2 Сверхразрешение на основе постотбора с повышенной частотой
9.6 Предлоговые задачи
9.7 За пределами компьютерного зрения: последовательность к последовательности
Резюме
Часть III. Работа с конвейерами
Глава 10. Гиперпараметрическая настройка
10.1 Инициализация весов
10.1.1 Распределения весов
10.1.2 Лотерейная гипотеза
10.1.3 Разминка (численная стабилизация)
10.2 Основы гиперпараметрического поиска
10.2.1 Ручной метод гиперпараметрического поиска
10.2.2 Решеточный поиск
10.2.3 Случайный поиск
10.2.4 Инструмент настройки KerasTuner
10.3 Планировщик скорости усвоения
10.3.1 Параметр затухания в Keras
10.3.2 Планировщик скорости усвоения в Keras
10.3.3 Рампа
10.3.4 Постоянный шаг
10.3.5 Косинусное закаливание
10.4 Регуляризация
10.4.1 Регуляризация весов
10.4.2 Сглаживание меток
10.5 За пределами компью­тер­ного зрения
Резюме
Глава 11. Перенос обучения
11.1 Предварительно построенные модели TF.Keras
11.1.1 Базовая модель
11.1.2 Преднатренированные на ImageNet модели для предсказаний
11.1.3 Новый классификатор
11.2 Предварительно построенные модели TF Hub
11.2.1 Применение преднатренированных моделей TF Hub
11.2.2 Новый классификатор
11.3 Перенос обучения между предметными областями
11.3.1 Похожие задачи
11.3.2 Несовпадающие задачи
11.3.3 Предметно-специфичные веса
11.3.4 Инициализация предметно-переносимыми весами
11.3.5 Отрицательный перенос
11.4 За пределами компью­тер­ного зрения
Резюме
Глава 12. Распределения данных
12.1 Типы распределений
12.1.1 Популяционное распределение
12.1.2 Выборочное распределение
12.1.3 Подпопуляционное распределение
12.2 Вне распространения
12.2.1 Курируемый набор данных MNIST
12.2.2 Настройка среды
12.2.3 Серьезное испытание («дикой природой»)
12.2.4 Тренировка в качестве глубокой нейросети
12.2.5 Тренировка в качестве сверточной нейросети
12.2.6 Обогащение изображений
12.2.7 Заключительный тест
Резюме
Глава 13. Конвейер данных
13.1 Форматы и хранение данных
13.1.1 Форматы сжатых и сырых изображений
13.1.2 Формат HDF5
13.1.3 Формат DICOM
13.1.4 Формат TFRecord
13.2 Подача данных
13.2.1 NumPy
13.2.2 TFRecord
13.3 Предобработка данных
13.3.1 Предобработка с по­мощью предстержня
13.3.2 Предобработка с по­мощью расширенного TensorFlow (TF Extended)
13.4 Обогащение данных
13.4.1 Инвариантность
13.4.2 Обогащение с по­мощью tf.data
13.4.3 Предстержень
Резюме
Глава 14. Конвейер тренировки и развертывания
14.1 Подача данных в модель
14.1.1 Подача данных в модель с по­мощью tf.data.Dataset
14.1.2 Распределенная подача с по­мощью tf.Strategy
14.1.3 Подача данных в модель с по­мощью TFX
14.2 Планировщики тренировки
14.2.1 Версионирование конвейера
14.2.2 Метаданные
14.2.3 История
14.3 Оценивание моделей
14.3.1 Кандидатная модель против одобренной модели
14.3.2 Оценивание в TFX
14.4 Обслуживание предсказательных запросов
14.4.1 Обслуживание по требованию (в реальном времени)
14.4.2 Пакетное предсказание
14.4.3 Конвейерные компоненты TFX для развертывания
14.4.4 A/B-тестирование
14.4.5 Балансировка нагрузки
14.4.6 Непрерывное оценивание
14.5 Эволюция в конструировании производственных конвейеров
14.5.1 Машинное обучение в качестве конвейера
14.5.2 Машинное обучение как производственный процесс CI/CD
14.5.3 Консолидация моделей в производстве
Резюме
Предметный указатель