Артикул: 75636

Основы глубокого обучения. Создание алгоритмов для искусственного интеллекта следующего поколения = Fundamentals of Deep Learning. Designing Next-Generation Machine Intelligence Algorithms: научно-популярное издание

Автор: Будума Н. , Локашо Н.

Год: 2020

Издательство: Манн, Иванов и Фербер

Место издания: Москва

ISBN: 978-5-00146-472-3

Страниц: 306

Форматы: EPUB, FB2, MOBI, PDF

цена: 399 руб.

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

Предисловие
Требования и цели
Условные обозначения
Образцы кода
Глава 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; подкрепление без учителя и вспомогательное обучение
Резюме
Примечания
Благодарности
Несколько слов об обложке
Об авторе

Все отзывы о книге

Чтобы оставить отзыв, зарегистрируйтесь или войдите