Глубокое обучение без математики. Практика

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"

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

Author(s): Эндрю Гласснер
Edition: 1
Publisher: ДМК Пресс
Year: 2020

Language: Russian
Commentary: True PDF
Pages: 610
City: М.
Tags: Deep Learning; Reinforcement Learning; Python; Convolutional Neural Networks; Recurrent Neural Networks; Autoencoders; Generative Adversarial Networks; Keras; scikit-learn; Q-Learning; Tensor Calculus; SARSA

Добро пожаловать!
Глубокое обучение
20.1. Зачем здесь эта глава
20.2. Обзор глубокого обучения
20.2.1. Тензоры
20.3. Вход и выход слоев
20.3.1. Входной слой
20.3.2. Выходной слой
20.4. Обзор слоев глубокого обучения
20.4.1. Полносвязные слои
20.4.2. Функции активации
20.4.3. Выпадающий слой
20.4.4. Групповая нормализация
20.4.5. Свертка
20.4.6. Объединение слоев
20.4.7. Рекуррентные слои
20.4.8. Другие применяемые слои
20.5. Обзор схематических символов слоев
20.6. Некоторые примеры
20.7. Построение глубокого обучающегося
20.7.1. Начало
20.8. Интерпретация результатов
20.8.1. Удовлетворительное объяснение
Справочные материалы
Заимствованные рисунки
Нейронные сети свертки
21.1. Зачем здесь эта глава
21.2. Введение
21.2.1. Два значения слова «глубина»
21.2.2. Сумма масштабированных величин
21.2.3. Разделение веса
21.2.4. Локальное воспринимаемое поле
21.2.5. Ядро
21.3. Свертка
21.3.1. Фильтры
21.3.2. С высоты птичьего полета
21.3.3. Иерархии фильтров
21.3.4. Дополнение пробелами (паддинг)
21.3.5. Величина шага
21.4. Многомерная свертка
21.4.1. Фильтры со многими каналами
21.4.2. Большой шаг в иерархиях
21.5. Свертка 1D
21.6. Свертка 1 × 1
21.7. Слой свертки
21.7.1. Инициализация весов фильтров
21.8. Транспонированная свертка
21.9. Пример сети свертки
21.9.1. Сеть VGG16
21.9.2. Посмотрим на фильтры. Часть 1
21.9.3. Посмотрим на фильтры. Часть 2
21.10. Противники
Справочные материалы
Заимствованные рисунки
Рекуррентные нейронные сети
22.1. Зачем здесь эта глава
22.2. Введение
22.3. Состояние
22.3.1. Использование состояния
22.4. Структура ячейки RNN
22.4.1. Ячейка с многими состояниями
22.4.2. Интерпретация величин состояния
22.5. Организация входов
22.6. Обучение RNN
22.7. LSTM и GRU
22.7.1. Ворота
22.7.2. LSTM
22.8. Структура RNN
22.8.1. Один или много входов и выходов
22.8.2. Глубокие RNN
22.8.3. Двунаправленные RNN
22.8.4. Глубокие двунаправленные RNN
22.9. Пример
Справочные материалы
Keras. Часть 1
23.1. Зачем здесь эта глава
23.1.1. Структура этой главы
23.1.2. Ноутбуки
23.1.3. Предупреждения Python
23.2. Библиотеки и отладка
23.2.1. Версии и стиль программирования
23.2.2. Программирование на Python и отладка
23.3. Обзор
23.3.1. Что такое модель?
23.3.2. Тензоры и решетки
23.3.3. Установка Keras
23.3.4. Форма тензоров изображений
23.3.4. Графический процессор и ускорители
23.4. Начало работы
23.4.1. Hello, World
23.5. Подготовка данных
23.5.1. Переформатирование
23.5.2. Загрузка данных
23.5.3. Глядя на данные
23.5.4. Разбиение на обучающее и тестовое множества
23.5.5. Исправление типа данных
23.5.6. Нормализация данных
23.5.7. Исправление маркировок
23.5.8. Вся предварительная обработка в одном месте
23.6. Создание модели
23.6.1. Преобразование решетки в список
23.6.2. Создание модели
23.6.3. Компиляция модели
23.6.4. Резюме создания модели
23.7. Обучение модели
23.8. Обучение и использование модели
23.8.1. Взгляд на выходные данные
23.8.2. Предсказание
23.8.3. Анализ истории обучения
23.9. Сохранение и загрузка
23.9.1. Сохранение всего в одном файле
23.9.2. Сохранение только весов
23.9.3. Сохранение только архитектуры
23.9.4. Использование предварительно обученных программ
23.9.5. Сохранение шагов предварительной обработки
23.10. Обратные вызовы
23.10.1. Контрольная точка
23.10.2. Скорость обучения
23.10.3. Ранняя остановка
Справочные материалы
Заимствованные рисунки
Keras. Часть 2
24.1. Зачем здесь эта глава
24.2. Улучшение модели
24.2.1. Подсчет гиперпараметров
24.2.2 Изменение одного гиперпараметра
24.2.3. Другие пути улучшения
24.2.4. Добавление плотного слоя
24.2.5. Меньше – больше
24.2.6. Добавление выпадения
24.2.7. Наблюдения
24.3. Использование библиотеки Scikit-Learn
24.3.1. Упаковщик библиотеки Keras
24.3.2. Кросс-валидация
24.3.3. Кросс-валидация с нормализацией
24.3.4. Поиск гиперпараметров
24.4. Нейронные сети свертки (CNN)
24.4.1. Сервисные слои
24.4.2. Подготовка данных для сетей свертки
24.4.3. Слои свертки
24.4.4. Использование свертки для MNIST
24.4.5. Комбинации слоев
24.4.6. Увеличение данных изображения
24.4.7. Синтетические данные
24.4.8. Поиск параметров для CNN
24.4. Рекуррентные нейронные сети (RNN)
24.5.1. Генерация последовательных данных
24.5.2. Подготовка данных для RNN
24.5.3. Построение и обучение RNN
24.5.4. Анализ работы RNN
24.5.5. Более сложные множества данных
24.5.6. Глубокая RNN
24.5.7. Значение большого количества данных
24.5.8. Возвращаемые последовательности
24.5.9. RNN с фиксацией состояния
24.5.10. Распределенные во времени слои
24.5.11. Генерирование текста
24.6. Интерфейс прикладного программирования
24.6.1. Входные слои
24.6.2. Создание функциональной модели
Справочные материалы
Заимствованные рисунки
Автокодировщики
25.1. Зачем здесь эта глава
25.2. Введение
25.2.1. Кодирование с потерями и без потерь
25.2.2. Доменное кодирование
25.2.3. Смешивание представлений данных
25.3. Простейший автокодировщик
25.4. Более сложные автокодировщики
25.5. Исследование автокодировщиков
25.5.1. Скрытые переменные
25.5.2. Параметрическое пространство
25.5.2. Смешивание скрытых переменных
25.5.4. Прогнозирование нового входа
25.6. Обсуждение
25.7. Сверточный автокодировщик
25.7.1. Смешивание скрытых переменных
25.7.2. Прогнозирование нового входа
25.8. Понижение уровня шума
25.9. Вариационные автокодировщики
25.9.1. Распределение скрытых переменных
25.9.2. Структура вариационного автокодировщика
25.10. Изучение VAE
Справочные материалы
Заимствованные рисунки
Обучение с подкреплением
26.1. Зачем здесь эта глава
26.2. Цели
26.2.1. Обучение новой игре
26.3. Структура обучения с подкреплением
26.3.1. Шаг 1: Агент выбирает действие
26.3.2. Шаг 2: Отклик окружающей среды
26.3.3. Шаг 3: Агент обновляется
26.3.4. Вариации простой версии
26.3.5. Обратно к общей картине
26.3.6. Сохранение опыта
26.3.7. Вознаграждения
26.4. Игра флиппер
26.5. L-обучение
26.5.1. Обработка непредсказуемости
26.6. Q-обучение
26.6.1. Q-величины и обновление
26.6.2. Политика Q-обучения
26.6.3. Собираем все вместе
26.6.4. Сходимость алгоритма Q-обучения
26.6.5. Q-обучение в действии
26.7. SARSA
26.7.1. SARSA в действии
26.7.2. Сравнение Q-обучения и SARSA
26.8. Общая картина
26.9. Воспроизведение опыта
26.10. Два применения
Справочные материалы
Порождающие состязательные сети
27.1. Зачем здесь эта глава
27.2. Метафора: фальшивые деньги
27.2.1. Обучение на основе опыта
27.2.2. Подделка с помощью нейронных сетей
27.2.3. Циклы обучения
27.3. Почему антагонистические сети?
27.4. Применение сетей GAN
27.4.1. Дискриминатор
27.4.2. Генератор
27.4.3. Обучение сети GAN
27.4.4. Играть в игру
27.5. Сеть GAN в действии
27.6. Сети DCGAN
27.6.1. Эмпирические правила
27.7. Проблемы
27.7.1. Использование больших образцов
27.7.2. Модальный коллапс
Справочные материалы
Применение для творчества
28.1. Зачем здесь эта глава
28.2. Визуализирующие фильтры
28.2.1. Выбор сети
28.2.2. Визуализация одного фильтра
28.2.3. Визуализация одного слоя
28.3. Глубокие сновидения
28.4. Нейронное преобразование стиля
28.4.1. Захват стиля в матрице
28.4.2. Общая картина
28.4.3. Потери содержания
28.4.4. Потери стиля
28.4.5. Перенос стиля
28.4.6. Обсуждение
28.5. Генерация другого текста этой книги
Справочные материалы
Заимствованные рисунки
Наборы данных
29.1. Общедоступные наборы данных
29.2. MNIST and Fashion-MNIST
29.3. Наборы данных, встроенные в библиотеку
29.3.1. scikit-learn
29.3.2. Keras
29.4. Коллекции кураторских наборов данных
29.5. Некоторые новые наборы данных
Глоссарий
Предметный указатель
Глубокое
_GoBack
_GoBack
_GoBack
_GoBack
Добро пожаловать!
Глубокое обучение
20.1. Зачем здесь эта глава
20.2. Обзор глубокого обучения
20.2.1. Тензоры
20.3. Вход и выход слоев
20.3.1. Входной слой
20.3.2. Выходной слой
20.4. Обзор слоев глубокого обучения
20.4.1. Полносвязные слои
20.4.2. Функции активации
20.4.3. Выпадающий слой
20.4.4. Групповая нормализация
20.4.5. Свертка
20.4.6. Объединение слоев
20.4.7. Рекуррентные слои
20.4.8. Другие применяемые слои
20.5. Обзор схематических символов слоев
20.6. Некоторые примеры
20.7. Построение глубокого обучающегося
20.7.1. Начало
20.8. Интерпретация результатов
20.8.1. Удовлетворительное объяснение
Справочные материалы
Заимствованные рисунки
Нейронные сети свертки
21.1. Зачем здесь эта глава
21.2. Введение
21.2.1. Два значения слова «глубина»
21.2.2. Сумма масштабированных величин
21.2.3. Разделение веса
21.2.4. Локальное воспринимаемое поле
21.2.5. Ядро
21.3. Свертка
21.3.1. Фильтры
21.3.2. С высоты птичьего полета
21.3.3. Иерархии фильтров
21.3.4. Дополнение пробелами (паддинг)
21.3.5. Величина шага
21.4. Многомерная свертка
21.4.1. Фильтры со многими каналами
21.4.2. Большой шаг в иерархиях
21.5. Свертка 1D
21.6. Свертка 1 × 1
21.7. Слой свертки
21.7.1. Инициализация весов фильтров
21.8. Транспонированная свертка
21.9. Пример сети свертки
21.9.1. Сеть VGG16
21.9.2. Посмотрим на фильтры. Часть 1
21.9.3. Посмотрим на фильтры. Часть 2
21.10. Противники
Справочные материалы
Заимствованные рисунки
Рекуррентные нейронные сети
22.1. Зачем здесь эта глава
22.2. Введение
22.3. Состояние
22.3.1. Использование состояния
22.4. Структура ячейки RNN
22.4.1. Ячейка с многими состояниями
22.4.2. Интерпретация величин состояния
22.5. Организация входов
22.6. Обучение RNN
22.7. LSTM и GRU
22.7.1. Ворота
22.7.2. LSTM
22.8. Структура RNN
22.8.1. Один или много входов и выходов
22.8.2. Глубокие RNN
22.8.3. Двунаправленные RNN
22.8.4. Глубокие двунаправленные RNN
22.9. Пример
Справочные материалы
Keras. Часть 1
23.1. Зачем здесь эта глава
23.1.1. Структура этой главы
23.1.2. Ноутбуки
23.1.3. Предупреждения Python
23.2. Библиотеки и отладка
23.2.1. Версии и стиль программирования
23.2.2. Программирование на Python и отладка
23.3. Обзор
23.3.1. Что такое модель?
23.3.2. Тензоры и решетки
23.3.3. Установка Keras
23.3.4. Форма тензоров изображений
23.3.4. Графический процессор и ускорители
23.4. Начало работы
23.4.1. Hello, World
23.5. Подготовка данных
23.5.1. Переформатирование
23.5.2. Загрузка данных
23.5.3. Глядя на данные
23.5.4. Разбиение на обучающее и тестовое множества
23.5.5. Исправление типа данных
23.5.6. Нормализация данных
23.5.7. Исправление маркировок
23.5.8. Вся предварительная обработка в одном месте
23.6. Создание модели
23.6.1. Преобразование решетки в список
23.6.2. Создание модели
23.6.3. Компиляция модели
23.6.4. Резюме создания модели
23.7. Обучение модели
23.8. Обучение и использование модели
23.8.1. Взгляд на выходные данные
23.8.2. Предсказание
23.8.3. Анализ истории обучения
23.9. Сохранение и загрузка
23.9.1. Сохранение всего в одном файле
23.9.2. Сохранение только весов
23.9.3. Сохранение только архитектуры
23.9.4. Использование предварительно обученных программ
23.9.5. Сохранение шагов предварительной обработки
23.10. Обратные вызовы
23.10.1. Контрольная точка
23.10.2. Скорость обучения
23.10.3. Ранняя остановка
Справочные материалы
Заимствованные рисунки
Keras. Часть 2
24.1. Зачем здесь эта глава
24.2. Улучшение модели
24.2.1. Подсчет гиперпараметров
24.2.2 Изменение одного гиперпараметра
24.2.3. Другие пути улучшения
24.2.4. Добавление плотного слоя
24.2.5. Меньше – больше
24.2.6. Добавление выпадения
24.2.7. Наблюдения
24.3. Использование библиотеки Scikit-Learn
24.3.1. Упаковщик библиотеки Keras
24.3.2. Кросс-валидация
24.3.3. Кросс-валидация с нормализацией
24.3.4. Поиск гиперпараметров
24.4. Нейронные сети свертки (CNN)
24.4.1. Сервисные слои
24.4.2. Подготовка данных для сетей свертки
24.4.3. Слои свертки
24.4.4. Использование свертки для MNIST
24.4.5. Комбинации слоев
24.4.6. Увеличение данных изображения
24.4.7. Синтетические данные
24.4.8. Поиск параметров для CNN
24.4. Рекуррентные нейронные сети (RNN)
24.5.1. Генерация последовательных данных
24.5.2. Подготовка данных для RNN
24.5.3. Построение и обучение RNN
24.5.4. Анализ работы RNN
24.5.5. Более сложные множества данных
24.5.6. Глубокая RNN
24.5.7. Значение большого количества данных
24.5.8. Возвращаемые последовательности
24.5.9. RNN с фиксацией состояния
24.5.10. Распределенные во времени слои
24.5.11. Генерирование текста
24.6. Интерфейс прикладного программирования
24.6.1. Входные слои
24.6.2. Создание функциональной модели
Справочные материалы
Заимствованные рисунки
Автокодировщики
25.1. Зачем здесь эта глава
25.2. Введение
25.2.1. Кодирование с потерями и без потерь
25.2.2. Доменное кодирование
25.2.3. Смешивание представлений данных
25.3. Простейший автокодировщик
25.4. Более сложные автокодировщики
25.5. Исследование автокодировщиков
25.5.1. Скрытые переменные
25.5.2. Параметрическое пространство
25.5.2. Смешивание скрытых переменных
25.5.4. Прогнозирование нового входа
25.6. Обсуждение
25.7. Сверточный автокодировщик
25.7.1. Смешивание скрытых переменных
25.7.2. Прогнозирование нового входа
25.8. Понижение уровня шума
25.9. Вариационные автокодировщики
25.9.1. Распределение скрытых переменных
25.9.2. Структура вариационного автокодировщика
25.10. Изучение VAE
Справочные материалы
Заимствованные рисунки
Обучение с подкреплением
26.1. Зачем здесь эта глава
26.2. Цели
26.2.1. Обучение новой игре
26.3. Структура обучения с подкреплением
26.3.1. Шаг 1: Агент выбирает действие
26.3.2. Шаг 2: Отклик окружающей среды
26.3.3. Шаг 3: Агент обновляется
26.3.4. Вариации простой версии
26.3.5. Обратно к общей картине
26.3.6. Сохранение опыта
26.3.7. Вознаграждения
26.4. Игра флиппер
26.5. L-обучение
26.5.1. Обработка непредсказуемости
26.6. Q-обучение
26.6.1. Q-величины и обновление
26.6.2. Политика Q-обучения
26.6.3. Собираем все вместе
26.6.4. Сходимость алгоритма Q-обучения
26.6.5. Q-обучение в действии
26.7. SARSA
26.7.1. SARSA в действии
26.7.2. Сравнение Q-обучения и SARSA
26.8. Общая картина
26.9. Воспроизведение опыта
26.10. Два применения
Справочные материалы
Порождающие состязательные сети
27.1. Зачем здесь эта глава
27.2. Метафора: фальшивые деньги
27.2.1. Обучение на основе опыта
27.2.2. Подделка с помощью нейронных сетей
27.2.3. Циклы обучения
27.3. Почему антагонистические сети?
27.4. Применение сетей GAN
27.4.1. Дискриминатор
27.4.2. Генератор
27.4.3. Обучение сети GAN
27.4.4. Играть в игру
27.5. Сеть GAN в действии
27.6. Сети DCGAN
27.6.1. Эмпирические правила
27.7. Проблемы
27.7.1. Использование больших образцов
27.7.2. Модальный коллапс
Справочные материалы
Применение для творчества
28.1. Зачем здесь эта глава
28.2. Визуализирующие фильтры
28.2.1. Выбор сети
28.2.2. Визуализация одного фильтра
28.2.3. Визуализация одного слоя
28.3. Глубокие сновидения
28.4. Нейронное преобразование стиля
28.4.1. Захват стиля в матрице
28.4.2. Общая картина
28.4.3. Потери содержания
28.4.4. Потери стиля
28.4.5. Перенос стиля
28.4.6. Обсуждение
28.5. Генерация другого текста этой книги
Справочные материалы
Заимствованные рисунки
Наборы данных
29.1. Общедоступные наборы данных
29.2. MNIST and Fashion-MNIST
29.3. Наборы данных, встроенные в библиотеку
29.3.1. scikit-learn
29.3.2. Keras
29.4. Коллекции кураторских наборов данных
29.5. Некоторые новые наборы данных
Глоссарий
Предметный указатель