Основы глубокого обучения

Основы глубокого обучения
Автор книги: id книги: 1327590     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 0 699 руб.     (6,99$) Читать книгу Купить и скачать книгу Купить бумажную книгу Электронная книга Жанр: Компьютеры: прочее Правообладатель и/или издательство: Манн, Иванов и Фербер Дата публикации, год издания: 2017 Дата добавления в каталог КнигаЛит: ISBN: 978-5-00146-472-3 Скачать фрагмент в формате   fb2   fb2.zip Возрастное ограничение: 16+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

Глубокое обучение – это раздел машинного обучения, изучающий глубокие нейронные сети и выстраивающий процесс получения знаний на основе примеров. Такие крупные компании, как 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)

Резюме

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

Несколько слов об обложке

Об авторе

Эту книгу хорошо дополняют:

Отрывок из книги

С оживлением нейросетей в 2000-е годы глубокое обучение стало очень активно развивающейся областью исследований, основой передачи знаний с помощью машин. В этой книге приведены примеры и объяснения, которые помогут понять основные идеи этой сложной отрасли. Такие крупные компании, как Google, Microsoft и Facebook, уделяют внимание глубокому обучению и расширяют свои подразделения в этой области. Для всех прочих глубокое обучение остается сложным, многогранным и малопонятным предметом. В работах по этой теме много неясного жаргона, а разнообразные учебники, выложенные в сети, не дают четкого представления о том, как решаются задачи в данной области. Наша цель – восполнить этот пробел.

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

.....

Математическое обсуждение искусственного нейрона мы закончим, выразив его функции в векторной форме. Представим входные данные нейрона как вектор x = [x1 x2 … xn], а веса нейрона как w = [w1 w2 … wn]. Теперь выходные данные нейрона можно выразить как y = f (x w + b), где b – смещение. Мы способны вычислить выходные данные из скалярного произведения входного вектора на вектор весов, добавив смещение и получив логит, а затем применив функцию активации. Это кажется тривиальным, но представление нейронов в виде ряда векторных операций очень важно: только в таком формате их используют в программировании.

Выше мы говорили об использовании моделей машинного обучения для определения зависимости между результатом на экзаменах и временем, потраченным на обучение и сон. Для решения задачи мы создали линейный классификатор-персептрон, который делит плоскость декартовых координат надвое:

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

Нет рецензий. Будьте первым, кто напишет рецензию на книгу Основы глубокого обучения
Подняться наверх