БИЗНЕС-КНИГИ
Підписуйтесь на Менеджмент.Книги
сучасні бізнес-концепції, проривні ідеї, авторські тези
та цінні інсайти — не часто, виважено, по суті
Название: Основы глубокого обучения. Создание алгоритмов для искусственного интеллекта следующего поколения
Автор(ы): Нихиль Будума, Николас Локашо
Издательство: "Манн, Иванов и Фербер", — 2020
Описание:
Оригинал (англ.): "Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms" by Nikhil Buduma, Nicholas Locascio
Глубокое обучение — машинное обучение, которое строится на идее обучения через примеры. Эта книга разбирает основные идеи этой сложной отрасли изучения искусственного интеллекта. Авторы ставят цель сформировать целостное представление о том, как решаются задачи в области глубокого обучения, какие понятия используются в этой среде и как внедрять соответствующие алгоритмы.
С оживлением нейросетей в 2000-е годы глубокое обучение стало чрезвычайно активно развивающейся областью исследования, прокладывающей путь современному машинному обучению. Эта книга предлагает примеры и толкования, которые помогут понять основные идеи в этой сложной отрасли знаний. Такие крупные компании, как Google, Microsoft и Facebook, обратили внимание на глубокое обучение и активно увеличивают штат своих подразделений, работающих в этой области. Для всех остальных оно остается все еще сложным, комплексным и трудноуловимым предметом. Исследования переполнены непонятным жаргоном, а разрозненные учебники, имеющиеся в сети, не дают должного представления о том, как решаются задачи в этой области. Цель этой книги — заполнить данный пробел.
Целевая аудитория:
Для всех, кто интересуется или занимается глубоким обучением.
ЦИТАТЫ ˅
Глубокое обучение
Создание машин с искусственным интеллектом требует решения сложнейших вычислительных задач в истории, которые, однако, наш мозг способен раскусить в доли секунды. Для этого нужно разработать иной способ программирования компьютеров при помощи методов, которые появились в основном в последние 10 лет.
Сложность моделей
Одна из главных проблем искусственных нейросетей — чрезвычайная сложность моделей. Рассмотрим сеть, которая получает данные от изображения 28x28 пикселов, передает их в два скрытых слоя по 30 нейронов, а затем в слой с мягким максимумом из 10 нейронов. Общее число ее параметров составляет около 25 тысяч.
Муравей
Представьте себе, что вы — муравей, живущий в континентальной части США. Вас выбросили где-то в случайном месте, и ваша задача — найти самую низкую точку на этой поверхности. Как это сделать?
Математика
Для математически подкованных читателей подробнее расскажем о том, как гессиан ограничивает оптимизацию только с помощью градиентного спуска. Определенные свойства матрицы Гессе (реальность и симметричность) позволяют успешно определить вторую производную (которая аппроксимирует кривизну поверхности) при движении в определенном направлении.
Локальная инвариантность
Локальная инвариантность — очень полезное свойство, если нас больше интересует то, есть ли вообще данный признак, а не то, где именно он находится. Но в больших объемах она может повредить способности нашей сети переносить важную информацию.
РНС
В период оптимальной работы модель демонстрирует эффективные результаты и показывает на тестовом наборе данных аккуратность примерно 86%. Поздравляем! Вы создали свою первую рекуррентную нейронную сеть.
Об авторе:
Нихиль Будума (Nikhil Buduma) исследует машинное обучение в MIT. Он золотой медалист нескольких международных олимпиад по биологии.
СОДЕРЖАНИЕ ˅
- Предисловие
- Глава 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)
- Исследование и использование
- Изучение стратегии и ценности
- Тележка с шестом и градиенты по стратегиям
- Q-обучение и глубокие Q-сети
- Улучшение и выход за пределы DQN
- Резюме
- Примечания
- Благодарности
- Несколько слов об обложке
- Об авторе