Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Глубокое обучение

Покупка
Новинка
Артикул: 732493.02.99
Доступ онлайн
1 590 ₽
В корзину
Глубокое обучение — это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте и понимать мир в терминах иерархии концепций. Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Издание предназначено студентам вузов и аспирантам, а также опытным программистам, которые хотели бы применить глубокое обучение в составе своих продуктов или платформ.
Гудфеллоу, Я. Глубокое обучение : практическое руководство / Я. Гудфеллоу, И. Бенджио, А. Курвилль ; пер. с анг. А. А. Слинкина. - 2-е изд., испр. - Москва : ДМК Пресс, 2018. - 652 с. - ISBN 978-5-97060-618-6. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2155889 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Ян Гудфеллоу, Иошуа Бенджио, Аарон Курвилль

Глубокое обучение

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

Доступ онлайн
1 590 ₽
В корзину