Основы глубокого обучения. Создание алгоритмов для искусственного интеллекта следующего поколения

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"

Глубокое обучение — это раздел машинного обучения, изучающий глубокие нейронные сети и выстраивающий процесс получения знаний на основе примеров. Такие крупные компании, как Google, Microsoft и Facebook, уделяют большое внимание глубокому обучению и расширяют свои подразделения в этой сфере. Для всех прочих глубокое обучение пока остается сложным, многогранным и малопонятным предметом. Цель этой книги — заполнить этот пробел. Авторы разбирают основные принципы решения задач в глубоком обучении, исторический контекст современных подходов к нему и способы внедрения его алгоритмов. Для всех, кто интересуется или занимается глубоким обучением.

Author(s): Нихиль Будума, Николас Локашо
Series: Бестселлеры O’REILLY
Edition: 1
Publisher: Манн, Иванов и Фербер
Year: 2020

Language: Russian
Commentary: Vector PDF
Pages: 304
City: M.
Tags: Machine Learning; Neural Networks; Deep Learning; Reinforcement Learning; Regression; Python; Convolutional Neural Networks; Recurrent Neural Networks; Autoencoders; Principal Component Analysis; TensorFlow; Gradient Descent; Logistic Regression; Long Short-Term Memory; Overfitting; Turing Machine; word2vec; Bellman Equation; Markov Models; Backpropagation

Предисловие
Требования и цели
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ
ОБРАЗЦЫ КОДА
ГЛАВА 1. Нейросеть
Создание умных машин
Ограничения традиционных компьютерных программ
Механика машинного обучения
Нейрон
Выражение линейных персептронов в виде нейронов
Нейросети с прямым распространением сигнала
Линейные нейроны и их ограничения
Нейроны с сигмоидой, гиперболическим тангенсом и усеченные линейные
Выходные слои с функцией мягкого максимума
Резюме
ГЛАВА 2. Обучение нейросетей с прямым распространением сигнала
Проблема фастфуда
Градиентный спуск
Дельта-правило и темп обучения
Градиентный спуск с сигмоидными нейронами
Алгоритм обратного распространения ошибок
Стохастический и мини-пакетный градиентный спуск
Переобучение и наборы данных для тестирования и проверки
Борьба с переобучением в глубоких нейросетях
Резюме
ГЛАВА 3. Нейросети в TensorFlow
Что такое TensorFlow?
Сравнение TensorFlow с альтернативами
Установка TensorFlow
Создание переменных TensorFlow и работа с ними
Операции в TensorFlow
Тензоры-заполнители
Сессии в TensorFlow
Области видимости переменной и совместное использование переменных
Управление моделями на CPU и GPU
Создание модели логистической регрессии в TensorFlow
Журналирование и обучение модели логистической регрессии
Применение TensorBoard для визуализации вычислительного графа и обучения
Создание многослойной модели для MNIST в TensorFlow
Резюме
ГЛАВА 4. Не только градиентный спуск
Проблемы с градиентным спуском
Локальные минимумы на поверхности ошибок глубоких сетей
Определимость модели
Насколько неприятны сомнительные локальные минимумы в нейросетях?
Плоские области на поверхности ошибок
Когда градиент указывает в неверном направлении
Импульсная оптимизация
Краткий обзор методов второго порядка
Адаптация темпа обучения
ADAGRAD — СУММИРОВАНИЕ ИСТОРИЧЕСКИХ ГРАДИЕНТОВ
RMSPROP — ЭКСПОНЕНЦИАЛЬНО ВЗВЕШЕННОЕ СКОЛЬЗЯЩЕЕ СРЕДНЕЕ ГРАДИЕНТОВ
ADAM — СОЧЕТАНИЕ ИМПУЛЬСНОГО МЕТОДА С RMSPROP
Философия при выборе метода оптимизации
Резюме
ГЛАВА 5. Сверточные нейросети
Нейроны и зрение человека
Недостатки выбора признаков
Обычные глубокие нейросети не масштабируются
Фильтры и карты признаков
Полное описание сверточного слоя
Max Pooling (операция подвыборки)
Полное архитектурное описание сверточных нейросетей
Работа с MNIST с помощью сверточных сетей
Предварительная обработка изображений улучшает работу моделей
Ускорение обучения с помощью пакетной нормализации
Создание сверточной сети для CIFAR-10
Визуализация обучения в сверточных сетях
Применение сверточных фильтров для воссоздания художественных стилей
Обучаем сверточные фильтры в других областях
Резюме
ГЛАВА 6. Плотные векторные представления и обучение представлений
Обучение представлений в пространстве низкой размерности
Метод главных компонент
Мотивация для архитектуры автокодера
Реализация автокодера в TensorFlow
Шумопонижение для повышения эффективности плотных векторных представлений
Разреженность в автокодерах
Когда контекст информативнее, чем входной вектор данных
Технология Word2Vec
Реализация архитектуры Skip-Gram
Резюме
ГЛАВА 7. Модели анализа последовательностей
Анализ данных переменной длины
seq2seq и нейронные N-граммные модели
Реализация разметки частей речи
Определение зависимостей и SyntaxNet
Лучевой поиск и глобальная нормализация
Когда нужна модель глубокого обучения с сохранением состояния
Рекуррентные нейронные сети
Проблема исчезающего градиента
Нейроны долгой краткосрочной памяти (long short-term memory, LSTM)
Примитивы TensorFlow для моделей РНС
Реализация модели анализа эмоциональной окраски
Решение задач класса seq2seq при помощи рекуррентных нейронных сетей
Дополнение рекуррентных сетей вниманием
Разбор нейронной сети для перевода
Резюме
ГЛАВА 8. Нейронные сети с дополнительной памятью
Нейронные машины Тьюринга
Доступ к памяти на основе внимания
Механизмы адресации памяти в NTM
Дифференцируемый нейронный компьютер
Запись без помех в DNC
Повторное использование памяти в DNC
Временное связывание записей DNC
Понимание головки чтения DNC
Сеть контроллера DNC
Визуализация работы DNC
Реализация DNC в TensorFlow
Обучение DNC чтению и пониманию
Резюме
ГЛАВА 9. Глубокое обучение с подкреплением
Глубокое обучение с подкреплением и игры Atari
Что такое обучение с подкреплением?
Марковские процессы принятия решений (MDP)
СТРАТЕГИЯ
БУДУЩАЯ ВЫГОДА
ДИСКОНТИРОВАНИЕ БУДУЩИХ ВЫГОД
Исследование и использование
ϵ-ЖАДНОСТЬ
НОРМАЛИЗОВАННЫЙ АЛГОРИТМ ϵ-ЖАДНОСТИ
Изучение стратегии и ценности
ИЗУЧЕНИЕ СТРАТЕГИИ ПРИ ПОМОЩИ ГРАДИЕНТА ПО СТРАТЕГИЯМ
Тележка с шестом и градиенты по стратегиям
OPENAI GYM
СОЗДАНИЕ АГЕНТА
СОЗДАНИЕ МОДЕЛИ И ОПТИМИЗАТОРА
СЕМПЛИРОВАНИЕ ДЕЙСТВИЙ
ФИКСАЦИЯ ИСТОРИИ
ОСНОВНАЯ ФУНКЦИЯ ГРАДИЕНТА ПО СТРАТЕГИЯМ
РАБОТА PGAGENT В ПРИМЕРЕ С ТЕЛЕЖКОЙ С ШЕСТОМ
Q-обучение и глубокие Q-сети
УРАВНЕНИЕ БЕЛЛМАНА
ПРОБЛЕМЫ ИТЕРАЦИИ ПО ЦЕННОСТЯМ
АППРОКСИМАЦИЯ Q-ФУНКЦИИ
ГЛУБОКАЯ Q-СЕТЬ (DQN)
ОБУЧЕНИЕ DQN
СТАБИЛЬНОСТЬ ОБУЧЕНИЯ
ЦЕЛЕВАЯ Q-СЕТЬ
ПОВТОРЕНИЕ ОПЫТА
ОТ Q-ФУНКЦИИ К СТРАТЕГИИ
DQN И МАРКОВСКОЕ ПРЕДПОЛОЖЕНИЕ
РЕШЕНИЕ ПРОБЛЕМЫ МАРКОВСКОГО ПРЕДПОЛОЖЕНИЯ В DQN
ИГРА В BREAKOUT ПРИ ПОМОЩИ DQN
СОЗДАНИЕ АРХИТЕКТУРЫ
ЗАНЕСЕНИЕ КАДРОВ В СТЕК
ЗАДАНИЕ ОБУЧАЮЩИХ ОПЕРАЦИЙ
ОБНОВЛЕНИЕ ЦЕЛЕВОЙ Q-СЕТИ
РЕАЛИЗАЦИЯ ПОВТОРЕНИЯ ОПЫТА
ОСНОВНОЙ ЦИКЛ DQN
РЕЗУЛЬТАТЫ DQNAGENT В BREAKOUT
Улучшение и выход за пределы DQN
ГЛУБОКИЕ РЕКУРРЕНТНЫЕ Q-СЕТИ (DRQN)
ПРОДВИНУТЫЙ АСИНХРОННЫЙ АГЕНТ-КРИТИК (A3C)
ПОДКРЕПЛЕНИЕ БЕЗ УЧИТЕЛЯ И ВСПОМОГАТЕЛЬНОЕ ОБУЧЕНИЕ (UNSUPERVISED REINFORCEMENT AND AUXILIARY LEARNING, UNREAL)
Резюме
Примечания
Благодарности
Несколько слов об обложке
Об авторе