Глубокое обучение
Покупка
Новинка
Тематика:
Общая информатика
Издательство:
ДМК Пресс
Перевод:
Слинкин Алексей Александрович
Год издания: 2018
Кол-во страниц: 652
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-618-6
Артикул: 732493.02.99
Глубокое обучение — это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте и понимать мир в терминах иерархии концепций. Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на
практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Издание предназначено студентам вузов и аспирантам, а также опытным программистам,
которые хотели бы применить глубокое обучение в составе своих продуктов или платформ.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Ян Гудфеллоу, Иошуа Бенджио, Аарон Курвилль Глубокое обучение
Ian Goodfellow, Yoshua Bengio, Aaron Courville Deep Learning The MIT Press Cambridge, Massachusetts London, England
Ян Гудфеллоу, Иошуа Бенджио, Аарон Курвилль Глубокое обучение Второе цветное издание, исправленное Москва, 2018
УДК 004.85 ББК 32.971.3 Г93 Гудфеллоу Я., Бенджио И., Курвилль А. Г93 Глубокое обучение / пер. с анг. А. А. Слинкина. – 2-е изд., испр. – М.: ДМК Пресс, 2018. – 652 с.: цв. ил. ISBN 978-5-97060-618-6 Глубокое обучение — это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте и понимать мир в терминах иерархии концепций. Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Издание предназначено студентам вузов и аспирантам, а также опытным программистам, которые хотели бы применить глубокое обучение в составе своих продуктов или платформ. УДК 004.85 ББК 32.971.3 Права на издание книги на русском языке предоставлены агентством Александра Корженевского. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-491-93799-0 (анг.) © 2017 Massachusetts Institute of Technology ISBN 978-5-97060-618-6 (рус.) © Оформление, издание, перевод, ДМК Пресс, 2018
Содержание Веб-сайт .......................................................................................................................................... 14 Благодарности ........................................................................................................................... 15 Обозначения ................................................................................................................................ 18 Глава 1. Введение .................................................................................................................... 21 1.1. На кого ориентирована эта книга ........................................................................................ 29 1.2. Исторические тенденции в машинном обучении .......................................................... 29 1.2.1. Нейронные сети: разные названия и переменчивая фортуна ........................... 30 1.2.2. Увеличение размера набора данных ........................................................................... 36 1.2.3. Увеличение размера моделей ........................................................................................ 36 1.2.4. Повышение точности и сложности и расширение круга задач ......................... 40 Часть I. Основы прикладной математики и машинного обучения ........................................................................................................ 43 Глава 2. Линейная алгебра .............................................................................................. 44 2.1. Скаляры, векторы, матрицы и тензоры ............................................................................. 44 2.2. Умножение матриц и векторов ............................................................................................. 46 2.3. Единичная и обратная матрица ............................................................................................ 47 2.4. Линейная зависимость и линейная оболочка ................................................................. 48 2.5. Нормы............................................................................................................................................ 50 2.6. Специальные виды матриц и векторов .............................................................................. 51 2.7. Спектральное разложение матрицы ................................................................................... 52 2.8. Сингулярное разложение ....................................................................................................... 54 2.9. Псевдообратная матрица Мура–Пенроуза ...................................................................... 55 2.10. Оператор следа ......................................................................................................................... 56 2.11. Определитель ........................................................................................................................... 56 2.12. Пример: метод главных компонент .................................................................................. 57 Глава 3. Теория вероятностей и теория информации .............................. 61 3.1. Зачем нужна вероятность? ..................................................................................................... 61 3.2. Случайные величины ............................................................................................................... 63 3.3. Распределения вероятности .................................................................................................. 63 3.3.1. Дискретные случайные величины и функции вероятности .............................. 64 3.3.2. Непрерывные случайные величины и функции плотности вероятности ....... 64 3.4. Маргинальное распределение вероятности ..................................................................... 65 3.5. Условная вероятность .............................................................................................................. 65 3.6. Цепное правило .......................................................................................................................... 66 3.7. Независимость и условная независимость ...................................................................... 66 3.8. Математическое ожидание, дисперсия и ковариация .................................................. 66 3.9. Часто встречающиеся распределения вероятности ...................................................... 68 3.9.1. Распределение Бернулли ............................................................................................... 68
Содержание 3.9.2. Категориальное распределение .................................................................................... 68 3.9.3. Нормальное распределение ........................................................................................... 69 3.9.4. Экспоненциальное распределение и распределение Лапласа .......................... 70 3.9.5. Распределение Дирака и эмпирическое распределение ...................................... 71 3.9.6. Смеси распределений ...................................................................................................... 71 3.10. Полезные свойства употребительных функций .......................................................... 73 3.11. Правило Байеса ....................................................................................................................... 74 3.12. Технические детали непрерывных величин .................................................................. 75 3.13. Теория информации ............................................................................................................... 76 3.14. Структурные вероятностные модели ............................................................................... 78 Глава 4. Численные методы ........................................................................................... 82 4.1. Переполнение и потеря значимости ................................................................................... 82 4.2. Плохая обусловленность ........................................................................................................ 83 4.3. Оптимизация градиентным методом ................................................................................. 84 4.3.1. Не только градиент: матрицы Якоби и Гессе ........................................................... 86 4.4. Оптимизация с ограничениями ........................................................................................... 92 4.5. Пример: линейный метод наименьших квадратов ........................................................ 94 Глава 5. Основы машинного обучения ................................................................... 96 5.1. Алгоритмы обучения ................................................................................................................ 97 5.1.1. Задача T ................................................................................................................................ 97 5.1.2. Мера качества P ...............................................................................................................100 5.1.3. Опыт E ................................................................................................................................101 5.1.4. Пример: линейная регрессия ......................................................................................103 5.2. Емкость, переобучение и недообучение ..........................................................................105 5.2.1. Теорема об отсутствии бесплатных завтраков ......................................................110 5.2.2. Регуляризация .................................................................................................................112 5.3. Гиперпараметры и контрольные наборы .........................................................................114 5.3.1. Перекрестная проверка .................................................................................................115 5.4. Оценки, смещение и дисперсия..........................................................................................115 5.4.1. Точечное оценивание .....................................................................................................116 5.4.2. Смещение ...........................................................................................................................117 5.4.3. Дисперсия и стандартная ошибка .............................................................................119 5.4.4. Поиск компромисса между смещением и дисперсией для минимизации среднеквадратической ошибки .........................................................121 5.4.5. Состоятельность ..............................................................................................................122 5.5. Оценка максимального правдоподобия ..........................................................................122 5.5.1. Условное логарифмическое правдоподобие и среднеквадратическая ошибка............................................................................................................................................123 5.5.2. Свойства максимального правдоподобия .............................................................125 5.6. Байесовская статистика ........................................................................................................125 5.6.1. Оценка апостериорного максимума (MAP) ..........................................................128 5.7. Алгоритмы обучения с учителем .......................................................................................129 5.7.1. Вероятностное обучение с учителем ........................................................................129
Содержание 7 5.7.2. Метод опорных векторов ..............................................................................................130 5.7.3. Другие простые алгоритмы обучения с учителем ...............................................132 5.8. Алгоритмы обучения без учителя .....................................................................................134 5.8.1. Метод главных компонент ...........................................................................................135 5.8.2. Кластеризация методом k средних ...........................................................................137 5.9. Стохастический градиентный спуск ................................................................................138 5.10. Построение алгоритма машинного обучения .............................................................140 5.11. Проблемы, требующие глубокого обучения ................................................................141 5.11.1. Проклятие размерности .............................................................................................141 5.11.2. Регуляризация для достижения локального постоянства и гладкости ........142 5.11.3. Обучение многообразий .............................................................................................145 Часть II. Глубокие сети: современные подходы ..........................................149 Глава 6. Глубокие сети прямого распространения ...................................150 6.1. Пример: обучение XOR .........................................................................................................152 6.2. Обучение градиентными методами ..................................................................................157 6.2.1. Функции стоимости .......................................................................................................158 6.2.2. Выходные блоки ..............................................................................................................160 6.3. Скрытые блоки .........................................................................................................................169 6.3.1. Блоки линейной ректификации и их обобщения ................................................170 6.3.2. Логистическая сигмоида и гиперболический тангенс .......................................171 6.3.3. Другие скрытые блоки ..................................................................................................172 6.4. Проектирование архитектуры ............................................................................................173 6.4.1. Свойства универсальной аппроксимации и глубина ........................................174 6.4.2. Другие архитектурные подходы ................................................................................177 6.5. Обратное распространение и другие алгоритмы дифференцирования ...............179 6.5.1. Графы вычислений .........................................................................................................179 6.5.2. Правило дифференцирования сложной функции ..............................................181 6.5.3. Рекурсивное применение правила дифференцирования сложной функции для получения алгоритма обратного распространения .............................182 6.5.4. Вычисление обратного распространения в полносвязном МСП ..................185 6.5.5. Символьно-символьные производные ....................................................................186 6.5.6. Общий алгоритм обратного распространения ......................................................188 6.5.7. Пример: применение обратного распространения к обучению МСП ..........191 6.5.8. Осложнения ......................................................................................................................192 6.5.9. Дифференцирование за пределами сообщества глубокого обучения ..........193 6.5.10. Производные высшего порядка ...............................................................................195 6.6. Исторические замечания ......................................................................................................196 Глава 7. Регуляризация в глубоком обучении ...............................................199 7.1. Штрафы по норме параметров ...........................................................................................200 7.1.1. Регуляризация параметров по норме L2 ..................................................................201 7.1.2. L1-регуляризация .............................................................................................................204 7.2. Штраф по норме как оптимизация с ограничениями ................................................206
Содержание 7.3. Регуляризация и недоопределенные задачи ..................................................................208 7.4. Пополнение набора данных .................................................................................................208 7.5. Робастность относительно шума .......................................................................................210 7.5.1. Привнесение шума в выходные метки ....................................................................211 7.6. Обучение с частичным привлечением учителя ............................................................211 7.7. Многозадачное обучение ......................................................................................................212 7.8. Ранняя остановка ....................................................................................................................213 7.9. Связывание и разделение параметров .............................................................................219 7.9.1. Сверточные нейронные сети .......................................................................................220 7.10. Разреженные представления ............................................................................................220 7.11. Баггинг и другие ансамблевые методы ..........................................................................222 7.12. Прореживание ........................................................................................................................224 7.13. Состязательное обучение ...................................................................................................232 7.14. Тангенциальное расстояние, алгоритм распространения по касательной и классификатор по касательной к многообразию .............................................................233 Глава 8. Оптимизация в обучении глубоких моделей ............................237 8.1. Чем обучение отличается от чистой оптимизации ......................................................237 8.1.1. Минимизация эмпирического риска .......................................................................238 8.1.2. Суррогатные функции потерь и ранняя остановка.............................................239 8.1.3. Пакетные и мини-пакетные алгоритмы ..................................................................239 8.2. Проблемы оптимизации нейронных сетей .....................................................................243 8.2.1. Плохая обусловленность ..............................................................................................243 8.2.2. Локальные минимумы...................................................................................................245 8.2.3. Плато, седловые точки и другие плоские участки ...............................................246 8.2.4. Утесы и резко растущие градиенты ..........................................................................248 8.2.5. Долгосрочные зависимости .........................................................................................249 8.2.6. Неточные градиенты ......................................................................................................250 8.2.7. Плохое соответствие между локальной и глобальной структурами ............250 8.2.8. Теоретические пределы оптимизации .....................................................................252 8.3. Основные алгоритмы .............................................................................................................253 8.3.1. Стохастический градиентный спуск ........................................................................253 8.3.2. Импульсный метод .........................................................................................................255 8.3.3. Метод Нестерова .............................................................................................................258 8.4. Стратегии инициализации параметров ...........................................................................258 8.5. Алгоритмы с адаптивной скоростью обучения .............................................................263 8.5.1. AdaGrad ..............................................................................................................................264 8.5.2. RMSProp ............................................................................................................................264 8.5.3. Adam ....................................................................................................................................265 8.5.4. Выбор правильного алгоритма оптимизации .......................................................266 8.6. Приближенные методы второго порядка .......................................................................267 8.6.1. Метод Ньютона ................................................................................................................267 8.6.2. Метод сопряженных градиентов ...............................................................................268 8.6.3. Алгоритм BFGS ...............................................................................................................271 8.7. Стратегии оптимизации и метаалгоритмы ....................................................................272
Содержание 9 8.7.1. Пакетная нормировка ....................................................................................................272 8.7.2. Покоординатный спуск .................................................................................................275 8.7.3. Усреднение Поляка .........................................................................................................276 8.7.4. Предобучение с учителем.............................................................................................276 8.7.5. Проектирование моделей с учетом простоты оптимизации ............................279 8.7.6. Методы продолжения и обучение по плану ..........................................................279 Глава 9. Сверточные сети ...............................................................................................282 9.1. Операция свертки ...................................................................................................................282 9.2. Мотивация .................................................................................................................................284 9.3. Пулинг .........................................................................................................................................290 9.4. Свертка и пулинг как бесконечно сильное априорное распределение.................293 9.5. Варианты базовой функции свертки ................................................................................295 9.6. Структурированный выход .................................................................................................304 9.7. Типы данных .............................................................................................................................305 9.8. Эффективные алгоритмы свертки ....................................................................................306 9.9. Случайные признаки и признаки, обученные без учителя ......................................307 9.10. Нейробиологические основания сверточных сетей ..................................................308 9.11. Сверточные сети и история глубокого обучения.......................................................314 Глава 10. Моделирование последовательностей: рекуррентные и рекурсивные сети.........................................................................316 10.1. Развертка графа вычислений ............................................................................................317 10.2. Рекуррентные нейронные сети ........................................................................................320 10.2.1. Форсирование учителя и сети с рекурсией на выходе ....................................323 10.2.2. Вычисление градиента в рекуррентной нейронной сети ................................325 10.2.3. Рекуррентные сети как ориентированные графические модели .................327 10.2.4. Моделирование контекстно-обусловленных последовательностей с помощью РНС ..........................................................................................................................330 10.3. Двунаправленные РНС .......................................................................................................332 10.4. Архитектуры кодировщик-декодер или последовательность в последовательность .....................................................................................................................333 10.5. Глубокие рекуррентные сети.............................................................................................336 10.6. Рекурсивные нейронные сети ...........................................................................................337 10.7. Проблема долгосрочных зависимостей.........................................................................339 10.8. Нейронные эхо-сети .............................................................................................................341 10.9. Блоки с утечками и другие стратегии нескольких временных масштабов .......343 10.9.1. Добавление прямых связей сквозь время ............................................................343 10.9.2. Блоки с утечкой и спектр разных временных масштабов ..............................343 10.9.3. Удаление связей.............................................................................................................344 10.10. Долгая краткосрочная память и другие вентильные РНС ..................................344 10.10.1. Долгая краткосрочная память ................................................................................345 10.10.2. Другие вентильные РНС .........................................................................................347 10.11. Оптимизация в контексте долгосрочных зависимостей .......................................348 10.11.1. Отсечение градиентов ...............................................................................................348
Содержание 10.11.2. Регуляризация с целью подталкивания информационного потока .........350 10.12. Явная память ........................................................................................................................351 Глава 11. Практическая методология ..................................................................355 11.1. Показатели качества ............................................................................................................356 11.2. Выбор базовой модели по умолчанию ...........................................................................358 11.3. Надо ли собирать дополнительные данные? ...............................................................359 11.4. Выбор гиперпараметров .....................................................................................................360 11.4.1. Ручная настройка гиперпараметров.......................................................................360 11.4.2. Алгоритмы автоматической оптимизации гиперпараметров .......................363 11.4.3. Поиск на сетке ................................................................................................................364 11.4.4. Случайный поиск .........................................................................................................365 11.4.5. Оптимизация гиперпараметров на основе модели ...........................................366 11.5. Стратегии отладки ................................................................................................................367 11.6. Пример: распознавание нескольких цифр ...................................................................370 Глава 12. Приложения ........................................................................................................373 12.1. Крупномасштабное глубокое обучение .........................................................................373 12.1.1. Реализации на быстрых CPU ...................................................................................373 12.1.2. Реализации на GPU .....................................................................................................374 12.1.3. Крупномасштабные распределенные реализации ............................................376 12.1.4. Сжатие модели ...............................................................................................................376 12.1.5. Динамическая структура ............................................................................................377 12.1.6. Специализированные аппаратные реализации глубоких сетей ...................379 12.2. Компьютерное зрение ..........................................................................................................380 12.2.1. Предобработка ...............................................................................................................381 12.3. Распознавание речи ..............................................................................................................385 12.4. Обработка естественных языков .....................................................................................388 12.4.1. n-граммы ..........................................................................................................................388 12.4.2. Нейронные языковые модели ..................................................................................390 12.4.3. Многомерные выходы .................................................................................................391 12.4.4. Комбинирование нейронных языковых моделей с n-граммами ..................397 12.4.5. Нейронный машинный перевод ..............................................................................397 12.4.6. Историческая справка .................................................................................................401 12.5. Другие приложения .............................................................................................................402 12.5.1. Рекомендательные системы ......................................................................................402 12.5.2. Представление знаний, рассуждения и ответы на вопросы ...........................405 Часть III. Исследования по глубокому обучению ........................................409 Глава 13. Линейные факторные модели............................................................411 13.1. Вероятностный PCA и факторный анализ ..................................................................412 13.2. Анализ независимых компонент (ICA) ........................................................................413 13.3. Анализ медленных признаков ..........................................................................................415 13.4. Разреженное кодирование .................................................................................................417 13.5. Интерпретация PCA в терминах многообразий ........................................................419