КулЛиб - Классная библиотека! Скачать книги бесплатно 

Нейронные сети и глубокое обучение: учебный курс [Чару Аггарвал] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]
Нейронные
сети и глубокое
обучение
Учебный курс

Charu С. Aggarwal

Neural Networks
and
Deep Learning
А Textbook

~ Springer

Чару Аггарвал

Нейронные

сети и глубокое
обучение
Учебный курс

Москва

2020

· Санкт-Петербург

ББК

32.973.26-018.2.75
А23

УДК

681.3.07
Компьютерное издательство "Диалектика"
Перевод с английского канд. хим. наук А.Г Гузикевича
Под редакцией В.Р. Гинзбурга
По общим вопросам обращайтесь в издательство "Диалектика" по адресу:

info@dialektika.com,http://www.dialektika.com
Аггарвал, Чару

А23

Нейронные сети и глубокое обучение: учебный курс.

ООО "Диалектика",

2020. -

752

ISBN 978-5-907203-01-3

(рус.)

с.

-

: Пер.

с англ.

ББК
Все

названия

программных

продуктов

-

СПб.

:

Парал. тит. англ.

являются

32.973.26-018.2. 75

зарегистрированными торговыми

марками

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

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

Springer.
Authorized Russian translation ofthe English edition of Neural Networks and Deep Learning: А Textbook (ISBN
978-3-319-94462-3) © Springer lntemational PuЬ\ishing AG, part of Springer Nature 2018
This translation is puЬ\ished and sold Ьу perrnission of Springer, which owns or controls а\\ rights to sell the
same.
All rights reserved. No part of this book may Ье reproduced or transmitted in any forrn or Ьу any means, electronic or mechanical, including photocopying, recording, or Ьу any inforrnation storage or retrieval system, without
the prior written permission of the copyright owner and the PuЬ\isher.

Научно-популярное издание
Чару Аrтарвал

Нейронные сети и глубокое обучение:
учебный курс

ООО "Диалектика",

ISBN 978-5-907203-01-3
ISBN 978-3-319-94462-3

195027,

Санкт-Петербург, Магнитогорская ул., д.

30, лит.

А, пом.

848

(рус.)

© 2020

(англ.)

© Springer lnternational PuЬ\ishing AG,
part of Springer Nature 2018

ООО "Диалектика"

Оглавление

Предисловие

17

Глава

1.

Введение в нейронные сети

23

Глава

2.

Машинное обучение

Глава

3.

Глава

4.

с помощью мелких нейронных сетей

101

Обучение глубоких нейронных сетей

179

Обучение глубоких сетей способности
к обобщению

271

Глава

5.

Сети радиально-базисных функций

345

Глава

6.

Ограниченные машины Больцмана

369

Глава

7.

Рекуррентные нейронные сети

423

Глава

8.

Сверточные нейронные сети

485

Глава

9.

Глубокое обучение с подкреплением

569

Глава

10. Дополнительные

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

637

Библиография

695

Предметный указатель

737

Содержание

Предисловие

17

Об авторе
Ждем ваших отзывов!

20
21

Глава

23

1.1.

1.

Введение в нейронные сети

Введение

1.1.1. Человек и

1.2.

1.4.

компьютер: расширение пределов возможностей

искусственного интеллекта

26

Базовая архитектура нейронных сетей

29
29
46
51

1.2.1.
1.2.2.
1.2.3.
1.3.

23

Одиночный вычислительный слой: перцептрон
Многослойные нейронные сети
Многослойная нейронная сеть как вычислительный граф

Тренировка нейронной сети с помощью алгоритма обратного
распространения ошибки

52

Практические аспекты тренировки нейронных сетей

57
58
63
64
64
65

1.4.1. Проблема переобучения
1.4.2. Проблемы затухающих и взрывных градиентов
1.4.3. Трудности со сходимостью
1.4.4. Локальные и ложные оптимумы
1.4.5. Вычислительные трудности
1.5. Преимущества композиции функций
1.5.1. Важность нелинейной активации
1.5.2. Снижение требований к параметрам с помощью
1.5.3. Нестандартные архитектуры нейронных сетей
1.6.

глубины

Распространенные архитектуры нейронных сетей

1.6.1.

66
69
71
73
76

Имитация базового машинного обучения с помощью
мелких моделей

1.6.2. Сети радиально-базисных функций
1.6.3. Ограниченные машины Больцмана
1.6.4. Рекуррентные нейронные сети
1.6.5. Сверточные нейронные сети
1.6.6. Иерархическое конструирование признаков
и предварительное обучение моделей

76
77
78
79
82
84

СОДЕРЖАНИЕ

1. 7.

7

Дополнительные темы

1. 7 .1. Обучение с подкреплением
1.7.2. Отделение хранения данных от вычислений
1. 7 .3. Генеративно-состязательные сети
1.8. Два показательных эталонных теста
1.8.1. База данных рукописных цифр
1.8.2. База данных ImageNet
1.9.

МNIST

Резюме

1.1 О. Библиографическая справка
1.10.1. Видеолекции
1.10.2. Программные ресурсы
1.11.

Упражнения

Глава

2.

2.2.

2.5.

94
96
97
98

101
1О1

Архитектуры нейронных сетей для моделей бинарной классификации

104
105
107
113
116

Повторное рассмотрение перцептрона
Регрессия по методу наименьших квадратов
Логистическая регрессия
Метод опорных векторов

Архитектуры нейронных сетей для мультиклассовых моделей

2.3.1. Мультиклассовый перцептрон
2.3.2. SVM Уэстона-Уоткинса
2.3.3. Мультиномиальная логистическая регрессия
(классификатор Softmax)
2.3.4. Иерархическая функция Softmax для случая многих классов
2.4.

93

Введение

2.2.1.
2.2.2.
2.2.3.
2.2.4.
2.3.

90
90
92

Машинное обучение с помощью
мелких нейронных сетей

2.1.

87
87
88
89

119
119
121
123
125

Использование алгоритма обратного распространения ошибки
для улучшения интерпретируемости и выбора признаков

126

Факторизация матриц с помощью автокодировщиков

127
128
135
138
142
142
144

2.5.1. Автокодировщик: базовые принципы
2.5.2. Нелинейные активации
2.5.3. Глубокие автокодировщики
2.5.4. Обнаружение выбросов
2.5.5. Когда скрытый слой шире входного
2.5.6. Другие применения
2.5.7. Рекомендательные системы: предсказание значения
для индекса строки

2.5.8.

Обсуждение

147
151

8

СОДЕРЖАНИЕ

2.6. Word2vec: применение простых архитектур нейронных сетей
2.6.1. Нейросетевые вложения в рамках модели непрерывного
мешка слов

2.6.2.
2.6.3.
2.6.4.

Нейросетевые вложения в рамках модели скип-грамм

Модель

SGNS- это логистическая матричная факторизация
Простая модель скип-грамм - это мультиномиальная
матричная факторизация

2.7.

Простые архитектуры нейронных сетей для вложений графов

2. 7.1.
2. 7.2.
2.7.3.
2.8.
2.9.

Обработка произвольных значений счетчиков ребер
Мультиномиальная модель

Связь с моделями

DeepWalk и node2vec

Резюме
Библиографическая справка

2.9.1. Программные ресурсы
2.10. Упражнения
Глава

3.

Обучение глубоких нейронных сетей

3 .1. Введение
3.2. Алгоритм

подробное рассмотрение

На выручку приходит динамическое программирование

189

Обратное распространение ошибки с предактивационными
переменными

распространения ошибки
Функции потерь на нескольких выходных и скрытых узлах

Мини-пакетный стохастический градиентный спуск

193
196
198
201
203

Приемы обратного распространения ошибки для обработки
разделяемых весов

3.2.10. Проверка корректности

вычисления градиентов

Настройка и инициализация сети

3.3 .1.
3.3.2.
3.3.3.

182
187

Обратное распространение ошибки с постактивационными

3.2.5. Примеры обновлений для различных активаций
3.2.6. Обособленное векторное представление процесса обратного

3.3.

179
179
182

переменными

3.2.7.
3.2.8.
3.2.9.

168
169
171
171
172
172
173
175
175

обратного распространения ошибки с помощью

абстракции вычислительного графа

3.2.4.

153
157
164

обратного распространения ошибки:

3.2.1. Анализ
3.2.2.
3.2.3.

151

Тонкая настройка гиперпараметров

Предварительная обработка признаков
Инициализация

206
207
208
208
210
214

9

СОДЕРЖАНИЕ

3.4.

Проблемы затухающих и взрывных градиентов

3.4.1. Геометрическая интерпретация эффекта отношений градиентов
3.4.2. Частичное устранение проблем за счет выбора функции
активации

3.4.3.
3.5.

Мертвые нейроны и "повреждение мозга"

Стратегии градиентного спуска

3.5.1. Регулирование скорости обучения
3.5.2. Метод импульсов
3.5.3. Скорости обучения, специфические для параметров
3.5.4. Овраги и нестабильность более высокого порядка
3.5.5. Отсечение градиентов
3.5.6. Производные второго порядка
3.5.7. Усреднение Поляка
3.5.8. Локальные и ложные минимумы
3.6.
3. 7.

Пакетная нормализация
Практические приемы ускорения вычислений и сжатия моделей

3.7.1. Ускорение с помощью GPU
3.7.2. Параллельные и распределенные реализации
3.7.3. Алгоритмические приемы сжатия модели
3.8. Резюме
3.9. Библиографическая справка
3.9.1. Программные ресурсы
3.10. Упражнения
Глава

4.

Введение

Дилемма смещения

4.2.1.
4.3.

-

дисперсии

Формальное рассмотрение

Проблемы обобщаемости модели при ее настройке и оценке
4.3.1. Оценка точности с помощью отложенного набора данных
и перекрестной проверки

4.3 .2.
4.3.3.
4.4.

219
221
222
223
224
227
232
234
235
246
247
249
254
255
258
260
265
265
267
268

Обучение глубоких сетей способности
к обобщению

4.1.
4.2.

215
217

Проблемы с крупномасштабной тренировкой

Как определить необходимость в сборе дополнительных данных

Регуляризация на основе штрафов

4.4.1. Связь регуляризации с внедрением шума
4.4.2. L 1 -регуляризация
4.4.3. Что лучше: L 1- или L 2 -регуляризация?
4.4.4. Штрафование скрытых элементов: обучение разреженным
представлениям

271
271
278
280
284
287
288
289
289
292
293
294
295

10

4.5.

СОДЕРЖАНИЕ

Ансамблевые методы

4.5.1.
4.5.2.
4.5.3.
4.5.4.
4.5.5.
4.6.

Рандомизированное отбрасывание соединений
Дропаут

Ансамбли на основе возмущения данных
Ранняя остановка с точки зрения дисперсии

Предварительное обучение без учителя

4. 7.1.
4.7.2.
4.8.

Выбор и усреднение параметрических моделей

Ранняя остановка

4.6.1.
4.7.

Бэггинг и подвыборка

Разновидности неконтролируемого предварительного обучения
Контролируемое предварительное обучение

Обучение с продолжением и поэтапное обучение

4.8.1.
4.8.2.

Обучение с продолжением
Поэтапное обучение

4.9. Разделение параметров
4.10. Регуляризация в задачах обучения без учителя
4.10.1. Штрафы на основе значений: разреженные автокодировщики
4.10.2. Внедрение шума: шумоподавляющие автокодировщики
4.10.3. Штрафование на основе градиентов: сжимающие
автокодировщики

4.10.4.

4.11. Резюме
4.12. Библиографическая справка
4.12.1. Программные ресурсы
Упражнения

Глава

5.1.

5.

5.2.

Когда следует использовать RВF-сети

Тренировка RВF-сети

5.2.1.
5.2.2.
5.2.3.
5.2.4.
5.3.

Сети радиально-базисных функций

Введение

5.1.1.

Тренировка скрытого слоя
Тренировка выходного слоя
Ортогональный метод наименьших квадратов
Полностью контролируемое обучение

Разновидности и специальные случаи RВF-сетей

5.3.1.
5.3.2.

324

Скрытая вероятностная структура: вариационные
автокодировщики

4.13.

296
297
299
300
301
305
306
307
308
313
314
316
318
318
319
321
321
322

Классификация с использованием критерия перцептрона
Классификация с кусочно-линейной функцией потерь

328
338
338
341
341

345
345
349
349
350
352
354
355
357
358
358

11

СОДЕРЖАНИЕ

5.3.3. Пример линейной разделимости,

обеспечиваемой

RВF-функциями

5.3.4.
5.4.

Применение в задачах интерполяции

Связь с ядерными методами

5.4.1. Ядерная регрессия как специальный случай RВF-сетей
5.4.2. Ядерный метод SVM как специальный случай RВF-сетей
5.4.3. Замечания
5.5. Резюме
5.6. Библиографическая справка
5.7. Упражнения
Глава

6.1.

6.

Введение

6.1.1.
6.2.

Ограниченные машины Больцмана

Исторический экскурс

Сети Хопфилда

6.2.1.
6.2.2.
6.2.3.

Оптимальные конфигурации состояний обученной сети
Обучение сети Хопфилда

6.3.

6.4.

Улучшение выразительных возможностей сети Хопфилда

Машина Больцмана

6.3.1.
6.3.2.

Как машина Больцмана генерирует данные

Обучение весов машины Больцмана

Ограниченная машина Больцмана

6.4.1.
6.4.2.
6.4.3.

Обучение RВМ
Алгоритм контрастивной дивергенции

Применение ограниченных машин Больцмана

6.5.1.
6.5.2.
6.5.3.
6.5.4.
6.5.5.

Снижение размерности и реконструирование данных

Применение RВМ для коллаборативной фильтрации
Использование RВМ для классификации

Тематическое моделирование с помощью RВМ

Использование RВМ с данными, не являющимися бинарными
Каскадные ограниченные машины Больцмана

6. 7.1.

392
394
394
398
403
407

Использование RВМ для машинного обучения
с мультимодальными данными

6.6.
6.7.

377
379
380
382
383
386
389
391

Практические рекомендации и возможные видоизменения
процедуры

6.5.

369
369
370
371
373
376

Создание экспериментальной рекомендательной системы
и ее ограничения

6.2.4.

359
360
362
362
363
364
365
365
366

Обучение без учителя

41 О
412
413
416

12

СОДЕРЖАНИЕ

6. 7.2.
6.7.3.

Обучение с учителем

Глубокие машины Больцмана и глубокие сети доверия

6.8. Резюме
6.9. Библиографическая
6.10. Упражнения
Глава

7.1.

7.

423

Выразительная способность рекуррентных нейронных сетей

Архитектура рекуррентных нейронных сетей

7.2.1.
7.2.2.
7.2.3.
7.2.4.
7.3.

Рекуррентные нейронные сети

Введение

7.1.1.
7.2.

справка

Пример языкового моделирования с помощью

RNN

Обратное распространение ошибки во времени
Двунаправленные рекуррентные сети
Многослойные рекуррентные сети

Трудности обучения рекуррентных сетей

7.3.1.

Послойная нормализация

7.4. Эхо-сети
7.5. Долгая краткосрочная память (LSTM)
7.6. Управляемые рекуррентные блоки
7. 7. Применение рекуррентных нейронных сетей
7. 7.1. Автоматическое аннотирование изображений
7.7.2. Обучение "последовательность в последовательность"
и машинный перевод

7.7.3.
7.7.4.

Классификация на уровне предложений

7.8.
7. 9.

423
427
428
432
435
439
442
444
448
450
453
458
460
461
463
469

Классификация на уровне токенов с использованием
лингвистических признаков

7.7.5.
7.7.6.
7.7.7.
7.7.8.
7.7.9.

417
417
418
419
421

Прогнозирование и предсказание временных рядов
Временные рекомендательные системы

Предсказание вторичной структуры белка
Сквозное распознавание речи
Распознавание рукописного текста

Резюме

Библиографическая справка

7.9.1. Программные ресурсы
7.10. Упражнения

470
472
474
478
479
479
480
481
482
483

СОДЕРЖАНИЕ

Глава

8.

Сверточные нейронные сети

8.1. Введение
8.1.1. Исторический обзор и биологические предпосылки
8.1.2. Общие замечания относительно сверточных нейронных сетей
8.2. Базовая структура сверточной сети
8.2.1. Дополнение
8.2.2. Шаговая свертка
8.2.3. Типичные параметры
8.2.4. Слой ReLU
8.2.5. Пулинг
8.2.6. Полносвязные слои
8.2.7. Чередование слоев
8.2.8. Нормализация локального отклика
8.2.9. Иерархическое конструирование признаков
8.3. Тренировка сверточной сети
8.3.1. Обратное распространение ошибки через свертки
8.3.2. Обратное распространение ошибки как свертка
с инвертированным/транспонированным фильтром

8.3.3.

8.4.

8.5.

CeтьAlexNet
Сеть

ZFNet
VGG
Сеть GoogLeNet
Сеть ResNet
Сеть

Эффекты глубины
Предварительно обученные модели

Визуализация и обучение без учителя

8.5.1.
8.5.2.
8.6.

Аугментация данных

Примеры типичных сверточных архитектур

8.4.1.
8.4.2.
8.4.3.
8.4.4.
8.4.5.
8.4.6.
8.4.7.

Визуализация признаков обученной сети
Сверточные автокодировщики

Применение сверточных сетей

8.6.1. Извлечение изображений на основе содержимого
8.6.2. Локализация объектов
8.6.3. Обнаружение объектов
8.6.4. Распознавание естественного языка и обучение
последовательностей

8.6.5.

485
485
486
488
489
495
498
499
500
501
503
504
508
508
510
511
512

Свертка и обратное распространение ошибки как матричное
умножение

8.3.4.

13

Классификация видео

514
517
518
519
523
524
528
531
536
537
539
540
548
555
555
555
558
559
560

14

8.7.
8.8.

СОДЕРЖАНИЕ

Резюме

Библиографическая справка
Программные ресурсы и наборы данных

8.8.1.
8.9.

561
562
565
566

Упражнения

Глава

9.

Глубокое обучение с подкреплением

9.1. Введение
9.2. Алгоритмы без запоминания состояний: многорукие бандиты
9.2.1. Наивный алгоритм
9.2.2. Жадный алгоритм
9.2.3. Методы верхней границы
9.3. Базовая постановка задачи обучения с подкреплением
9.3.1. Трудности обучения с подкреплением
9.3.2. Простой алгоритм обучения с подкреплением для игры
крестики-нолики

9.3.3.
9.4.

Бутстрэппинг для обучения функции оценки

9.4.1.
9.4.2.
9.4.3.
9.4.4.
9.5.

Роль глубокого обучения и алгоритм "соломенного пугала"

Модели глубокого обучения как аппроксиматоры функций
Пример: нейронная сеть для игр на платформе

Atari

Методы, привязанные и не привязанные к стратегии:
Моделирование состояний, а не пар "состояние

-

SARSA

действие"

Градиентный спуск по стратегиям

9.5.1.
9.5.2.
9.5.3.

Метод конечных разностей

Методы относительного правдоподобия

9.6.
9. 7.

Методы "актор-критик"
Непрерывное пространство действий

Преимущества и недостатки градиентного спуска по стратегиям

Поиск по дереву методом Монте-Карло

9.6.1.

579
580
583
585
589
590
592
596
598
599

Сочетание обучения с учителем с градиентными методами
моделирования стратегий

9.5.4.
9.5.5.
9.5.6.

569
569
572
573
574
574
575
578

Использование в бутстрэппинге

Типовые примеры

9.7.1. AlphaGo: достижение чемпионского уровня в игре го
9.7.2. Самообучающиеся роботы
9.7.3. Создание разговорных систем: глубокое обучение чат-ботов
9.7.4. Беспилотные автомобили
9.7.5. Предложение нейронных архитектур с помощью обучения
с подкреплением

602
602
605
606
606
608
609
609
616
621
624
627

15

СОДЕРЖАНИЕ

9.8. Практические вопросы безопасности
9.9. Резюме
9.1 О. Библиографическая справка
9.10.1. Программные ресурсы и испытательные
9.11. Упражнения
Глава

10.

системы

Дополнительные вопросы глубокого обучения

629
630
631
633
634

10.1. Введение
10.2. Механизмы внимания
10.2.1. Рекуррентные модели визуального внимания
10.2.2. Механизмы внимания для машинного перевода
10.3. Нейронные сети с внешней памятью
10.3.1. Воображаемая видеоигра: обучение сортировке на примерах
10.3.2. Нейронные машины Тьюринга
10.3.3. Дифференциальный нейронный компьютер: краткий обзор
10.4. Генеративно-состязательные сети
10.4.1. Тренировка генеративно-состязательной сети
10.4.2. Сравнение с вариационным автокодировщиком
10.4.3. Использование GAN для генерирования данных изображений
10.4.4. Условные генеративно-состязательные сети
10.5. Соревновательное обучение
10.5.1. Векторная квантизация
10.5.2. Самоорганизующиеся карты Кохонена
10.6. Ограничения нейронных сетей
10.6.1. Амбициозная задача: разовое обучение
10.6.2. Амбициозная задача: энергетически эффективное обучение
10.7. Резюме
10.8. Библиографическая справка
10.8.1. Программные ресурсы
10.9. Упражнения

637
637
639
642
646
651
652
655
663
664
666
670
671
673
679
680
681
685
686
688
690
691
693
693

Библиография

695

Предметный указатель

737

Предисловие

Любой ИИ, достаточно сообразительный для того,
чтобы пройти тест Тьюринга, с.может так:же
сообразить, к:ак: провалить этот тест.
Иен Макдональд

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

является создание искусственного интеллекта (ИИ) на основе машин, архи­

тектура которых была бы способна имитировать процессы, происходящие в
нервной системе человека. Совершенно очевидно, что задача такого масштаба
не может иметь простого решения, поскольку вычислительная мощность даже

самых быстрых современных компьютеров составляет лишь ничтожную долю
возможностей человеческого мозга. Первые сообщения о нейронных сетях поя­
вились вскоре после прихода в нашу жизнь компьютеров в 50-60-х годах прош­

лого столетия. Алгоритм перцептрона Розенблатта был воспринят в качестве
панацеи нейронных сетей, что поначалу вызвало небывалый ажиотаж относи­
тельно перспектив искусственного интеллекта. Но после того как первоначаль­

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

ние доступности данных и увеличение вычислительных мощностей обеспечи­
ли дальнейший прогресс нейронных сетей, и эта область возродилась под на­
званием "глубокое обучение". И хотя мы по-прежнему все еще далеки от того
дня, когда искусственный интеллект достигнет уровня человеческих возмож­

ностей, существуют такие специфические области, как распознавание образов
или игры, в которых ИИ сравнялся или даже превзошел человека. Точно так

же трудно предсказать, на что будет способен искусственный интеллект в бли­
жайшем будущем. Например, два десятилетия назад лишь немногие эксперты

18

ПРЕДИСЛОВИЕ

могли всерьез думать о том, что автоматизированная система сумеет решать та­

кие задачи, требующие применения интуиции, как более точная категоризация
изображений, чем та, на которую способен человек.

Нейронные сети теоретически могут обучиться вычислению любой мате­
матической функции при условии предоставления им достаточного количества
обучающих (тренировочных) данных, и известно, что некоторые их варианты

наподобие рекуррентных сетей обладают свойством полноты по Тьюрингу (яв­
ляются тьюринг-полными). Полнота по Тьюрингу означает, что нейронная сеть

способна имитировать любой алгоритм обучения, если ей предоставить доста­
точный объем тренировочных (обучающих) данных. Камнем преткновения явля­
ется тот факт, что объем данных, которые требуются для обучения даже простым

задачам, часто оказывается непомерно большим, что приводит к увеличению
времени обучения. Например, время обучения распознаванию образов, что для
человека является простой задачей, может исчисляться неделями даже на высо­

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

менем быстродействие компьютеров, как ожидается, возрастет, а на горизонте
уже просматриваются значительно более мощные технологии наподобие кван­
товых вычислений, то вычислительные проблемы в конечном счете могут ока­
заться не столь критичными, как нам кажется сейчас.
Несмотря на то что проведение параллелей между нейронными сетями и

биологическими системами чрезвычайно обнадеживает и граничит с идеями
из области научной фантастики, математическое обоснование нейронных се­

тей требует выполнения более рутинной работы. Абстракцию нейронной сети
можно рассматривать как разновидность модульного подхода к созданию обу­
чающих алгоритмов на основе непрерывной оптимизации в рамках вычисли­

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

но напоминают большинство фундаментальных алгоритмов, используемых в

нейронных сетях (и исторически им предшествовали). Однако повышение до­
ступности данных в последние годы наряду с увеличением вычислительных

мощностей позволило экспериментировать с более глубокими архитектурами

подобных вычислительных графов, чем было возможно ранее. Результирую­
щий успех изменил оценку потенциала глубокого обучения.
Книга имеет следующую структуру.

1.

Основы нейронных сетей. В главе

1 обсуждаются

базовые принципы про­

ектирования нейронных сетей. Суть многих традиционных моделей ма­

шинного обучения можно понять, рассматривая их как частные случаи

ПРЕДИСЛОВИЕ

19

нейронных сетей. Понимание соотношения между традиционным машин­

ным обучением и нейронными сетями является первым шагом к изучению
последних. Имитация различных моделей машинного обучения рассматри­
вается в главе

2.

Это даст читателям знание того, как нейронные сети пре­

одолевают ограничения традиционных алгоритмов машинного обучения.

2.

Фундаментальные понятия нейронных сетей. В то время как в главах

2 дается общий обзор

ная информация о проблемах обучения приведена в главах
вах

5

и



методов обучения нейронных сетей, более подроб­

6 рассмотрены

3

и

4.

В гла­

сети радиально-базисных функций (RВF) и огра­

ниченные машины Больцмана.

3.

Дополнительные вопросы нейронных сетей. Своими недавними успехами

глубокое обучение в значительной мере обязано специализированным ар­
хитектурам, таким как рекуррентные и сверточные нейронные сети, кото­

рые обсуждаются в главах

7 и 8.

Главы

9 и 10 посвящены более

сложным

темам, таким как глубокое обучение с подкреплением, нейронные маши­
ны Тьюринга и генеративно-состязательные сети.

Автор позаботился о том, чтобы не упустить из виду некоторые из "забьпых"
архитектур наподобие RВF-сетей или самоорганизующихся карт Кохонена, по­
скольку они по-прежнему имеют значительный потенциал во многих задачах.
Книга предназначена для студентов старших курсов, исследователей и специа­

листов-практиков. В конце каждой главы приведены упражнения, решение ко­
торых поможет студентам закрепить материал, изученный ими на лекциях. Там,

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

ся строчные или прописные буквы с чертой над ними, например Х или у. Опе­
рация скалярного (точечного) произведения векторов обозначается точкой меж­

ду ними, например Х ·У. Матрицы обозначаются прописными буквами без
надчеркивания, например

R. По всей книге матрица размером п х d, соответству­
- чис­

ющая полному обучающему набору данных, обозначается через D, где п

ло документов, а d- число измерений. Поэтому индивидуальные точки данных
в

D

являются d-мерными вектор-строками. С другой стороны, векторы с одной

составляющей для каждой точки данных обычно являются п-мерными век­

тор-столбцами. В качестве примера можно привести п-мерный вектор-столбец
у переменных, включающих п точек данных. Чтобы отличить его от наблюдае­

мого значения У;, предсказываемое значение

j\ обозначается символом циркум­

флекса ("крышка") поверх переменной.
Чару Аггарвал

Йорктаун Хайте, штат Нью-Йорк, США

Об авторе
Чару Аггарвал

(DRSM)

-

заслуженный научный сотрудник

исследовательского центра IВМ имени Томаса

Дж. Уотсона в г. Йорктаун Хайте, штат Нью-Йорк. Базо­
вое образование в области компьютерных наук получил в
Индийском технологическом институте в г. Канпур, кото­
рый окончил в

1993

г., а в

1996 г.

получил степень доктора

философии в Массачусетском технологическом институ­
те. Вся его деятельность связана с обширными исследо­
ваниями в области интеллектуального анализа данных. Он автор свыше

публикаций и более чем

80

зарегистрированных патентов. Выпустил

18

350

книг,

в том числе учебники по анализу данных и рекомендательным системам. Вви­
ду коммерческой ценности его патентов он трижды получал звание заслужен­

ного изобретателя компании IВМ. Чару Аггарвал был удостоен награды

Corporate Award (2003)

IBM

за работы по обнаружению биотеррористических угроз

в потоках данных, награды

IBM Outstanding Innovation Award (2008)

за науч­

ный вклад в технологию защиты конфиденциальности данных, а также двух
наград IВМ Outstaпdiпg Techпical Achievemeпt Award (2009,
потокам многомерных данных. Он также лауреат
Тiте

Award,

2015) за работы по
награды EDBT 2014 Test of

присужденной за работы по интеллектуальному анализу данных

с сохранением их конфиденциальности. Кроме того, он был удостоен награды

IEEE ICDM Research

Coпtributioпs

Award (2015),

являющейся одной из двух

наивысших наград, которые присуждаются за выдающийся вклад в области
анализа данных.

Чару Аггарвал был сопредседателем на конференции

IEEE Вig Data (2014) и
IEEE ICDM (2015) и А СМ
заместителем редактора журнала IEEE

сопредседателем на конференциях А СМ CIKM (2015),
КDD

(2016).

С

2004

по

2008

годы был

Traпsactioпs оп Kпowledge апd Data Eпgiпeeriпg. В настоящее время заместитель

редактора журналов

Data, Data Miпiпg апd Kпowledge
Discovery Journal и Kпowledge апd Iпformatioп Systems Journal, а также главный
редактор журналов А СМ Traпsactioпs оп Kпowledge Discovery from Data и А СМ
IEEE

Traпsactioпs оп Вig

SIGКDD Exploratioпs. Член консультативного комитета по выпуску книжной се­
рии

Lecture Notes оп Social Networks

(издательство

Springer). Ранее занимал пост
вице-президента инициативной группы SIAM Activity Group оп Data Miпiпg, а в
настоящее время - член комитета SIAМ Industry.

Ждем ваших отзывов!
Вы, читатель этой книги, и есть главный ее критик. Мы ценим ваше мне­

ние и хотим знать, что было сделано нами правильно, что можно было сделать
лучше и что еще вы хотели бы увидеть изданным нами. Нам интересны любые
ваши замечания в наш адрес.

Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам

электронное письмо либо просто посетить наш сайт и оставить свои замечания
там. Одним словом, любым удобным для вас способом дайте нам знать, нра­
вится ли вам эта книга, а также выскажите свое мнение о том, как сделать наши

книги более интересными для вас.

Отправляя письмо или сообщение, не забудьте указать название книги и ее
авторов, а также свой обратный адрес. Мы внимательно ознакомимся с вашим
мнением и обязательно учтем его при отборе и подготовке к изданию новых книг.
Наши электронные адреса:

E-mail: info@dialektika.com
WWW: http://www. dialektika. сот

Глава

1

Введение в нейронные сети

Не сотвори машину, выдающую себя за человека.
Фрэнк Герберт

1.1.

Введение

Термин искусственные нейронные сети охватывает совокупность попу­

лярных методов машинного обучения, имитирующих механизмы обучения,
которые действуют в биологических организмах. Нервная система человека

содержит нейроны

специфические клетки, предназначенные для приема, об­

-

работки, хранения и передачи поступающей информации с помощью электри­
ческих и химических сигналов. Нейроны могут соединяться друг с другом по­
средством аксонов и дендритов, а структуры, связывающие дендриты одного

нейрона с аксонами других нейронов, называются синапсами (рис.

1.1, а).

Сила

синаптических связей часто изменяется в ответ на внешнее возбуждение. Имен­
но эти изменения лежат в основе механизма обучения живых организмов.

окончанwе

fC.лtмOlfHOI мело

Аксон
Аксон

TepMIAHllЛIA

я ар о

lllh дh,

I

h:h,=>h

Поскольку все фигурирующие здесь узлы

за слоем, в котором находится узел
член
ния

D(h,

1.25

h,,

h

о).

(1.25)

содержатся в слоях, следующих

то к моменту вычисления члена

D(hk,

о)

о) оказывается уже вычисленным. Однако для вычисления уравне-

нам все еще нужно вычислить член

8h
. Рассмотрим
дh,

ситуацию, в ко-

торой связь, соединяющая узел

h, с узлом h, имеет вес w(h,, h), и пусть ah - зна­
h непосредственно перед применением
функции активации Ф('). Иными словами, мы имеем соотношение h = Ф(аh),
где ah - линейная комбинация входов элемента h, связанных с элементами пре­
чение, вычисленное в скрытом элементе

дыдущего слоя. Тогда в соответствии с одномерным цепным правилом мы по­
лучаем для члена следующее выражение:

ГЛАВА 1. ВВЕДЕНИЕ В НЕЙРОННЫЕ СЕТИ

56

Это значение дh используется в уравнении

1.25,

дh,

которое рекурсивно по­

вторяется в обратном направлении, начиная с выходного узла. Соответствую-

щие обновления в обратном направлении можно записать следующим образом:

L

Л(h,, о)=

h:h,=>h

Ф'(ah)·wS

о

5

>S

Скрытые слои обучаются признакам,

r---..-.-'"\.

_ __,_,

которые родственны таким алгоритмам

о,__

~

машинного обучения. как классификация

00

++
**
++***
+++ •**
+ +
+* 1.....
* ~ * * + ++ +
Нелинейные
* *\ +
преобразования
* * + +
скрытого слоя

* *
* ** + +
** * + +
**
+
* *
* *
+
* ** + + + +
***
+
+
+
+
~
+ ~
~
* ** + +
* ** + + т
*
+ +
Выходной слой
* * + +
*
+ + использует упрощенное * * + + +
** + + +
распределение
+ +
+ +

-----..,v•

V--*

Входное распределение

Преобразованное распределение

(трудно классифицировать

(легко классифицировать

преобразованных данных

с помощью одного слоя)

с помощью одного слоя)

с помощью единственного

Линейная классификация

ВЫХОДНОГО узла

Рис.

1.19. Роль

скрытых слоев в конструировании признаков

ГЛАВА 1. ВВЕДЕНИЕ В НЕЙРОННЫЕ СЕТИ

86

Выходом каждого скрытого слоя является преобразованное представление
признаков данных, размерность которого определяется количеством элементов

в данном слое. Этот процесс можно рассматривать в качестве своеобразного
процесса построения иерархии признаков, когда признаки в ранних слоях пред­

ставляют примитивные характеристики данных, в то время как признаки в бо­
лее поздних слоях представляют сложные характеристики с семантической зна­
чимостью для меток классов. Данные, представленные в терминах признаков

в более поздних слоях, часто ведут себя лучше (например, являются линейно
разделимыми) в силу того, что они отражают семантическую природу призна­

ков, изученных путем преобразования. В некоторых задачах, например в случае

сверточных нейронных сетей для обработки изображений, такой тип поведения
проявляется в наглядной, визуально интерпретируемой форме. В сверточных
нейронных сетях признаки в ранних слоях захватывают в наборе изображений
детальные, но примитивные формы наподобие линий или границ однородности
изображений. С другой стороны, признаки в более поздних слоях захватывают
более сложные формы наподобие шестиугольников, сот и т.п" в зависимости от
типа изображений, предоставленных в качестве тренировочных данных. Обра­
тите внимание на то, что такие семантически интерпретируемые формы зача­

стую тесно коррелируют с метками классов в задачах обработки изображений.
Например, почти любое изображение будет содержать линии или границы, тог­
да как для изображений, принадлежащих к некоторым определенным классам,
более характерным будет наличие в них шестиугольников или сот. Эта особен­
ность упрощает задачу классификации представлений более поздних слоев с

помощью простых моделей наподобие линейных классификаторов. Признаки,
полученные в более ранних слоях, используются в качестве строительных кир­
пичиков для создания более сложных признаков. Этот общий принцип "сведе­

ния воедино" простых признаков для создания более сложных признаков лежит
в основе успехов, достигнутых с помощью нейронных сетей. Использование

этого способа тщательно продуманными способами оказалось полезным и для
предварительного обучения моделей. Практику использования предварительно
обученных моделей также называют переносимым обучением

(transfer leaming).

Суть одного специфического типа переносимого обучения, обычно приме­
няемого в нейронных сетях, заключается в том, что данные и структура, до­

ступные для некоторого набора данных, используются с целью обучения при­
знакам, относящимся к данной предметной области в целом. Классическим
примером могут служить текстовые или графические данные. В случае тек­
стовых данных представления слов создаются с использованием стандарти­

зированных эталонных наборов данных, таких как Википедия
лей наподобие

word2vec.

[594],

и моде­

Такие данные и модели могут быть использованы

практически в любом приложении для обработки текста, поскольку природа

1. 7. ДОПОЛНИТЕЛЬНЫЕ ТЕМЫ

87

текстовых данных не изменяется существенно при переходе от одного прило­

жения к другому. Аналогичный подход часто применяется и в отношении изо­

бражений, когда набор данных

ImageNet

(раздел

1.8.2)

используется для пред­

варительного обучения сверточных нейронных сетей и предоставляет готовые

к использованию признаки. Любой набор изображений можно преобразовать в
многомерное представление, загрузив предварительно обученную сверточную
нейронную сеть и пропустив через нее изображения. Кроме того, при наличии

дополнительных данных, специфических для приложения, можно регулировать
уровень переносимого обучения в зависимости от объема имеющихся данных.
Это достигается за счет тонкой настройки подмножества слоев в предваритель­

но обученной сети с помощью этих дополнительных данных. Если доступен
лишь небольшой объем данных, специфических для приложения, то можно за­

фиксировать веса ранних слоев на их предварительно обученных значениях и
настроить лишь последние несколько слоев нейронной сети. Ранние слои часто

содержат примитивные признаки, которые легче обобщаются на произвольные
приложения. Например, в сверточной нейронной сети ранние слои обучаются

таким примитивным признакам, как границы областей изображения с однород­
ными характеристиками, которые встречаются в самых разных изображениях,
от моркови до грузовика. С другой стороны, поздние слои содержат сложные

признаки, которые могут зависеть от особенностей коллекции изображений
(например, колесо грузовика или срез верхушки моркови). В подобных случа­
ях имеет смысл настраивать только последние слои. Если же объем доступных
данных, специфических для приложения, достаточно велик, то можно настра­

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

1. 7. Дополнительные

темы

Ряд тем глубокого обучения вызывает постоянно возрастающий интерес, и в

этих областях недавно были достигнуты заметные успехи. Несмотря на то что
некоторые из методов ограничены доступными в настоящее время вычисли­

тельными возможностями, они обладают значительным потенциалом.

1.7.1.

Обучение с подкреплением

В обычных приложениях искусственного интеллекта нейронные сети долж­
ны обучаться тому, чтобы предпринимать те или иные действия в постоянно
изменяющихся и динамически развивающихся ситуациях. Примерами могут

служить обучающиеся роботы и беспилотные автомобили. Во всех подобных
случаях критическое значение имеет предположение о том, что обучаемой

ГЛАВА 1. ВВЕДЕНИЕ В НЕЙРОННЫЕ СЕТИ

88

системе ничего заранее не известно о том, какая последовательность действий

будет наиболее подходящей, и все обучение, так называемое обучение с под­

креплением

(reinforcement learning), проводится посредством присуждения воз­

награждения за правильность совершаемых системой действий. Эти типы об­
учения соответствуют динамической последовательности действий, которую

трудно моделировать, используя традиционные методы машинного обучения.
В данном случае ключевым является предположение о том, что такие системы
слишком сложны для явного моделирования, но достаточно просты для того,

чтобы за каждое правильное действие обучаемой системы ей можно бьшо на­
значить вознаграждение.

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

ликолепную тестовую площадку для методов обучения с подкреплением. Как
и в реальных ситуациях, количество возможных состояний (т.е. уникальных

позиций в игре) может быть настолько большим, что уже один его подсчет ста­
новится нереальным, и в этих условиях выбор оптимального хода критически
зависит от знания того, какая информация о конкретном состоянии игры дей­
ствительно важна для модели. Кроме того, поскольку невозможно вести игру,

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

гоприятные условия для обучения. Успешная тренировка методов обучения с
подкреплением

-

вот путь, ведущий к самообучающимся системам, Святому

Граалю искусственного интеллекта. И хотя поле обучения с подкреплением

было исследовано независимо от поля нейронных сетей, их взаимодополняе­
мость свела их вместе. Методы глубокого обучения могут быть полезными для
обучения представлениям признаков на многомерных сенсорных входах (на­
пример, это могут быть пиксели видеоигры или пиксели поля "зрения" робо­

та). Кроме того, методы обучения с подкреплением часто применяются для под­
держки различных типов алгоритмов нейронныхсетей, например механизмов

внимания. Методы обучения с подкреплением обсуждаются в главе

1.7.2.

9.

Отделение хранения данных от вычислений

Важным аспектом нейронных сетей является тесная интеграция хранения
данных и вычислений. Например, состояния нейронной сети могут рассматри­

ваться как некоторый тип временной памяти, во многом напоминающий своим
поведением регистры центрального процессора компьютера. Но что если мы
хотим построить нейронную сеть, в которой можно контролировать, откуда чи­
тать данные и куда их записывать? Эта цель достигается за счет использования

1. 7. ДОПОЛНИТЕЛЬНЫЕ

ТЕМЫ

89

вншиания и внешней памяти. Механизмы внимания могут применяться в раз­
личных задачах, таких как обработка изображений, где внимание последова­

тельно фокусируется на небольших участках изображения. Эти методики также
используются в машинном переводе. Нейронные сети, имеющие возможность
строго контролировать доступ по чтению и записи к внешней памяти, называ­

ют нейронными машинами Тьюринга
памяти

(memory networks) [528].

(neural Turing machines) [158]

или сетями

И хотя они являются не более чем усовершен­

ствованными вариантами рекуррентных нейронных сетей, они демонстрируют
значительное превосходство над своими предшественниками в отношении кру­

га задач, с которыми способны справиться. Эти методы обсуждаются в главе

1. 7 .3.

1О.

Генеративно-состязательные сети

Генеративно-состязательные сети

(generative adversarial network, GAN) -

это модель порождения данных, фактически построенная на основе двух мо­
делей, состязающихся между собой в своеобразной игре. Этими двумя "игро­
ками" являются генератор и дискриминатор. Генератор принимает гауссовский
шум в качестве входа и выдает на выходе сгенерированный образец, похожий на

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

цы из базового набора данных от сгенерированных. Генератор пытается гене­
рировать как можно более реальные образцы. Его задача состоит в том, чтобы
обмануть дискриминатор, тогда как задача дискриминатора

-

идентифициро­

вать поддельные образцы, несмотря на все попытки генератора обмануть его.
Суть процесса можно понять, рассматривая его как состязательную игру между
генератором и дискриминатором, тогда как ее формальной оптимизационной

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

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

изображения спален, которые на самом деле не являются частью базового набо­
ра. Поэтому такой подход вполне подходит для использования в художественных

или творческих целях. Также возможна тренировка этих методов на специфиче­
ских типах контекста, таких как метки, текстовые подписи или изображения с
отсутствующими деталями. Во всех случаях используются пары тренировочных

объектов. Типичным примером такой пары может служить подпись к рисунку

ГЛАВА 1. ВВЕДЕНИЕ В НЕЙРОННЫЕ СЕТИ

90

(контекст) и изображение (базовый объект). Точно так же подобными парами
могут быть эскизы объектов и их фактические фотографии. Поэтому, начав с
набора данных, который содержит изображения различных типов животных,

снабженные подписями, можно создать фантазийное изображение, не являю­
щееся частью базового набора данных, по контекстной подписи "синяя птица с
острыми копями". Или же, начав со сделанного художником наброска дамской

сумочки, можно получить ее реалистичное цветное изображение. Генератив­
но-состязательные сети обсуждаются в главе

1.8.

1О.

Два показательных эталонных теста

Среди обсуждаемых в литературе по нейронным сетям результатов эталон­
ных тестов доминируют данные, относящиеся к области компьютерного зре­

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

UCI [601],

однако наблюдается

тенденция использовать для этой цели преимущественно хорошо визуализи­

руемые наборы данных. Несмотря на наличие широкого разнообразия наборов
данных в виде текста и изображений, два из них занимают особое положение,
поскольку ссылки на них повсеместно встречаются в статьях по глубокому об­
учению. И хотя оба этих набора связаны с компьютерным зрением, первый из
них достаточно прост, чтобы его можно было использовать для тестирования
обычных приложений, не имеющих отношения к зрению.

База данных рукописных цифр

1.8.1.

База данных

MNIST

Technology)- это

(от

MNIST

Modified National Institute of Standards and

обширная база данных рукописных цифр

[281].

Как следует

из самого названия, набор данных бьш создан путем изменения оригинальной
базы рукописных цифр, созданной Национальным институтом стандартов и тех­
нологий США

(NIST).

Набор содержит

60 ООО тренировочных и 1О ООО тестовых

изображений. Каждое изображение получено сканированием рукописных цифр
от О до

9, различия между которыми являются результатом того, что цифры бьши

написаны различными людьми. Для этого бьши привлечены сотрудники Бюро пе­

реписи населения США и студенты американских вузов. Исходные черно-белые
изображения, полученные от

NIST,

бьши нормализованы таким образом, чтобы

они умещались в пределах окна размером

20 х 20 пикселей с соблюдением перво­

начального форматного соотношения, а затем центрированы в изображение раз­
мером

28 х 28

пикселей путем вычисления центра масс пикселей и его переноса

в центр поля размером
от О до

255,

28 х 28.

Каждый из этих

28 х 28

пикселей имеет значение

в зависимости от того, какую позицию на серой шкале он занима­

ет. С каждым значением связана метка, соответствующая одной из десяти цифр.

1.8. ДВА

ПОКАЗАТЕЛЬНЫХ ЭТАЛОННЫХ ТЕСТА

91

Примеры цифр, содержащихся в базе данных МNIST, приведены на рис.

1.20.

Это довольно небольшой набор данных, содержащий только простые объекты в
виде цифр. Поэтому кое-кто мог бы назвать базу данных МNIST "игрушечной".

Однако небольшой размер и простота набора одновременно являются его преи­
муществом, поскольку его можно легко использовать в качестве лаборатории для

быстрого тестирования алгоритмов машинного обучения. Кроме того, дополни­
тельная простота этого набора, обусловленная (приблизительным) центрирова­
нием цифр, облегчает тестирование алгоритмов, не связанных с компьютерным

зрением. Алгоритмы компьютерного зрения требуют использования специаль­
ных предположений, таких как предположение о трансляционной инвариантно­
сти . Простота данного набора делает подобные предположения излишними. Как

метко заметил Джефф Хшпон

[600],

исследователи в области нейронных сетей

используют базу данных МNIST во многом подобно тому, как биологи исполь­
зуют дрозофилу для быстрого получения предварительных результатов (прежде
чем выполнять серьезные тесты на более сложных организмах).

5 ()Ч 1 q а...\ 3 '+'
J 63 ~ 1 1 ;;). ' 6 f
Ч"' ~ 1 iZ О в соответствии со следующими

формулами:

aXi' если r = c(i),

W,. jqxj

(2.51)

VqE{l ... p}.

j=I

В силу использования прямого кодирования входного слова

w

в терминах

х1 •• • xd вышеприведенное уравнение интерпретируется очень просто. Если вы­
ходное слово

w

является r-м словом, то и,q просто копируется в q-й узел скры­

того слоя для каждого q Е { 1... р}. Иными словами, r-я строка

u, матрицы И ко­

пируется в скрытый слой. Как уже обсуждалось выше, скрытый слой связан с

т группами, включающими по

d выходных узлов,

J

каждый из которых связан со

скрытым слоем с помощью матрицы V = [ vqj размера р х d. Каждая из этих
групп, включающих по

d

выходных узлов, вычисляет вероятности различных

слов для конкретного слова контекста.j-й столбец матрицы
выходное вложение}-го слова. Выход

Yu -

V,

vP представляет

это вероятность того, что слово в

i-й позиции контекста получает j-e слово словаря. Однако, поскольку одна и та
же матрица

V разделяется

всеми группами, нейронная сеть предсказывает для

каждого из слов контекста одно и то же мультиномиальное распределение. По­
этому имеем следующее соотношение:

2.6. WORD2VEC: ПРИМЕНЕНИЕ ПРОСТЫХ АРХИТЕКТУР НЕЙРОННЫХ СЕТЕЙ

159

о У11

~ У12
• Ув
о

И=
о

[uiq]

Матрицаdхр

о

а) Все элементы в окне контекста

отображены в явном виде

о утd

Х1 о
Xz о

о Ул

Х3 о

И=
о

[uiq]

h1
h2

.
.

hp

.

о

о

Матрицаdхр

~Уд
• Ур

о

V = [vчJ
Матрицар х

d

о

о

Мини-пакетирование т d-мерных выходных векторов в каждом
окне контекста в процессе стохастического градиентного спуска.

Отображенные выходы у1• соответствуют j-му из т выходов.

б) Все элементы в окне контекста

не отображены в явном виде

Рис.

2.16. Word2vec: модель на основе скип-грамм. Обратите внимание на сходство с
2.13, соответствующим одиночному набору линейных выходов. Кроме того, для
получения того же результата можно было бы свернуть т наборов, включающих по d
выходных узлов (а), в один набор из d выходов, и сформировать мини-пакет из т приме­

рис.

ров, содержащихся в одном окне контекста, в процессе стохастического градиентного
спуска. Все элементы, входящие в состав мини-пакета, представлены явно (а), тогда
как элементы мини-пакета представлены неявно (б). В то же время, если принять во

внимание природу мини-пакетирования, эти два варианта эквивалентны

160 ГЛАВА 2. МАШИННОЕ ОБУЧЕНИЕ С ПОМОЩЬЮ МЕЛКИХ НЕЙРОННЫХ СЕТЕЙ

(2.52)

не зависит от контекстной позиции

Обратите внимание на то, что вероятность
всех значений

i

yif

i

остается одной и той же для

при фиксированном значении}, поскольку правая часть этого

уравнения не зависит от точной позиции

i

в окне контекста.

Функцией потерь для алгоритма обратного распространения ошибки явля­
ется отрицательная сумма логарифмического правдоподобия правильных зна­

чений

yif Е {О, 1} тренировочного примера (обучающей выборки). Эта функция
потерь L определяется следующим выражением:
т

L

d

= -IIyiflog(yif).

(2.53)

i=I }=1

Заметим, что множитель при логарифме тогда как величина под знаком логарифма

это истинное бинарное значение,
это предсказанное (вероятност­

-

ное) значение. Поскольку Уи представлено прямым кодом для фиксированного
значения

i

и переменного значения}, то целевая функция имеет лишь т нену­

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

обновления весов соединений между узлами. Правила обновления для обуче­
ния со скоростью а будут выглядеть так:

-

,

-

,

дL

и.О. Каждый цикл стохастического градиентного спуска ведет себя

линейно относительно количества ненулевых элементов, как и в реализации

SGNS

модели

word2vec.

Однако эта целевая функция также выглядит несколько иначе, чем целевая
функция

word2vec, применяемая в логистической форме.

Аналогично тому, как

в случае обучения с учителем бинарных целей рекомендуется заменять линей­
ную регрессию логистической, этот же прием можно использовать в случае

матричного разложения бинарных матриц

[224]. Член квадратичной ошибки
Lij, выражающим правдоподобие,

можно заменить уже знакомым вам членом

который используется в логистической регрессии:

166 ГЛАВА 2. МАШИННОЕ ОБ~ЕНИЕ С ПОМОЩЬЮ МЕЛКИХ НЕЙРОННЫХ СЕТЕЙ

1
1+ ехр(-и; . vj)

L" = Ь. - - - - - IJ

Значение

Lij всегда находится

IJ

(2.58)

1

в пределах интервала {О,

1),

и более высоким

значениям соответствует большее правдоподобие (что приводит к максимиза­
ции целевой функции). Операция взятия по модулю в приведенном выше вы­

ражении изменяет знак лишь для отрицательных примеров, в которых

bij =О.

Теперь можно оптимизировать следующую целевую функцию в форме мини­
мизации:

Минимизацияи, v J

= - :~:::Cijlog(Lij ).

(2.59)

i,j

Основное отличие от целевой функции
ключается в том, что эта целевая функция

word2vec (см.
- глобальная

уравнение

2.56)

за­

по всем матричным

элементам, а не локальная, которая вычисляется на отдельном окне контекста.

Использование мини-пакетного стохастического градиентного спуска в матрич­

ной факторизации (с подходящим образом выбранными мини-пакетами) делает
такой подход почти идентичным обновлениям, выполняемым с помощью алго­
ритма обратного распространения

word2vec.

Как интерпретировать этот тип матричной факторизации? Вместо соотно­

шения В~ UV мы имеем соотношение В~ f(ИV), где/(-)- сигмоида. Если
говорить точнее, в данном случае мы имеем дело с вероятностной факториза­
цией, в соответствии с которой сначала вычисляется произведение матриц И

и

V,

а затем к нему применяется сигмоида для получения параметров распре­

деления Бернулли, из которого генерируется В:

Р( В
IJ

= 1) =

1
[ аналог логи~тической регрессии]
1+ ехр(-и; . vj) в матричнои факторизации
.

Используя уравнение 2.58, нетрудно проверить, что Lij равно Р( bij = 1) для по­
ложительных примеров и Р( bij =О) - для отрицательных. Поэтому целевая
функция факторизации принимает форму максимизируемой функции логариф­
мического правдоподобия. Этот тип логистической матричной факторизации
обычно используется в рекомендательных системах с бинарными данными

[224].

Градиентный спуск
Также представляет интерес исследовать более подробно шаги градиентного

спуска при факторизации. Производные

J

по входным и выходным вложениям

можно вычислить с помощью следующих формул:

2.6. WORD2VEC: ПРИМЕНЕНИЕ ПРОСТЫХ АРХИТЕКТУР НЕЙРОННЫХ СЕТЕЙ

дJ

= _

дИ;

L

ciJv1

j:bij=l

1 + ехр(И; · Vj)

L

ciJv1

j:bij=O

1+ ехр(-И; · Vj)

+

L ciJP(biJ =О)~

1

j:bij =1

Положительные ошибки

дJ = -

L

ciJИ;

i:bij =11

=

L ciJP(biJ = 1)v

+

J:bij=I

~

167

L

+

+ ехр(И; . vj)

Отрицательные ошибки

ciJИ;

i:bij =0 1

L ciJP(biJ = О)И;

=

+ ехр( -И; . vj)

L ciJP(biJ = l)И;

+

Положительные ошибки

Отрицательные ошибки

Процедура оптимизации использует градиентный спуск, пока не будет до­
стигнута сходимость:

-и.

,

-

,

дJ

h

h:h,=>h дh дh,

дh,

(3.10)

h относится к более позднему слою, чем h,, то к мо­

менту вычисления величины Л(h,, о) величина Л(h, о) оказывается уже вы­
численной. Однако для вычисления уравнения
лить производную

дh

-

дh,

.

3.10 нам

все еще нужно вычис­

Рассмотрим ситуацию, когда ребро, соединяющее

элементы

h, и h, имеет вес w(h,, h), и пусть ah - значение, вычисленное в скрыh непосредственно перед применением функции активации Ф(-).
словами, имеем h = Ф(аh), где ah - линейная комбинация входов, по­

том элементе
Иными

лученных от элементов предыдущего слоя. Тогда в соответствии с одномерным

~

цепным правилом получаем для производнои

дh

дh

r

Это значение

дh

-

дh,

=

дh. даh

да

h

дh

r

=

дФ(аh) ·w
да

h

дh

-

дh,

(h,. h)

используется в уравнении

следующее выражение:

=Ф'(а )·w
h

(h" h)·

(3.11)

3 .1 О для получения следующего

соотношения:

Л(h,, о)=

L Ф'(ah)·w(h,,h) ·Л(h, о).

(3.12)

h:h,=>h

Описанная рекурсия повторяется в обратном направлении, начиная с вы­
ходного узла. Весь процесс линеен относительно количества ребер в сети. Об­

ратите внимание на то, что уравнение

3.12

также можно было бы получить,

ГЛАВА 3. ОБУЧЕНИЕ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ

192

используя общий алгоритм вычислительного графа, приведенный в разде­
ле

3.2.2,

по отношению к постактивационным переменным. Для этого необ­

ходимо всего лишь заменить
между узлами

z(i,j)

в уравнении

3.8

произведением веса связи

и} и производной функции активации в узле}.

i

Процедуру обратного распространения ошибки можно резюмировать в сле­
дующем виде.

1.

Использовать фазу прямого распространения для вычисления значений
всех скрытых элементов, выхода о и функции потерь

пары "вход -

выход" ( Х, у).

L

для конкретной

дL

2. Инициализировать Л( о, о) значением-.
3.

Использовать рекурсию

3.12

до
для вычисления каждого члена Л(h,, о) в

обратном направлении. После этого вычислить градиенты по весам в со­
ответствии со следующей формулой:

(3.13)
Частные производные по смещениям можно вычислить, используя тот

факт, что нейроны смещения всегда активируются со значением

+ 1.

По­

этому для вычисления частной производной функции потерь по смеще­
нию узла

h,

уравнения

4.

мы просто полагаем значение

h,_ 1 равным 1 в

правой части

3 .13.

Использовать вычисленные частные производные функции потерь по ве­
сам для выполнения стохастического градиентного спуска применитель­

но к паре "вход- выход" (Х, у).
Приведенное выше описание алгоритма обратного распространения ошибки

в значительной степени упрощено, и фактически реализуемая процедура должна
включать многочисленные изменения, направленные на обеспечение эффектив­

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

ется мини-пакетом

(mini-batch).

Обратное распространение выполняется сразу

для всех этих примеров с последующим сложением их локальных градиентов

и выполнением мини-пакетного стохастического градиентного спуска. Эта усо­

вершенствованная процедура будет обсуждаться в разделе

3.2.8.

Еще одним от­

личием является наше предположение о том, что сеть имеет только один выход.

Однако многие типы сетей (например, мультиклассовые перцептроны) характе­
ризуются наличием нескольких выходов. Описание, приведенное в этом разде­

ле, можно легко обобщить на случай нескольких выходов, добавив вклады раз­
личных выходов в производные функции потерь (раздел

3.2.7).

3.2.

АЛГОРИТМ ОБРАТНОГО РАСПРОСТРАНЕНИЯ ОШИБКИ...

Необходимо отметить следующее. Из уравнения

3.13 видно, что частная про­

изводная функции потерь по весу ребра, ведущего от узла
да содержит мультипликативный член
уравнении

193

hr_ 1• Другой

hr-l

к узлу

hr,

всег­

мультипликативный член в

3.13 рассматривается как "ошибка", распространяющаяся в обратном

направлении. В определенном смысле алгоритм выполняет рекурсивное обрат­

ное распространение ошибок и умножает их на значения узлов скрытого слоя
непосредственно перед обновлением матрицы весов. Именно по этой причине

обратное распространение трактуют как распространение ошибки.

3.2.4.

Обратное распространение ошибки
с предактивационными переменными

В приведенном выше обсуждении для вычисления цепного правила исполь­
зуются значения

h.i ... hk

вдоль пути. Однако для этого также можно использо­

вать значения, предшествующие применению функции активации Ф(-). Иными
словами, градиенты вычисляются по предактивационным значениям скрытых

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

предактивационное значение скрытой переменной

hr

hr.

Тогда

= Ф(аh)·

(3.14)
3.6.

Различие между пред- и постактивационными значениями показано на рис.

В данном случае мы можем переписать уравнение

_дL_ = _дL . Ф '(а ) . [
aw(h,_ ,h,) до
о
1

3.9 в следующем виде:

да0 пk-l дah;+i ] h

'°'L...J

[h,,h,+ 1, .. "hk,o]e'P

да

hk

. да h;
•=r

r-l

Алгоритм обратного распространения

вычисляет б(hr, о) = _j!:._
дahk

К{

W

~h=Ф(W·X)

[._,
ah= W·X

f

Г,h\_ h =Ф(аh)
l_V Постактивационное
значение

Предактивационное
значение

Рис.

3.6.

Пред- и постактивационные значения в нейроне

.

(3 .15)

ГЛАВА 3. ОБУЧЕНИЕ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ

194

В данном случае мы используем величину о() в формуле рекурсии. Обратите

внимание на то, что в рекурсии для Л ( h,, о)

oL

в качестве промежуточных

= oh

r
переменных в цепном правиле используются скрытые значения, получаемые по­

сле каждой активации, тогда как в рекурсии для д ( h,, о) =

oL
oah,

используются

скрьпые значения, получаемые перед активацией. Как и в случае уравнения

3.1 О,

мы можем получить следующие рекуррентные уравнения:

(3.16)

Для вычисления производной
пользовать цепное правило:

oah

оаh,

в правой части уравнения 3.16 можно ис­
(3.17)

Подставляя вычисленное выражение для
ния

3.16,

oah
даh,

в правую часть уравне-

получаем следующее соотношение:

д(h,, о)=Ф'(аh)
Уравнение

3 .18

L

h:h,=>h

w(h,,h)·д(h, о).

(3.18)

также можно получить, используя предактивационные пе­

ременные в обобщенном алгоритме вычислительного графа (см. раздел
Для этого нужно заменить
связывающих узлы

i

z(i,j)

в уравнении

3.8

3 .2.2).

произведением весов ребер,

и}, и производной функции активации в узле

i.

Одним из преимуществ условия рекурсии в этой форме по сравнению с той,

которая была получена с использованием постактивационных переменных, яв­
ляется то, что градиент функции активации вынесен за знак суммы, поэтому
мы можем легко вычислить специфическую форму рекурсии для каждого типа
активационной функции в узле h,. Кроме того, поскольку градиент функции ак­
тивации находится за пределами знака суммы, мы можем упростить вычисле­

ния, разделив эффекты активации и линейного преобразования в обновлениях

обратного распространения ошибки. В упрощенном и обособленном представ­
лении, которое будет более подробно обсуждаться в разделе

3.2.6,

для целей

динамического программирования используются как пред-, так и постактива­

ционные переменные. Этот упрощенный подход показывает, как обратное рас­
пространение ошибки фактически реализуется в реальных системах. С точки

3.2. АЛГОРИТМ ОБРАТНОГО РАСПРОСТРАНЕНИЯ ОШИБКИ".

195

зрения реализации разделение линейного преобразования и функции активации
весьма полезно, поскольку линейная часть

-

это обычное матричное умноже­

ние, тогда как часть, связанная с активацией, включает поэлементные опера­

ции умножения. Обе эти части могут эффективно реализовываться на любом
оборудовании, выполняющем операции над матрицами на аппаратном уровне

(таком, например, как графические процессоры).
Теперь пошаговый процесс обратного распространения ошибки может быть

описан следующим образом.

1.

Использовать проход в прямом направлении для вычисления значений

всех скрытых элементов, выхода о и функции потерь

L

для конкретной

пары "вход- выход" (Х, у).

2.
3.

дL

Инициализировать производную
Использовать рекурсию

-

да0

= б(о,

дL
о) значением-·Ф'(аJ.
до

3.18 для вычисления каждого члена o(h,,

о) в об­

ратном направлении. После каждого такого вычисления рассчитать гра­

диенты по весам в соответствии со следующей формулой:

(3.19)
Частные производные по смещениям можно вычислить, используя тот

факт, что нейроны смещения всегда активируются со значением

+ 1. Поэ­

тому для вычисления частной производной функции потерь по смещению
узла

h, мы просто
3.19.

полагаем значение

h,_1 равным 1 в

правой части урав­

нения

4.

Использовать вычисленные частные производные функции потерь по ве­
сам для выполнения стохастического градиентного спуска применитель­

но к паре "вход- выход" (Х, у).
Основное отличие этого (более распространенного) варианта алгоритма об­
ратного распространения ошибки

-

в способе записи рекурсии, поскольку

предактивационные переменные уже были использованы для целей динами­
ческого программирования. С математической точки зрения пред- и пост-ва­

рианты обратного распространения эквивалентны (см. упражнение

9).

Мы ре­

шили продемонстрировать оба варианта обратного распространения, чтобы
подчеркнуть тот факт, что динамическое программирование можно использо­
вать рядом способов, приводящих к эквивалентным уравнениям. Еще более

упрощенное представление процесса обратного распространения ошибки, в
котором используются как пред-, так и постактивационные переменные, опи­

сано в разделе

3.2.6.

ГЛАВА 3. ОБУЧЕНИЕ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ

196

3.2.5.

Примеры обновлений для различных активаций

Одним из преимуществ уравнения

3.18

является то, что оно позволяет вы­

числять специфические типы обновлений для разных улов. Вот примеры реа­
лизации уравнения

д(h,, о)=

3 .18 для узлов

L

w(h,, h)

различного типа:

(h,, о)

[линейный],

h:h,,=>h

L w(Ji,, h) (h,, о)
д(h,, о)= (1-h?) L w(Ji,, h) (h,, о)
д(h,, о) =h,(1-h,)

[сигмоида],

h:h,=>h

[гиперболический тангенс].

h:h,=>h

Обратите внимание на то, что производную сигмоиды можно выразить че­

рез ее выходное значение h, в виде h, ( 1- h,). Аналогичным образом производ­

ную гиперболического тангенса можно записать в виде (1- h?) . Производные
функций активации различного типа обсуждались в разделе

ции

ReLU значение

1.2.1.6.

Для функ­

д(h,, о) вычисляется так:

д ( h,, о)

L

= {h:h,=>h

w(h,,, h)'

если О< ah,,

О во всех остальных случаях.

Можно показать, что рекурсия для спрямленного гиперболического танген­
са выглядит аналогично, за исключением того, что условие обновления немно­
го отличается:

д(h,, о)=

{

L

w(Ji,,,h)'

если-1О)

Спрямленный

Один

Установить в

гиперболиче-

к одному

( ~ [-1, + 1])

ский тангенс

±1

gi = gi+I о l(Z; >О)
Установить в О

Копировать

( ~ [ -1, + 1])
+ 1])

( Е [-1,

Копировать


Мах

gi =Wgi+I

Z;

(-1, + 1])

Многие

Максимальный

к одному

ИЗ ВХОДОВ

Установить в О (не максимальные входы)

Копировать (максимальный
вход)
Произвольная

функцияf.(·)

Любой

-
zi+I -- J;k Г)
Z;

Jтgi
= gi+\
J-

якобиан (уравнение

3.23)

ГЛАВА 3. ОБУЧЕНИЕ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ

200

1.

Пусть

z; и :Z:+i -

вектор-столбцы активации при распространении в пря­

мом направлении,

от слоя



W(i + 1),

слою

матрица линейного преобразования при переходе

а

g; и g;+i -

векторы градиентов в этих двух сло­

ях, распространяемые в обратном направлении. Каждый элемент

g; -

это частная производная функции потерь по скрытой переменной в i-м
слое. Тогда имеем следующие соотношения:

[прямое распространение],

[обратное распространение].

2.

Рассмотрим ситуацию, когда функция активации ФО применяется к ка­
ждому узлу в слое

(i + 1)

для получения активаций в слое

(i + 2).

В этом

случае соответствующие соотношения приобретают следующий вид:

:Z:+z
gi+I

= Ф(:Z:+i)
= g;+z 0 Ф '(:Z:+i)

[прямое распространение],

[обратное распространение].

Здесь ФО и ее производная Ф 'О применяются к своим векторным аргу­
ментам поэлементно. Операция поэлементного умножения обозначена
символом

0.

Обратите внимание на то, как разительно упростилась ситуация после отде­
ления активации от операций матричного умножения в данном слое. Вычисле­
ния, выполняемые при распространении в прямом и обратном направлении,

показаны на рис.

3.7.

Кроме того, производные Ф'(z;+ 1 ) часто можно выразить

через выходы следующего слоя. Основываясь на материале, изложенном в раз­
деле

3.2.5, можно показать, что для сигмоидных активаций выполняется

следу­

ющее соотношение:

Ф '(z;+ 1 )

= Ф(:Z:+t) 0 (1- Ф(:Z:+i)) =
= :Z:+z 0 (1- :Z:+z).

Примеры различных типов обновлений в процессе обратного распростра­

нения для различных функций, участвующих в прямом распространении, при­
ведены в табл.

3.1.

В данном случае мы использовали индексы слоев

i

и

(i + 1)

как для линейных преобразований, так и для функций активации, вместо того

чтобы использовать для функции активации индекс

(i + 2).

Обратите внимание

на предпоследнюю строку таблицы, которая соответствует функции максими­
зации. Функции этого типа полезны для выполнения операций пулинга по мак­
симальному значению

(max-pooling)

в сверточных нейронных сетях. Поэтому

процесс распространения в обратном направлении имеет тот же вид, что и в
прямом. Зная вектор градиентов в некотором слое, можно получить градиенты

201

АЛГОРИТМ ОБРАТНОm РАСПРОСТРАНЕНИЯ ОШИБКИ. ..

3.2.

для предыдущего слоя, применив операции, приведенные в последнем столб­

це табл.

3.1.

Некоторые операции в нейронных сетях описываются более сложными

функциями с типами связей "многие ко многим", а не просто матричными ум­
ножениями. Такие ситуации обрабатываются в предположении, что k-я акти­
вация в слое

(i + 1)

получается путем применения произвольной функции/,,(·)

к вектору активации в слое

i.

Тогда элементы якобиана определяются следую­

щим образом:

(3.23)
где

z; - r-й элемент :z;. Обозначим через J матрицу, элементами которой яв­

ляются

Jkr'

Тогда обновление при обратном распространении ошибки от одного

слоя к другому можно записать в следующем виде:

(3.24)
С точки зрения реализации запись уравнений обратного распространения

ошибки с помощью операций матричного умножения часто обеспечивает такие
преимущества, как ускорение вычислений за счет использования графических

процессоров (раздел

3.7.1).

Обратите внимание на то, что элементы вектора

g;

представляют градиенты функции потерь по активациям в i-м слое, поэтому
для вычисления градиентов по весам требуется дополнительный шаг. Градиент
функции потерь по весу связи между р-м элементом

(i - 1)-го

слоя и q-м эле­

ментом i-го слоя получается умножением р-го элемента вектора
мент вектора

3.2. 7.

:z;_1 на q-й эле­

g;.

Функции потерь на нескольких
выходных и скрытых узлах

В предыдущем обсуждении мы упростили вычисление функции потерь,
ограничившись единственным выходным узлом. Однако в большинстве прило­

жений функция потерь вычисляется на множестве выходных узлов О. В таком
случае

единственное

отличие

состоит

в

том,

что

каждая

производная

дL
дL
= б(о, О) для о Е О инициализируется значением -Ф'(о). После этого с
да 0
до
помощью механизма обратного распространения ошибки для каждого скрыто­
го узла

дL

h вычисляется значение -

даh

= б(h,

О).

В некоторых видах обучения на разреженных признаках функции потерь
ассоциируются даже с выходами скрытых узлов. Этим часто пользуются для

ГЛАВА 3. ОБУЧЕНИЕ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ

202

того, чтобы стимулировать получение решений со специфическими свойства­
ми, такими, например, как разреженный скрытый слой (разреженные автоко­
дировщики) или скрытый слой со специфическим типом регуляризационного

штрафа (сжимающие автокодировщики). Штрафы за разреженность обсужда­
ются в разделе

4.4.4, а сжимающие автокодировщики-в разделе 4.10.3.

В по­

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

не ограничиваются последним слоем сети. На самом базовом уровне техноло­
гия обратного распространения ошибки остается одной и той же.

Рассмотрим ситуацию, когда с каждым скрытым узлом
функция потерь
дL

Lh,, а L -

(

мых из узла

ассоциируется

общая функция потерь, вычисляемая по всем узлам.

Пусть - - = о hr, N ( h,)) даh,

hr

поток градиента от всех узлов N ( h,), достижи-

h,, с которым связана часть потерь.

В этом случае множество узлов

N ( h,) может включать узлы как выходного слоя, так и скрытого (с которым
h,. Поэтому

связываются потери), при условии, что они достижимы из узла

множество N ( h,) использует h, в качестве аргумента. Обратите внимание на
то, что множество N ( hr) включает сам узел h,. Тогда в качестве первого шага
мы можем переписать выражение для обновления (см. уравнение

3.18) в следу­

ющем виде:

o(hr, N(h,))~Ф'(ah)

L

h:h,=>h

(3.25)

w(h,,h)o(h, N(h)).

Это выражение аналогично стандартному выражению для обновления в про­

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

o(h,, N(h,))

поправки, учитывающей вклад

hr в

функ­

цию потерь:

О ( hr, N {hr )) ~ О ( h,, N {hr )) + ф '( h,) дLh, .
дh,

(3.26)

Важно иметь в виду, что общая функция потерь L отличается от функции по­

терь

Lh , специфичной для узла hr. Кроме того, поправка, введенная в поток гра­
диента' (3 .26), имеет тот же алгебраический вид, что и значение инициализации
для выходных узлов. Иными словами, потоки градиента, обусловленные скры­
тыми узлами, аналогичны потокам градиента выходных узлов. Единственное

203

АЛГОРИТМ ОБРАТНОm РАСПРОСТРАНЕНИЯ ОШИБКИ. ..

3.2.

отличие состоит в том, что вычисленное значение добавляется к существующе­

му потоку градиента в скрытых узлах. Поэтому общая схема обратного распро­
странения ошибки остается почти той же, с тем основным отличием, что алго­

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

3.2.8.

Мини-пакетный стохастический
градиентный спуск

Начиная с самой первой главы мы обновляли веса, аппроксимируя гради­

ент функции стоимости значением, вычисляемым для отдельных точек дан­
ных, т.е. использовали метод стохастического градиентного спуска

gradient descent).

(stochastic

Такой подход является общепринятым в глубоком обучении.

В этом разделе мы предоставим обоснование такого выбора, а также рассмо­
трим его родственные варианты, такие как мини-пакетный стохастический

градиентный спуск

(mini-batch stochastic gradient descent).

Кроме того, будут

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

мер, в случае нейронных сетей целевую функцию можно определить в терми­
нах оптимизации функции потерь

L,

которую часто можно представить в виде

линейно разделимой суммы функций потерь индивидуальных тренировочных

точек данных. Так, в задачах линейной регрессии минимизируется сумма ква­
дратов ошибок предсказания по всему набору тренировочных точек данных.

В задачах снижения размерности минимизируется сумма квадратов ошибок
представления реконструированных тренировочных точек данных. Функцию
потерь для нейронной сети можно записать в следующем виде:

(3.27)
где

L; -

вклад потерь, обусловленный i-й тренировочной точкой. Используя

алгоритмы, описанные в главе

2,

мы работали с функциями потерь, вычисляе­

мыми на индивидуальных обучающих точках данных, а не с агрегированными
потерями.

В методе градиентного спуска функция потерь нейронной сети минимизи­
руется путем изменения параметров в направлении антиградиента. Например,

в случае перцептрона параметрам соответствует вектор

W = (w1 ••• wd ). Поэтому

функция потерь для базовой целевой функции вычисляется по всем точкам од­
новременно, и для нее выполняется градиентный спуск. Следовательно, шаги,
выполняемые в процессе традиционного градиентного спуска, описываются

следующей формулой:

ГЛАВА 3. ОБУЧЕНИЕ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ

204

W ~ W- а( дL , дL . . . дL
дw\

дw2

дwd

J.

(3.28)

Производную этого типа можно представить в более компактном виде, ис­
пользуя векторную нотацию:

дL
W~W-a--=.

aw

(3.29)

В случае таких однослойных сетей, как перцептрон, градиентный спуск вы­

полняется лишь по

W, тогда как в случае более крупных сетей все параметры

должны обновляться с помощью процедуры обратного распространения ошиб­

ки. В крупномасштабных приложениях количество параметров может исчис­
ляться многими миллионами, и для вычисления обновлений с помощью алго­

ритма обратного распространения ошибки необходимо выполнять одновре.меюю
все примеры в прямом и обратном направлении. Однако пропуск через сеть од­
новременно всех примеров для вычисления градиента по всему набору данных
за один раз

-

практически неосуществимая задача. Не забывайте также о тех

объемах памяти, которые понадобились бы для хранения всех промежуточных/
окончательных прогнозных значений для каждого тренировочного примера,

нуждающихся в поддержке градиентным спуском. В большинстве ситуаций,
которые возникают на практике, эти объемы оказываются чрезмерно больши­
ми. В начале процесса обучения веса нередко могут быть такими, что даже не­

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

раметров. Этот факт является практическим подтверждением успешности ме­
тода стохастического градиентного спуска и его вариантов.

Поскольку в большинстве задач оптимизации функцию потерь можно выра­
зить в виде линейной суммы потерь, ассоциированных с отдельными точками

(см. уравнение

3.27),

нетрудно показать, что

-t aw·

дL
дW-

дL;

(3.30)

i=I

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

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

3.2.

АЛГОРИТМ ОБРАТНОm РАСПРОСТРАНЕНИЯ ОШИБКИ. ..

-

205

дL

-

WО-

5.3.2.

скорость обучения.

Классификация с кусочно­
линейной функцией потерь

Кусочно-линейная функция потерь

(hinge loss)

часто используется в мето­

де опорных векторов. В действительности использование кусочно-линейных

потерь в гауссовской RВF-сети можно рассматривать как обобщение метода
опорных векторов. Кусочно-линейные потери-это смещенная версия крите­
рия перцептрона:

L=max{-y;(W·Й;), О}.

(5.11)

Следствием сходства кусочно-линейной функции потерь и критерия пер­
цептрона является близкое сходство соответствующих обновлений. Основное

различие состоит в том, что в случае критерия перцептрона набор

s+ вклю­

чает лишь неверно классифицируемые примеры, тогда как в случае кусоч­

но-линейной функции потерь набор

s+ включает как неверно классифициро­

ванные точки, так и точки, верно классифицированные с учетом зазора. Это

обусловлено тем, что

s+ определяется как множество точек, для которых функ­

ция потерь имеет ненулевое значение, но (в отличие от критерия перцептрона)

5.3. РАЗНОВИДНОСТИ И СПЕЦИАЛЬНЫЕ СЛУЧАИ RBF-CETEЙ

359

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

s+ ис­

пользуются следующие обновления:

W

О

-

скорость обучения, а А.

>

О

-

параметр регуляризации. Отметим,

что аналогичные обновления несложно определить также для логистической
функции потерь (см. упражнение

5.3.3.

2).

Пример линейной разделимости,
обеспечиваемой RВF-функциями

Основная задача скрытого слоя заключается в выполнении преобразова­

ния, способствующего линейной разделимости классов до такой степени, что
даже линейные классификаторы могут хорошо работать на преобразованных
данных. Известно, что как перцептрон, так и линейный метод опорных век­

торов плохо работают в случае линейно неразделимых классов. Гауссовский
RВF-классификатор способен разделять классы, не являющиеся линейно раз­
делимыми в пространстве входа, если в качестве функции потерь используется
критерий перцептрона или кусочно-линейная функция потерь. Ключом к по­
ниманию этой разделимости является локальное преобразование, создаваемое

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

ти равны нулю. Это обусловлено экспоненциально затухающей природой га­
уссовской функции, которая принимает почти нулевые значения за пределами
некоторой области. Идентификация прототипов с помощью центров кластеров
часто делит пространство на локализованные области, в которых значительная
ненулевая активация достигается лишь в небольших участках пространства.
На практике каждой локальной области пространства присваивается собствен­
ный признак, соответствующий скрытому элементу, который активируется им

наиболее интенсивно.
На рис.

5.2

приведены примеры двух наборов данных. Эти наборы были

представлены в главе



качестве иллюстрации случаев, в которых (традици­

онный) перцептрон может или не может обеспечить решение. Традиционный

перцептрон способен найти решение для набора данных, представленного сле­
ва, но плохо справляется со своей задачей в отношении набора, представленно­
го справа. Однако преобразование, используемое гауссовским RВF-методом,
способно справиться с разделимостью для набора кластеризованных данных,
представленного справа. Рассмотрим случай, когда каждый из центроидов

ГЛАВА 5. СЕТИ РАДИАЛЬНО-БАЗИСНЫХ ФУНКЦИЙ

360
четырех кластеров (рис.

5.2)

используется в качестве прототипа. Это приведет

к 4-мерному скрытому представлению данных. Обратите внимание на то, что
размерность скрытого представления превышает размерность входа, что типич­

но для таких ситуаций. При надлежащем выборе полосы пропускания лишь

скрытый элемент, соответствующий идентификатору кластера, к которому при­
надлежит точка, будет активироваться наиболее сильно. Другие скрытые эле­

менты будут активироваться слабо, оставаясь практически на нулевом уровне.
Это приводит к довольно разреженному представлению. На рисунке приведено

приближенное 4-мерное представление для точек каждого кластера. Значения
а, Ь, с и

d на рис. 5.2

будут различными для различных точек соответствующе­

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

третьем измерениях, тогда как второй класс определяется существенно ненуле­

выми значениями во втором и четвертом измерениях. Как следствие, вектор ве­

сов

W = [1,

-1, 1, -1) обеспечит отличное нелинейное разделение двух клас­

сов. Важно понимать, что гауссовская RВF-функция создает локальные
признаки, приводящие к разделимым распределениям классов. Именно так

ядерный метод опорных векторов обеспечивает линейную разделимость.
Один скрытый элемент для каждого кластера

*•* ** + +
+
* *
* ** + + + +
+
+
* * ** + +

* * +
** +++

+

(а, О, О, О)

** ****
*

+ +

(О, О,

+

0,d)

* *

Ь, О, О)

**

+++
+++

* * **
* * •*

+ +

(0,

+

+

(0,0,с,0)

++ +
+

t

+

Линейная разделимость

Линейная неразделимость в пространстве входа,

в пространстве входа

но разделимость в 4-мерном скрытом пространстве

Рис.

5.2.

Пересмотр рис.

1.4;

гауссовские RВF-функции способствуют

разделимости за счет преобразования данных в скрытое представление

5.3.4.

Применение в задачах интерполяции

Одним из ранних применений гауссовской RВF-сети была интерполяция, т.е.

нахождение промежуточных значений функции при заданном наборе извест­
ных значений. В данном случае речь идет о точной интерполяции, т.е. такой,

когда результирующая функция проходит через все входные точки. Интерполя-

5.3. РАЗНОВИДНОСТИ И СПЕЦИАЛЬНЫЕ СЛУЧАИ RBF-CETEЙ

361

цию можно рассматривать как частный случай регрессии, в котором каждая
тренировочная точка является прототипом, и поэтому количество весов т в ма­

трице W в точности равно количеству тренировочных примеров п. В подобных
случаях можно найти п-мерный вектор весов W с нулевой ошибкой. Пусть
Н1 ••• Нп

-

активации, представляющие п-мерные вектор-строки. Тогда матри­

ца Н, полученная наложением этих вектор-строк одна поверх другой, имеет раз-

мер п х п. Обозначим через у= [у1 , у2 ,

••

"Уп ]т п-мерный вектор-столбец наблю­

даемых переменных.

В линейной регрессии для определения матрицы W минимизируется функция

потерь llнwт - .Yll 2 • Это обусловлено те~ что матрица Н не является квадратной,
в результате чего система уравнений нwт = у получается сверхполной. Однако
в случае линейной интерполяции матрица Н -

квадратная, и система уравнений

уже не является сверхполной. Благодаря этому можно найти точное решение

(с нулевыми потерями), удовлетворяющее следующей системе уравнений:

(5.13)
Можно показать, что если тренировочные точки отличаются друг от друга,
то данная система уравнений имеет единственное решение

ние вектора весов



W

[323].

Тогда значе­

можно вычислить следующим образом:

(5.14)
Следует подчеркнуть, что это уравнение представляет собой специальный

5.6, поскольку матрица, псевдообратная к квадратной несин­
гулярной матрице, - это то же самое, что обратная матрица. Если матрица Н случай уравнения

сингулярная, то выражение для псевдообратной матрицы упрощается:

н+

= (Нт Н)- 1 нт =
= н-t (Нт)-1 Нт

=

~

1

=Н-1.
Таким образом, линейная интерполяция является специальным случаем ре­
грессии по методу наименьших квадратов. Иначе говоря, регрессия по методу
наименьших квадратов

-

это вид интерполяции с шумом, когда точная подгон­

ка функции, обеспечивающая ее прохождение через все тренировочные точки,
невозможна из-за ограниченного числа степеней свободы в скрытом слое. Уве­
личение размерности скрытого слоя до размерности данных делает возможной
точную интерполяцию. Это вовсе не обязательно является лучшим вариантом
для вычисления значения функции в точках, не входящих в тренировочный на­

бор, поскольку такая точность может быть следствием переобучения.

ГЛАВА 5. СЕТИ РАДИАЛЬНО-БАЗИСНЫХ ФУНКЦИЙ

362

5.4.

Связь с ядерными методами

RВF-сеть реализует свои возможности за счет отображения входных точек
на многомерное скрытое пространство, в котором линейных моделей оказыва­
ется достаточно для моделирования нелинейностей. Это тот же принцип, ко­

торый применяется в ядерных методах. В действительности можно показать,
что некоторые специальные случаи RВF-сети сводятся к ядерной регрессии и
ядерному методу опорных векторов.

5.4.1.

Ядерная регрессия как специальный

случай RВF-сетей
Вектор

W в RВF-сетях обучается минимизации

квадратичных потерь для

следующей функции предсказания:
т

j\ =Й;Wт = IwjФj(X;).

(5.15)

j;I

Рассмотрим случай, когда прототипы совпадают с тренировочными точками,

и поэтому µj = xj для каждого j Е { 1... п}. Обратите внимание на то, что дан­
ный подход совпадает с тем, который используется при интерполяции функций,
когда прототипами служат все тренировочные точки. Кроме того, для всех по­
лос пропускания устанавливается одно и то же значение а. В этом случае при­

веденная выше функция предсказания может быть записана в следующем виде:

(5.16)
Экспоненциальный член в правой части уравнения

5.16 можно записать в виде

гауссовского ядерного сходства между точками Xi и ~ . Обозначим это сходство
как K(Xi, ~). Тогда функция предсказания приобретает следующий вид:
т

лkете/

Yi

~

= L..J "11

К(Х-

;'

Х-)
j

(5.17)



j;I

Эта функция предсказания в точности совпадает с той, которая используется

в ядерной регрессии с полосой пропускания а, где функция предсказания
определяется 1 в терминах множителей Лагранжа Л, а не весов
мер,

1

w1 (см.,

ytemel

напри­

[6]):

Полное объяснение использования уравнения

5.18

для получения предсказаний в

ядерной регрессии выходит за рамки книги, однако заинтересованные читатели могут

ознакомиться с ним в

[6].

5.4.

363

СВЯЗЬ С ЯДЕРНЫМИ МЕТОДАМИ

т

Y;lrernel

= LA1JJK(X;, ~).

(5.18)

1~1

К тому же в обоих случаях используется одна и та же (квадратичная) функ­
ция потерь. Следовательно, между гауссовскими RВF-решениями и решениями
ядерной регрессии существует взаимно однозначное соответствие, так что уста­
новка для весов значений

w1 = Л1 у1

приводит к аналогичному значению функ­

ции потерь. Поэтому их оптимальные значения также будут совпадать. Иными
словами, в том специальном случае, когда векторы прототипов устанавливают­

ся в тренировочные точки, гауссовская RВF-сеть дает те же результаты, что и

ядерная регрессия. Однако RВF-сеть обладает более широкими возможностя­
ми, поскольку допускает выбор различных векторов прототипов и позволяет
моделировать случаи, с которыми ядерная регрессия не в состоянии справить­

ся. В этом смысле полезно рассматривать RВF-сеть как гибкий нейронный ва­
риант ядерных методов.

5.4.2.

Ядерный метод SVМ как специальный
случай RВF-сетей

Подобно ядерной регрессии, ядерный метод опорных векторов

(SVM)

так­

же является специальным случаем RВF-сетей. Как и в случае ядерной регрес­
сии, векторы прототипов устанавливаются в тренировочные точки, а для всех

полос пропускания устанавливается одно и то же значение

w1 обучаются

(J.

Кроме того, веса

с целью минимизации кусочно-линейной функции потерь пред­

сказаний.

Можно показать, что в этом случае функция предсказаний RВF-сети прини­
мает следующий вид:

(5.19)

(5.20)
Полезно сравнить эту функцию с той, которая используется в ядерном мето­

де SVМ (см., например,

[6])

с множителями Лагранжа А/

У:-' ~sign{t,,i,J\к(X,, l';J}

(5.21)

ГЛАВА 5. СЕТИ РАДИАЛЬНО-БАЗИСНЫХ ФУНКЦИЙ

364

Эта функция предсказания имеет примерно ту же форму, что и в ядерном

методе

SVM,

за исключением небольшого различия в используемых перемен­

ных. В обоих случаях в качестве целевой функции используется кусочно-ли­

нейная функция потерь. Установив значения w1 = ~у1 , мы получаем в обоих
случаях одно и то же значение функции потерь. Поэтому оптимальные реше­
ния в ядерном методе

SVM и в RВF-сети также будут связаны между собой в
w1 = Л1у1 . Иными словами, ядерный метод SVM также

соответствии с условием

является специальным случаем RВF-сетей. Обратите внимание на то, что веса

w1 могут рассматриваться в качестве коэффициентов соответствующих точек
данных, если в ядерных методах используется теорема о представителе [6].

5.4.3.

Замечания

Изменив функцию потерь, приведенную выше аргументацию можно распро­
странить на другие линейные модели, такие как ядерный дискриминант Фише­

ра и ядерная логистическая регрессия. В действительности ядерный дискрими­
нант Фишера можно получить за счет использования бинарных переменных в
качестве целевых значений и последующего применения ядерной регрессии.
Однако, поскольку дискриминант Фишера работает в предположении центри­
рования данных, в выходной слой необходимо добавить элемент смещения,
поглощающий любое смещение, происходящее от нецентрированных данных.
Поэтому RВF-сеть позволяет имитировать практически любой ядерный метод,

если выбрать подходящую функцию потерь. Важно то, что RВF-сеть предлага­
ет гораздо более гибкие возможности по сравнению с ядерной регрессией или
классификацией. Например, она допускает более гибкий выбор количества уз­
лов в скрытом слое, равно как и количества прототипов. Удачный экономичный

выбор прототипов позволяет повысить как точность, так и производительность
сети. При выборе возможных вариантов приходится принимать ряд компро­
миссных решений.

1.

Увеличение количества скрытых узлов увеличивает сложность модели­

руемой функции. Это может быть полезным для моделирования труд­
ных функций, но может приводить и к переобучению, если моделируемая
функция не является действительно сложной.

2.

Увеличение количества скрытых элементов усложняет процесс обучения.

Один из возможных способов выбора количества скрытых элементов заклю­
чается в резервировании (откладывании) части данных и оценке точности моде­

ли на этом отложенном наборе при различном количестве скрытых элементов.
Далее для количества скрытых элементов устанавливается значение, которое
оптимизирует эту точность.

5.5.РЕЗЮМЕ

5.5.

365

Резюме

В этой главе были введены сети радиально-базисных функций (RВF),
представляющие собой существенно иной способ использования архитекту­
ры нейронных сетей. В отличие от сетей прямого распространения скрытый

и выходной слои обучаются немного по-разному. Тренировка скрытого слоя
осуществляется по методике обучения без учителя, а выходного

-

по методи­

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

делимыми. Этот подход может использоваться для классификации, регрессии
и линейной интерполяции путем изменения природы функции потерь. В зада­

чах классификации используются различные типы функций потерь, такие как
функция потерь Уидроу

-

Хоффа, кусочно-линейная функция потерь и логи­

стическая функция потерь. Специальные случаи различных функций потерь
приводят к хорошо известным ядерным методам, таким как ядерный метод

SVM

и ядерная регрессия. В последние годы RВF-сети используются редко и

постепенно переходят в категорию нейронных архитектур. Однако они обла­
дают значительным потенциалом для того, чтобы использоваться в любом сце­
нарии, в котором может применяться ядерный метод. Кроме того, существует

возможность комбинировать этот подход с архитектурами прямого распростра­
нения, используя после первого скрытого слоя многослойные представления.

5.6.

Библиографическая справка

RВF-сети были предложены Брумхедом и Лоу

[51]

в контексте интерполя­

ции функций. Разделимость многомерных преобразований представлена в ра­
боте Ковера

[84].

Обзор RВF-сетей содержится в

рассмотрена в книгах Бишопа

[363]. Эта тема также хорошо
[41] и Хайкина [182]. Обзор радиально-базисных

функций предоставлен в

[57]. Доказательство возможности универсального ап­
проксимирования функций с помощью RВF-сетей представлено в [173, 365].
Анализ аппроксимирующих свойств RВF-сетей приведен в [366].
Эффективные алгоритмы обучения для RВF-сетей описаны в [347, 423).
Алгоритм обучения расположениям центров в RВF-сетях предложен в [530].
Использование деревьев решений для инициализации RВF-сетей обсуждает­
ся в

[65].

Одни из первых результатов сравнения тренировки RВF-сетей по ме­

тодикам обучения с учителем и без учителя представлены в

[342].

Согласно

проведенному в этой работе анализу использование полноценного обучения с
учителем, по-видимому, увеличивает вероятность попадания сети в ловушки

локальных минимумов. Некоторые идеи относительно улучшения обобщающей

ГЛАВА 5. СЕТИ РАДИАЛЬНО-БАЗИСНЫХ ФУНКЦИЙ

366

способности RВF-сетей высказаны в работе
суждаются в

[125].

Инкрементные RВF-сети об­

Подробное обсуждение взаимосвязи RВF-сетей и ядерных

методов предоставлено в

5. 7.

[43].

[430].

Упражнения

Некоторые из упражнений требуют знания тем из области машинного обу­
чения, которые в данной книге не затрагивались. Для выполнения упражнений

5, 7 и 8 потребуются дополнительные

сведения о ядерных методах, спектраль­

ной кластеризации и обнаружении выбросов.

1.

Рассмотрим следующий вариант сети радиально-базисных функций, в
котором скрытые элементы имеют значение О или
равен

1,

1.

Скрытый элемент

если расстояние до вектора прототипов меньше а. В противном

случае он имеет нулевое значение. Изучите связь этого метода с RВF-се­
тями и его сравнительные преимущества и недостатки.

2.

Предположим, для предсказания бинарной метки класса как вероятност­
ного значения в выходном узле RВF-сети вы используете сигмоидную
активацию в последнем слое. Задайте для этой задачи функцию потерь в

виде отрицательного логарифмического правдоподобия. Получите обнов­
ления градиентного спуска для весов в последнем слое. Как этот подход

соотносится с методом логистической регрессии, который обсуждался в
главе

2? В

каком случае такой подход будет работать лучше, чем логисти­

ческая регрессия?

3.

Почему RВF-сеть представляет собой вариант классификатора по методу
ближайших соседей, в котором используется обучение с учителем?

4.

Подумайте, как расширить три многоклассовые модели, которые обсужда­
лись в главе

2, до

RВF-сетей. В частности, изучите варианты расширения

следующих моделей: а) многоклассовый перцептрон, б) SVМ Уэстона Уоткинса, в) классификатор

SoftMax. Почему результирующие модели об­
ладают большими возможностями, чем те, которые обсуждались в главе 2?
5.

Предложите способ расширения RВF-сетей до обучения с учителем с по­

мощью автокодировщиков. Что именно вы будете реконструировать в вы­
ходном слое? Специальный случай вашего подхода должен обеспечивать
грубую имитацию ядерного метода сингулярного разложения.

6.

Предположим, вы изменяете свою RВF-сеть таким образом, чтобы остав­
лять в скрытом слое только первые

k активаций, устанавливая остальные

активации равными нулю. Почему такой подход обеспечит лучшую точ­
ность классификации на ограниченном объеме данных?

5. 7.

УПРАЖНЕНИЯ

7.

367

Объедините метод конструирования RВF-слоя с помощью первых
ваций (см.

k акти­
упражнение 6) с RВF-автокодировщиком из упражнения 5 для

использования методики обучения без учителя. Почему создаваемые при
таком подходе представления будут более пригодными для кластериза­
ции? Какова связь этого метода со спектральной кластеризацией?

8.

Суть рассмотрения выбросов с точки зрения многообразий заключается в
том, что выбросы определяются как точки, которые не вписываются есте­

ственным образом в нелинейные многообразия тренировочных данных.
Изучите возможность использования RВF-сетей для обнаружения выбро­

сов с использованием методики обучения без учителя.

9.

Предположим, что вместо использования RВF-функции в скрытом слое
вы используете для активации скалярные произведения прототипов и то­

чек данных. Покажите, что специальным случаем такой модели является
линейный перцептрон.

10.

Изучите возможность видоизменения RВF-автокодировщика из упражне­

ния

5 для выполнения классификации, осуществляемой с использованием

частичного обучения с учителем в случае большого объема неразмечен­

ных данных и небольшого объема размеченных данных.

Глава

6

Ограниченные машины Больцмана

Основная ставка в борьбе за выживание и в процессе
эволюции мира

доступ к: запасам энергии.

-

Людвиг Больцман

6.1.

Введение

Ограниченная машина Больцмана

(restricted Boltzmann machine -

RВМ) в

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

RВМ

-

это сети, в которых вероятностные состояния сети обучаются на на­

боре входов, что хорошо подходит для моделирования на основе обучения без
учителя (неконтролируемого обучения). В то время как сеть прямого распро­
странения минимизирует функцию потерь предсказаний (вычисляемую на ос­

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

наблюдаемых атрибутов и некоторых скрытых атрибутов. Если традиционные
сети прямого распространения описываются направленными (ориентированны­
ми) вычислительными графами, соответствующими потоку вычислений в на­
правлении от входа к выходу, то сети RВМ

-

ненаправленные, поскольку они

обучаются вероятностным соотношениям, а не отображениям "вход
Следовательно, ограниченные машины Больцмана

-

-

выход".

это вероятностные мо­

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

скрытое представление каждой точки. Большинство автокодировщиков (за ис­
ключением вариационного) создает детерминированные представления точек
данных. В связи с этим RВМ требует совершенно иного подхода к ее обучению
и использованию.

370

ГЛАВА

По своей сути RВМ

-

6.

ОГРАНИЧЕННЫЕ МАШИНЫ БОЛЬЦМАНА

это модели, обучаемые без учителя, которые гене­

рируют представления латентных признаков точек данных. Тем не менее об­
ученные представления могут сочетаться с традиционным обратным распро­

странением ошибки в тесно связанной (с конкретной

RBM)

сети прямого

распространения для создания приложений на основе обучения с учителем.
Такое сочетание контролируемого и неконтролируемого видов обучения рабо­

тает аналогично предварительному обучению, осуществляемому с помощью
архитектуры традиционного автокодировщика (см. раздел

4.7).

RВМ сыграли

свою роль в популяризации идеи предварительного обучения в последние годы.
Вскоре эта идея была адаптирована к автокодировщикам, легче поддающимся

обучению благодаря использованию детерминированных скрытых состояний.

6.1.1.

Исторический экскурс

Ограниченные машины Больцмана эволюционировали из описанной в лите­
ратуре по нейронным сетям классической модели под названием сеть Хопфил­

да. Сети этого типа состоят из узлов, содержащих бинарные состояния, кото­
рые представляют значения бинарных атрибутов тренировочных данных. Сеть
Хопфилда создает детерминированную модель соотношений между различными
атрибутами, используя весовые коэффициенты связей между узлами. Со време­
нем сеть Хопфилда эволюционировала в машину Больцмана, которая использу­
ет вероятностные состояния для представления распределений Бернулли би­

нарных атрибутов. Машина Больцмана содержит как видимые, так и скрытые
состояния. Видимые состояния моделируют распределения наблюдаемых точек
данных, тогда как скрытые -

распределение латентных (скрытых) переменных.

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

носится к семейству (ненаправленных) вероятностных графических моделей.
В конечном счете машина Больцмана эволюционировала в ограниченную маши­

ну Больцмана, которая отличается от простой машины Больцмана в основном
тем, что в ней разрешены лишь связи между скрытыми и видимыми узлами. Это
упрощение необычайно полезно с практической точки зрения, поскольку позво­

ляет проектировать более эффективные обучающие алгоритмы. RВМ представ­
ляет собой частный случай вероятностной графической модели, известной как
марковское случайное поле

(Markov random field).

В первые годы модели RВМ считались слишком медленными в обучении и

поэтому не пользовались большой популярностью. Однако на рубеже столетий
для этого класса моделей бьши предложены более быстрые алгоритмы. Кроме
того, RВМ приобрели определенную известность благодаря использованию в
качестве одной из ансамблевых компонент сети

[414],

ставшей победителем

6.2.

СЕТИ ХОПФИЛДА

371

соревнований за приз компании

Netflix [577].

Обычной сферой применения мо­

делей RВМ являются такие задачи, не требующие обучения с учителем, как
факторизация матриц, моделирование латентных структур и снижение размер­

ности, хотя имеется много способов их расширения на случаи, требующие об­
учения с учителем. Следует подчеркнуть, что модели RВМ в своей наиболее

естественной форме обычно работают с бинарными состояниями, хотя могут
работать и с другими типами данных. В этой главе мы в основном ограничимся

обсуждением элементов с бинарными состояниями. Успешное обучение глубо­
ких сетей на основе RВМ предшествовало успешному опыту обучения обыч­
ных нейронных сетей. Иными словами, использование стеков из нескольких
слоев RВМ для создания глубоких сетей и их эффективного обучения было
продемонстрировано еще до того, как аналогичные идеи распространились на

обычные сети.

Структура главы
В следующем разделе обсуждаются сети Хопфилда, предшествовавшие
семейству моделей Больцмана. Машина Больцмана рассматривается в разде­
ле

6.3.

Описанию ограниченных машин Больцмана посвящен раздел

смотрению возможных способов их применения

-

раздел

6.5.

6.4,

а рас­

Использование

RВМ для работы с данными более общего типа, а не только с бинарными пред­

ставлениями, рассматривается в разделе

6.6. Процесс

создания глубоких сетей

на основе стеков из нескольких слоев ограниченных машин Больцмана описан

в разделе

6.2.

6.7.

Резюме главы приведено в разделе

Сети Хопфилда

Сети Хопфилда были предложены в

1982 году [207]

ти для сохранения образов. Сеть Хопфилда рованная) сеть, в которой
от

j

6.8.

1 до d.

d элементов

в качестве модели памя­

это ненаправленная (неориенти­

(нейронов) пронумерованы значениями

Каждая связь между парой нейронов записывается в виде

имеют значения от

1 до d.

Связи

(i,j) -

рактеризуется весовым коэффициентом

(i,j),

где



ненаправленные, и каждая из них ха­

wiJ = w1;.

Предполагается, что каждый

узел связан со всеми остальными узлами, однако допускается, что некоторые

w!i

могут устанавливаться равными нулю, что равносильно исключению соот­

ветствующих связей

(i,j).

Веса w;; полагаются равными нулю, что исключает

взаимодействие узлов с самими собой. С каждым нейроном
стояние

s;.

i

ассоциировано со­

Относительно сети Хопфилда делается важное предположение: ка­

ждое состояние s; может иметь одно из двух значений, О и
зоваться и другие значения, например

-1

и

1, хотя могут исполь­

+ 1. Кроме того, с каждым i-м узлом

ассоциируется смещение Ь;; большие значения Ь; повышают вероятность того,

372
что

ГЛАВА

6.

ОГРАНИЧЕННЫЕ МАШИНЫ БОЛЬЦМАНА

i-e состояние примет значение 1. Сеть Хопфилда -

ненаправленная модель

с симметричными связями, поэтому всегда выполняется соотношение

wij = wj;·

Каждое бинарное состояние в сети Хопфилда соответствует отдельному из­
мерению в (бинарном) тренировочном наборе данных. Поэтому, если необхо­
димо запомнить d-мерный набор данных, мы должны использовать сеть Хоп­

филда с

d элементами.

Состояние

i

сети соответствует i-му биту в конкретном

тренировочном примере. Значения состояний представляют значения бинар­
ных атрибутов из тренировочного примера. Веса в сети Хопфилда являются
ее параметрами. Большие положительные веса связей между парами состоя­
ний указывают на высокую положительную корреляцию между их значения­
ми, тогда как отрицательные веса

-

на высокую отрицательную корреляцию.

Пример сети Хопфилда с соответствующим набором тренировочных данных
приведен на рис.

6.1.

В данном случае сеть Хопфилда -

полносвязная и имеет

шесть видимых состояний, соответствующих шести бинарным атрибутам тре­
нировочных данных.

В сети Хопфилда для обучения весовых параметров используется оптими­

зационная модель, обеспечивающая улавливание весами положительных и от­
рицательных связей между атрибутами тренировочного набора данных. Целе­
вым функционалом сети Хопфилда является так называемая функция энергии

сети

(energy function),

которая аналогична функции потерь традиционной сети

прямого распространения. Функция энергии сети Хопфилда определенным об­
разом оптимизируется, и ее минимизация приводит к тому, что пары узлов, свя­

занные между собой соединениями с большими положительными весами, стре­
мятся иметь одинаковые состояния, а пары узлов с большими отрицательными

весами связей -

разные. Поэтому во время прохождения фазы тренировки сети

Хопфилда веса связей обучаются минимизировать энергию таким образом, что­

бы состояния сети фиксировались на значениях бинарных атрибутов отдельных
тренировочных точек. Следовательно, процесс обучения весов сети Хопфилда
неявно создает модель тренировочного набора данных по методике обучения

без учителя. Энергия Е конкретной комбинации состояний s

= (s1 ••• sd)

сети

Хопфилда определяется следующей формулой:

Е = - I 1н
Член

-b;s; стимулирует

-

I

i,j:iО. Другими словами, положительные веса
будут приводить к "притягиванию" состояний, отрицательные -

к "отталкива­

нию". Для тренировочных наборов данных небольшого объема результатом та­
кого моделирования является запоминание состояний, что позволяет получать

6.2.

СЕТИ ХОПФИЛДА

373

точки данных тренировочного набора, исходя из точек данных аналогичных, но
неполных или поврежденных наборов, путем исследования локальных мини­

мумов функции энергии вблизи этих точек. Иначе говоря, обучение весов сети
Хопфилда неявно приводит к запоминанию тренировочных примеров, хотя и
существует относительно консервативный предел количества примеров, кото­

рые может запомнить сеть Хопфилда, состоящая из

d элементов. Для этого пре­

дела также существует термин емкость (мощность) модели.

6.2.1.

Оптимальные конфигурации
состояний обученной сети

Обученная сеть Хопфилда характеризуется наличием многих локальных оп­
тимумов функции энергии, каждый из которых соответствует либо запомнен­
ной точке данных тренировочного набора, либо точке, представляющей некую
плотную область данных набора. Прежде чем перейти к рассмотрению про­
цесса обучения весов сети Хопфилда, остановимся на методологии нахожде­
ния локальных минимумов энергии сети Хопфилда, когда веса уже обучены.
Локальный минимум определяется как такая комбинация состояний, в которой
обращение любого отдельного бита не приведет к дальнейшему уменьшению
энергии. В процессе тренировки веса устанавливаются в такие значения, что­

бы локальные минимумы соответствовали примерам из тренировочного набо­
ра данных.

Тренировочные данные:

101000
110000
000101
000011

Рис.

6.1.

Сеть Хопфw~да с шестью видимыми состояниями,

соответствующими 6-мерным тренировочным данным

Нахождение оптимальной конфигурации состояний позволяет сети Хопфил­
да "вспоминать" сохраненные (запомненные) образы. Сеть Хопфилда учится
ассоциативному запоминанию, поскольку при заданном наборе входных состо­

яний (т.е. при заданной входной конфигурации битов) она многократно обраща­
ет биты, улучшая целевую функцию до тех пор, пока не найдет конфигурацию,
изменение которой уже не приводит к дополнительному улучшению целевого

374

ГЛАВА

6.

ОГРАНИЧЕННЫЕ МАШИНЫ БОЛЬЦМАНА

функционала. Образ, соответствующий этому локальному минимуму, зачастую
тесно связан с начальным образом (исходным набором состояний), отличаясь

от него всего лишь несколькими битами. Кроме того, этим окончательным об­
разом нередко оказывается один из членов тренировочного набора данных (по­
скольку веса обучались на этих данных). В определенном смысле сеть Хопфил­

да пролагает путь к памяти с адресуемым содержимым.
Если задана начальная комбинация состояний, то как можно обучиться бли­
жайшему локальному минимуму, когда веса уже фиксированы? В этом случае
можно обновлять каждое состояние сети для продвижения в направлении гло­
бального минимума энергии, используя правwю обновления порога. Чтобы ра­

зобраться в этом, сравним энергию сети в двух случаях: когда состояние сети

s; установлено в 1 и когда оно установлено в О. Поочередно подставляя эти два
значения s; в уравнение 6.1 и вычитая один результат из другого, получаем сле­
дующее выражение для разницы энергий:

ЛЕ=Е
-ЕS;;::. 1 =Ь+
"ws.
J
S;= 0
1
L..J 1) }

(6.2)

j:j~i

Чтобы переключение состояния s; из О в

1 оказывало

притягивающий эф­

фект, эта разница должна быть положительной. Таким образом, получаем сле­
дующее правило обновления для каждого состояния s;:

S;

={

1, если"
... и;;s + Ь; ~О;
~;:;~· , 1
(6.3)
О в противном случае.

Это правило итеративно применяется к каждому из состояний

s;,

которые в

необходимых случаях переключаются в соответствии с данным условием. Зная
веса и смещения для любого момента времени, можно найти локальный мини­
мум энергии по отношению к состояниям, повторно применяя вышеприведен­

ное правило обновления.
Локальные минимумы сети Хопфилда зависят от значений обученных весов.
Следовательно, для того чтобы можно было "вспомнить" сохраненный в памя­

ти образ, нужно лишь предоставить d-мерный вектор, близкий к тому, который
сохранен в памяти, и сеть Хопфилда найдет локальный минимум, аналогичный
данной точке, используя ее в качестве начального состояния. Ассоциативная
память такого типа свойственна людям, которые часто вспоминают необходи­

мую информацию посредством аналогичного процесса, основанного на ассо­
циациях. Также можно предоставить неполный вектор начальных состояний
и использовать его для восстановления других состояний. Обратимся к сети

Хопфилда, представленной на рис.

6.1.

Обратите внимание на то, что веса за­

даны такими, что каждый из четырех тренировочных векторов, приведенных на

6.2.

СЕТИ ХОПФИЛДА

375

рисунке, будет иметь низкую энергию. Однако существуют также ложные ми­
нимумы, такие как

111 ООО.

Поэтому не гарантируется, что локальные миниму­

мы будут всегда соответствовать точкам тренировочных данных. В то же время
локальные минимумы соответствуют некоторым ключевым характеристиками

тренировочных данных. В качестве примера рассмотрим ложный минимум, со­

ответствующий образу

111000.

Примечательно то, что в данном случае поло­

жительно коррелированы как первые, так и последние три бита. Как следствие,
значение

111 ООО,

соответствующее данному локальному минимуму, отражает

некий широкий образ среди тренировочных данных, хотя он и не представлен
в них в явном виде. Также следует отметить, что веса в этой сети тесно связаны
с образами тренировочных данных. Например, каждая тройка элементов, соот­
ветствующих первым и последним трем битам, положительно коррелирована

в данной конкретной группе из трех битов. Кроме того, между этими двумя на­
борами элементов существуют отрицательные корреляции. Следовательно, ре­

бра в каждом из наборов

{sI> s 2 , s 3 }

и

{s4 , s 5 , s 6 }

стремятся иметь положительные

веса, тогда как ребра, соединяющие эти наборы,

-

отрицательные. Настройка

весов таким специфическим для данных образом является задачей фазы обу­
чения (раздел

6.2.2).

В зависимости от того, каким был задан начальный вектор состояний, ите­
ративное правило обновления приводит к одному из многих локальных мини­

мумов энергии сети Хопфилда. Каждый из этих локальных минимумов может
соответствовать одному из образов тренировочного набора данных, запомнен­
ных в процессе обучения, и в результате минимизации будет достигнут со­

храненный в памяти образ, ближайший к начальному вектору состояний. Эти
запомненные образы неявно хранятся в весах, обученных в процессе трени­
ровки. Однако сеть Хопфилда может совершать ошибки, когда тесно связан­
ные между собой обучающие образцы сливаются в один (более глубокий) ми­
нимум. Например, если тренировочные данные содержат образцы 111О1111О1
и 111О11111 О, то сеть Хопфилда может обучиться тому, что 111О111111 являет­
ся локальным минимумом. Поэтому в некоторых запросах может восстанавли­

ваться образец, отличающийся небольшим количеством битов от образца, фак­

тически имеющегося среди тренировочных данных. Однако это не более чем
форма обобщения модели, используемая сетью Хопфилда для сохранения ре­
презентативных кластерных центров вместо отдельных точек тренировочных

данных. Другими словами, если объем данных превышает емкость модели, то,

вместо того чтобы запоминать данные, она обобщает их. В конце концов, сеть
Хопфилда создает модели, обучаясь на тренировочных данных без учителя.
Сеть Хопфилда может быть использована для извлечения данных из ассоци­

ативной памяти, исправления поврежденных данных и заполнения атрибутов.
Задачи извлечения данных из ассоциативной памяти и очистки поврежденных

376

ГЛАВА

6.

ОГРАНИЧЕННЫЕ МАШИНЫ БОЛЬЦМАНА

данных близки между собой. В обоих случаях в качестве начального состоя­
ния используется испорченный вход (или целевой вход для ассоциативного из­
влечения данных), а конечное состояние используется в качестве очищенного

(или востребованного) выхода. Если же речь идет о заполнении атрибутов, то
вектор состояний инициализируется установкой известных значений для на­

блюдаемых состояний и случайных значений для ненаблюдаемых. В этом слу­
чае лишь ненаблюдаемые состояния обновляются до достижения сходимости.

Когда сходимость достигнута, битовые значения этих состояний обеспечивают
завершенное представление.

6.2.2.

Обучение сети Хопфилда

При заданном наборе тренировочных данных нужно обучить веса таким об­

разом, чтобы локальные минимумы этой сети располагались вблизи примеров
(или областей их плотного расположения) тренировочного набора. Сети Хоп­

филда обучаются по Хеббу. Правила обучения Хебба основываются на данных
нейробиологии, согласно которым синаптические связи усиливаются, когда
между выходами нейронов по обе стороны синапса существует высокая корре­

ляция. Пусть xif Е {О,

1} представляетj-й бит i-й тренировочной точки. Предпо­

лагается, что количество тренировочных примеров равно п. Правила обучения

Хебба устанавливают следующие значения весов:
п

~)хь -0,5)·(xkf-0,5)
k=I- - - - - - - - wif -4
- -

(6.4)

п

Суть этого правила можно понять, если заметить, что, когда два бита
тренировочном наборе положительно коррелированы, выражение (хь

· (xkf -0,5)

i и} в

-0,5)·

обычно будет иметь положительное значение. Как следствие, для ве­

сов связей между соответствующими элементами также будут установлены по­
ложительные значения. С другой стороны, если два бита рассогласованы, то для

весов будут установлены отрицательные значения. Это правило также можно
применять без нормирующего знаменателя:
п

wif =4L(xь-0,5)·(xkf-0,5).

(6.5)

k=I

На практике часто желательно иметь инкрементные алгоритмы обучения для
поточечных обновлений. Для обновления веса

wif

с использованием лишь k-й

тренировочной точки данных применима следующая формула:

wif

Видимые состояния

w
Видимые состояния

а) Эквивалентность направленных и ненаправленных отношений

Фиксировать
состояния в слое для

Скрытые состояния

w

входных точек данных

>

wr

~--...___._

_ _~

Видимые состояния

Заменить дискретное
семnлирование
вещественными

вероятностями

Видимые состояния
(реконструированные)

w
Скрытые состояния
(редуцированные признаки)

w
Видимые состояния
(фиксированные)

б) Дискретная графическая модель для аппроксимации нейронной
сети вещественными значениями

Рис.

6.4.

Использование обученной RВМ для аппроксимации

обученного автокодировщика

Обратите внимание на то, что

v' -

это реконструированная версия

v, содер­

жащая вещественные значения (в отличие от бинарных состояний, содержа­
щихся в

v).

В данном случае мы работаем с вещественными активациями, а не

с дискретными выборочными значениями. Поскольку семплирование больше
не используется и все вычисления выполняются в терминах ожидаемых значе­

ний, то для обучения редуцированному представлению нам нужно выполнить

6.5.

ПРИМЕНЕНИЕ ОГРАНИЧЕННЫХ МАШИН БОЛЬЦМАНА

всего одну итерацию уравнения

6.15.

397

Кроме того, для обучения реконструиро­

ванным данным требуется только одна итерация уравнения

6.17.

Фаза предска­

зания работает лишь в одном направлении: от входной точки до реконструиро­

ванных данных, что показано на рис.

6.4, б, справа. Чтобы определить состояния

этой традиционной нейронной сети в виде вещественных значений, мы видо­

изменяем уравнения

6.15

и

6.17

следующим образом:

hj =

(6.19)

d

l+exp(-bjhJ - Iviwii)
i=l

В ситуациях, когда общее количество скрытых состояний т
ванное представление с вещественными значениями имеет

+ Lh1 w~k))

Р( v? > = 11 h) =

5

1

Iexp(bi'>Lh1 w~'>)
r=l

j

(6.22)

400

ГЛАВА

~

6.

'E.f. (Raiing :-4) -

ОГРАНИЧЕННЫЕ МАШИНЫ БОЛЬЦМАНА

- - - -1

.... ___________
1@
® ® CD ®1_

~ Shrek'1R"aiiПQ':5)-

- - -

-1

1....®___________
® ® ® CD1_
а) Архитектура

RBM для Алисы(наблюдаемые
Shrek)

рейтинговые оценки: Е. Т. и

(Rat1ng: 2)
1,..---""';'--------.
•®
CD ® ® ®1
'------------Е.Т.

:..._&;on"&tin&>sг@-ф..,_:
___________ _ --"......-----х

:~;d~"'.
Как и в случае любой нейронной сети, для обучения применяется алгоритм
обратного распространения ошибки.

Чтобы понять, почему LSТМ-сети обеспечивают лучший поток градиента,
чем простые сети

ним слоем и р

RNN,

= 1. В

рассмотрим обновление для простой сети

LSTM

с од­

таком случае обновление ячейки упрощается и приобре­

тает следующий вид:

(7.8)
Соответственно, частная производная с1 по Сн равна f, а это означает, что об­
ратные потоки градиента для с 1 умножаются на значение вентиля забывания

f

Учитывая поэлементный характер операций, этот результат обобщается на про­

извольные значения размерности состояния р. Для смещения вентилей забьmания
первоначально устанавливают высокие значения, чтобы сделать затухание пото­

ка градиентов относительно меленным. Вектор забывания

f

также может быть

разным на разных временных шагах, что снижает вероятность возникновения

проблемы затухающих градиентов. Скрытые состояния могут быть выражены в

* tanh( с1 ), что позволяет вычислять част­
h1 с использованием одной производной гиперболического

терминах состояний ячеек в виде
ную производную по

h1 =

о

тангенса. Иными словами, долгосрочные состояния ячеек функционируют как
супермагистраль для перетекания информации в скрытые состояния.

ГЛАВА 7. РЕКУРРЕНТНЫЕ НЕЙРОННЫЕ СЕТИ

458

7.6.

Управляемые рекуррентные блоки

Управляемый рекуррентный блок

(gated recurrent unit - GRU) можно рас­
LSTM, в котором явные состояния ячеек
состоит в том, что LSTM непосредственно

сматривать как упрощенный вариант
не используются. Другое отличие

управляет мерой использования информации в скрытых состояниях, используя
отдельные вентиль забывания и выходной вентиль. С другой стороны, в

GRU

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

предыдуших разделах,

GRU

и

LSTM,

довольно схожи. Как и в

h, представляет скрытые состояния k-го слоя для k ~ 1.

С целью упрощения нотации мы также примем для входного вектора х; обозна­

чение

h,< 0>(хотя совершенно очевидно, что этот слой не является скрытым). Как

и в случае

LSTM,

входной вектор х;

-

d-мерный, тогда как скрытые состоя­

ния -р-мерные. Размеры матриц преобразования в первом слое соответству­
ющим образом подстраиваются с учетом этого факта.

В случае GRU мы имеем две матрицы, w и v, имеющие размеры 5 2р х 2р
и р х 2р соответственно. В результате умножения матрицы w на вектор поряд­
ка 2р получается вектор порядка 2р, который будет передаваться через функцию
активации для создания двух промежуточных р-мерных векторных переменных

z; и r соответственно. Промежуточные переменные z; и r соответственно на­
зывают вентилем обновления

(update gate)

и вентилем сброса

Определение вектора скрытых состояний

(reset gate).

h, использует двухступенчатый

процесс, начинающийся с вычисления указанных промежуточных переменных
и заканчивающийся принятием решения относительно того, в какой мере они

должны быть использованы для изменения вектора скрытых состояний с помо­

щью матрицы весов

v:

Вентиль обновления:
Вентиль сброса:

[z]r =

(сигмоида) W (kJ [h,

~

[Установка вентилем]

[ Jj = z О h1 ~~> + (1- z) О tanh v
[Обновление скрытого состояния]
r Оhн
Здесь символом О обозначена операция поэлементного умножения. Для са­

мого первого слоя (т.е. для k = 1) обозначение

h, 1 такие сетки значений на­
(feature maps) или картами активации (activation

Эти значения аналогичны значениям в скрытых слоях сети прямого рас­

пространения.

В

CNN

параметры организуются в наборы 3-мерных структурных блоков,

известных как фильтры

(filters)

или ядра

(kernels).

В пространственном отно­

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

меняется. С другой стороны, глубина фильтра всегда совпадает с глубиной его

слоя. Пусть фильтр в q-м слое имеет размеры Fч х Fч х dч. Пример фильтра с раз­
мерами

F 1 = 5 и d 1 = 3 приведен

на рис.

8.1,

а. Для параметра Fч общепринято

устанавливать небольшие нечетные значения. Обычно в качестве таковых ис­
пользуются значения

3 и 5,

хотя существуют некоторые интересные случаи, в

которых вполне возможно взять Fч =

1.

Операция свертки помещает фильтр в каждую возможную позицию на изо­
бражении (или скрытом слое) так, чтобы он полностью перекрывался с изо­

бражением, и вычисляет скалярное произведение Fч х Fч х dч параметров филь­
тра и параметров соответствующей сетки входного объема (того же размера

Fч х Fч х dч). При вычислении этого скалярного произведения записи в соответ­
ствующей 3-мерной области входного объема и фильтра трактуются как век­

торы порядка Fч х Fч х dч, элементы которых упорядочены в соответствии с их
позициями в объемной сетке. Каково количество возможных позиций, в кото­

рые может быть помещен фильтр? Это важный вопрос, поскольку каждая та­
кая позиция определяет пространственный "пиксель" (или, точнее, признак) в

следующем слое. Иными словами, число возможных расположений фильтра
на изображении определяет пространственную высоту и ширину следующего
скрытого слоя. Относительные пространственные позиции признаков в сле­
дующем слое определяются относительными пространственными позициями
левых верхних углов соответствующих пространственных сеток в предыду­

щем слое. При выполнении операции свертки в q-м слое фильтр можно рас­

ставить в Lч+i = (Lч -Fч

+ 1) позициях по высоте и в Вч+I

= (Вч -Fч

+ 1) позици­

ях по ширине изображения (так, чтобы часть фильтра не выходила за границы

ГЛАВА 8. СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ

492

изображения). Следовательно, полное количество возможных скалярных про­
изведений равно Lч+ 1 xBq+I> что определяет размер следующего скрытого слоя.
Таким образом, мы получаем для

L 2 и В2

из предыдущего примера следующие

значения:

L2 = 32 - 5 + 1 = 28,
В 2 = 32 - 5 + 1 = 28.
Следующий скрытый слой размером

28 х 28 представлен на рис. 8.1, а. Од­
нако этот скрытый слой имеет глубину d 2 = 5. Откуда происходит такая глуби­
на? Она получена в результате применения 5 различных фильтров с их соб­
ственными независимыми наборами параметров. Каждый из этих 5 наборов
пространственно расположенных признаков, полученных из выходов одного

фильтра, называется картой признаков

(feature map).

Очевидно, что увеличение

количества карт признаков является результатом применения большего количе­

ства фильтров (т.е. большего количества параметров), равного Fq2 ·dч ·d9+1 для
q-го слоя. Количество фw~ьтров, используемых в каждом слое, управляет мощ­
ностью модели, поскольку от него напрямую зависит количество параметров.
Кроме того, увеличение количества фильтров в конкретном слое увеличивает
количество карт признаков (т.е. глубину) следующего слоя. Различные слоимо­
гут иметь различное количество карт признаков, в зависимости от количества

фильтров, которые мы использовали для операции свертки в предыдущем слое.
К примеру, типичный входной слой имеет три цветовых канала, но каждый из

последующих слоев может иметь глубину (т.е. количество карт признаков) бо­

лее

500.

Идея заключается в том, что каждый фильтр пытается идентифициро­

вать отдельный тип пространственного образа в небольшой пространственной
области изображения, поэтому для захвата как можно более широкого разноо­

бразия возможных форм, комбинируемых для создания окончательного изобра­
жения, требуется большее количество фильтров (в отличие от случая входного
слоя, в котором достаточно использовать RGВ-каналы). Обычно в поздних сло­
ях используется меньшее количество пространственных параметров, но их глу­

бина больше за счет большего количества карт признаков. Например, фильтр,
приведенный на рис.

8.1,

б, представляет детектор горизонтальных краев на

черно-белых изображениях с одним каналом. Как показано на рис.

8.1,

б, ре­

зультирующий признак будет иметь высокую активацию в каждой позиции, где
видны горизонтальные линии. Идеальная вертикальная линия будет давать ну­
левую активацию, тогда как наклонная -

промежуточную. Поэтому при сколь­

жении фильтра по всему изображению уже будут обнаружены ключевые кон­
туры изображения в одной карте признаков выходного объема. Для создания

выходного объема с более чем одной картой признаков применяется несколько
фильтров. Другой фильтр может создавать карту пространственных признаков
активаций вертикальных линий.

8.2. БАЗОВАЯ СТРУКТУРА СВЕРТОЧНОЙ СЕТИ

493

Теперь мы готовы перейти к формальному определению операции свертки.
Представим параметры р-го фильтра в q-м слое в виде 3-мерного тензора

wl

(многослойная
нейронная сеть)
функция

f(.)

"~

r

g(.)

~

"15rr

":JiФ

15

н

~~

Кодировщик

Декодировщик

(конволюционная
нейронная сеть)

а.

о

функция

о:[

о

>l

(деконволюционная

нейронная сеть)

f(.)

функция

g(.)

"'8.!!!
sr
"'"
~~
~

"

"

"-

"-

F(X)
Ограниченные

Ограниченные или

слои посередине

х

разреженные слои

X'=(GoF)(X)

Х

Х'

посередине

=(G о F)(X)

б) Сверточный автокодировщик

а) Архитектура традиционного
авто кодировщика

Рис.

8.17.

Традиционный и сверточный автокодировщики

Точно так же, как часть, соответствующая декодировщику и отвечающая за
сжатие, использует операцию свертки, часть, соответствующая операции рас­

паковки, использует операцию деконволюции. Аналогичным образом пулин­
гу (понижающей дискретизации) сопутствует обратная операция: повышаю­

(unpooling). Деконволюцию также называют
транспонированной сверткой (transposed convolution). Интересно отметить,
это та же операция, которая ис­
что операция транспонированной свертки щая дискретизация, или анпулинг

пользуется для обратного распространения ошибки. Возможно, термин "декон­
волюция" немного вводит в заблуждение, поскольку каждая такая операция в
действительности является сверткой с фильтром, который получается путем

транспонирования и инвертирования тензорного представления фильтра ори­
гинальной свертки (см. рис.

8.7

и уравнение

8.3).

Мы уже видим, что свертка

и обратное распространение ошибки базируются на аналогичных принципах.
Основное различие связано со способом обращения с функцией

ReLU, который

делает деконволюцию более похожей на обратное развертывание или контроли­
руемое обратное распространение. В действительности декодер в сверточном

автокодировщике вьmолняет операции, аналогичные операциям фазы обратно­
го распространения визуализации на основе градиента. Некоторые архитекту­

ры обходятся без операций понижения и повышения дискретизации и работают
только с операциями свертки (вместе с функциями активации). Показательным
примером является строение полносверточных сетей

[449, 466].

Тот факт, что операция деконволюции в действительности мало чем отли­
чается от операции свертки, не является неожиданным. Даже в традиционных
сетях прямого распространения часть сети, соответствующая декодировщику,

выполняет операции матричного умножения того же типа, что и часть сети, со­
ответствующая кодировщику, за исключением того, что применяются транспо­

нированные матрицы весов. Аналогия между традиционными и сверточными

ГЛАВА 8. СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ

550

автокодировщиками подытожена в табл.

8.4.

Следует отметить, что с точки зре­

ния выполнения матричных операций умножения распространение в прямом

направлении и распространение в обратном направлении в традиционных и
сверточных сетях соотносятся между собой одинаковым образом. То же самое
справедливо и в отношении природы связи между кодировщиками и автокоди­
ровщиками.

Таблица

8.4.

Связь между обратным

распространением ошибки и декодировщиками
Линейная

Традиционные

Сверточные

операция

нейронные сети

нейронные сети

Прямое

Матричное умножение

Свертка

Обратное

Транспонированное

Транспонированная свертка

распространение

матричное умножение

Слой декодировщика

Транспонированное

распространение

Транспонированная свертка

матричное умножение

(идентично обратному

(идентично обратному

распространению)

распространению)

В данном случае мы имеем дело с тремя операциями, соответствующими
свертке, пулингу по максимальному значению и введению нелинейности с по­

мощью

ReLU.

Задача заключается в выполнении в слое декодировщика опе­

раций, обратных тем, которые были выполнены в слое кодировщика. Простых
способов инвертирования некоторых из этих операций (таких, как пулинг по
максимуму и

ReLU) не существует.

Тем не менее удачный выбор проектных ре­

шений обеспечивает получение отличных реконструированных изображений.
Сначала мы рассмотрим случай автокодировщика с одним слоем, в котором вы­
полняются операции свертки,

ReLU

и пулинга по максимальному значению, а

затем обсудим способы обобщения этой модели на несколько слоев.
Несмотря на то что обычно в декодировщике требуется обратить операции,

выполненные в кодировщике,

ReLU

не является обращаемой функцией, по­

скольку для нулевого значения имеется множество возможных вариантов ин­

версии. По этой причине функция
гой функцией

ReLU заменяется в слое декодировщика дру­

ReLU (хотя также возможны альтернативные варианты решения).

Архитектуру этого простого автокодировщика можно представить в следую­
щем виде:

Свертка=> ReLU

=> Пулинг по
Кодировщик

максимуму=> Код=> Анпулинг

=> ReLU => Деконволюция
Декодировщик

8.5.

551

ВИЗУАЛИЗАЦИЯ И ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ

Обратите внимание на симметрию в расположении слоев, выполняющих
прямую и обратную операции в кодировщике и декодировщике соответствен­
но. В то же время существуют многочисленные вариации этой базовой схемы.
Например,

ReLU

можно поместить после слоя деконволюции. Кроме того, в

некоторых вариациях

[31 О] рекомендуется использовать кодировщики большей

глубины, чем декодировщики, при сохранении симметрии архитектуры. В то
же время в случае приведенной выше стековой вариации симметричной архи­

тектуры существует возможность обучить один только кодировщик с класси­

фицирующим выходным слоем (с использованием набора данных наподобие

lmageNet), а затем применить симметричный ему декодировщик (с транспони­
рованными/инвертированными фильтрами) для выполнения "развертывающей"

визуализации

[556].

Несмотря на то что этот подход всегда можно использовать

для инициализации автокодировщика, мы обсудим его улучшенную версию, в
которой кодировщик и декодировщик тренируются совместно по методике об­
учения без учителя.
В данном случае мы будем рассматривать каждый слой как сверточный, а

ReLU -

как отдельный слой, поэтому в общей сложности мы имеем семь сло­

ев, включая вход. Это простейшая архитектура, поскольку в каждом ее коди­
ровщике и декодировщике используется только по одному сверточному слою.

В более общих архитектурах эти слои образуют стек для создания более мощ­
ных архитектур. Тем не менее полезно проиллюстрировать связь между такими

базовыми операциями, как анпулинг и деконволюция, с соответствующими им
операциями, выполняемыми в компоненте кодировщика (такими, как пулинг и
свертка). Еще одним упрощением является то, что код содержится в простран­
ственном слое, а посредине могут быть вставлены полносвязные слои. Несмо­

тря на то что в этом примере (и на рис.

8.17, б) используется пространственный

код, наличие полносвязных слоев посередине более полезно для практических
применений. С другой стороны, расположенные посередине пространственные
слои можно задействовать для визуализации промежуточных данных.

Рассмотрим ситуацию, когда в первом слое кодировщика используются

d2

квадратных фильтра F 1 х F 1 х d 1• Также предположим, что первый слой представ­

L 1 xL 1 х d 1• Пусть (i,j, k)-й
элемент р-го фильтра в первом слое имеет вес w(p, J)ifk' Эти обозначения со­
гласуются с теми, которые исmользовались в разделе 8.2, где была определена

ляет собой (пространственный) объем с размерами

операция свертки. В сверточном слое принято использовать дополнение впол­

не определенного уровня, такое, чтобы карты признаков во втором слое также
имели размер

L 1• Таким уровнем дополнения является F 1-1, и

его называют по­

ловинным дополнением. Однако в сверточном слое можно вообще не использо­
вать дополнение, если в соответствующем деконволюционном слое применяет­

ся полное дополнение. В общем случае сумма дополнений между сверточным

ГЛАВА 8. СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ

552

и соответствующим ему деконволюционном слоем должна быть равна F 1-1 для
сохранения пространственного размера слоя в паре "свертка- деконволюция".

Здесь важно понимать, что, хотя каждый элемент

w

О

-

параметр регуляризации.

Дополнительные улучшения были предложены в виде программы AlphaZero

[447], способной играть в несколько игр, таких как го, сеги и шахматы.
AlphaZero легко победила наилучшие шахматные программы, Stoclifi,sh, а так­
же наилучшую программу для игры в сеги (Elmo ). Победа в шахматах была
особенно неожиданной для большинства лучших игроков, поскольку всегда
предполагалось, что системе обучения с подкреплением требуется передать
слишком большой объем сведений, чтобы она могла выиграть у системы, ис­
пользующей вычисления с признаками, подготовленными вручную.

Замечания по поводу производительности
Программа

AlphaGo

продемонстрировала экстраординарное мастерство в

состязаниях с самыми разными компьютерными и "живыми" игроками. В играх

с компьютером она выиграла

игру

AlphaGo

494 игры

из

495 [445].

Даже в тех случаях, когда

затрудняли, предоставляя противнику фору в виде четырех сво­

77, 86 и 99% игр против компьютерных программ
Pachi соответственно. Она также нанесла поражение извест­

бодных камней, она выиграла

Crazy Stone, Zen

и

ным профессиональным игрокам, в том числе чемпионам Европы и мира, и
другим игрокам с высоким рейтингом.

Интересно, однако, то, каким образом достигались эти победы. В несколь­

ких из этих игр AlphaGo делала необычные блистательные ходы, смысл которых
прояснялся лишь в результате послематчевого анализа партий
случаи, когда ходы, сделанные программой

AlphaGo,

[607,608].

Бьmи

на первый взгляд проти­

воречили здравому смыслу, но в конечном счете оказывалось, что это новинки,

которым

AlphaGo

научилась, играя сама с собой. После таких матчей некото­

рые лучшие игроки в го кардинально пересматривали свои взгляды на страте­
гию игры в целом.

616

ГЛАВА

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

Аналогичный уровень мастерства программа

AlphaZero

продемонстрирова­

ла и в шахматах, в которых она часто жертвовала материальным преимуще­

ством для улучшения своей позиции и стеснения соперника. Такой тип пове­
дения свойствен людям и отличается от поведения традиционных шахматных

программ (которые уже играют лучше людей). В отличие от вычислений с при­

знаками, конструируемыми вручную, в программу не бьmи заранее вложены ка­
кие-либо понятия о материальной ценности фигур или об условиях, в которых
позиция короля в центре доски может считаться безопасной. Кроме того, в про­
цессе игры самой с собой программа открыла для себя многие из хорошо из­
вестных дебютных начал, и создавалось впечатление, что у нее есть собственное
мнение относительно того, что "лучше", а что "хуже". Иными словами, она об­

ладала возможностью самостоятельно открывать знания. Ключевое отличие об­

учения с подкреrmением от обучения с учителем состоит в том, что оно способно
вносить инновации, выходящие за пределы известных знаний, посредством обу­
чения методом проб и ошибок под управлением вознаграждения. Такое поведе­
ние открывает многообещающие перспективы в других приложениях.

9. 7 .2.

Самообучающиеся роботы

Самообучающиеся роботы представляют важное направление исследований
в области искусственного интеллекта, цель которого

-

обучение роботов вы­

полнению различных задач, таких как локомоция, механический ремонт или

поиск объектов. В качестве примера рассмотрим случай, когда требуется скон­
струировать робота с возможностями физической локомоции (имеются в виду
особенности его конструкции и набор доступных движений), но такого, ко­

торый должен обучиться точному выбору движений, чтобы переместиться из
точки А в точку В, все время находясь в устойчивом равновесии. Люди, будучи

двуногими существами, способны ходить, сохраняя равновесие естественным
образом, и мы даже не думаем о том, как этого добиться, но для двуногого ро­

бота это очень непростая задача, и любое неверное движение может легко при­
вести к его опрокидыванию. Трудности такой задачи еще более усугубляются,

если робот действует на неизвестной местности и на его пути могут встречать­
ся препятствия.

Задачи описанного типа естественным образом вписываются в обучение с
подкреrmением, поскольку можно легко судить о том, правильно ли ходит ро­

бот, но очень тяжело специфицировать точные правила, которые определяли

бы, что должен делать робот в каждой возможной ситуации. В подходе на осно­
ве обучения с подкреrmением, управляемого вознаграждением, робот получает

(виртуальное) поощрение всякий раз, когда достигает прогресса в перемещении
из точки А в точку В. Во всем остальном роботу предоставляется полная сво­

бода действий, и это не предварительное обучение с использованием знаний о

9. 7.

617

ТИПОВЫЕ ПРИМЕРЫ

конкретном выборе действий, которое помогло бы роботу сохранять баланс и
ходить. Иными словами, он не пичкается всевозможными знаниями о том, что

собой представляет ходьба (за исключением того, что он будет получать возна­
граждение за использование доступных действий, обеспечивающих продвиже­

ние из точки А в точку В). Это классический пример обучения с подкреплением,
поскольку теперь робот нуждается в обучении конкретной последовательности
действий, за выполнение которой он получит соответствующее вознагражде­
ние. Несмотря на то что в данном случае мы используем в качестве частного

примера локомоцию, этот общий принцип применим к любому типу обучения
роботов. В качества примера можно привести такие задачи, как захват роботом
объекта или откручивание бутылочного колпачка. Оба этих случая кратко об­
суждаются ниже.

9. 7 .2.1.

Глубокое обучение навыкам локомоции

В данном случае локомоции обучались виртуальные роботы

[433), имитиру­

Mu.JoCo [609], название которого явля­
Multi-Joint Dynamics with Contact (многозвенная динами­

емые с помощью физического движка
ется сокращением от

ка с возможностью контакта). Этот физический движок облегчает проведение

исследований и разработку в областях робототехники, биомеханики, графики и
анимации, где существует потребность в быстрой и точной имитации процес­

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

9.8.

Преимуществами имитации этого типа являются

невысокая себестоимость виртуальной имитации и избежание естественных
рисков, связанных с вопросами безопасности и материальными расходами, ко­

торые могут возникнуть ввиду физического повреждения реальных физических
объектов в процессе проведения экспериментов, что вполне возможно из-за вы­

сокой вероятности ошибочных/неосторожных действий. С другой стороны, фи­
зическая модель позволяет получить более реалистичные результаты. В целом
имитацию нередко можно применять в целях мелкомасштабного тестирования,
прежде чем приступать к созданию физической модели.
Модель гуманоида имела состояние, характеризующееся



33

измерениями, и

степеней свободы, в то время как состояние четырехногой модели характе­

ризовалось

29 измерениями, и она имела 8 степеней свободы.

Модели вознагра­

ждались за передвижение в заданном направлении, однако эпизоды преждев­

ременно прерывались, если центр масс робота опускался ниже определенной
точки. Действия робота управлялись механизмами передачи крутящего момен­
та. Роботу был доступен ряд признаков, поступающих от датчиков положений
препятствий, позиций сочленений, углов и т.п. Эти признаки поступали в ней­
ронную сеть. Использовались две нейронные сети: одна оценивала значения

618

ГЛАВА

(ценность) действий, а вторая -

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

стратегии. В связи с этим был применен метод

градиентного спуска по стратегиям, в котором сеть значений была задействова­

на для оценки полезности действий. Такой подход представляет собой реализа­
цию метода "актор

-

Рис.

критик".

9. 8.

Пример виртумыюго робота-гуманоида

(оригинмьное изображение см. в

[609})

Применялась нейронная сеть прямого распространения с тремя скрытыми
слоями, содержащими соответственно

100, 50 и 25

элемешов с нелинейностью в

виде гиперболического тангенса. Использованный в

[433]

подход требует оцен­

ки как функции стратегии, так и функции значения, и в обоих случаях для скры­
тых слоев применялась одна и та же архитектура. В то же время для сети оцен­

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

функции потерь. Обобщенная оценка

(GAE)

использовалась в сочетании с оп­

тимизацией стратегии в пределах доверительной области

(TRPO).

Ссылки на

подробное описание этих методов вы найдете в библиографической справке.
В результате тренировки нейронной сети с помощью обучения с подкреплени­

ем в течение

1ООО

итераций робот приобрел внешне безукоризненную походку.

Видеоролик, демонстрирующий окончательные результаты обучения робота хо­
ждению, доступен по ссылке

[610].

Впоследствии компания

Google DeepMind

опубликовала еще более впечатляющие результаты, демонстрирующие способ­
ность робота избегать препятствий и справляться с другими трудностями

9.7.2.2.

[187].

Глубокое обучение навыкам визуальной моторики

Другой интересный пример использования обучения с подкреплением опи­
сан в

[286],

где робот обучался нескольким задачам, требующим тесной коор­

динации его зрительных и моторных функций. В частности, робот научился

9. 7.

ТИПОВЫЕ ПРИМЕРЫ

619

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

9.9, а,

вместе с изображением робота. Робот выполнял действия с помощью приво­
дного механизма, имеющего

7 подвижных соединений, управляемых команда­

ми. Для оптимального выполнения задачи каждое действие требовало подачи
последовательности соответствующих команд. В данном случае обучалась фи­

зическая модель робота. Для определения местоположения объектов и манипу­
лирования ими робот использовал изображение, поступающее от камеры. Эта

камера была своего рода глазами робота, а работа сверточной нейронной сети
была основана на принципах функционирования зрительной коры (установлен­

ных экспериментами Хубеля и Визеля). Несмотря на кажущиеся значительные
отличия этой задачи от видеоигр

Atari,

между ними существует значительное

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

имеет дело с необработанными пикселями. Однако в рассматриваемом нами
случае есть дополнительные входы, соответствующие позициям робота и объ­
екта. Эти задачи требуют обучения элементам визуального восприятия, коор­
динации и контактной динамики, причем это обучение должно осуществлять­
ся автоматически.

Вешалка

Куб

Гвоздодер

Робот

Бутылка

а) Обучение робота видеомоторным навыкам

...." ....
т­

.,._1::;:. :.: . .

=.

"=::::;:;;:==-·r·.._·~
б) Архитектура сверточной нейронной сети

Рис.

9.9. Глубокое обучение навыкам видеомоторики; рисунки
Sergey Levine, Chelsea Finn, Trevor Darrell and Pieter Abbeel)

взяты из

[286] (© 2016

Для преобразования кадров изображения вполне естественно использовать
сверточную нейронную сеть. Как и в случае игр

Atari,

слои сверточной сети

ГЛАВА

620

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

должны быть обучены пространственным признакам, приносящим соответ­
ствующее вознаграждение за выполнение действий, полезных в рамках дан­

ной задачи. Эта сверточная нейронная сеть имеет
Первые три слоя бьmи сверточными, четвертый

с активацией

Softmax,

7 слоев и 92 ООО параметров.
- пространственным слоем

а пятый выполнял фиксированное преобразование про­

странственных карт признаков в компактный набор из двух координат. Идея
заключалась в применении функции

Softmax

ко всей карте пространственных

признаков. Это дает вероятность каждой позиции в карте признаков. Ожида­
емая позиция, полученная с использованием такого распределения вероятно­

стей, предоставляет двухмерные координаты точки, которая называется точкой

признака

(feature point).

Отметим, что каждая пространственная карта призна­

ков в сверточном слое создает одну точку признака, которую можно рассматри­

вать как результат применения своего рода операции

soft argтax к указанному

распределению пространственной вероятности. Пятый слой довольно заметно

отличался от того, с чем мы обычно встречаемся в сверточных нейронных се­
тях, и предназначался для создания точного представления визуальной сцены,

пригодного для организации обратной связи. Точки пространственных призна­

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

40 полулинейных элементов, за которыми следуют линейные соединения с

элементами привода. Обратите внимание на то, что в первый слой сверточной

нейронной сети поступали лишь наблюдения, соответствующие камере, тогда
как наблюдения, соответствующие роботу, подавались в первый полносвязный

слой. Это обусловлено тем, что состояния робота мало что дадут сверточным
слоям, так что имеет смысл конкатенировать входы, связанные с состоянием,

после обработки визуальных входов сверточными слоями. В целом сеть содер­
жала

92

ООО параметров, из которых

86

ООО относились к сверточным слоям.

Архитектура сверточной нейронной сети приведена на рис.

9.9, 6.

Наблюдения

состоят из RGВ-изображений камеры, показаний датчиков сочленений, скоро­
стей и положений конечных исполнительных элементов.

Полные состояния робота характеризовались измерениями в количестве
от

14

до

32,

такими как углы в сочленениях, положения конечных исполни­

тельных элементов, позиции объектов и их скорости. Набор этих величин об­
разует практическую реализацию понятия состояния. Как и во всех методах,
основанных на стратегиях, выходы соответствуют различным действиям (при­

водным механизмам). Интересным аспектом подхода, который обсуждается в

[286], является то,

что он преобразует задачу обучения с подкреплением в зада­

чу обучения с учителем. Использовался метод управляемого поиска стратегий

(guided policy search),

который в этой главе не обсуждался. Заинтересованных

9. 7.

621

ТИПОВЫЕ ПРИМЕРЫ

читателей отсылаем к

[286],

где также приведен видеоролик, демонстрирую­

щий работу робота (обученного с использованием этой системы).

9. 7.3.

Создание разговорных систем:
глубокое обучение чат-ботов

Чат-боты также называют разговорными или диалоговыми системами. Ко­

нечной целью чат-ботов является создание агента, способного свободно об­
щаться с человеком на различные темы. Пока что мы еще очень далеки от до­

стижения этой цели. Однако в создании чат-ботов для определенных задач
(таких, как переговоры или помощник по совершению покупок) достигнут зна­
чительный прогресс. В качестве примера можно привести относительно уни­

версальную систему Apple
вого помощника.

Siri

Siri, представляющую

собой персонального цифро­

можно считать универсальной системой, поскольку она

допускает общение по широкому ряду вопросов. Каждый, кто пользуется систе­
мой

Siri,

согласится с тем, что в некоторых случаях помощник не в состоянии

дать удовлетворительный ответ на трудный вопрос, тогда как в других случаях

очень бойко отвечает на вопросы общего характера, ответы на которые заранее
запрограммированы. Конечно же, в этом нет ничего удивительного, поскольку
система задумывалась как относительно универсальная, и мы пока что не при­

близились к созданию разговорной системы, возможности которой были бы
сравнимы с возможностями человека. В отличие от этого узкоспециальные си­
стемы предназначены для выполнения вполне конкретных заданий и поэтому

легче поддаются надежному обучению.
Ниже мы опишем систему, созданную компанией
обучения торговым переговорам

[290].

F acebook для

сквозного

Это узкоспециализированная система,

поскольку она предназначена специально для ведения переговоров. В качестве
тестовой модели использовалась следующая задача. Двум агентам предостав­

ляется коллекция товаров разного типа (например, две книги, одна шляпа, три

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

но ни один из них не знает, какую ценность данный товар представляет для

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

Предполагается, что стоимость товаров ни при каких условиях не может

быть отрицательной и генерируется случайным образом с использованием
определенных ограничений. Во-первых, общая ценность всех товаров равна

1О.

Во-вторых, каждый товар имеет ненулевую ценность по крайней мере для од­

ного пользователя, чтобы не было смысла вообще игнорировать данный товар.

622

ГЛАВА

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

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



1О,

что гарантирует соревно­

кругов переговоров агентам

предоставляется возможность завершить переговоры, не достигнув сделки, что

приносит каждому из пользователю ноль очков. Использовались три типа то­
варов: книги, шляпы и воздушные шарики, причем общее количество товаров

в коллекции колебалось в пределах от

5

до

7

единиц. Тот факт, что ценность

товаров была разной для обоих пользователей (и при этом ни одному из них
не бьmо известно, какую ценность тот или иной товар представляет для друго­
го пользователя), играет очень важную роль. Если бы оба пользователя были
талантливыми переговорщиками, то они смогли бы добиться для себя товаров
общей стоимостью более

10. Тем не менее лучший переговорщик сможет овла­

деть товарами большей стоимости, оптимально торгуясь за товары, представ­
ляющие ценность для обоих.
Функцией вознаграждения при такой постановке задачи обучения с подкре­

плением является окончательная стоимость товаров, которой добился пользо­
ватель. На предварительном этапе можно использовать обучение с учителем с

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

му был предпринят подход, в котором обучение с подкреплением сочеталось
с обучением с учителем. Включение этапа обучения с учителем в обучение с
подкреплением способствует тому, чтобы модели не отклонялись от стиля речи,

свойственного людям. Бьmа введена форма планирования, которую называют
развертыванием диалогов. В этом подходе применяется рекуррентная архитек­

тура "кодировщик

-

декодировщик'', в которой декодировщик максимизиру­

ет функцию вознаграждения, а не вероятность высказываний. В основе такой
архитектуры "кодировщик -

декодировщик" лежит обучение "последователь­

ность в последовательность", о чем шла речь в разделе

7.7.2.

В целях обучения с учителем использовались диалоги, собранные на интер­

нет-площадке

2236

Amazon Mechanical Turk.

Всего было собрано

5808

диалогов в

уникальных сценариях, где сценарий определяется назначением опреде­

ленного набора стоимостей товаров. Из этих примеров было отобрано
нария, соответствующих

526 диалогам.

252 сце­

Каждый сценарий приводил к двум тре­

нировочным примерам, соответствующим точкам зрения каждого из агентов.

Конкретным тренировочным примером мог быть сценарий, в котором распре­
деляемыми между агентами товарами были

3

книги,

2 шляпы

и

1 воздушный

шарик. Эти данные являются частью входа для каждого из агентов. Вторым

входом могла быть стоимость (ценность) каждого товара для агентов:

1)

для

9. 7.

623

ТИПОВЫЕ ПРИМЕРЫ

агента А- книга:l, шляпа:З, воздушный шарик:l; и

2)

для агента В

-

кни­

га:2, шляпа: 1, воздушный шарик:2. Обратите внимание на то, что в этих усло­

виях агент А, соблюдая скрытность своих намерений в ходе переговоров, дол­
жен попытаться получить как можно больше шляп, тогда как агент В должен

сфокусироваться на книгах и воздушных шариках. Приведенный ниже пример
диалога, содержащегося в тренировочных данных, взят из

[290).

Агент А: Я хочу книги и шляпы, ты получаешь воздушный шарик.
Агент В: Дай мене в придачу книгу, и мы договорились.
Агент А: Согласен.
Агент В: .

2 книги и 2 шляпы, тогда как ко­
1 книга и 1 воздушный шарик. Таким

Конечным выходом для агента А являются
нечным выходом для агента В является

образом, каждый агент имеет собственный набор входов и выходов, и диалоги
также рассматриваются с позиций каждого из них в отношении того, какая часть
диалога им принимается, а какая

-

высказывается. Поэтому каждый сценарий

генерирует два тренировочных примера, а для генерации записей и окончатель­
ного выхода каждого агента используется одна и та же разделяемая рекуррент­

ная сеть. Диалог х- это список токенов (лексем) х0

••• х"

содержащих предло­

жения каждого агента, которые перемежаются символами, обозначающими,

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

Процедура обучения с учителем использует четыре различных вентильных
рекуррентных блока

(GRU).

Первый

GRUg кодирует входные цели, второй GRUq
GRU0 и GRU0 - это вентильные рекур­

генерирует условия диалога, а блоки

рентные блоки для выходов в прямом и обратном направлениях соответствен­
но. По сути, выход создается двунаправленным

GRU.

Все эти блоки подключа­

ются сквозным образом. В модели обучения с учителем параметры обучаются
с использованием входов, диалогов и выходов, доступных в тренировочных

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

GRU

в модели обучения с учи­

телем, по сути, предоставляет вероятностные выходы. Поэтому ту же модель

можно адаптировать для обучения с подкреплением, просто изменив функцию

потерь. Иными словами, комбинацию

GRU

можно рассматривать как некий

тип сети обучения стратегий. Эту сеть стратегий можно использовать для ге­
нерации развертывания методом Монте-Карло различных диалогов и их окон­

чательных вознаграждений. Каждое изсемплируемых действий становится

ГЛАВА

624

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

частью тренировочных данных, и это действие ассоциируется с соответствую­
щим окончательным вознаграждением такого развертывания. То есть в данном

подходе агент обучается лучшим стратегия, торгуясь сам с собой. Указанное

окончательное вознаграждение используется для обновления параметров сети
стратегий. Эти вознаграждения вычисляются на основе стоимости товаров, со­

гласованных по завершении диалога. Описанный подход можно рассматривать

как пример реализации алгоритма

REINFORCE [533].

Одной из проблем само­

обучения является тенденция агентов к обучению собственному языку, кото­
рый отличается от обычной человеческой речи, если обе стороны используют
обучение с подкреплением. Поэтому один из агентов ограничивается моделью,
основанной на обучении с учителем.
Что касается вырабатывания окончательного предсказания, то одна из воз­
можностей заключается в семплировании из вероятностного выхода

GRU.

Од­

нако при работе с рекуррентными сетями такой подход часто оказывается неоп­
тимальным. В связи с этим применяется двухстадийный подход. Прежде всего,
с помощью семплирования создаются высказывания-кандидаты. Затем вычис­
ляются ожидаемые вознаграждения, соответствующие каждому высказыва­

нию-кандидату, и выбирается тот из них, для которого вознаграждение имеет
максимальное значение. Для вычисления ожидаемого вознаграждения выход

масштабировался в соответствии с вероятностью диалога, поскольку отбор ди­
алога с низкой вероятностью любым из агентов весьма маловероятен.
В

[290]

бьш сделан ряд важных наблюдений относительно производительно­

сти такого подхода. Во-первых, методы обучения с учителем часто приводят к
тому, что агент легко сдается, тогда как методы обучения с подкреплением за­

ставляют агентов быть более настойчивыми в попытках добиться для себя луч­
шей сделки. Во-вторых, методы обучения с подкреплением часто вырабатыва­
ют тактику ведения переговоров, свойственную людям. В отдельных случаях,

чтобы добиться лучших для себя условий относительно другого товара, агенту
удавалось проявлять поддельную заинтересованность в товаре, который на са­

мом деле представлял для него не очень большую ценность.

9. 7.4.

Беспилотные автомобили

Как и в случае задачи локомоции робота, автомобиль вознаграждается за про­
движение из точки А в точку В без аварий и других нежелательных дорожных
происшествий. Автомобиль оборудуется видео- и аудиоаппаратурой, датчиками
сближения с посторонними предметами и датчиками движения для записи на­

блюдений. Задачей системы обучения с подкреплением является безопасное пе­
редвижение автомобиля из точки А в точку В независимо от дорожных условий.
Управление автомобилем

-

задача, в которой трудно определить правила,

регламентирующие действия в любой возможной ситуации. С другой стороны,

9. 7.

ТИПОВЫЕ ПРИМЕРЫ

625

судить о том, что управление автомобилем осуществляется правильно, относи­
тельно легко. Именно такая постановка задачи хорошо подходит для обучения с
подкреплением. И хотя полностью автономный автомобиль должен иметь ши­
рокий ряд компонент, соответствующих входам и датчикам различного типа,
мы ограничимся упрощенными условиями, когда используется единственная

камера

[46, 4 7]. Изучение этой системы будет полезно,

поскольку позволит про­

демонстрировать, что даже с одной фронтальной камерой в сочетании с обу­
чением с подкреплением можно добиться очень многого. Интересно отметить,

что идея была подсказана опубликованной в

1989 году работой, содержащей
Land Vehicle in а Neиral Network (ALVINN) [381 ],
указанной работы, выполненной 25 годами ранее,

описание системы Аиtопотоиs
и основным отличием от

бьшо использование более мощных наборов данных и вычислительных ресур­

сов. Таким образом, можно увидеть, насколько важную роль играют данные и
вычислительные ресурсы в построении современных систем обучения с под­
креплением.

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

езды по магистралям штатов Иллинойс, Мичиган, Пенсильвания и Нью-Йорк.
И хотя основным источником данных служила фронтальная камера, установлен­

ная на месте водителя, во время фазы тренировки использовались две дополни­
тельные камеры, которые были установлены в двух других позициях в перед­
ней части автомобиля и предназначались для сбора повернутых и смещенных
изображений. Эти вспомогательные камеры не применялись для принятия окон­
чательных решений, однако бьши полезны для сбора дополнительных данных.
Размещение дополнительных камер гарантировало, что с их помощью получа­

лись повернутые и сдвинутые изображения, поэтому их можно было исполь­
зовать для того, чтобы обучить сеть распознавать случаи, когда безопасность

автомобиля подвергалась риску. Вообще говоря, эти камеры использовались в
целях аугментации данных. Нейронная сеть обучалась минимизации расхожде­
ния между выходной командой управления сети и командой управления водите­

ля-человека. Заметьте, что это делает данный подход более близким к обучению
с учителем, чем к обучению с подкреплением. Методы обучения такого типа
также называют имитационным обучением

(imitation leaming) [427].

Имитаци­

онное обучение часто задействуют в качестве первого шага для облегчения "хо­
лодного запуска", свойственного системам обучения с подкреплением.
Сценарии, включающие имитационное обучение, часто напоминают сцена­
рии, включающие обучение с подкреплением. В таком сценарии можно относи­
тельно легко использовать обучение с подкреплением, предоставляя вознаграж­

дение в тех случаях, когда автомобиль движется без вмешательства человека.

626

ГЛАВА

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

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

соответствует тому, как должна обучаться беспилотная система

[46, 4 7].

Одной

из проблем, свойственных задачам наподобие беспилотных автомобилей, яв­
ляется то, что в процессе тренировки всегда необходимо учесть вопросы, свя­

занные с безопасностью. И хотя для большинства доступных беспилотных ав­
томобилей подробные описания предоставлены лишь в ограниченном объеме,
все же можно сделать вывод о том, что в этих условиях обучению с учителем
отдавалось большее предпочтение по сравнению с обучением с подкреплени­

ем. Тем не менее в рамках более широкой архитектуры нейронной сети, которая
бьша бы полезной в данном случае, различия между использованием обучения
с учителем и обучения с подкреплением являются незначительными. Общее

обсуждение обучения с подкреплением в контексте беспилотных автомобилей
содержится в

[612].
9.10. Она
5 сверточных слоев и 3 пол­
используется фильтр 5 х 5 с шагом

Архитектура сверточной нейронной сети представлена на рис.
включает

9 слоев,

в том числе слой нормализации,

носвязных слоя. В первом сверточном слое

2. В каждом из следующих двух слоев используется бесшаговая свертка с филь­
тром 3 х 3. За этими сверточными слоями следуют три полно связных слоя. Ко­
нечным выходом являлось управляющее значение, соответствующее обратной

величине радиуса поворота. Сеть имела

27 миллионов связей и 250 ООО параме­

тров. Подробное описание того, каким образом глубокая нейронная сеть управ­
ляет автомобилем, приведено в

[47].

Обученный автомобиль испытывался как в режиме имитации, так и в усло­
виях реального дорожного движения. В дорожных испытаниях всегда прини­

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

98%

времени. Видеоролик, демонстрирующий этот тип автономного вождения ав­

томобиля, доступен по ссылке

[611].

Благодаря визуализации карт активации

обученной сверточной нейронной сети (что выполнялось с использованием ме­
тодологии, описанной в главе

8)

был сделан ряд интересных наблюдений. В

частности, было замечено значительное смещение признаков в направлении
тех аспектов обучения, которые имели существенное значение для управления
автомобилем. В случае дорог без покрытия карты активации признаков обна­
ружили изменения профиля дороги. С другой стороны, если автомобиль на­
ходился в лесу, то карты активации признаков переполнялись шумом. В слу­

чае сверточной нейронной сети, обученной на изображениях

ImageN et, такого

не происходило, поскольку карты активации признаков в типичных случаях

9. 7.

627

ТИПОВЫЕ ПРИМЕРЫ

содержали полезные характеристики деревьев, листьев и т.п. Отличия этих двух

случаев обусловлены тем, что при беспилотном вождении автомобиля сверточ­
ная сеть тренируется для определенной цели и обучается выделению призна­
ков, имеющих значение для управления транспортным средством, к которому

специфические характеристики деревьев в лесу не имеют никакого отношения.

о

1

10 неiiроное

Выход : управление автомобилем
Полносвязный слой
Полносвязный слой

100 неiiроноа
1
Уплощение

Полносвязный слой

Сверточная
карта признаков

64@1 х 18

Сверточная
карта признаков

64@Зх20
Сверточная
карта признаков

48@5х22

Сверточная
карта признаков

36@14х47

Сверточная
карта признаков

24@31 х 98

Нормализованные
входные плоскости

З@ббх200

z=L================i*
Рис.

9.1О.

Входные плоскости
З@бб х 200

Архитектура нейронной сети системы управления

в беспилотном автомобиле, которая обсуждалась в
бликуется с разрешения компании

9.7.5.

[46]

(пу­

NVIDIA)

Предложение нейронных архитектур

с помощью обучения с подкреплением
Интересным применением обучения с подкреплением является обучение ар­
хитектуры нейронной сети для выполнения специфических задач . В качестве
примера обсудим случай, когда мы хотим определить структуру сверточной

628

ГЛАВА

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

нейронной сети, предназначенной для классификации такого набора данных,
как

CIFAR-10 [583].

Очевидно, что структура нейронной сети зависит от коли­

чества гиперпараметров, таких как количество фильтров, высота фильтра, ши­
рина фильтра, шаг по высоте и шаг по ширине. Эти параметры взаимосвязаны,
и параметры поздних слоев зависят от параметров ранних.

Метод обучения с подкреплением использует рекуррентную сеть в качестве
контроллера, управляющего принятием решений относительно параметров
сверточной нейронной сети, которую также называют дочерней сетью

network) [569].

Общая архитектура нейронной сети приведена на рис.

(child
9.11. Вы­

бор рекуррентной сети обусловливается последовательной зависимостью меж­
ду различными архитектурными параметрами. Классификатор

Softmax служит

для предсказания каждого выхода в виде токена, а не числового значения. Затем

этот токен используется в качестве входа для следующего слоя, что обозначено
на рис.

9 .11

штриховыми линиями. Генерирование параметров в виде токенов

приводит к дискретным пространствам действий, которые в обучении с подкре­
плением обычно встречаются чаще по сравнению в непрерывными.
Количество

Высота

Ширина

Шаг по

Шаг по

Количество

Высота

фильтров

фильтра

фильтра

высоте

ширине

фильтров

фильтра

\
\

\
\
\
\

\
\
\
\



Слой

СлойN

N-1

Слой

Рис.

N+1

9.11. Сеть-контроллер для обучения сверточной архитектуры дочерней
[569}. Сеть-контроллер обучается с помощью мгоритма REINFORCE

сети

Для генерирования сигнала вознаграждения дочерняя сеть запускалась на

валидационном наборе изображений

CIFAR-10.

Отметим, что для тестирования

точности дочерней сети она должна тестироваться на наборе данных

CIFAR-1 О.

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

REINFORCE.

Поэтому в данном случае сеть-контроллер в действительности

представляет собой сеть обучения стратегий

(policy network),

которая гене­

рирует последовательность взаимосвязанных параметров.

Ключевую роль играет количество слоев дочерней сети (которое также опре­
деляет количество слоев рекуррентной сети). Значение этого параметра не

9.8.

629

ПРАКТИЧЕСКИЕ ВОПРОСЫ БЕЗОПАСНОСТИ

остается постоянным и следует определенному графику изменения в процес­

се тренировки. На ранних итерациях используется меньшее количество слоев,

поэтому обучаемая архитектура сверточной нейронной сети является мелкой.
По мере обучения сети количество слоев постепенно увеличивается с течени­
ем времени. Метод градиентного спуска по стратегиям не слишком отличается

от того, который обсуждался в данной главе, за исключением того, что рекур­
рентная сеть тренируется с использованием сигнала вознаграждения, а не сети

прямого распространения. В

[569]

также обсуждаются различные типы опти­

мизации, такие как эффективные реализации параллелизма и использование
передовых архитектур наподобие архитектуры с короткозамкнутыми соеди­

нения.ми

9.8.

(skip connections).

Практические вопросы безопасности

Упрощение проектирования крайне сложных алгоритмов обучения с по­

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

ческого поведения. Простота, являющаяся величайшим достижением обучения,
управляемого поощрением, одновременно является опаснейшей ловушкой для

биологических систем. Поэтому имитация таких систем сталкивается с ана­
логичными ловушками с точки зрения искусственного интеллекта. Например,

плохо продуманная система вознаграждений может привести к непредвиден­
ным последствиям, обусловленным исследовательской природой процесса, по­

средством которого система обучается выполнению действий. Системы обу­
чения с подкреплением часто способны обучаться неизвестным "уловкам" и
"хитростям", скрытым в плохо спроектированных видеоиграх, которые мы
должны рассматривать как предупреждения о том, что может случиться в да­

леко не совершенном реальном мире. Робот, если ему удастся обмануть своими
действиями человека или функцию оценки, может научиться тому, что для по­
лучения вознаграждения ему достаточно лишь сделать вид, что он закручивает

колпачок на бутылке. Иными словами, проектирование функции оценки иногда
может оказаться вовсе не таким простым делом, как кажется на первый взгляд.

Кроме того, система может попытаться получить вознаграждение "неэтич­
ным способом". Например, робот-уборщик может попытаться заработать воз­

награждение, сначала создав беспорядок, а затем устранив его

[10].

Еще более

мрачные сценарии можно представить для роботов-медсестер. Что интерес­
но, подобные типы поведения иногда проявляют и люди. Такое нежелательное

ГЛАВА

630

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

сходство является непосредственным результатом упрощения процесса обуче­
ния машин за счет использования простых принципов, базирующихся на жаж­
де поощрения, свойственной живым организмам. Стремление к простоте ре­
зультатов приводит к передаче больших полномочий машине, что может иметь
непредвиденные последствия. В некоторых случаях даже при проектировании

функции вознаграждения возникают проблемы этического характера. Напри­
мер, если становится очевидным, что избежать ДТП не удается, то кого должен

спасать беспилотный автомобиль: своего водителя или двух пешеходов? Боль­
шинство людей, действуя рефлекторно в силу биологических инстинктов, в по­
добных ситуациях попытаются спасти себя, но захотим ли мы ориентировать

на это обучающую систему? В то же время убедить водителя-оператора в том,
что он должен доверять транспортному средству, несмотря на то что его лич­

ная безопасность не является высшим приоритетом для обучающей системы,
очень трудно. Кроме того, системы обучения с подкреплением чувствительны
к тому, как люди-операторы взаимодействуют с ними и манипулируют назна­
чением вознаграждений. Были случаи, когда чат-бота научили отпускать заме­

чания обидного или расистского характера.
Обучающим системам приходится очень нелегко при обобщении их опы­
та на незнакомые ситуации. Эта проблема носит название сдвиг распределе­
ния

(distributional shift).

Так, беспилотный автомобиль, который обучался в од­

ной стране, может быть бесполезным в другой стране. Точно так же в случае
обучения с подкреплением разведочные действия иногда могут становиться

опасными. Представьте робота, пытающегося припаять провод в электронном
устройстве, напичканном хрупкими электронными компонентами. В этих ус­

ловиях разведочные действия чреваты неприятностями. Все это указывает на
то, что невозможно создавать системы искусственного интеллекта (ИИ), не уде­

ляя должного внимания вопросам безопасности. Некоторые организации, такие
как

OpenAI [613],

стали лидерами в вопросах обеспечения безопасности ИИ.

Проблемы подобного рода обсуждаются также в

[10]

в рамках более широкого

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

9.9.

[424].

Резюме

Эта глава посвящена обучению с подкреплением, в котором агенты обучают­
ся оптимальным действиям, взаимодействуя с окружением и получая опреде­

ленное вознаграждение (или наказание) за свои действия. Существует несколь­
ко классов методов обучения с подкреплением, из которых наиболее популярны
метод Q-обучения и методы, основанные на обучении стратегиям игры. В по­
следние годы методы, обучающиеся стратегиям, приобретают все большую

9.10.

631

БИБЛИОГРАФИЧЕСКАЯ СПРАВКА

популярность. Многие из них реализуются в виде сквозных систем, интегриру­

ющих нейронные сети глубокого обучения для получения сенсорных входных
данных и обучения стратегиям, оптимизирующим вознаграждение. Ашоритмы

обучения с подкреплением применяются во многих задачах, таких как видеои­
гры, робототехника и беспилотные автомобили. Способность этих алгоритмов
обучаться на основе проведения экспериментов приводит к инновационным ре­
шениям, которые невозможно реализовать с помощью других форм обучения.
Вместе с тем алгоритмы обучения с подкреплением порождают уникальные
проблемы безопасности, обусловленные чрезмерным упрощением процесса об­

учения вследствие использования функций оценки вознаграждения.

9.10.

Библиографическая справка

Великолепный обзор методов обучения с подкреплением содержится в кни­
ге Саттона и Барто

[483].

Ряд других обзоров доступен по ссылке

Дейвида Сильвера по обучению с подкреплением доступны

[293]. Лекции
на YouTube [619].

Метод временных разностей был предложен Сэмюэлем в контексте програм­
мы для игры в шашки

[421]

и формализован Саттоном

[482]. Метод Q-обучения

был предложен Уоткинсом

[519], а доказательство его сходимости было при­
SARSA был введен в [412]. Ранние методы использо­
вания нейронных сетей в обучении с подкреплением были предложены в [296,
349, 492-494]. Нейронная сеть TD-Gammon, лежащая в основе программы для
игры в нарды, была предложена в [492].
ведено в

[520].

Алгоритм

Система, в которой для создания алгоритма глубокого Q-обучения, работа­
ющего с пикселями, использовалась сверточная нейронная сеть, была предло­

жена в пионерских работах

[335, 336].

В

[335]

было высказано предположение

о том, что представленный подход можно улучшить, воспользовавшись други­

ми хорошо известными идеями, такими как приоритетная очистка

sweeping) [343].

(prioritized

Асинхронные методы, использующие несколько агентов для

выполнения обучения, обсуждаются в

[337].

Применение нескольких асинхрон­

ных потоков выполнения позволяет избежать проблем корреляции внутри пото­
ка, что улучшает сходимость к высококачественным решениям. Асинхронный

подход такого типа часто используют вместо методики воспроизведения опыта

(experience replay).

В той же работе была предложена п-шаговая методика, в ко­

торой для предсказания Q-значений используется просмотр на п шагов вперед
(вместо

1 шага).

Одним из недостатков Q-обучения является то, что при определенных обсто­

ятельствах оно переоценивает значения действий. Улучшенный вариант Q-обу­
чения, известный как двойное Q-обучение (douЫe

[174].

Q-learning),

был предложен в

В оригинальной форме Q-обучения одни и те же значения используются

как для выбора, так и для оценки действий. В случае двойного Q-обучения эти

ГЛАВА

632

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

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

креплением в условиях разреженных данных обсуждается в

[428]. Такой подход

значительно улучшает производительность системы на играх Atari.
В последние годы популярность градиентного спуска по стратегиям пре­

высила популярность методов Q-обучения. Интересное упрощенное описа­
ние этого подхода применительно к игре Ропg на платформе Atari приведено в

[605].

Ранние подходы, основанные на использовании методов конечных раз­

ностей в градиентном спуске по стратегиям, обсуждаются в

[142, 355].

Ме­

тоды относительного правдоподобия для градиентного спуска по стратегиям
были впервые применены в алгоритме

REINFORCE [533].

результатов, касающихся этих алгоритмов, представлен в

Ряд аналитических

[484].

Градиентный

спуск по стратегиям бьm использован в целях обучения в программе для игры
го

[445],

хотя в общем подходе сочетается целый ряд различных элементов.

Естественный градиентный спуск по стратегиям был предложен в
продемонстрировано, что один из подобных методов

[432]

[230].

Было

хорошо работает

при обучении движениям роботов. Использование обобщенной оценки выго­

ды

(generalized advantage estimation - GAE) с непрерывным вознаграждением
[433]. Описанный в [432, 433] подход основан на оптимизации с

обсуждается в

помощью естественного градиентного спуска по стратегиям и называется оп­

тимизацией стратегии в пределах доверительной области

optimization -

(trust region policy

ТRРО). Основная идея заключается в том, что в обучении с под­

креплением плохие шаги должны наказываться более строго (чем в обучении
с учителем), поскольку они ухудшают качество собираемых данных. Поэтому

для метода TRPO более предпочтительны методы второго порядка с сопряжен­
ными градиентами (см. главу

3),

в которых обновления не выходят за пределы

доверительных областей. Также доступны обзоры, посвященные специфиче­
ским типам методов обучения с подкреплением, таким как алгоритм "актор
критик"

-

[ 162].

Поиск по дереву методом Монте-Карло был предложен в

ствии он был применен в игре го
но прочитать в

[52].

[135, 346, 445, 446].

[246].

Впослед­

Обзор этих методов мож­

Более поздние версии программыАlрhаGо обходились без

компонент обучения с учителем, адаптированных к шахматам и сеги, и рабо­
тали лучше в отсутствие начальных знаний

[446, 447].

В подходе

AlphaGo

со­

четается несколько идей, включая использование сетей обучения стратегий,
дерево поиска методом Монте-Карло и сверточные нейронные сети. Примене­
ние сверточных нейронных сетей для игры в го исследовалось в

[73, 307, 481].

Многие из этих методов задействуют обучение с учителем, чтобы имитировать

9.10.

633

БИБЛИОГРАФИЧЕСКАЯ СПРАВКА

стиль игры профессионалов го. Также были исследованы некоторые методы
ТD-обучения для игры в шахматы, такие как
и

Giraffe [259],

NeuroChess [496], KnightCap [22]

однако они оказались менее успешными, чем традиционные

движки. Сочетание сверточных нейронных сетей и обучения с подкреплени­
ем для пространственных игр- это новый (и успешный) рецепт, отличающий

алгоритм

Alpha Zero

от этих методов. Ряд методов, предназначенных для тре­

нировки самообучающихся роботов, представлен в

[286, 432, 433].

Обзор ме­

тодов глубокого обучения с подкреплением для генерации диалогов приведен
в

[291].

Разговорные модели, использующие лишь обучение с учителем с по­

мощью рекуррентных сетей, обсуждаются в

минавшийся в этой главе, описан в
основано на

[46, 47].

[290].

[440, 508].

Торговый чат-бот, упо­

Описание беспилотных автомобилей

Курс по беспилотным автомобилям, который читается в

Массачусетском технологическом институте, доступен по ссьшке

[612].

Обуче­

ние с подкреплением также применяется для генерирования структурирован­

ных запросов на естественном языке
тур в различных задачах

[563]

и для обучения нейронных архитек­

[19, 569].

Обучение с подкреплением можно использовать для улучшения моделей

глубокого обучения. Это достигается с помощью механизма внимания

540], в

[338,

котором обучение с подкреплением позволяет сфокусировать внимании

на избранных фрагментах данных. Идея заключается в том, что значительная

часть данных зачастую несущественна для обучения, и обучение тому, как фо­
кусировать внимание на избранных фрагментах, может значительно улучшить

результаты. Отбор релевантных фраментов осуществляется посредством об­
учения с подкреплением. Механизмы внимания обсуждаются в разделе

10.2.

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

9.10.1.

Программные ресурсы
и испытательные системы

Несмотря на значительный прогресс в проектировании алгоритмов обуче­
ния с подкреплением, достигнутый в последние годы, ассортимент коммерче­

ских программ, использующих эти методы, все еще довольно ограничен. Тем
не менее доступен ряд испытательных программных платформ, которые мож­
но применять для тестирования различных алгоритмов. Возможно, наилучшим
источником высококачественных базовых средств обучения с подкреплением

является библиотека

OpenAI [623].

Реализации алгоритмов обучения с подкре­

плением также доступны в библиотеках

TensorF/ow [624]

и

Keras [625].

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

ГЛАВА

634

9.

ГЛУБОКОЕ ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ

обучения. Некоторые фреймворки облегчены и могут служить для быстрого те­
стирования. Например, библиотека

ELF [498],

созданная компанией

Facebook,

предназначена для стратегических игр в режиме реального времени и представ­

ляет собой облегченный фреймворк глубокого обучения с открытым исходным
кодом. Библиотека

OpenAI Gym [620]

предоставляет среды разработки алгорит­

мов обучения с подкреплением для игр на платформе
роботов. Библиотека

OpenAI Universe [621]

Atari

и имитированных

может использоваться для адапта­

ции программ обучения с подкреплением к средам

Gym.

Например, в эту сре­

ду добавлены имитации беспилотных автомобилей. Обучающая среда

Arcade,
Atari, описана в [25].
Multi-Joint dynamics with Contact- многоз­

предназначенная для разработки агентов в контексте игр
Имитатор

MuJoCo [609]

(от англ.

венная динамика с контактом)- это физический движок, предназначенный для
имитации роботов.

Par/AJ [622] Facebook.

пущенный компанией

фреймворк с открытым исходным кодом, за­
Он предназначен для исследования диалого­

вых систем и реализован на языке

Python.

Компания

Baidu создала платформу

с открытым исходным кодом для собственного проекта беспилотных автомо­

билей, который называется

9.11.
1.

Apollo [626].

Упражнения

Справедливость уравнения

9.24, на котором основан трюк, используемый

в методе относительного правдоподобия, была доказана в этой главе для
случая дискретных действий а. Обобщите этот результат на случай дей­
ствий, характеризуемых непрерывными значениями.

2.

На протяжении всей главы для реализации градиентного спуска по стра­

тегиям использовалась нейронная сеть, обучающая стратегию игры (сеть

обучения стратегии). Опишите важность выбора архитектуры этой сети
в условиях различных задач.

3.

Имеются два игровых автомата, каждый из которых оборудован

100 све­

товыми индикаторами. Распределение вероятных размеров вознагражде­
ния, которое можно получить от каждого автомата, является неизвестной

(и, возможно, зависящей от автомата) функцией текущей конфигурации
включенных индикаторов. В процессе игры конфигурация включенных
индикаторов изменяется закономерным образом, однако эта закономер­

ность неизвестна. Объясните, почему эта задача более трудная по срав­
нению с задачей многорукого бандита. Предложите решение на основе
глубокого обучения, которое обеспечило бы при каждой попытке опти­

мальный выбор автомата, максимизирующего среднее вознаграждение в
пересчете на одну попытку в установившемся состоянии.

9.11.

635

УПРАЖНЕНИЯ

4.

Рассмотрим популярную игру "камень, ножницы, бумага". Люди часто
пытаются предугадать следующий ход, исходя из предыстории ходов. Ка­

кой подход вы использовали бы для обучения этой игре: метод Q-обуче­
ния или метод на основе обучения стратегии игры? Почему? Рассмотрим
ситуацию, когда игрок-человек выбирает один из трех ходов с вероят­
ностью, которая является неизвестной функцией предыстории ходов,

включающей по



предьщущих ходов каждого игрока. Предложите ме­

тод глубокого обучения, предназначенный для игры с таким противником.
Обеспечит ли хорошо продуманный метод глубокого обучения достиже­
ние преимущества над игроком-человеком? Какой стратегии должен при­

держиваться игрок-человек, чтобы обеспечить вероятностный паритет с
противником в виде модели глубокого обучения?

5.

Рассмотрим игру крестики-нолики, по завершении которой вознагражде­

нием является одно из значений

{-1, О, + 1}. Допустим,

вы обучили значе­

ния всех состояний (в предположении, что каждая из сторон играет опти­

мальным образом). Объясните, почему состояния, которые соответствуют
позициям, не являющимся конечными, будут иметь ненулевые значения.
Что вы можете сказать о связи оценок ценности промежуточных шагов с

вознаграждением, получаемым в конце игры?

6.

Напишите реализацию Q-обучения, которая обучает значение каждой
пары "состояние

действие" для игры крестики-нолики, многократно

-

играя против человека. Никакие аппроксиматоры функций не использу­
ются, поэтому вся таблица пар "состояние
мощью уравнения

9.5.

-

действие" обучается с по­

Исходите из предположения, что каждое из Q-зна­

чений в этой таблице может быть инициализировано нулевым значением.

7.

Двухшаговая ТD-ошибка определяется следующим образом:

о?)

= 'i + Y'i+i + y2 V(s 1+J-V(s;).

А. Предложите алгоритм ТD-обучения для 2-шагового случая.
Б. Предложите привязанный к стратегии п-шаговый алгоритм наподобие

SARSA.

Покажите, что в этом случае обновление будет представлять

собой усеченный вариант уравнения

9 .16,

в котором А. =

1.

Что вы мо­

жете сказать относительно случая, когда п = оо?

В. Предложите не привязанный к стратегии п-шаговый алгоритм обуче­
ния наподобие Q-обучения и опишите его преимущества и недостатки
по сравнению с алгоритмом Б.

Глава

10

Дополнительные вопросы

глубокого обучения

Почему бы нам вместо того, чтобы пытаться создать
программу, имитирующую ум взрослого человека, не

попытаться создать программу, которая имитировала бы
ум ребенка? Ведь если ум ребенка получает соответствующее
воспитание, то он становится умом взрослого человека.

Алан Тьюринг "Вычислительные машины и разум"

10.1.

Введение

В этой главе мы рассмотрим ряд дополнительных вопросов глубокого обу­
чения, которые либо не вписываются естественным образом в тематику преды­
дущих глав, либо их уровень сложности требует отдельного описания. В част­
ности, мы обсудим следующие темы.

1.

Модели внимания. Люди не используют активно сразу всю информацию,
поступающую им от окружения в каждый момент времени. Вместо это­

го они фокусируются на определенных фрагментах данных, имеющих

отношение к текущей задаче. В биологии это называется вниманием.
Аналогичный принцип может быть использован и в приложениях искус­

ственного интеллекта. Модели с вниманием применяют обучение с под­
креплением (или другие методы) для фокусирования на небольших пор­
циях данных, имеющих отношение к задаче, решаемой в данный момент.
В последнее время такие методы привлекаются для улучшения произво­
дительности.

2.

Модели с селективным доступом к внутренней памяти. Тесно связаны
с моделями внимания, хотя между ними имеется и различие, которое за­

ключается в том, что модели внимания фокусируются главным образом на

638

ГЛАВА

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

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

ных задач. Люди обладают огромным репозиторием данных, хранящихся
в клетках головного мозга. Однако в любой момент времени осуществля­

ется доступ лишь к небольшой части этих данных, имеющих отношение к
текущей задаче. Точно так же современные компьютеры располагают зна­

чительными объемами памяти, но доступ компьютерных программ к этой
памяти осуществляется управляемым селективным способом посредством
переменных, реализующих механизмы косвенной адресации. Все нейрон­

ные сети обладают памятью в виде скрытых состояний. Однако эта память
настолько тесно связана с вычислениями, что отделить доступ к данным

от вычислений очень трудно. За счет повышения селективности операций
чтения и записи во внутреннюю память нейронной сети и явного введения

механизмов адресации можно добиться того, чтобы выполняемые сетью
вычисления более тесно отражали стиль программирования, свойствен­
ный людям. По сравнению с более традиционными нейронными сетями

такие сети часто обладают большей обобщающей способностью при вы­
полнении предсказаний для данных, не входящих в тренировочный на­

бор. Селективное обращение к памяти можно рассматривать как одну из
форм применения механизма внимания к внутренней памяти нейронной
сети. Результирующую архитектуру называют сетью с памятью

network)
3.

или нейронной машиной Тьюринга

(memory
(neural Turing machine).

Генеративно-состязательные сети. Предназначены для создания моде­
лей, порождающих данные на основе предоставленных примеров. Сети
этого типа могут создавать реалистично выглядящие образцы на основе
данных, используя две конкурирующие сети. Одна из сетей (генератор)

формирует синтетические образцы, тогда как другая (дискриминатор)
классифицирует смешанный набор оригинальных примеров и сгенери­
рованных образцов, относя их либо к реальному, либо к синтетическо­
му классу. В результате такой состязательной игры генератор постепенно
улучшается до тех пор, пока дискриминатор уже не сможет отличать под­

дельные образцы от реальных. Кроме того, учет специфики конкретного
контекста (например, аннотирование изображений) позволяет управлять

созданием желаемых образцов определенного типа.
Моделям внимания часто приходится принимать нелегкие решения отно­
сительно того, за какими частями данных необходимо следить. Эту проблему

можно считать аналогичной проблеме выбора, с которой приходится сталки­
ваться в алгоритме обучения с подкреплением. Некоторые из методов, приме­
няемых для создания моделей на основе внимания, в значительной мере при­

вязаны к обучению с подкреплением, в то время как для других методов это не

10.2.

МЕХАНИЗМЫ ВНИМАНИЯ

639

так. Поэтому, прежде чем читать данную главу, настоятельно рекомендуется
изучить материал, изложенный в главе

9.

С нейронными машинами Тьюринга тесно связан класс архитектур, полу­
чивший название сети с памятью. В последнее время эти сети хорошо заре­
комендовали себя при создании систем "вопрос

-

ответ'', хотя результаты все

еще оставляют желать лучшего. Структуру нейронной машины Тьюринга мож­
но считать IIШюзом ко многим возможностям искусственного интеллекта, кото­

рые пока что не реализованы в полной мере. Как это вообще свойственно исто­

рии развития нейронных сетей, значительную роль в обеспечении реального
прогресса в этом направлении сыграет увеличение объемов доступных данных

и вычислительных мощностей.
Большая часть книги посвящена обсуждению сетей прямого распростране­

ния, функционирование которых основано на изменении весов под воздействи­
ем ошибок. Состязателыюе обучение

(competitive leaming) -

это совершенно

другой способ обучения, в котором нейроны соревнуются за право реагировать
на поднабор входных данных. Веса модифицируются на основании того, кто
именно стал победителем. Такой подход представляет собой разновидность об­

учения по правилам Хебба (см. главу

6),

и его полезно применять в таких зада­

чах обучения без учителя, как кластеризация, снижение размерности и сжатие
данных. Эта парадигма также будет обсуждаться в данной главе.

Структура главы
В следующем разделе обсуждаются механизмы внимания, применяемые в
глубоком обучении. Некоторые из этих методов тесно связаны с моделями глу­
бокого обучения. Дополнение нейронных сетей внешней памятью рассматри­
вается в разделе

10.3. Генеративно-состязательные сети описаны в разделе 10.4,
а методы соревновательного обучения обсуждаются в разделе 10.5. Об ограни­
чениях нейронных сетей речь пойдет в разделе 10.6. Резюме главы приведено
в разделе 10.7.

10.2.

Механизмы внимания

Для решения конкретных задач люди редко используют весь объем входных
данных, поступающих от органов чувств. В качестве примера рассмотрим за­

дачу нахождения адреса по номеру дома (находящегося на известной улице).
Здесь важной составляющей задачи является идентификация номера, указан­

ного на табличке или почтовом ящике дома. В процессе этого на сетчатку глаза
поступает изображение более широкой сцены, однако человек редко фокуси­

рует внимание на изображении в целом. Сетчатка содержит небольшую об­
ласть, так называемое желтое пятно, или мm"""--------

~--

Сетчатка (масштаб не соблюден)

Рис.

10.1.

Наименьшая плотность

рецепторов

Разрешающая способность различных участков глаза.

Большая часть того, на че.м фиксируется внимание глаза, воспри­
нимается макулой

10.2.

МЕХАНИЗМЫ ВНИМАНИЯ

641

Интересный случай применения описанного подхода предоставляют изобра­

жения, захватываемые системой
была создана компанией

Google Street View (Просмотр улиц), которая
Google для получения панорамных видов улиц в горо­

дах многих стран. Для такого типа изображений требуется связывание домов с
их номерами. Несмотря на принципиальную возможность записи номеров до­
мов в процессе получения снимков, эта информация должна быть отделена от

самого изображения. Существует ли систематический способ идентификации
номеров, соответствующих адресу, в случае наличия большого изображения

фронтальной части дома? Ключевую роль в этом играет возможность фокуси­
рования на небольшой части изображения для обнаружения искомого объекта.
Основной трудностью является отсутствие заранее известного способа иден­

тификации соответствующей части изображения с необходимой информацией.
Следовательно, в данном случае требуется итеративный поиск определенных
частей изображений с использованием информации, полученной на предыду­
щих итерациях. В подобных ситуациях полезно брать пример с биологических

организмов, которые быстро находят визуальные подсказки среди того, на чем
фокусируется их взгляд, чтобы определить, гдеследует продолжить поиск. На­
пример, если первоначально наш взгляд случайно останавливается на дверной
ручке, то из своего опыта мы знаем (об этом нам сообщают обученные нейро­
ны), что, для того чтобы увидеть номер, необходимо перевести взгляд вверх
влево или вправо. Итеративный процесс такого типа во многом напоминает
методы обучения с подкреплением, обсуждавшиеся в предыдущей главе, в ко­

торых для обучения тому, что именно необходимо сделать (например, обнару­
жить номер дома), чтобы получить вознаграждение, итеративно применяются

подсказки, полученные на предыдущих шагах. Как будет показано далее, мно­
гие приложения, обладающие механизмом внимания, сочетаются с обучением
с подкреплением.

Понятие внимания также хорошо подходит для обработки естественного

языка, когда искомая информация скрыта в длинных текстовых сегментах. Эта
задача часто возникает в приложениях наподобие машинного перевода и систе­
мах "вопрос

-

ответ", в которых рекуррентная нейронная сеть должна кодиро­

вать все предложение в виде вектора фиксированной длины (см. раздел

7.7.2).

В результате нейронная сеть часто не может сфокусироваться на соответствую­
щих частях исходного предложения для его перевода на целевой язык. В подоб­

ных случаях целесообразно выравнивать целевое предложение по соответству­
ющим частям исходного предложения в процессе перевода. И здесь механизмы
внимания могут оказаться очень полезными при выделении соответствующих

частей исходного предложения в процессе создания определенной части це­
левого предложения. Примечательно то, что механизмы внимания не всегда

должны помещаться в каркас обучения с подкреплением. В действительности

ГЛАВА

642

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

большинство механизмов внимания в моделях обработки естественного язы­
ка не используют обучение с подкреплением, в то же время концентрируясь на

определении весов конкретных частей входных данных.

10.2.1.

Рекуррентные модели визуального внимания

В работе по рекуррентным моделям визуального внимания

[338]

для концен­

трации на важных частях изображения применяется обучение с подкреплением.
Идея заключается в том, чтобы использовать (относительно простую) нейрон­
ную сеть, в которой высокое разрешение поддерживается только для опреде­

ленных областей изображения, центрированных на определенном участке. Этот

участок может изменяться с течением времени по мере обучения все большему
числу признаков релевантных частей изображения, подлежащих исследованию.
Выбор определенного участка в конкретный момент времени называется взгля­
дом

(glimpse). Рекуррентная нейронная сеть

служит в качестве контроллера для

идентификации точного расположения в каждый момент времени (на каждом
временном шаге); этот выбор базируется на обратной связи со взглядом на пре­
дыдущем временном шаге. В

[338]

показано, что использование простой ней­

ронной сети, так называемой сети обработки взгляда

(glimpse network),

для

обработки изображения с помощью обучения с подкреплением способно пре­
восходить традиционные сверточные сети в задачах классификации.
Мы рассмотрим динамические условия, в которых изображение может быть
частично наблюдаемым, а наблюдаемые части могут меняться от одного вре­
менного шага t к другому. Такая постановка задачи является довольно общей,

хотя, безусловно, мы можем использовать ее в более конкретных условиях, ког­

да изображение Х, остается фиксированным во времени. Общую архитектуру
можно представить на модульном уровне, рассматривая отдельные части ней­

ронной сети как "черные ящики". Описание этих модульных частей приводит­
ся ниже.

1.

Датчик взгляда. Для заданного изображения с представлением

xt датчик

взгляда создает изображение, подобное тому, которое формируется на сет­
чатке глаза. Предполагается, что датчик взгляда не имеет полного доступа

к изображению (ввиду ограничения полосы пропускания) и ограничен на­
блюдением лишь небольшой части изображения в высоком разрешении,

центрированной в точке lн. Это аналогично тому, как глаз воспринимает
изображение в реальной жизни. Разрешение определенных участков изо­

бражения снижается с увеличением расстояния от точки

/1_ 1. Обозначим это
редуцированное представление изображения через p(Xr> lн)· Датчик
взгляда, показанный в левом верхнем углу на рис. 10.2, является частью бо­
лее крупной сети - сети обработки взгляда. Эта сеть обсуждается ниже.

643

10.2. МЕХАНИЗМЫ ВНИМАНИЯ

· .
(~
cer.

вэr

Kн1(QQQ]
Qh" ,

Сеть взгляда

Рис.

10.2. Рекуррентная

архитектура, позволяющая задействовать механизм ви­

зуального внимания

2.

Сеть обработки взгляда (или просто сеть взгляда). Содержит датчик
взгляда и кодирует в скрьпых пространствах как положение lн , так пред­

ставление р(Х" lн) взгляда, объединяя их впоследствии в единое скры­
тое представление с использованием линейного слоя. Результирующий
выход

g 1 является

входом, соответствующим t-й временной метке скры­

того слоя рекуррентной нейронной сети. Сеть взгляда представлена в пра­
вом нижнем углу на рис .

3.

10.2.

Рекуррентная нейронная сеть. Это основная сеть, создающая на каждом
временном шаге выходы, управляемые действиями (для получения возна­

граждений) . Рекуррентная нейронная сеть включает сеть обработки взгля­
да, а значит, и датчик взгляда (поскольку он является частью сети обработ­
ки взгляда) . Обозначим выходное действие сети в момент времени

t через

а 1 , и с каждым таким действием связывается вознаграждение . В простей­

шем случае вознаграждением может бьпъ метка класса объекта или число
из примера с

Google Street View.

Выводится также положение участка

/1

изображения, на котором должен быть сфокусирован взгляд в следующий
момент времени . Выход п( а 1 ) реализуется в виде вероятности действия а 1 •
Эта вероятность определяется посредством функции Softтax, как это
обычно делается в сетях обучения стратегий (см. рис .

9.6). Тренировка ре­

куррентной сети осуществляется с использованием целевой функции
фреймворка

REINFORCE для максимизации ожидаемого

вознаграждения

с течением времени. Размер поощрения за каждое действие получается

путем умножения
дел

9.5.2).

log(n(aJ) на выгоду от данного действия (см. раз­

Поэтому подход в целом представляет собой метод обучения с

подкреплением , в котором выходы, соответствующие положению фокуса

644

ГЛАВА

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

внимания и выполняемому действию, обучаются одновременно. Следует
отметить, что предыстория действий рекуррентной сети кодируется в

скрьrгых состояниях
рис.

10.2,

h1 •

Общая архитектура нейронной сети приведена на

справа. Сеть обработки взгляда является частью этой архитек­

туры, поскольку рекуррентная сеть задействует взгляд на изображение
(или текущее состояние сцены) для выполнения вычислений на каждом
временном шаге.

Следует отметить, что в этих контекстах использование архитектуры рекур­
рентной нейронной сети полезно, но не является необходимым.

Обучение с подкреплением
Рассматриваемый подход встраивается в рамки обучения с подкреплением,
что позволяет использовать его вместо распознавания или классификации изо­
бражений в любой визуальной задаче, требующей обучения с подкреплением (та­

кой, например, как выбор действий робота для достижения определенной цели).
Тем не менее частным случаем данного подхода является обучение с учителем.

Действия а, соответствуют выбору метки класса с помощью Sоftmах-пред­
сказания. Вознаграждение

r1 на

t-м временном шаге равно

ной классификации после выполнения



случае коррект­

t шагов в процессе данного развертыва­

ния или О в противном случае. Общее вознаграждение

R1 на t-м временном шаге

определяется суммой всех дисконтированных вознаграждений по будущим вре­

менным шагам. Однако это действие может меняться в зависимости от конкрет­
ного приложения. Например, если речь идет о задаче аннотирования изобра­

жений, то действию может соответствовать выбор следующего слова подписи.
В рассматриваемых условиях тренировка выполняется аналогично тому, как

это делается в подходе, который обсуждался в разделе
го вознаграждения в момент времени

t

9.5.2. Градиент ожидаемо­

определяется следующим выражением:

VE[R,] = R1 V'log(л(a1 )).

(10.1)

Обратное распространение ошибки в нейронной сети выполняется с исполь­
зованием этого градиента и разверток стратегий

(policy rollouts).

На практике

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

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

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

10.2.

645

МЕХАНИЗМЫ ВНИМАНИЯ

10.2.1.1.

Применение в задачах

аннотирования изображений
В этом разделе описано применение подхода на основе механизма визуаль­

ного внимания (который обсуждался в предыдущем разделе) в задаче анноти­
рования изображений

(image captioning).

Эта задача обсуждалась в разделе

7. 7.1.

В данном подходе входом рекуррентной нейронной сети для первой временной

отметки является одиночное представление

v всего изображения. Если входом

служит представление признака всего изображения, то оно определяет вход
лишь на первом временном шаге, когда генерирование подписи только начина­

ется. Однако в случае применения механизма внимания мы хотим сфокусиро­

ваться на той части изображения, которая соответствует генерируемому слову.
Поэтому имеет смысл предоставлять различные входы, ориентированные на ис­
пользование механизма внимания, на различных шагах. Рассмотрим, например,
следующую подпись:

"Bird flying during sиnset" (Птица,
Когда генерируется слово

"flying",

летящая на закате)

внимание должно концентрироваться на

крыльях птицы, представленной на изображении, а когда генерируется слово

"sunset" -

на заходящем солнце. В данном случае рекуррентная нейронная сеть

должна получать на каждом временном шаге представление изображения, в кото­

ром внимание сфокусировано на определенном участке. Кроме того, как обсуж­
далось в предьщущем разделе, значения, соответствующие этим расположени­

ям, также генерируются рекуррентной сетью на предьщущем временном шаге.

Данный подход может быть реализован с помощью архитектуры, приведен­
ной на рис.

10.2, посредством предсказания на каждом временном шаге одного

слова подписи (в качестве действия) вместе с расположением на изображении,
на котором должно быть сфокусировано внимание на следующем временном

шаге. Эта идея адаптирована в

[540], но с

определенными модификациями, об­

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

14 х 14 (рис. 10.3). Вместо того чтобы

получать изменен­

ную версию изображения на каждом временном шаге с помощью датчика взгля­
да, в

[540] весь процесс начинается с L различных предварительно обработанных

вариантов изображения, которые центрируются на различных участках изобра­
жения, поэтому механизм внимания ограничивается выбором одного из этих

расположений. Затем вместо получения расположения
шаге получается вектор вероятностей
ность каждого из

L

/1 на (t - 1)-м временном
ii1 порядка L, указывающий на релевант­

расположений по отношению к тем представлениям, кото­

рые были предварительно обработаны сверточной нейронной сетью. В моделях
жесткого внимания

(hard attention)

с помощью вектора вероятностей

ii1

сем-

ГЛАВА

646

плируется одно из

L

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

расположений, а предварительно обработанное представ­

ление этого расположения подается в качестве входа для скрытого состояния

h1

рекуррентной сети на следующем временном шаге. Иными словами, сеть обра­
ботки взгляда в задаче классификации заменяется этим механизмом семплиро­
вания. В моделях мягкого внимания

(soft attention)

представительные модели

всех

L расположений усредняются посредством использования вектора вероят­
ii1 в качестве весов. Это усредненное представление подается в качестве
входа для скрытого состояния на временном шаге t. В моделях мягкого внима­
ностей

ния для тренировки используется непосредственно обратное распространение,
тогда как в моделях жесткого внимания

дел

9.5.2).

-

алгоритм

Подробно оба этих метода описаны в

REINFORCE

(см. раз­

[540].

Карта признаков 14х 14

:~;;,-~:

Лестница

1
·~"

и стена на
холме

1

1..--------~

Рис.

10.3.

10.2.2.

1. Входное

2. Сверточная сеть

изображение

извлечение признаков

3. RNN с вниманием

4. Подпись

Использование визуш~ьного внимания при аннотировании изображений

Механизмы внимания для машинного перевода

Как обсуждалось в разделе

7.7.2, рекуррентные нейронные сети (и, в частно­
- LSTM) часто при­

сти, их реализации в виде долгой краткосрочной памяти

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

этих условиях вариант

LSTM

почти всегда наиболее предпочтительный. Ради

простоты изложения (а также для упрощения рисунков со схемами нейронных

архитектур) ограничимся рассмотрением однослойной сети. На практике ис­
пользуются несколько слоев, однако обобщение нашего рассмотрения на слу­
чай многослойных сетей не составит большого труда. Для встраивания меха­
низма внимания в нейронную сеть машинного перевода существует несколько
способов. Остановимся на методе, предложенном Луонгом и др.

[302], который

представляет собой улучшение оригинального механизма, предложенного Ба­
данау и др.

[18].

Начнем с архитектуры, рассмотренной в разделе

7. 7 .2.

Для того чтобы упро­

стить обсуждение, эта архитектура заново воспроизведена на рис.

10.4, а.

Обра­

тите внимание на наличие двух рекуррентных нейронных сетей, одна из кото­

рых кодирует исходное предложение в представление фиксированной длины,
тогда как вторая декодирует это представление в целевое предложение. Таким

10.2.

647

МЕХАНИЗМЫ ВНИМАНИЯ

образом, в данном случае мы имеем дело непосредственно с обучением по ме­
тоду "последовательность в последовательность", который используется для ма­
шинного перевода с помощью нейронных сетей. Скрытые состояния исходной

и целевой сетей обозначим через h1 используется вновь созданное скрытое представление й?>. Общая ар­
хитектура системы на основе механизма внимания приведена на рис. 10.4, б. Дан­
ная модель усилена по сравнению с той, которая приведена на рис. 10.4, а, за счет
добавления механизма внимания. В [302] эта модель названа моделью глобалыю­
го внимания (global attention model). Это модель мягкого внимания, поскольку
вместо строгих заключений относительно того, какое из исходных слов является

наиболее релевантным по отношению к целевому слову, они взвешиваются с ис­

пользованием вероятносmых весов. В оригинальной работе

[302]

обсуждается

еще одна, локш~ьная модель, в которой делаются однозначные заключения о ре­

левантности целевых слов. Для ознакомления с подробным описанием этой мо­

дели обратитесь к

[302].

Варианты улучшения
Базовую модель можно усовершенствовать, используя несколько вариантов
ее улучшения. Во-первых, вектор внимания а, вычисляется через экспоненты

от скалярных произведений векторов hr°> и

h} 2> (см. уравнение 10.3). Эти скаляр­

ные произведения также называются оценками сходства. В действительности
нет никаких причин для того, чтобы аналогичные позиции в исходном и целевом

предложениях имели одинаковые скрытые состояния. Фактически исходная и
целевая сети даже не обязаны использовать скрытые представления одной и той
же размерности (хотя именно так часто и делается на практике). Тем не менее в

[302]

было показано, что оценки сходства на основе скалярного произведения

хорошо работают в моделях глобального внимания и оказались наилучшим вы­

бором по сравнению с параметризованными альтернативами. Не исключено, что
удовлетворительная работа этого простого подхода является результатом того,
что он регуляризирует данную модель. Альтернативные параметризованные ва­

рианты вычисления сходства работают лучше в локальных моделях (основан­

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

ляются параметрами, что обеспечивает дополнительную гибкость в отноше­
нии связывания исходных и целевых позиций. Возможны следующие вариан­
ты оценки сходства:

650

ГЛАВА

Оценка(t,

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

'/iY). ~(2)

Скалярное произведение

(~(2))тw}iY)

General:

s )=

v:

tanh [

ОБУЧЕНИЯ

матрица параметров~

(10.6)

w. [~«::] JConcat: мюрица парам"1j)ов w.; и вектор v.

Первый из этих вариантов идентичен обсуждавшемуся в предыдущем раз­
деле в связи с уравнением

(общая) и

Concat

10.3.

Две остальные модели носят названия

General

(конкатенированная). Оба этих варианта параметризуются с

помощью векторов весов, также указанных выше. Вычислив оценки сходства,

можно вычислить значения внимания тем же способом, что и в случае оценок
сходства на основе скалярного произведения:

а

(t, s ) -_

ехр(Оценка( t,

т

s))

(10.7)

!ехр(Оценка(t, }))
}=\

Эти значения внимания используются точно так же, как и в случае оценки
сходства с помощью скалярного произведения. Матрица параметров

тор

W0

и век­

v должны быть обучены в процессе тренировки. Модель Concat бьmа пред­
0

ложена в более ранней работе

[18],

тогда как модель

General,

по всей видимо­

сти, хорошо работает в случае использования механизма жесткого внимания.
Между этой моделью

[18],

[302]

и моделью, предложенной ранее Баданау и др.

существуют определенные различия. Мы выбрали эту модель, поскольку

она проще и непосредственно иллюстрирует базовые концепции. Кроме того,
в соответствии с результатами, приведенными в

[302],

она, вероятно, обеспе­

чивает лучшую производительность. Также существуют различия в выборе ар­

хитектуры нейронной сети. В работе Луонга и др. использовалась однонаправ­
ленная рекуррентная нейронная сеть, тогда как в работе Баданау и др. отдано
предпочтение двунаправленной рекуррентной нейронной сети.

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

По-видимому, условия жесткого внимания изначально ориентировались на обу­
чение с подкреплением, тогда как условия мягкого внимания допускают диффе­
ренцирование и поэтому могут использоваться с обратным распространением

ошибки. В

[302]

также предлагается механизм локального внимания, фокуси­

рующийся на небольшом окне контекста. Такой подход имеет общие черты с
механизмом жесткого внимания (например, в части фокусирования внимания
на небольшой области изображения, что обсуждалось в предыдущем разделе).
Но вместе с тем этот подход не совсем жесткий, поскольку он фокусируется на

10.3. НЕЙРОННЫЕ СЕТИ С ВНЕШНЕЙ ПАМЯТЬЮ

651

небольшой части предложения, используя веса важности, генерируемые меха­
низмом внимания. Такой подход способен реализовать локальный механизм,
избегая трудностей тренировки в методе обучения с подкреплением.

10.3.

Нейронные сети с внешней памятью

В последние годы было предложено несколько родственных архитектур, до­
полняющих нейронные сети с постояююй памятью

(persistent memory),

в ко­

торых понятие памяти отчетливо отделяется от вычислений и предоставляется

возможность управлять способами селективного доступа к памяти и измене­
ния ее ячеек. Можно считать, что сети

LSTM

обладают постоянной памятью,

хотя память в них не отделена в явном виде от вычислений. Это обусловлено
тем, что вычисления в нейронной сети тесно связаны со значениями скрытых
состояний, которые играют роль хранилищ промежуточных результатов вы­
числений.

Нейронные машины Тьюринга

-

это нейронные сети с внешней памятью.

Базовая нейронная сеть может обращаться к внешней памяти для выполнения

операций чтения/записи и поэтому играет роль контроллера при выполнении
вычислений. За исключением LSТМ-сетей большинство нейронных сетей не
использует понятие постоянной памяти на длинных временных промежутках.

В действительности в традиционных нейронных сетях (включая LSТМ-сети)
понятия вычислений и памяти не разделяются отчетливым образом. Возмож­
ность манипулирования постоянной памятью, если она сочетается с отчетли­
вым разделением вычислений и памяти, приводит к программируемому ком­
пьютеру, который может имитировать алгоритмы на основе примеров входа и
выхода. Этот принцип привел к появлению ряда родственных архитектур, таких

[ 15 8], дифференцишtьные нейронные компью­
[528].

как нейронные машины Тьюринга
теры

[159]

и сети с памятью

Почему полезно учиться на примерах входа и выхода? Почти все универ­
сальные формы ИИ базируются на предположении о возможности имитировать
поведение биологических существ, когда мы имеем лишь примеры входов (на­
пример, сигналы датчиков) и выходов (например, действия) без ясного пони­

мания того, что собой представляют алгоритмы/функции, которые фактически
вычислялись для данного набора поведений. Чтобы понять, в чем состоит труд­
ность обучения на примерах, начнем с задачи сортировки. И хотя алгоритмы
сортировки хорошо известны и строго определены, мы рассмотрим вымышлен­

ную ситуацию, в которой отсутствует доступ к этим определениям и алгорит­

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

ГЛАВА

652

10.3.1.

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОm

ОБУЧЕНИЯ

Воображаемая видеоигра: обучение
сортировке на примерах

Несмотря на то что сортировка набора чисел с помощью любого известно­
го алгоритма (например, быстрой сортировки) не составляет труда, эта задача
значительно усложнится, если нам не сообщат, что функцией данного алгорит­
ма является сортировка чисел. Вместо этого нам предоставляют лишь пары
перемешанных входов и отсортированных выходов, и мы должны автомати­

чески обучиться последовательностям действий для любого заданного входа,
чтобы выход отражал то, чему мы обучились на примерах. Поэтому задачей яв­

ляется обучение сортировке на примерах, используя конкретный набор предо­
пределенных действий. Это обобщенное представление машинного обучения,
в котором входы и выходы могут иметь любой формат (например, это могут

быть пиксели или звуки), и задача заключается в том, чтобы научиться вы­
полнять преобразование входа в выход путем выполнения последовательности
действий. Эти действия являются элементарными шагами, которые разреше­

но выполнять в данном алгоритме. Мы уже можем заметить, что такой подход,

управляемый действиями, тесно связан с методологиями обучения с подкрепле­
нием, которые обсуждались в главе

9.

Рассмотрим простой случай, когда мы хотим сортировать только последова­
тельности, состоящие из четырех чисел, и поэтому имеем на нашем "экране
видеоигры" четыре позиции, содержащие текущее состояние исходной после­

довательности чисел. Экран этой воображаемой видеоигры показан на
рис.

10.5, а.

Существует шесть возможных действий, которые игрок может со­

вершить, и каждое действие имеет вид функции
стами содержимое в расположениях

i

SWAP(i,j), которая меняет ме­

и}. Поскольку существуют четыре воз­

можных значения каждой из позиций

i и}, общее количество возможных

действий равно ( ~) = 6. Целью видеоигры является сортировка чисел за счет
использования как можно меньшего количества перестановок. Мы хотим скон­
струировать алгоритм путем разумного выбора перестановок. Кроме того, ал­
горитм машинного обучения не наделяется предварительным знанием того, что
выходы должны представлять собой отсортированные последовательности, и
ему предоставляются лишь примеры входов и выходов для создания модели,

которая (в идеальном случае) обучается стратегии для преобразования входов
в их отсортированные версии. Кроме того, игроку не предоставляются пары
"вход

-

выход", и он лишь поощряется вознаграждениями, когда совершает

удачные перестановки, которые ведут к отсортированному порядку.

10.3. НЕЙРОННЫЕ СЕТИ С ВНЕШНЕЙ ПАМЯТЬЮ
Значение в nозиции

653

ID 1

32 14
123 4

ID

nозиции

а) Выходной экран
~----+ Вероятность nерестановки

Наблюдаемое состояние

( 1, 2)

~ >------+ Вероятность nерестановки (1, 3)

(текущее состояние

Нейронная

nоследовательности)

сеть

Вероятность nерестановки ( 1, 4)

:::;;

~

Вероятность nерестановки (2, 3)

(/)

Вероятность nерестановки (2, 4)

1 Выnолнить семnлированную nер~е~ст-ан-о-вку-~ 'j~'~ ""'""""~

(3,

О

-

(10.22)

скорость обучения. Обычно скорости обучения о. предоставляют

возможность уменьшаться со временем. Итерации продолжаются до тех пор,

пока не будет достигнута сходимость. Веса, соответствующие близким узлам
решетки, будут получать близкие обновления, и поэтому с течением времени
их значения будут сближаться. Таким образом, процесс тренировки вынужда­

ет кластеры соседних узлов решетки иметь близкие точки, что удобно для
визуализации.

Использование обученной карты для 2D-вложений
Самоорганизующуюся карту можно применять для создания двухмерного
вложения точек. Для сетки размера

kхk

все двухмерные решеточные коорди­

наты будут располагаться в квадрате, находящемся в положительном квадранте

684

ГЛАВА

с вершинами (О, О), (О,

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО ОБУЧЕНИЯ

k - 1), (k - 1, О) и (k - 1, k- 1). Каждая точка сетки в ре­

шетке является вершиной с целочисленными координатами. Простейшим двух­

мерным вложением является представление каждой точки Х ближайшей к ней
точкой сетки (нейроном-победителем). Однако такой подход приведет к пере­
крыванию представлений точек. Кроме того, можно построить двухмерное

представление данных, в котором каждая координата является одним из

значений {О ... k

kхk

-1} х {О ... k -1}. Именно по этой причине самоорганизующую­

ся карту иногда называют дискретизированным методом снижения размерно­
сти. Для устранения неоднозначности, возникающей из-за перекрывания точек,

можно привлекать различные эвристики. В случае применения к многомерным
данным документов визуальная проверка указывает на то, что документы, от­

носящиеся к определенной теме, часто отображаются на определенные локаль­

ные области. К тому же документы, относящиеся к родственным темам (напри­
мер, политике и выборам), обычно отображаются на смежные области.
Иллюстративные примеры того, как располагаются самоорганизующиеся до­
кументы, относящиеся к четырем темам, в случае использования прямоуголь­

ной и гексагональной решеток, приведены на рис.

10.12, а и 6,

соответственно.

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

Драма

Музыка

а) Прямоугольная

Рис.

10.12. Примеры

б) Гексагональная

двухмерной визуализации документов, относящихся к

четырем те.мам

Для структуры самоорганизующихся карт находятся веские обоснования в
нейробиологии. В головном мозге млекопитающих входные сигналы, поступа­
ющие от различных органов чувств (например, от органов осязания) , отобра­
жаются на ряд складчатых клеточных слоев, так называемых экранных струк­

тур

(129).

Если какие-либо близко расположенные части тела подвергаются

10.6. ОГРАНИЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

685

воздействию (например, тактильному), то это приводит к возбуждению групп
клеток, которые также являются соседними. Поэтому близость (сенсорных)
входных воздействий транслируется в близость активизируемых нейронов, как
в случае самоорганизующихся карт. Аналогично идее сверточных нейронных
весов, возникшей на основе результатов, полученных в нейробиологии, по­

добные сведения всегда используются для создания тех или иных форм регу­
ляризации.

Несмотря на то что с началом современной эры глубокого обучения сети
Кохонена используются не так часто, как прежде, в них скрыты значительные
возможности в отношении обучения без учителя. Кроме того, базовая идея со­

ревновательности может быть внедрена даже в многослойных сетях прямого
распространения. Многие принципы соревновательности часто комбинируются

с более традиционными сетями прямого распространения. Например, как раз­
реженные автокодировщики, так и автокодировщики, действующие по прин­

ципу "победитель получает все" (см. раздел

2.5 .5 .1 ),

базируются на принципах

соревновательного обучения. Точно так же понятие нормализации локального

отклика (см. раздел

8.2.8)

базируется на идеях соревнования между нейрона­

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

ние годы, можно ожидать, что базовые принципы соревновательности все еще

будут внедряться в традиционные сети прямого распространения.

10.6.

Ограничения нейронных сетей

Глубокое обучение значительно прогрессировало в последние годы, а в неко­
торых задачах, таких как классификация изображений, даже продемонстриро­
вало свое превосходство над возможностями человека. Такие же поразительные

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

соблазнительными кажутся заявления о том, что в конечном счете превосход­
ство искусственного интеллекта над человеком может приобрести всеобщий
характер. Однако существует ряд фундаментальных технических барьеров, ко­
торые необходимо преодолеть, прежде чем мы сможем создавать машины, спо­
собные обучаться и думать как люди

[261]. В

частности, для получения резуль­

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

способность нейронных сетей демонстрировать превосходство над человеком

ГЛАВА

686

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

по определенным параметрам. Ниже мы обсудим ключевые проблемы, а заод­
но и некоторые направления последних исследований.

10.6.1.

Амбициозная задача: разовое обучение

Несмотря на то что в последние годы глубокое обучение привлекает к себе

все большее внимание, что обусловлено его успехами при решении крупномас­
штабных задач (по сравнению с умеренной производительностью, продемон­

стрированной в первые годы на небольших объемах данных), в имеющихся на
сегодняшний день технологиях глубокого обучения существуют узкие места.

В задачах наподобие классификации изображений, при решении которых глу­
бокому обучению удалось превзойти возможности человека, это достигалось

неэффективным с точки зрения формирования выборок способом. Например,
база данных lтageNet содержит свыше миллиона изображений, и для того, что­
бы сеть могла правильно классифицировать какой-либо класс, ей часто требу­
ется предоставлять тысячи образцов. Человеку, чтобы он научился распозна­
вать, что такое грузовик, не требуется изучать тысячи изображений. Во многих
случаях достаточно показать ребенку грузовик всего один раз, и он сможет рас­
познать другой грузовик, даже если тот отличается моделью, формой и цветом.

Это свидетельствует о том, что возможности человека в отношении обобщения
полученных знаний применительно к новым условиям гораздо выше возмож­

ностей искусственных нейронных сетей. Подход, основанный на способности
к обучению всего на одном или нескольких примерах, получил название разо­
вое обучение

(one-shot leaming).

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

онов лет и передавалась от поколения к поколению. В некотором смысле мож­
но считать, что в структуре нейронных соединений человека уже закодированы

знания, накопленные за миллионы лет благодаря эволюционному опыту. Кро­
ме того, люди пополняют знания в течение всей жизни, решая самые разноо­

бразные задачи, что ускоряет процесс обучения решению любой новой задачи.
Впоследствии обучение выполнению специфических задач (таких, как распоз­

навание грузовика) сводится к тонкой настройке кода, либо врожденного, либо
приобретенного человеком на протяжении жизни. Иными словами, люди

-

мастера переносимого обучения как в пределах поколения, так и между поко­
лениями.

Важнейшей областью будущих исследований является разработка обобщен­
ных форм переносимого обучения, обеспечивающих повторное использование

знаний, приобретенных в процессе обучения выполнению конкретной задачи,

10.6. ОГРАНИЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

687

для решения других задач. Преимущества переносимого обучения в какой-то

степени уже были продемонстрированы в глубоком обучении. Как обсуждалось
в главе

8,

сверточные нейронные сети наподобие

AlexNet [255]

часто подвер­

гаются предварительному обучению на таких больших репозиториях изобра­
жений, как

ImageNet.

Впоследствии, когда потребуется применить нейронную

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

обученных в предыдущих слоях, остается неизменным в новом наборе данных.
Во многих случаях обученные признаки удается обобщить на ряд задач, удаляя
последние слои и заменяя их слоями, учитывающими специфику новой зада­

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

word2vec,

повторно применяются во многих задачах интеллектуального анализа текста,

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

Существует еще одна форма переносимого обучения, которая базируется на
понятии так назьmаемогомеж:задачного обучения

(leaming across tasks).

Основ­

ная идея заключается в повторном использовании результатов той работы, кото­

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

задач. Этот принцип называется обучение обучению
Платт

[497]

(leaming-to-leam).

Тран и

определили обучение обучению следующим образом. Если заданы

семейство задач, опыт обучения каждой задаче и семейство мер производитель­
ности (по одной для каждой задачи), то говорят, что алгоритм является мгорит­

мом обучения обучению, если его производительность при выполнении каждой
задачи улучшается как с накоплением опыта, так и с увеличением количества

задач. Основная проблема обучения обучению коренится в том факте, что все
задачи в чем-то отличаются друг от друга, что затрудняет перенос опыта между

ними. Поэтому обучение в пределах одной задачи осуществляется быстро, тогда

как межзадачное обучение осуществляется под управлением знаний, приобре­
таемых более плавным способом, позволяющим уловить изменение структуры
задачи при переходе от одной целевой области к другой

[416].

Иными словами,

в этом случае мы имеем дело с двухзвенной организацией обучения задачам.
Данный подход также называют мета-обучением

(meta-leaming), хотя

этот тер­

мин несколько перегружен и используется еще в нескольких концепциях ма­

шинного обучения. Способность обучаться обучению

-

уникальное свойство

биологических существ, благодаря которому живые организмы функционируют
лучше даже при решении задач, слабо связанных с теми задачами, на которых

688

ГЛАВА

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

приобретался опыт. На простейшем уровне даже предварительная тренировка

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

слоях представляют собой примитивные формы (например, отрезки) и сохра­
няют свою полезность независимо от рода задачи и набора данных, к которым
применяются. С другой стороны, последний слой может быть весьма специфи­
ческим для конкретной задачи. Однако на тренировку одного слоя уйдет гораздо

меньше времени, чем на тренировку всей сети.
В ранней работе по разовому обучению

[ 116]

для переноса изученных зна­

ний из одной категории задач в другую использовались байесовские модели.

Некоторые успехи в мета-обучении были продемонстрированы с помощью
структурированных архитектур, в которых использовались понятия внимания,

рекурсии и памяти. В частности, хорошие результаты были получены при обу­
чении на задачах различных категорий с помощью нейронных машин Тьюрин­
га

[416].

Способность сетей с памятью к обучению на ограниченных объемах

данных была известна давно. Например, даже сеть с внутренней памятью на­
подобие

LSTM

продемонстрировала впечатляющие результаты при обучении

не предоставлявшимся ей ранее квадратичным функциям на небольшом коли­
честве примеров. В этом отношении нейронная машина Тьюринга
лее эффективная архитектура, и в

[416]

-

еще бо­

показано, как ее можно использовать в

целях мета-обучения. Нейронные машины Тьюринга также применялись для

создания согласующих сетей, используемых при разовом обучении

[507].

Не­

смотря на то что указанные сети отражают определенный прогресс в области

разового обучения, возможности этих методов все еще остаются примитивны­
ми по сравнению с возможностями человека. В силу этого данная тема остает­

ся областью, открытой для будущих исследований.

10.6.2. Амбициозная

задача: энергетически

эффективное обучение
С эффективностью семплирования тесно связана энергетическая эффек­
тивность. Системы глубокого обучения, работающие на высокопроизводи­
тельном оборудовании, неэффективны с точки зрения потребления энергии,

необходимой им для выполнения своих функций. Например, для параллельно­
го выполнения интенсивных вычислений с помощью нескольких

GPU

может

потребоваться мощность свыше одного киловатта. В то же время для функцио­
нирования человеческого мозга едва ли потребуется мощность, превышающая

20

Вт, что намного меньше мощности обычной лампы накаливания. Другой

важный момент заключается в том, что человеческий мозг редко выполняет

10.6. ОГРАНИЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

689

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

к повышению обобщающей способности. Это дает основания предположить,
что архитектуры, делающие акцент на обобщении, а не на точности, могут де­

монстрировать неплохую энергоэффективность.
Недавно был разработан ряд алгоритмов, обеспечивающих повышенную
энергоэффективность вычислений за счет определенной потери точности. Не­
которые из этих методов демонстрируют улучшенную обобщающую способ­

ность, обусловленную эффектами шума вычислений с пониженной точностью.
В

(83]

предлагаются методы использованиябинарных весов, обеспечивающие

эффективное выполнение вычислений. Влияние использования различных
представительных кодов на энергоэффективность исследовано в

(289].

Извест­

но, что некоторые типы нейронных сетей, содержащие спайковые, или импуль­
сные, нейроны, отличаются большей энергоэффективностью

[60]. Понятие им­

пульсных нейронов непосредственно основано на биологической модели мозга
млекопитающих. Базовая идея заключается в том, что нейроны возбуждаются
не на каждом цикле распространения, а только тогда, когда мембранный потен­
циал достигает определенного значения. Мембранный потенциал

-

это вну­

тренняя характеристика нейрона, связанная с его электрическим зарядом.

Энергоэффективность часто достигается в сетях небольшого размера с уда­
ленными избыточными соединениями. Кроме того, удаление избыточных сое­

динений способствует регуляризации. В

[169]

предлагается обучать веса и сое­

динения нейронной сети одновременно с удалением избыточных соединений. В

частности, удалять можно веса, значения которых близки к нулю. Как обсужда­
лось в главе

4, обучение сети,

приводящее к нулевым весам, может достигаться

за счет L 1 -регуляризации. В то же время в

(169]

показано, что L 2 -регуляризация

обеспечивает более высокую точность. Поэтому в

[169]

используется L 2 -регу­

ляризация наряду с удалением весов, значения которых находятся ниже опре­

деленного порога. Удаление весов осуществляется итеративным способом, при
котором веса повторно обучаются после их удаления, после чего связи с низ­
кими значениями весов вновь удаляются. На каждой итерации обученные веса
из предыдущей фазы используются для следующей фазы. Тем самым плотная
сеть может быть разрежена до сети с намного меньшим количеством соедине­
ний. Кроме того, удаляются также мертвые нейроны с нулевыми входными и

выходными соединениями. О возможных дальнейших улучшениях сообщалось
в

(168],

где данный подход был объединен с кодированием Хаффмана и кван­

тизацией для сжатия. Целью квантизации является уменьшение количества би­
тов, представляющих каждое соединение. Применение такого подхода в сети

AlexNet [255] позволило уменьшить объем требуемой памяти в 35 раз, сокра­
тив его с 240 до 6,9 Мбайт без потери точности. Как следствие, модель удалось

690

ГЛАВА

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

разместить во внутрипроцессорной кеш-памяти

ти

DRAM.

SRAM вместо

ОБУЧЕНИЯ

внешней памя­

Преимуществами такого подхода являются скорость, энергоэффек­

тивность и возможность выполнения мобильных вычислений на встроенных
устройствах. В частности, для достижения этих целей в

[ 168]

было использо­

вано аппаратное ускорение, что стало возможным благодаря размещению мо­
дели в SRАМ-кеше.

Еще одним направлением является разработка оборудования, специально
предназначенного для нейронных сетей. Следует отметить, что в человеческом

организме не существует различий между "программами" и "оборудованием".
В случае компьютеров разделение этих понятий оправдано, но одновременно

является источником неэффективности, не свойственной мозгу человека. Про­
ще говоря, модели вычислений, идеи которых почерпнуты из известных нам

экспериментальных фактов о функционировании человеческого мозга, харак­
теризуются тесной интеграцией программ и оборудования. В последние годы
значительный прогресс был достигнут в области нейроморфных вычислений

(neuromorphic computing) (114].

Это понятие базируется на новой архитектуре

микрочипов, содержащих импульсные нейроны, синапсы низкой точности и
масштабируемую коммуникационную сеть. Более подробное описание архи­

тектуры сверточной нейронной сети (основанной на нейроморфных вычисле­
ниях), которая обеспечивает распознавание изображений на уровне, отвечаю­

щем требованиям современности, приведено в

10. 7.

[ 114].

Резюме

Эта глава бьmа посвящена рассмотрению ряда тем глубокого обучения, ха­
рактеризующихся повышенной сложностью. Мы начали с обсуждения меха­
низмов внимания, которые используются как для обработки изображений, так
и текстовых данных. Во всех случаях привлечение механизмов внимания при­

водило к улучшению обобщающей способности нейронной сети. Механизмы
внимания также могут быть задействованы для дополнения сетей внешней па­

мятью. С теоретической точки зрения сеть с памятью обладает в терминах тью­
ринг-полноты теми же свойствами, что и рекуррентная нейронная сеть. Однако

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

обеспечивает более высокую точность классификации при работе с последова­
тельностями, длина которых превышает длину последовательностей, содержа­

щихся в тренировочном наборе данных. Простейшим примером сети с памя­
тью является нейронная машина Тьюринга, последующим обобщением которой
стал дифференциальный нейронный компьютер.

10.8.

691

БИБЛИОГРАФИЧЕСКАЯ СПРАВКА

Генеративно-состязательные сети

-

относительно недавняя архитектура,

использующая процесс состязательного взаимодействия генеративной (порож­
дающей) и дискриминационной сетей для генерирования синтетических об­
разцов, похожих на реальные примеры из базы данных. Такие сети можно при­
менять в качестве генеративных моделей, создающих входные примеры для

тестирования алгоритмов машинного обучения. Кроме того, налагая опреде­
ленные условия на генеративный процесс, можно создавать образцы с различ­
ными типами контекста. Эти идеи находят применение в различных задачах,

включая преобразование текста в изображение и преобразование изображения
в изображение.
Также были кратко рассмотрены многочисленные дополнительные темы,

обсуждаемые в последние годы, такие как одноразовое обучение и энергоэф­
фективное обучение. Эти направления представляют области, в которых тех­
нология нейронных сетей еще значительно отстает от возможностей человека.

Несмотря на существенный прогресс, достигнутый за последнее время, эти об­
ласти все еще оставляют широкий простор для будущих исследований.

10.8.

Библиографическая справка

Ранние методы использования механизмов внимания для обучения нейрон­
ных сетей были предложены в

[59, 266].

Рекуррентные модели визуального

внимания, которые обсуждались в этой главе, базируются на

[338].

Распозна­

вание нескольких объектов на изображении с помощью визуального внимания

обсуждается в
ревода с

[15]. Две наиболее известные модели нейронного машинного пе­
использованием механизма внимания рассмотрены в [18, 302]. Идеи

механизмов внимания также были расширены на аннотирование изображений.
Например, в

[540]

представлены методы аннотирования изображений, базиру­

ющиеся как на мягкой, так и на жесткой модели внимания. Использование мо­

делей внимания для резюмирования текста описано в

[413]. Применение

меха­

низмов внимания для фокусирования на специфических частях изображения

позволяет визуализировать работу систем "вопрос- ответ"

[395, 539, 542]. По­

лезным дополнением механизма внимания является использование простран­

ственных сетей-трансформеров, обеспечивающих селективное кадрирование
или фокусирование на отдельных частях изображения. Использование моделей
внимания для визуализации систем "вопрос- ответ" описано в
Нейронные машины Тьюринга

[158]

и сети с памятью

[299].
[473, 528] были пред­

ложены примерно в одно и то же время. Впоследствии нейронная машина Тью­

ринга бьша обобщена до уровня дифференциального нейронного компьютера за
счет использования улучшенных механизмов распределения памяти и механиз­

мов отслеживания последовательности записей. Нейронная машина Тьюринга

ГЛАВА

692

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

и дифференциальный нейронный компьютер применялись в ряде задач, таких

как копирование, ассоциативное повторное обращение, сортировка, опрос гра­
фовых баз данных и языковые запросы. С другой стороны, основными областя­
ми применения сетей с памятью бьши понимание естественного языка и систе­

мы "вопрос

-

ответ"

[473, 528].

Однако обе эти архитектуры довольно схожи.

Основным различием является то, что модель, описанная в

[473],

фокусируется

на механизмах адресации по содержимому, а не по расположению, что умень­

шает необходимость в увеличении четкости изображений. Более целенаправ­
ленное исследование систем "вопрос

ответ" предоставлено в

-

[257].

В

[393]

введено понятие нейронного программного интерпретатора, представляющего

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

ринга, спроектированная с применением обучения с подкреплением

[550, 551],

которую можно использовать для обучения широкому классу сложных задач. В

[551]

продемонстрировано обучение простых алгоритмов на примерах. Парал­

GPU обсуждается в [229].
Генеративно-состязательные сети (GAN) бьши предложены в [149], а велико­
лепное руководство по этой теме содержится в [145]. В одном из ранних методов

лелизация этих методов с помощью

аналогичная архитектура предлагалась для генерирования изображений стульев
с помощью сверточных сетей
триваются в

[420].

[103].

Улучшенные алгоритмы обучения рассма­

Основные трудности, возникающие в процессе тренировки

состязательных сетей, связаны с нестабWlыюстью и насыщением. Теоретиче­

ское рассмотрение некоторых из этих проблем наряду с методами их устране­
ния содержится в

[11, 12]. GAN на основе понятия энергии предложены в [562],

где утверждается, что сети этого типа характеризуются лучшей стабильностью.

Идеи состязательности также были обобщены на архитектуры автокодировщи­
ков

[311 ].

Генеративно-состязательные сети часто применяются для генерации

реалистичных изображений с различными свойствами

[95, 384].

В таких слу­

чаях в качестве генератора используется деконволюционная сеть, в связи с чем

результирующие сети называют сетями

DCGAN.

Идея условных генеративных

сетей и их применение для генерирования объектов с контекстом обсуждается в

[331, 392].

Недавно такой подход был использован для преобразования изобра­

жений в изображения

[215, 370, 518].

Несмотря на то что генеративно-состя­

зательные сети часто задействуются для обработки изображений, в последнее

[546]. Ис­
видеокадра описано в [319].

время область их применения бьша расширена на последовательности
пользование

CGAN для предсказания

следующего

Ссылки на самые ранние работы по соревновательному обучению можно

найти в

[410, 411].

В работе Гершо и Грея

[136]

содержится отличный обзор ме­

тодов векторной квантизации, которые представляют собой альтернативу ме­
тодике разреженного кодирования

[75].

Самоорганизующаяся карта Кохонена

10.9.

УПРАЖНЕНИЯ

была введена в

[248],

693
а более подробное обсуждение этой концепции тем же

автором содержится в

[249, 250]. Различные варианты базовой архитектуры, та­
[126, 317].
Методы обучения обучению обсуждаются в [497]. В самых ранних методах
этой категории применяются байесовские модели [116]. Более поздние модели
фокусировались на нейронных машинах Тьюринга различного типа [416, 507].
Методы нулевого обучения предложены в [364, 403, 462]. Для долгосрочного
обучения могут быть использованы эволюционные методы [543]. Для повыше­
кие как нейронный газ, используются для инкрементного обучения

ния энергоэффективности глубокого обучения были предложены многочислен­

ные методы, такие как использование бинарных весов
микрочипы

[83, 389],

[ 114] и механизмы сжатия [213, 168, 169]. Также

были разработаны

специализированные методы для сверточных нейронных сетей

10.8.1.

специальные

[68].

Программные ресурсы

Рекуррентная модель для механизма визуального внимания доступна по

ссылке

[627].

Основанный на пакете МАТLАВ код механизма внимания для

нейронного машинного перевода, который рассматривался в данной главе, до­

ступен по ссылке

[628].

Реализации нейронной машины Тьюринга средствами

[629, 630]. Обе реализации связаны между
[630], адаптирует некоторые элемен­
ты подхода [629]. В оригинальной реализации используется контроллер LSTM.
Реализации в Keras, Lasagne и Torch доступны по ссылкам [631-633]. Некото­
рые реализации сетей с памятью из Facebook доступны по ссылке [634]. Реа­
лизация сетей с памятью в TensorFlow доступна по ссылке [635]. Реализации
сетей с динамической памятью в Theano и Lasagne доступны по ссылке [636].
Реализация DCGAN в TensorFlow доступна по ссылке [637]. Некоторые ва­
рианты GAN (и другие, которые обсуждались в данной главе) доступны по
ссылке [638]. Реализация GAN в Keras доступна по ссылке [639]. Реализации
различных типов GAN, включая Wasserstein GAN и вариационный автокоди­
ровщик, доступны в [640]. Эти реализации выполняются в средах PyTorch и
TensorFlow. Реализация в TensorFlow сети GAN для преобразования текста в
изображение доступна по ссылке [641], причем эта реализация построена по­
верх вышеупомянутой DCGAN, реализованной в [637].
TensorFlow

доступны по ссылкам

собой, поскольку подход, применяемый в

10.9.
1.

Упражнения

В чем состоят основные отличия подходов, используемых в моделях с
мягким и жестким вниманием?

2.

Покажите, как бы вы использовали модели внимания для улучшения при­

ложения классификации на основе токенов, которое обсуждалось в rnaвe

7?

694

3.

ГЛАВА

10. ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ ГЛУБОКОГО

ОБУЧЕНИЯ

Какое отношение имеет алгоритм k-средних к соревновательному обу­
чению?

4.

Реализуйте самоорганизующуюся карту Кохонена с помощью
гольной и

5.

2)

1) прямоу­

гексагональной решеток.

Пусть задана игра для двух участников наподобие

GAN с целевой функ­
цией/ (х, у), и мы хотим вычислить minxmaxyf(x, у). Как соотносятся
между собой величины min х max У f (х, у) и min У max х f (х, у) и когда
они равны?

6.

Пусть задана функция

f(x,

f

(х, у)

= sin(x

+у). Мы хотим минимизировать

у) по х и максимизировать по у. Реализуйте для

GAN

чередование

процессов градиентного спуска и подъема, которые обсуждались в дан­
ной книге, с целью оптимизации этой функции. Будете ли вы всегда по­
лучать одно и то же решение, если начинать с разных стартовых точек?

Библиография

1. D. Ackley, G. Hinton, and Т. Sejnowski. А learning algorithm for Boltzmann
machines. Cognitive Science, 9(1), рр. 147-169, 1985.
2.

С. Aggarwal.

3.

С.

Aggarwal. Data mining: The textbook. Springer, 2015.

4.

С.

Aggarwal. Recommender systems: The textbook. Springer, 2016.

5.

С.

Aggarwal. Outlier analysis. Springer, 2017.

6.

С.

Aggarwal. Machine leaming for text. Springer, 2018.

Data classification: Algorithms and applications, CRC Press, 2014.

7. R. Ahuja, Т. Magnanti, and J. Orlin. Network flows: Theory, algorithms, and
applications. Prentice Hall, 1993.
8.

Е.

Aljalbout, V. Golkov, У. Siddiqui, and D. Cremers. Clustering with deep
learning: Taxonomy and new methods. arXiv:1801.07648, 2018.

https://arxiv.org/abs/1801.07648

9. R. Al-Rfou, В. Perozzi, and S. Skiena. Polyglot: Distributed word
representations for multilingual nlp. arXiv: 1307.1662, 2013.
https://arxiv.org/abs/1307.1662

10. D. Amodei at al. Concrete proЫems inAI safety. arXiv:1606.06565, 2016.
https://arxiv.org/abs/1606.06565

11.

М. Arjovsky and L. Bottou. Towards principled methods for training generative adversarial networks. arXiv:1701.04862, 2017.

https://arxiv.org/abs/1701.04862

12.

М.

Arjovsky, S. Chintala, and L. Bottou. Wasserstein gan. arXiv:1701.07875,
2017.
https://arxiv.org/abs/1701.07875

13. J.

Ва

and R. Caruana. Do deep nets really need to

Ье

deep? NIPS Conference,

рр.2654--2662,2014.

14. J.

Ва,

J. Kiros, and G. Hinton. Layer normalization. arXiv:l607.06450, 2016.

https://arxiv.org/abs/1607.06450

696

БИБЛИОГРАФИЯ

15. J. Ва, V. Мnih, and К. Kavukcuoglu. Multiple object recognition with visual
attention. arXiv: 1412.7755, 2014.
https://arxiv.org/abs/1412.7755

16.

А. Babenko, А. Slesarev, А. Chigorin, and V. Lempitsky. Neural codes for
image retrieval. arXiv:1404.1777, 2014.

https://arxiv.org/abs/1404.1777

17.

М.

Baccouche, F. Mamalet, С. Wolf, С. Garcia, and А. Baskurt. Sequential
deep leamingfor human action recognition. lnternational Workshop оп Нитап
Behavior Understanding, рр. 29-39, 2011.

18. D. Bahdanau, К. Cho, and У. Bengio. Neural machine translation Ьу jointly
learning to alignand translate. JCLR, 2015. Also arXiv:J409.0473, 2014.
https://arxiv.org/abs/1409.0473

19.

В. Baker, О. Gupta, N. Naik, and R. Raskar. Designing neural network architectures usingreinforcement leaming. arXiv:lбll.02167, 2016.

https://arxiv.org/abs/1611.02167

20.

Р.

Baldi, S. Brunak, Р. Frasconi, G. Soda, and G. Pollastri. Exploiting the past
and the futurein protein secondary structure prediction. Вioinformatics, 15(11 ),
рр. 937-946, 1999.

21. N. Ballas, L. Уао, С. Pal, andA. Courville. Delving deeper into convolutional
networks forleaming video representations. arXiv:1511.06432, 2015.
https://arxiv.org/abs/1511.06432

22. J. Baxter, А. Tridgell, and L. Weaver. Кnightcap: а chess program that leams
Ьу comЬining td (lambda) with game-tree search. arXiv cs/9901002, 1999.
23.

М.

Bazaraa, Н. Sherali, and С. Shetty. Nonlinear programming: theory and
algorithms. JohnWiley and Sons, 2013.

24. S. Becker, and У. LeCun. lmproving the convergence of back-propagation
leaming with second order methods. Proceedings of the 1988 connectionist
models summer school, рр. 29-37, 1988.
25.

М.

Bellemare, У. Naddaf, J. Veness, and М. Bowling. The arcade leaming
environment: An evaluation platform for general agents. Journal of Artificial
lntelligence Research, 47, рр. 253-279, 2013.

26. R.

Е.

Bellman. Dynamic Programrning. Princeton University Press, 1957.
27. У. Bengio. Leaming deep architectures for AI. Foundations and Trends in
Machine Learning, 2(1), рр. 1-127, 2009.
28.

У. Bengio, А. Courville, and Р. Vincent. Representation leaming: А review and
new perspectives. JEEE TPAMI, 35(8), рр. 1798-1828, 2013.

БИБЛИОГРАФИЯ

697

29.

У.

30.

У. Bengio and О. Delalleau. On the expressive power of deep architectures.
Algorithmic Learning Theory, рр. 18-36, 2011.

31.

У. Bengio, Р. LamЫin, D. Popovici, and Н. Larochelle. Greedy layer-wise
training of deep networks. NIPS Conference, 19, 153, 2007.

32.

У.

Bengio, N. Le Roux, Р. Vincent, О. Delalleau, and Р. Marcotte. Convex neural networks. NIPS Conference, рр. 123-130, 2005.

33.

У. Bengio, J. Louradour, R. Collobert, and J. Weston. Curriculum leaming.
ICML Conference, 2009.

34.

У.

Bengio and О. Delalleau. Justifying and generalizing contrastive divergence. Neural Computation,21(6), рр. 1601-1621, 2009.

Bengio, L. Уао, G. Alain, and Р. Vincent. Generalized denoising auto-encoders as generative models. NIPS Conference, рр. 899-907, 2013.

35. J. Bergstra et al. Тheano: А CPU and GPU math compiler in Python. Python
in Science Conference, 201 О.
36. J. Bergstra, R. Bardenet, У. Bengio, and В. Kegl. Algorithms for hyper-parameter optimization. NIPS Conference, рр. 2546-2554, 2011.
37. J. Bergstra and У. Bengio. Random search for hyper-parameter optimization.
Journal ofМachine Learning Research, 13, рр. 281-305, 2012.
38. J. Bergstra, D. Yamins, and D. Сох. Making а science of model search: Hyperparameter optimization in hundreds of dimensions for vision architectures. ICML
Confererence, рр. 115-123, 2013.
39. D. Bertsekas. Nonlinear programming. Athena Scientijic, 1999.
40.

С. М.

42.

С. М. Bishop. Bayesian Techniques. Chapter 1О in "Neural Networks for Pattem Recognition,"pp. 385--439, 1995.

43.

С. М

Bishop. Improving the generalization properties of radial basis function
neural networks. Neural Computation, 3(4), рр. 579-588, 1991.

44.

С. М. Bishop. Training with noise is equivalent to Tikhonov regularization.
Neural computation,7(1),pp. 108-116, 1995.

45.

С. М.

Bishop, М. Svensen, and С. К. Williams. GTM: А principled altemative
to the self-organizing map. NIPS Conference, рр. 354-360, 1997.

46.

М.

Bishop. Pattem recognition and machine leaming. Springer, 2007.
41. С. М. Bishop. Neural networks for pattem recognition. Oxford University
Press, 1995.

Bojarski et al. End to end leaming for self-driving cars. arXiv:1604.07316,
2016.
https://arxiv.org/abs/1604.07316

БИБЛИОГРАФИЯ

698

47.

Bojarski et al. Explaining How а Deep Neural Network Trained with Endto-End Leaming Steers а Car. arXiv: 1704.07911, 2017.
М.

https://arxiv.org/abs/1704.07911

Bourlard and У. Kamp. Auto-association Ьу multilayer perceptrons and singular value decomposition. Biological Cybernetics, 59(4), рр. 291-294, 1988.
49. L. Breiman. Random forests. Jourпal Machiпe Learпiпg archive, 45(1),
рр. 5-32, 2001.
50. L. Breiman. Bagging predictors. Machiпe Learniпg, 24(2), рр. 123-140, 1996.

48.

Н.

51. D. Broomhead and D. Lowe. MultivariaЫe functional interpolation and adaptive networks. Complex Systems, 2, рр. 321-355, 1988.
52. С. Browne et al. А survey of monte carlo tree search methods. IEEE Traпsac­
tioпs оп Computatioпal Iпtelligeпce апd А! iп Games, 4( 1), рр. 1-43, 2012.
Т.

53.

Brox and J. Malik. Large displacement optical flow: descriptor matching in
variational motion estimation. IEEE TPAMI, 33(3), рр. 500-513, 2011.

54.

А.

55.

Bucilu, R. Caruana, and А. Niculescu-Mizil. Model compression.
КDD Confereпce, рр. 535-541, 2006.

56.

Р. Buhlmann and В. Уи. Analyzing bagging. Аппаls ofStatistics, рр. 927-961,
2002.

57.

М.

Buhmann. Radial Basis Functions: Theory and implementations. Cambridge Uпiversity Press, 2003.

58.

У.

Bryson. А gradient method for optimizing multi-stage allocation processes. Harvard Uпiversity Symposium оп Digital Computers апd their Applicatioпs, 1961.
С.

АСМ

Burda, R. Grosse, and R. Salakhutdinov. Importance weighted autoencoders. arXiv:1509.00519, 2015.
https://arxiv.org/abs/1509.00519

59. N. Butko and J. Movellan. 1-POMDP: An infomax model of еуе movement.
IEEE Iпternatioпal Сопfеrепсе оп Developmeпt апd Learпiпg, рр. 139-144,
2008.
60. У. Сао, У. Chen, and D. Кhosla. Spiking deep convolutional neural networks
for energy efficient object recognition. Iпterпatioпal Journal of Computer
Visioп, 113(1), 54-66, 2015.
М. Caпeira-Perpinan

and G. Hinton. On Contrastive Divergence Leaming.
AISTATS, 10, рр. 33-40, 2005.
62. S. Chang, W. Han, J. Tang, G. Qi, С. Aggarwal, and Т. Huang. Heterogeneous
network embedding via deep architectures. АСМ КDD Сопfеrепсе, рр. 119128, 2015.
61.

699

БИБЛИОГРАФИЯ

63. N. Chawla, К. Bowyer, L. Hall, and W. Kegelmeyer. SMOTE: synthetic minority oversampling technique. Journal ofArtificial Iпte/ligeпce Research, 16,
рр. 321-357, 2002.
64. J. Chen, S. Sathe, С. Aggarwal, and D. Turaga. Outlier detection with autoencoder ensemЫes. SIAM Сопfеrепсе оп Data Miпiпg, 2017.
65. S. Chen, С. Cowan, and Р. Grant. Orthogonal least-squares leaming algorithm
for radial basis function networks. IEEE Traпsactions оп Neural Networks,
2(2), рр. 302-309, 1991.
66. W. Chen, J. Wilson, S. Tyree, К. Weinberger, and У. Chen. Compressing neural networks with the hashing trick. ICML Coпferereпce, рр. 2285-2294, 2015.

67.

Chen and М. Zaki.
Coпference, 2017.

У.

У.

КАТЕ:

K-Competitive Autoencoder for Text. АСМ КDD

Т. Кrishna,

J. Emer, and V. Sze. Eyeriss: An energy-efficient reconaccelerator for deep convolutional neural networks. IEEE Jourпal of
Solid-State Circuits, 52(1), рр. 127-138, 2017.
69. К. Cho, В. Merrienboer, С. Gulcehre, F. Bougares, Н. Schwenk, and У. Bengio. Leaming phrase representations using RNN encoder-decoder for statistical machine translation. EМNLP, 2014.

68.

Chen,

figuraЫe

https://arxiv.org/pdf/1406.1078.pdf

70. J. Chorowski, D. Bahdanau, D. Serdyuk, К. Cho, and У. Bengio. Attention-based models for speech recognition. NIPS Сопfеrепсе, рр. 577-585,
2015.
71. J. Chung, С. Gulcehre, К. Cho, and У. Bengio. Empirical evaluation of gated
recurrent neural networks on sequence modeling. arXiv: 1412. 35 55, 2014.
https://arxiv.org/abs/1412.3555

72. D. Ciresan, U. Meier, L. Gambardella, and J. Schmidhuber. Deep, Ьig, simple
neural nets for handwritten digit recognition. Neural Computation, 22(12),
рр.3207-3220,2010.

Clark and А. Storkey. Training deep convolutional neural networks to play
go. ICML Coпferereпce, рр. 1766-1774, 2015.
74. А. Coates, В. Huval, Т. Wang, D. Wu, А. Ng, and В. Catanzaro. Deep leaming
with COTS НРС systems. ICML Conferereпce, рр. 1337-1345, 2013.
75. А. Coates and А. Ng. The importance of encoding versus training with sparse
coding and vector quantization. ICML Coпferereпce, рр. 921-928, 2011.

73.

С.

Coates and А. Ng. Leaming feature representations with k-means. Neural
Tricks of the Trade, Springer, рр. 561-580, 2012.
77. А. Coates, А. Ng, and Н. Lee. An analysis of single-layer networks in unsupervised feature leaming. AAAI Confereпce, рр. 215-223, 2011.

76.

А.

пetworks:

БИБЛИОГРАФИЯ

700

78. R. Collobert, J. Weston, L. Bottou, М. Karlen, К. Kavukcuoglu, and Р. Kuksa.
Natural language processing (almost) from scratch. Joumal ofMachiпe Learniпg Research, 12, рр. 2493-2537, 2011.
79. R. Collobert and J. Weston. А unified architecture for natural language processing: Deep neural networks with multitask leaming. ICML Сопfеrепсе,
рр. 160--167, 2008.
80. J. Connor, R. Martin, and L. Atlas. Recurrent neural networks and robust time series prediction. JEEE Traпsactioпs оп Neural Networks, 5(2), рр. 240--254, 1994.
81.

Cooijmans, N. Ballas, С. Laurent, С. Gulcehre, and А. Courville.
batch normalization. arXiv:1603.09025, 2016.
Т.

Recuпent

https://arxiv.org/abs/1603.09025

Cortes and V. Vapnik. Support-vector networks. Machiпe Leamiпg, 20(3),
рр. 273-297, 1995.
83. М. Courbariaux, У. Bengio, and J.-P. David. BinaryConnect: Training deep neural networks with binary weights during propagations. arXiv: 1511. 003 63, 2015.

82.

С.

https://arxiv.org/pdf/1511.00363.pdf
Т. Cover. Geometrical and statistical properties of systems of linear inequalities with applications to pattem recognition. IEEE Traпsactioпs оп Electroпic
Computers, рр. 326-334, 1965.
85. D. Сох and N. Pinto. Beyond simple features: А large-scale feature search
approach to unconstrained face recognition. IEEE lпternatioпal Сопfеrепсе
оп Automatic Face апd Gesture Recogпitioп апd Workshops, рр. 8-15, 2011.
86. G. Dahl, R. Adams, and Н. Larochelle. Training restricted Boltzmann machines on word observations. arXiv:1202.5695, 2012.

84.

https://arxiv.org/abs/1202.5695

87. N. Dalal and В. Triggs. Histograms of oriented gradients for human detection.
Computer Visioп апd Pattern Recogпitioп, рр. 886-893, 2005.
88. У. Dauphin, R. Pascanu, С. Gulcehre, К. Cho, S. Ganguli, and У. Bengio. Identifying and attacking the saddle point proЫem in high-dimensional non-convex
optimization. NIPS Сопfеrепсе, рр. 2933-2941, 2014.
89. N. de Freitas. Machine Leaming, University of Oxford (Course Video), 2013.
https://www.youtube.com/watch?v=w20twL5Tlo w&list=
PLE6Wd9FREdyJ5lbFl8Uu-GjecvVw66F6

90. N. de Freitas. Deep Leaming, University of Oxford (Course Video), 2015.
https://www.youtube.com/watch?v=PlhFWT7vAE w&list=
PLjK8ddCbDMphIMSXn-1IjyYpHU3DaUYw

91. J. Dean et al. Large scale distributed deep networks. NIPS

Confereпce,

2012.

701

БИБЛИОГРАФИЯ

92.

М.

Defferrard, Х. Bresson, and Р. Vandergheynst. Convolutional neural networks on graphs with fast localized spectral filtering. NIPS Сопfеrепсе,
рр.3844-3852,2016.

93.

О.

Delalleau and У. Bengio. Shallow vs. deep sum-product networks. NIPS
Confereпce, рр. 666-674, 2011.

94.

М. Denil, В. ShakiЬi, L. Dinh, М. А. Ranzato, and N. de Freitas. Predicting
parameters in deep leaming. NIPS Сопfеrепсе, рр. 2148-2156, 2013.

95.

Е.

Denton, S. Chintala, and R. Fergus. Deep Generative Image Models using
Laplacian Pyramid of Adversarial Networks. NJPS Сопfеrепсе, рр. 14661494, 2015.

а

96. G. Desjardins,

К.

Сопfеrепсе, рр.

Simonyan, and R. Pascanu. Natural neural networks. NJPS
2071-2079, 2015.

97. F. Despagne and О. Massart. Neural networks in multivariate calibration. Aпa­
lyst, 123(11), рр. 157R-l 78R, 1998.
98.

Т.

Dettmers. 8-Ьit approximations for parallelism in deep leaming. arXiv:
1511.04561, 2015.

https://arxiv.org/abs/1511.04561

99.

С.

Ding, Т. Li, and W. Peng. On the equivalence between non-negative matrix
factorization and probaЬilistic latent semantic indexing. Computatioпal Statistics апd DataAпalysis, 52(8), рр. 3913-3927, 2008.

100. J. Donahue, L. Anne Hendricks, S. Guadarrama, М. Rohrbach, S. Venugopalan, К. Saenko, and Т. Darrell. Long-term recurrent convolutional networks for
visual recognition and description. IEEE сопfеrепсе оп computer visioп апd
patterп recogпitioп, рр. 2625-2634, 2015.
101. G. Dorffner. Neural networks for time series processing. Neural Network
World, 1996.
102.

С.

Dos Santos and М. Gatti. Deep Convolutional Neural Networks for Sentiment Analysis ofShort Texts. COLING, рр. 69-78, 2014.

103.

А. Dosovitskiy, J. ToЬias Springenberg, and Т. Brox. Leaming to generate chairs
with convolutional neural networks. CVPR Confereпce, рр. 1538-1546, 2015.

104.

А. Dosovitskiy and Т. Brox. Inverting visual representations with convolutional networks. CVPR Сопfеrепсе, рр. 4829-4837, 2016.

105. 105. К. Doya. Bifurcations of recurrent neural networks in gradient descent
leaming. IEEE Traпsactioпs оп Neural Networks, 1, рр. 75-80, 1993.
106.

С.

Doersch. Tutorial on variational autoencoders.

https://arxiv.org/abs/1606.05908

arXiv:lбOб.05908,

2016.

702
107.

БИБЛИОГРАФИЯ

Н.

Drucker and У. LeCun. Improving generalization performance using douЫe
backpropagation. IEEE Transactions оп Neural Networks, 3(6), рр. 991-997,
1992.

108. J. Duchi, Е. Hazan, and У. Singer. Adaptive subgradient methods for online
leaming and stochastic optimization. Journal ofMachine Learning Research,
12, рр. 2121-2159, 2011.
109. V. Dumoulin and F. Visin. А guide to convolution arithmetic for deep leaming.
arXiv:lбOЗ.07285, 2016.
https://arxiv.org/abs/1603.07285

110.

А.

Elkahky, У. Song, and Х. Не. А multi-view deep leaming approach for
cross domain user modeling in recommendation systems. WWW Conference,
рр. 278-288, 2015.

111. J. Elman. Finding structure in time. Cognitive Science, 14(2),

рр.

179-211,

1990.
112. J. Elman. Leaming and development in neural networks: The importance of
starting small. Cognition, 48, рр. 781-799, 1993.

Bengio, А. Courville, Р. Manzagol, Р. Vincent, and S. Bengio.
Why does unsupervised pre-training help deep leaming? Journal of Machine
Learning Research, 11, рр. 625-660, 201 О.

113. D. Erhan,

У.

114. S. Essar et al. Convolutional neural networks for fast, energy-efficient neuromorphic computing. Proceedings of the National Academy of Science of the
United States ofAmerica, 113(41 ),рр. 11441-11446, 2016.
115.

А.

Fader, L. Zettlemoyer, and О. Etzioni. Paraphrase-Driven Leaming for
Open QuestionAnswering. ACL, рр. 1608-1618, 2013.

116. L. Fei-Fei, R. Fergus, and Р. Perona. One-shot leaming of object categories.
IEEE TPAMI, 28(4), рр. 594---611, 2006.
Р.

117.

Felzenszwalb, R. Girshick, D. McAllester, and D. Ramanan. Object detection with discriminatively trained part-based models. IEEE TPAMI, 32(9),
рр. 1627-1645,2010.

118.

А.

119.

А.

Fader, L. Zettlemoyer, and О. Etzioni. Open question answering over curated and extracted knowledge bases. АСМ КDD Conference, 2014.

Fischer and С. Igel. An introduction to restricted Boltzmann machines.
Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications, рр. 14-36, 2012.

120. R. Fisher. The use of multiple measurements in taxonomic proЫems. Annals
of Eugenics, 7:рр. 179-188, 1936.

703

БИБЛИОГРАФИЯ

121.

Frasconi, М. Gori, and А. Sperduti. А general framework for adaptive processing of data structures. IEEE Traпsactioпs оп Neural Networks, 9(5),
рр. 768-786, 1998.

122.

У.

123.

У.

124.

У. Freund and D. Haussler. Unsupervised leaming of distributions on Ьina­
ry vectors using two layer networks. Techпical report, Santa Cruz, СА, USA,
1994

125.

В.

126.

Р.

Freund and R. Schapire. А decision-theoretic generalization of online leaming and application to boosting. Computatioпal Learniпg Theory, рр. 23-37,
1995.
Freund and R. Schapire. Large margin classification using the perceptron
algorithm. Machiпe Learniпg, 37(3), рр. 277-296, 1999.

Fritzke. Fast leaming with incremental
Letters, 1(1), рр. 2-5, 1994.
В.

RВF

networks. Neural Processiпg

Fritzke. А growing neural gas network leams topologies. NIPS Сопfеrепсе,
625---632, 1995.

рр.

127.

К.

Fukushima. Neocognitron: А self-organizing neural network model for а
mechanism of pattem recognition unaffected Ьу shift in position. Biological
Cybernetics, 36(4), рр. 193-202, 1980.

128. S. Gallant. Perceptron-based leaming algorithms. IEEE
ral Networks, 1(2), рр. 179-191, 1990.

Traпsactioпs оп

Neu-

129. S. Gallant. Neural network leaming and expert systems. MIT Press, 1993.
130.

Н.

Gao, Н. Yuan, Z. Wang, and S. Ji. Pixel Deconvolutional Networks.
arXiv:1705.06820, 2017.
https://arxiv.org/abs/1705.06820

131. L. Gatys, А. S. Ecker, and М. Bethge. Texture synthesis using convolutional
neural networks. NIPS Confereпce, рр. 262-270, 2015.
132. L. Gatys, А. Ecker, and М. Bethge. Image style transfer using convolutional
neural networks. IEEE Сопfеrепсе оп Computer Visioп апd Pattern Recogпi­
tioп, рр. 2414-2423, 2015.
133.

Н.

Gavin. The Levenberg-Marquardt method for nonlinear least squares
curve-fitting proЫems, 2011.
http://people.duke.edu/-hpgavin/ce281/lm.pdf

134.

Р. Gehler, А. Holub, and М. Welling. The Rate Adapting Poisson (RAP) model for infoпnation retrieval and object recognition. JCML Conferereпce, 2006.

135. S. Gelly et al. The grand challenge of computer Go: Monte Carlo tree search
and extensions. Commuпcatioпs of the АСМ, 55, рр. 106--113, 2012.

БИБЛИОГРАФИЯ

704

Gersho and R. М. Gray. Vector quantization and signal compression.
Springer Science and Business Media, 2012.
137. А. Ghodsi. STAT 946: Topics in Probability and Statistics: Deep Leaming,
University of Waterloo, Fall 2015.
136.

А.

https://www.youtube.com/watch?v=fyAZszlPph s&list=
PLehuLRPytlHyi78UOkMP-WCGRxGcA9NVOE

138. W. Gilks, S. Richardson, and D. Spiegelhalter. Markov chain Monte Carlo in
practice. CRC Press, 1995.
139. F. Girosi and Т. Poggio. Networks and the best approximation property. Biological Cybernetics, 63(3), рр. 169-176, 1990.
140. Х. Glorot and У. Bengio. Understanding the difficulty of training deep feedforward neural networks. AISTATS, рр. 249-256, 2010.

Glorot, А. Bordes, and У. Bengio. Deep Sparse Rectifier Neural Networks.
AISTATS, 15( 106), 2011.
142. Р. Glynn. Likelihood ratio gradient estimation: an overview, Proceedings ofthe
1987 WinterSimulation Conference, рр. 366-375, 1987.
143. У. Goldberg. А primer оп neural network models for natural language processing. Journal ofArtificial Intelligence Research (JAIR), 57, рр. 345--420, 2016.

141.

Х.

С.

Goller andA. Kiichler. Leaming task-dependent distributed representations
Ьу backpropagation through structure. Neural Networks, 1, рр. 34 7-352, 1996.
145. 1. Goodfellow. NIPS 2016 tutorial: Generative adversarial networks. arXiv:
1701.00160, 2016.

144.

https://arxiv.org/abs/1701.00160

146. 1. Goodfellow, О. Vinyals, and А. Saxe. Qualitatively characterizing neural
network optimization proЫems. arXiv: 1412. 6544, 2014. [Also appears in
International Conference in Learning Representations, 2015]
https://arxiv.org/abs/1412.6544

147. 1. Goodfellow, У. Bengio, andA. Courville. Deep leaming. MIT Press, 2016.
148. 1. Goodfellow, D. Warde-Farley, М. Mirza, А. Courville, and У. Bengio. Maxout networks. arXiv:J302.4389, 2013.
149. 1. Goodfellow et al. Generative adversarial nets. NIPS Conference, 2014.
150.

Graves, А. Mohamed, and G. Hinton. Speech recognition with deep recurrent neural networks. Acoustics, Speech and Signal Processing (ICASSP),

А.

рр.6645-6649,2013.

151.

А.

Graves. Generating sequences with recurrent neural networks. arXiv:
1308.0850, 2013.

https://arxiv.org/abs/1308.0850

БИБЛИОГРАФИЯ

152.

705

А.

Graves. Supervised sequence labelling with recurrent neural networks
Spriпger, 2012.
http://rd.springer.com/book/10.1007%2F978-3-642-24797-2
А.

153.

Graves, S. Femandez, F. Gomez, and J. Schmidhuber. Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural
networks. ICML Conferereпce, рр. 369-376, 2006.

154.

А. Graves, М. Liwicki, S. Femandez, R. Bertolami, Н. Bunke, and J. Schmidhuber. А novel connectionist system for unconstrained handwriting recognition. /EEE TPAMI, 31(5), рр. 855-868, 2009.

155.

А. Graves and J. Schmidhuber. Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network Architectures. Neural Networks,
18(5-6), рр. 602-610, 2005.

156.

А. Graves and J. Schmidhuber. Offiine handwriting recognition with multidimensional recurrent neural networks. NIPS Confereпce, рр. 545-552, 2009.

157.

А. Graves and N. Jaitly. Towards End-To-End Speech Recognition with Recurrent Neural Networks. ICML Conference, рр. 1764-1772, 2014.

158.

А.

Graves, G. Wayne, and 1. Danihelka. Neural turing machines. arXiv:1410.
5401, 2014.
https://arxiv.org/abs/1410.5401

159.

А.

Graves et al. Hybrid computing using а neural network with dynamic
extemal memory. Nature, 538.7626, рр. 471-476, 2016.

160.

К.

Greff, R. К. Srivastava, J. Koutnik, В. Steunebrink, and J. Schmidhuber.
LSTM: А search space odyssey. IEEE Traпsactioпs оп Neural Networks апd
Learniпg Systems, 2016.
http://ieeexplore.ieee.org/abstract/document/7508408/

161.

К.

Greff, R. К. Srivastava, and J. Schmidhuber. Highway and residual networks leam unrolled iterative estimation. arXiv: 1612. 07771, 2016.
https://arxiv.org/abs/1612.07771

162. 1. Grondman, L. Busoniu, G. А. Lopes, and R. Babuska. А survey of actor-critic
reinforcement leaming: Standard and natural policy gradients. IEEE Traпsac­
tioпs оп Systems, Мап, апd Cybernetics, 42(6), рр. 1291-1307, 2012.
163. R. Girshick, F. landola, Т. Darrell, and J. Malik. DeformaЫe part models are
convolutional neural networks. IEEE Confereпce оп Computer Visioп апd Pattern Recogпition, рр. 437-446, 2015.
164.

А.

Grover and J. Leskovec. node2vec: ScalaЫe feature leaming for networks.
855-864, 2016.

АСМ КDD Сопfеrепсе, рр.

БИБЛИОГРАФИЯ

706

165.

Guo, S. Singh, Н. Lee, R. Lewis, and Х. Wang. Deep learning for real-time
Atari game play using offline Monte-Carlo tree search planning. Advances in
NIPS Conference, рр. 3338-3346, 2014.
Х.

Gutmann and А. Hyvarinen. Noise-contrastive estimation: А new estimation principle for unnormalized statistical models. AISTATS, 1(2), рр. 6, 201 О.
167. R. Hahnloser and Н. S. Seung. Permitted and forЬidden sets in symmetric
threshold-linear networks. NIPS Conference, рр. 217-223, 2001.
168. S. Han, Х. Liu, Н. Мао, J. Pu, А. Pedram, М. Horowitz, and W. Dally. EIE:
Efficient Inference Engine for Compressed Neural Network. АСМ SIGARCH
Computer Architecture News, 44(3), рр. 243-254, 2016.

166.

М.

169. S. Han, J. Pool, J. Tran, and W. Dally. Learning both weights and connections
for efficient neural networks. NIPS Conference, рр. 1135-1143, 2015.
170. L. К. Hansen and Р. Salamon. Neural network
12(10), рр. 993-1001, 1990.

ensemЫes.

IEEE TPAMI,

Hardt, В. Recht, and У. Singer. Train faster, generalize better: StaЬility of
stochastic gradient descent. JCML Confererence, рр. 1225-1234, 2006.
172. В. Hariharan, Р. Arbelaez, R. Girshick, and J. Malik. Simultaneous detection
and segmentation. arXiv:1407.1808, 2014.

171.

М.

https://arxiv.org/abs/1407.1808

173.

Е.

175.

В. HassiЬi

Hartman, J. Keeler, and J. Kowalski. Layered neural networks with Gaussian hidden units as universal approximations. Neural Computation, 2(2),
рр. 210-215, 1990.
174. Н. van Hasselt, А. Guez, and D. Silver. Deep Reinforcement Learning with
DouЫe Q-Learning. AAAI Conference, 2016.
and D. Stork. Second order derivatives for network pruning: Optimal brain surgeon. NIPS Conference, 1993.

176. D. HassaЬis, D. Kumaran, С. Summerfield, and М. Botvinick. Neuroscience-inspired artificial intelligence. Neuron, 95(2), рр. 245-258, 2017.
177. Т. Hastie, R. Tibshirani, and J. Friedman. The elements of statistical learning.
Springer, 2009.
178.

Т.

180.

М.

Hastie and R. Tibshirani. Generalized additive models. CRC Press, 1990.
179. Т. Hastie, R. Tibshirani, and М. Wainwright. Statistical learning with sparsity:
the lasso and generalizations. CRC Press, 2015.
Havaei et al. Brain tumor segmentation with deep neural networks. Medical lmage Analysis, 35, рр. 18-31, 2017.

707

БИБЛИОГРАФИЯ

181. S. Hawkins, Н. Не, G. Williams, and R. Baxter. Outlier detection using replicator neural networks. Iпternatioпal Confereпce оп Data Warehousiпg апd
Kпowledge Discovery, рр. 170-180, 2002.
182. S. Haykin. Neural networks and
183.

leamiпg machiпes. Pearsoп,

2008.

К. Не, Х.

Zhang, S. Rеп, апd J. Sun. Delviпg deep iпto rectifiers: Surpassiпg
performance оп imageпet classification. IEEE Iпternatioпal Coп­
ference оп Computer Vision, рр. 1026-1034, 2015.
humaп-level

184.

185.

К. Не, Х. Zhang, S. Rеп, апd J. Sun. Deep residual leamiпg for image recognition. IEEE Confereпce оп Computer Visioп апd Pattern Recogпitioп, рр. 770778, 2016.
К. Не, Х.

works.

186.

Zhang, S.

Rеп, апd

J. Sun. Identity mappings in deep residual
Computer Visioп, рр. 630-645, 2016.

пet­

Еиrореап Coпference оп

Х. Не,

L. Liao, Н. Zhaпg, L. Nie, Х. Hu, and Т. S. Chua. Neural collaborative
filteriпg. WWW Conference, рр. 173-182, 2017.

187. N. Heess et al. Emergence of Locomotioп Behaviours
arXiv:f 707.02286, 2017.

iп

Rich

Environmeпts.

https://arxiv.org/abs/1707.02286
Видео

1:

https://www.youtube.com/watch?v=hx bgoTF7bs
Видео

2:

https://www.youtube.com/
watch?v=gn4nRCC9TwQ&feature=youtu.be

188.

М. Henaff, J. Bruna, and У. LeCuп. Deep
graph-structured data. arXiv:I 506.05163, 2015.

coпvolutional

networks

оп

https://arxiv.org/abs/1506.05163

189.

М. Hestenes and Е. Stiefel. Methods of coпjugate gradients for solving liпear
systems. Journal ofResearch of the National Bureau ofStaпdards, 49(6), 1952.

190. G.
рр.

Hintoп. Connectioпist

leaming procedures. Artificial Iпtelligence, 40( 1-3 ),

185-234, 1989.

191. G. Нintoп. Training products of experts Ьу minimizing contrastive divergence.
Neural Computatioп, 14(8), рр. 1771-1800, 2002.
192. G.

Hintoп. То

Braiп

193. G.

recognize shapes, first learn to generate images. Progress in
Research, 165, рр. 535-547, 2007.

Нiпtоп. А

Мотепtит,

practical guide to
9( 1), 926, 201 О.

trainiпg

restricted Boltzmann machines.

708

БИБЛИОГРАФИЯ

194. G. Hinton. Neural networks for machine leaming, Coursera Video, 2012.
195. G. Hinton, Р. Dayan, В. Frey, and R. Neal. The wake-sleep algorithm for unsupervised neural networks. Science, 268(5214), рр. 1158-1162, 1995.
196. G. Hinton, S. Osindero, and У. Teh. А fast leaming algorithm for deep belief
nets. Neural Computation, 18(7), рр. 1527-1554, 2006.
197. G. Hinton and Т. Sejnowski. Leaming and releaming in Boltzmann machines.
Parallel Distributed Processing: Explorations in the Microstructure of Cognition, MIT Press, 1986.
198. G. Hinton and R. Salakhutdinov. Reducing the dimensionality of data with
neural networks. Science, 313, (5766), рр. 504-507, 2006.
199. G. Hinton and R. Salakhutdinov. Replicated softmax: an undirected topic model.
NIPS Conference, рр. 1607-1614, 2009.
200. G. Hinton and R. Salakhutdinov. А better way to pretrain deep Boltzmann
machines. NIPS Conference, рр. 2447-2455, 2012.
201. G. Hinton, N. Srivastava, А. Кrizhevsky, 1. Sutskever, and R. Salakhutdinov.
Improving neural networks Ьу preventing co-adaptation of feature detectors.
arXiv:l207.0580, 2012.
https://arxiv.org/abs/1207.0580

202. G. Hinton, О. Vinyals, and J. Dean. Distilling the knowledge in а neural network. NIPS Workshop, 2014.
203. R. Hochberg. Matrix Multiplication with CUDA: А basic introduction to the
CUDA programming model. UnpuЬlished manuscript, 2012.
http://www.shodor.org/media/content/petas cale/materials/
UPModules/matrixMultiplication/moduleDocum ent.pdf

204. S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation, 9(8), рр. 1735-1785, 1997.
205. S. Hochreiter, У. Bengio, Р. Frasconi, and J. Schmidhuber. Gradient flow in
recurrent nets: the difficulty ofleaming long-term dependencies, А Field Guide
to Dynamical Recurrent Neural Networks, IEEE Press, 2001.
206.

Hofmann. ProbaЬilistic latent semantic indexing. АСМ SIGIR Conference,
рр. 50--57, 1999.
Т.

207. J. J. Hopfield. Neural networks and physical systems with emergent collective computational aЬilities. National Academy of Sciences ofthe USA, 79(8),
рр.2554-2558, 1982.
208. К. Homik, М. Stinchcombe, and Н. White. Multilayer feedforward networks
are universal approximators. Neural Networks, 2(5), рр. 359-366, 1989.

БИБЛИОГРАФИЯ

209.

709

У. Ни, У.

Koren, and С. Volinsky. Collaborative filtering for implicit feedback
datasets. IEEE lпternatioпal Сопfеrепсе оп Data Miпiпg, рр. 263-272, 2008.

210. G. Huang, У. Sun, Z. Liu, О. Sedra, and К. Weinberger. Deep networks with
stochastic depth. Еиrореап Confereпce оп Computer Visioп, рр. 646-661,
2016.
211. G. Huang, Z. Liu, К. Weinberger, and L. van der Maaten. Densely connected
convolutional networks. arXiv:1608.06993, 2016.
https://arxiv.org/abs/1608.06993

212.

О.

Hubel and Т. Wiesel. Receptive fields of single neurones in the cat's striate
cortex. TheJournal ofPhysiology, 124(3), рр. 574-591, 1959.

213. F. Iandola, S. Han, М. Moskewicz, К. Ashraf, W. Dally, and К. Keutzer.
SqueezeNet: AlexNet-level accuracy with 50х fewer parameters and < 0.5 МВ
model size. arXiv:1602.07360, 2016.
https://arxiv.org/abs/1602.07360

214. S. Ioffe and С. Szegedy. Batch normalization: Accelerating deep network training Ьу reducing intemal covariate shift. arXiv: 1502.03167, 2015.
215.

Р. Isola, J. Zhu, Т. Zhou, and А. Efros. Image-to-image translation with conditional adversarial networks. arXiv:1611.07004, 2016.

https://arxiv.org/abs/1611.07004

216.

М. Iyyer, J. Boyd-Graber, L. Claudino, R. Socher, and Н. Daume Ш. А Neural Network for Factoid QuestionAnswering over Paragraphs. EМNLP, 2014.

217. R. Jacobs. Increased rates of convergence through leaming rate adaptation.
Neural Networks, 1(4), рр. 295-307, 1988.
218.

М.

Jaderberg, К. Simonyan, and А. Zisserman. Spatial transformer networks.
NIPS Сопfеrепсе, рр. 2017-2025, 2015.

219.

Н. Jaeger. The "echo state" approach to analysing and training recurrent neural networks - with an eпatum note. Germaп Natioпal Research Ceпter for
1nformatioп Techпology GMD Techпical Report, 148(34), 13, 2001.

220.

Н. Jaeger and Н. Haas. Hamessing nonlinearity: Predicting chaotic systems
and saving energy in wireless communication. Scieпce, 304, рр. 78-80, 2004.

221.

К. Jaпett, К. Kavukcuoglu, М. Ranzato, and У. LeCun. What is the best multistage architecture for object recognition? 1пterпatioпal Сопfеrепсе оп Computer Visioп (1CCV), 2009.

222. S. Ji, W. Xu, М. Yang, and К. Yu. 30 convolutional neural networks for human
action recognition. JEEE TPAMI, 35(1), рр. 221-231, 2013.
223.

У.

Jia et al. Caffe: Convolutional architecture for fast feature embedding. АСМ
lпterпational Confereпce оп Multimedia, 2014.

710
224.

БИБЛИОГРАФИЯ

С.

Johnson. Logistic matrix factorization for implicit feedback data. NIPS Соп­
fеrепсе, 2014.

225. J. Johnson, А. Karpathy, and L. Fei-Fei. Densecap: Fully convolutional localization networks for dense captioning. IEEE Conference оп Computer Visioп
апd Pattern Recognition, рр. 4565-4574, 2015.
226. J. Johnson, А. Alahi, and L. Fei-Fei. Perceptual losses for real-time style transfer and superresolution. Еиrореап Сопfеrепсе оп Computer Visioп, рр. 694711, 2015.
227. R. Johnson and Т. Zhang. Effective use of word order for text categorization
with convolutional neural networks. arXiv:1412.1058, 2014.
https://arxiv.org/abs/1412.1058

228. R. Jozefowicz, W. Zaremba, and 1. Sutskever. An empirical exploration of recurrent network architectures. JCML Confererence, рр. 2342-2350, 2015.
229. L. Kaiser and 1. Sutskever. Neural GPUs leam algorithms. arXiv:l 511.08228,
2015.
https://arxiv.org/abs/1511.08228

230. S. Kakade. Anatural policy gradient. NIPS

Сопfеrепсе, рр.

1057-1063, 2002.

231. N. Kalchbrenner and Р. Blunsom. Recurrent continuous translation models.
EMNLP, 3, 39, рр. 413, 2013.
232.

Н.

Kandel, J. Schwartz, Т. Jessell, S. Siegelbaum, and А. Hudspeth. Principles
of neural science. McGraw Hill, 2012.

233.

А. Karpathy, J. Johnson, and L. Fei-Fei. Visualizing and understanding recurrent networks. arXiv:1506.02078, 2015.

https://arxiv.org/abs/1506.02078

234.

А.

Karpathy, G. Toderici, S. Shetty, Т. Leung, R. Sukthankar, and L. Fei-Fei.
Large-scale video classification with convolutional neural networks. IEEE
Confereпce оп Computer Visioп апd Pattern Recognitioп, рр. 725-1732, 2014.

235.

А.

Karpathy. The
Blog post, 2015.

unreasonaЫe

effectiveness of recurrent neural networks,

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

236.

А.

Karpathy, J. Johnson, and L. Fei-Fei. Stanford University Class CS321n:
Convolutional neural networks for visual recognition, 2016.
http://cs231n.github.io/

237.

Н.

J. Kelley. Gradient theory of optimal flight paths. Ars
рр. 947-954, 1960.

Jourпal,

30(10),

238. F. Кhan, В. Mutlu, and Х. Zhu. How do humans teach: On curriculum leaming
and teaching dimension. NIPS Сопfеrепсе, рр. 1449-1457, 2011.

БИБЛИОГРАФИЯ

239.

711

Kietzmann, Р. McClure, and N. Кriegeskorte. Deep Neural Networks In
Computational Neuroscience. ЫoRxiv, 133504, 2017.

Т.

https://www.biorxiv.org/content/early/2017/ 05/04/133504
У.

Kim. Convolutional neural networks for sentence classification.
arXiv:1408.5882, 2014.
241. D. Kingma and J. Ва. Adam: А method for stochastic optimization.
arXiv:J412.6980, 2014.

240.

https://arxiv.org/abs/1412.6980

242. D. Кingma and М. Welling. Auto-encoding variational bayes. arXiv: 1312. 6114,
2013.
https://arxiv.org/abs/1312.6114

243.

Kipf and М. Welling. Semi-supervised classification with graph convolutional networks. arXiv:J609.02907, 2016.

Т.

https://arxiv.org/pdf/1609.02907.pdf

244. S. Кirkpatrick, С. Gelatt, and М. Vecchi. Optimization Ьу simulated annealing.
Science, 220, рр. 671-680, 1983.
245. J. Кivinen and М. Warmuth. The perceptron algorithm vs. winnow: linear vs.
logarithmic mistake bounds when few input variaЫes are relevant. Computational Learning Theory, рр. 289-296, 1995.
246. L. Kocsis and С. Szepesvari. Bandit based monte-carlo planning. ECML Conference, рр. 282-293, 2006.
247. R. Kohavi and D. Wolpert. Bias plus variance decomposition for zero-one loss
functions. ICML Conference, 1996.
248. Т. Kohonen. The self-organizing map. Neurocomputing, 21(1), рр. 1-6, 1998.
249.
250.
251.
252.
253.
254.

Kohonen. Self-organization and associative memory. Springer, 2012.
Т. Kohonen. Self-organizing maps, Springer, 2001.
О. Koller and N. Friedman. ProbaЬilistic graphical models: principles and
techniques. MIT Press, 2009.
Е. Kong and Т. Dietterich. Eпor-coпecting output coding coпects bias and
variance. ICML Conference, рр. 313-321, 1995.
У. Koren. Factor in the neighbors: ScalaЫe and accurate collaborative filtering.
А СМ Transactions оп Knowledge Discovery from Data (TКDD), 4( 1), 1, 201 О.
Т.

А. Кrizhevsky.

One weird trick for parallelizing convolutional neural networks. arXiv:1404.5997, 2014.
https://arxiv.org/abs/1404.5997

255.

А. Кrizhevsky,

1. Sutskever, and G. Hinton. Imagenet classification with deep
convolutional neural networks. NIPS Conference, рр. 1097-1105. 2012.

712

БИБЛИОГРАФИЯ

256. М. Kubat. Decision trees can initialize radial-basis function networks. IEEE
Traпsactioпs оп Neural Networks, 9(5), рр. 813-821, 1998.
257.

А. Kumar et al. Ask me anything: Dynamic memory networks for natural language processing. ICML Conferereпce, 2016.

258.

У.

259.

М.

Koren. Collaborative filtering with temporal dynamics. А СМ КDD Confereпce, рр. 447-455, 2009.

Lai. Giraffe: Using deep reinforcement learning to play chess.
arXiv: 1509.01549, 2015.

260. S. Lai, L. Xu, К. Liu, and J. Zhao. Recurrent Convolutional Neural Networks
for Text Classification. AAAI, рр. 2267-2273, 2015.
261.

В.

Lake, Т. Ullman, J. Tenenbaum, and S. Gershman. Building machines that
leam and think like people. Behavioral апd Braiп Scieпces, рр. 1-101, 2016.

262.

Н.

Larochelle. Neural Networks (Course). Universite de Sherbrooke, 2013.

https://www.youtube.com/watch?v=SGZ6BttHMPw&list=
PL6Xpj9I5qXYEcOhn7-TqghAJ6NAPrNmUBH

263.

Larochelle and У. Bengio. Classification using discriminative restricted
Boltzmann machines. ICML Сопfеrепсе, рр. 536-543, 2008.

264.

Н. Larochelle, М. Mandel, R. Pascanu, and У. Bengio. Leaming algorithms for
the classification restricted Boltzmann machine. Journal ofMachine Learning
Research, 13, рр. 643--669, 2012.

265.

Н.

Н.

Larochelle and 1. Murray. The neural autoregressive distribution estimator.
Artificial Intelligence апd Statistics, рр. 29-37,
2011.

Iпternational Coпference оп

266.

Н. Larochelle and G. Е. Hinton. Leaming to comЬine foveal glimpses with
third-order Boltzmann machine. NIPS Coпference, 2010.

267.

Н.

а

Larochelle, D. Erhan, А. Courville, J. Bergstra, and У. Bengio. An empirical
evaluation of deep architectures on proЫems with many factors of variation.
ICML Confererence, рр. 473-480, 2007.

268. G. Larsson, М. Maire, and G. Shakhnarovich. Fractalnet: Ultra-deep neural
networks without residuals. arXiv: 1605. 07648, 2016.
https://arxiv.org/abs/1605.07648

269. S. Lawrence, С. L. Giles, А. С. Tsoi, and А. D. Back. Face recognition: А convolutional neural-network approach. IEEE Transactions оп Neural Networks,
8(1), рр. 98-113, 1997.
270. Q. Le et al. Building high-level features using large scale unsupervised learning. ICASSP, 2013.

713

БИБЛИОГРАФИЯ

271. Q. Le, N. Jaitly, and G. Hinton. А simple way to initialize recurrent networks
of rectified linear units. arXiv:l 504.00941, 2015.
https://arxiv.org/abs/1504.00941
272. Q. Le and Т. Mikolov. Distributed representations of sentences and documents.
ICML Conference, рр. 1188-196, 2014.
273. Q. Le, J. Ngiam, А. Coates, А. Lahiri, В. Prochnow, and А. Ng. On optimization methods for deep leaming. JCML Conference, рр. 265-272, 2011.
274. Q. Le,W. Zou, S. Yeung, andA. Ng. Leaming hierarchical spatio-temporal features for action recognition with independent subspace analysis. CVPR Conference, 2011.
У.

275.

LeCun. Modeles connexionnistes de l'apprentissage. Doctoral Dissertation,
Universite Paris, 1987.

276.

У.

277.

У.

LeCun and У. Bengio. Convolutional networks for images, speech, and time
series. The Handbook of Brain Theory and Neural Network.s, 3361(10), 1995.
LeCun,

У.

Bengio, and G. Hinton. Deep leaming. Nature, 521(7553),

рр.436--444,2015.

LeCun, L. Bottou, G. Orr, and К. Muller. Efficient backprop. in G. Orr and
К. Muller (eds.) Neural Network.s: Trick.s ofthe Trade, Springer, 1998.

278.

У.

279.

LeCun, L. Bottou, У. Bengio, and Р. Haffner. Gradient-based leaming
applied to document recognition. Proceedings ofthe IEEE, 86(11), рр. 22782324, 1998.

280.

У. LeCun, S. Chopra, R. М. Hadsell, М. А. Ranzato, and F.-J. Huang. А tutorial on energybased leaming. Predicting Structured Data, MIT Press, рр. 191246, 2006.

281.

У.

У.

LeCun, С. Cortes, and
digits, 1998.

С.

Burges. The MNIST database of handwritten

http://yann.lecun.com/exdЬ/mnist/

LeCun, J. Denker, and S. Solla. Optimal brain damage. NIPS Conference,
рр. 598-605, 1990.

282.

У.

283.

У. LeCun, К. Kavukcuoglu, and С. Farabet. Convolutional networks and
applications in vision. IEEE lnternational Symposium оп Circuits and Systems,
рр. 253-256, 2010.

284.

Н. Lee, С. Ekanadham, and А. Ng. Sparse deep belief net model for visual area
V2. NIPS Conference, 2008.

285.

Н.

Lee, R. Grosse, В. Ranganath, andA. У. Ng. Convolutional deep beliefnetworks for scalaЬle unsupervised leaming ofhierarchical representations. JCML
Conference, рр. 609-616,2009.

714

БИБЛИОГРАФИЯ

286. S. Levine, С. Finn, Т. Darrell, and Р. Abbeel. End-to-end training of deep visuomotor policies. Journal ofMachine Learning Research, 17(39), рр. 1--40, 2016.
Видео:

https://sites.google.com/site/visuomotorpolicy/

287.

О. Levy and У. Goldberg. Neural word embedding as implicit matrix factorization. NIPS Conference, рр. 2177-2185, 2014.

288.

О.

Levy, У. Goldberg, and 1. Dagan. Improving distributional similarity with
lessons learned from word embeddings. Transactions of the Association for
Computational Linguistics, 3, рр. 211-225, 2015.

289. W. Levy and R. Baxter. Energy efficient neural codes. Neural Computation,
8(3), рр. 531-543, 1996.
290.

М.

Lewis, D. Yarats, У. Dauphin, D. Parikh, and D. Batra. Deal or No Deal?
End-to-End Learning for Negotiation Dialogues. arXiv: 1706. 05125, 2017.
https://arxiv.org/abs/1706.05125

291. J. Li,W. Monroe, А. Ritter, М. Galley, J. Gao, and D. Jurafsky. Deep reinforcement learning for dialogue generation. arXiv: 1606.01541, 2016.
https://arxiv.org/abs/1606.01541

292. L. Li, W. Chu, J. Langford, and R. Schapire. А contextual-bandit approach to
personalized news article recommendation. WWW Conference, рр. 661-670,
2010.
293.

У.

Li. Deep reinforcement learning: An overview. arXiv: 1701.07274, 2017.

https://arxiv.org/abs/1701.07274

294. Q. Liao, К. Kawaguchi, and Т. Poggio. Streaming normalization: Towards simpler and more Ьiologically-plausiЫe normalizations for online and recurrent
learning. arXiv:1610.06160, 2016.
https://arxiv.org/abs/1610.06160

295. D. Liben-Nowell, and J. Кleinberg. Тhе link-prediction proЫem for social networks. Journal of the American Society for lnformation Science and Technology, 58(7), рр. 1019-1031, 2007.
296. L.-J. Lin. Reinforcement learning for robots using neural networks. Technical
Report, DТIC Document, 1993.
297.

М.

Lin, Q. Chen, and S. Yan. Network in network. arXiv:1312.4400, 2013.

https://arxiv.org/abs/1312.4400

298. Z. Lipton, J. Berkowitz, and С. Elkan. А critical review of recurrent neural networks for sequence learning. arXiv: 1506. ООО 19, 2015.
https://arxiv.org/abs/1506.00019

715

БИБЛИОГРАФИЯ

299. J. Lu, J. Yang, D. Batra, and D. Parikh. Hierarchical question-image co-attention for visual question answering. NIPS Сопfеrепсе, рр. 289-297, 2016.
300. D. Luenberger and У. Уе. Linear and nonlinear programming, Addisoп-Wesley,
1984.
301. М. Lukosevicius and Н. Jaeger. Reservoir computing approaches to recuттent
neural network training. Computer Scieпce Review, 3(3), рр. 127-149, 2009.
302. М. Luong, Н. Pham, and С. Manning. Effective approaches to attention-based
neural machine translation. arXiv:l508.04025, 2015.
https://arxiv.org/abs/1508.04025
Ма, R. Р. Sheridan, А. Liaw, G. Е. Dahl, and V. Svetnik. Deep neural nets as
method for quantitative structure-activity relationships. Journal ofChemical
lnformation and Modeling, 55(2), рр. 263-274, 2015.

303. J.
а

304. W. Maass, Т. Natschlager, and Н. Markram. Real-time computing without
staЫe states: А new framework for neural computation based on perturbations. Neural Computatioп, 14( 11 ), рр. 2351-2560, 2002.
305. L. Maaten and G. Е. Hinton. Visualizing data using t-SNE. Jourпal ofMachiпe
Learniпg Research, 9, рр. 2579-2605, 2008.
306. D. J. МасКау. А practical Bayesian framework for backpropagation networks.
Neural Computation, 4(3), рр. 448-472, 1992.
307. С. Maddison, А. Huang, 1. Sutskever, and D. Silver. Move evaluation in Go
using deep convolutional neural networks. lпternatioпal Conference оп Learniпg Representatioпs, 2015.
308. А. Mahendran and А. Vedaldi. Understanding deep image representations Ьу
inverting them. IEEE Confereпce оп Computer Visioп апd Pattern Recognitioп, рр. 5188-5196, 2015.
309. А. Makhzani and В. Frey. K-sparse autoencoders. arXiv: 1312.5663, 2013.
https://arxiv.org/abs/1312.5663

310.

А.

Makhzani and

В.

Frey. Winner-take-all autoencoders. NIPS

Coпference,

рр.2791-2799,2015.

311. А. Makhzani, J. Shlens, N. Jaitly, 1. Goodfellow, and В. Frey. Adversarial
autoencoders. arXiv: 1511.05644, 2015.
https://arxiv.org/abs/1511.05644

312.

С.

Manning and R. Socher. CS224N: Natural language processing with deep
learning. Stanford University School of Eпgiпeering, 2017.
https://www.youtube.com/watch?v=OQQ-W 63UgQ

313. J. Martens. Deep learning via Hessian-free optimization. ICML
рр. 735-742, 2010.

Сопfеrепсе,

БИБЛИОГРАФИЯ

716

314. J. Martens and 1. Sutskever. Leaming recurrent neural networks with hessian-free optimization. ICML Conference, рр. 1033-1040, 2011.
315. J. Martens, 1. Sutskever, and К. Swersky. Estimating the hessian Ьу back-propagating curvature. arXiv:l206.6464, 2016.
https://arxiv.org/abs/1206.6464

316. J. Martens and R. Grosse. Optimizing Neural Networks with Кronecker­
factoredApproximate Curvature. ICML Conference, 2015.
317. Т. Martinetz, S. Berkovich, and К. Schulten. 'Neural-gas' network for vector
quantization and its application to time-series prediction. IEEE Transactions
оп Neural Network, 4(4), рр. 558-569, 1993.
318. J. Masci, U. Meier, D. Ciresan, and J. Schmidhuber. Stacked convolutional
auto-encoders for hierarchical feature extraction. Artificial Neural Networks
and Machine Learning, рр. 52-59, 2011.
319.

Mathieu, С. Couprie, and У. LeCun. Deep multi-scale video prediction
beyond mean square error. arXiv:1511.054, 2015.
М.

https://arxiv.org/abs/1511.05440
Р.

McCullagh and J. Nelder. Generalized linear models CRC Press, 1989.
321. W. S. McCulloch and W. Н. Pitts. А logical calculus ofthe ideas immanent in
nervous activity. Тhе Bulletin ofMathematical Biophysics, 5(4), рр. 115-133,
1943.
322. G. McLachlan. Discriminant analysis and statistical pattem recognition. John
Wiley & Sons, 2004.
323. С. Micchelli. lnterpolation of scattered data: distance matrices and conditionally positive definite functions. Constructive Approximations, 2, рр. 11-22, 1986.

320.

Т.

Mikolov. Statistical language models based on neural networks. Ph.D.
thesis, Brno University ofTechnology, 2012.
325. Т. Mikolov, К. Chen, G. Corrado, and J. Dean. Efficient estimation of word
representations in vector space. arXiv:JЗOl.3781, 2013.
324.

https://arxiv.org/abs/1301.3781

326.

Mikolov, А. Joulin, S. Chopra, М. Mathieu, and М. Ranzato. Leaming
longer memory in recurrent neural networks. arXiv: 1412. 7753, 2014.
Т.

https://arxiv.org/abs/1412.7753

Mikolov, 1. Sutskever, К. Chen, G. Corrado, and J. Dean. Distributed representations ofwords and phrases and their compositionality. NIPS Conference,
рр. 3111-3119, 2013.
328. Т. Mikolov, М. Karafiat, L. Burget, J. Cemocky, and S. Кhudanpur. Recurrent
neural network based language model. Interspeech, Vol 2, 2010.

327.

Т.

717

БИБЛИОГРАФИЯ

329. G. Miller, R. Beckwith, С. Fellbaum, D. Gross, and К. J. Miller. Introduction
to WordNet: An on-line lexical database. lnternational Journal of Lexicography, 3(4), рр. 235-312, 1990.
https://wordnet.princeton.edu/

330.

М.

331.

М.

Minsky and S. Papert. Perceptrons. An Introduction to Computational
Geometry, MIT Press, 1969.
Mirza and S. Osindero. Conditional generative adversarial nets. arXiv:
1411.1784, 2014.

https://arxiv.org/abs/1411.1784

332.

А.

Mnih and G. Hinton. А scalaЫe hierarchical distributed language model.
NIPS Conference, рр. 1081-1088, 2009.

333.

А. Mnih and К. Kavukcuoglu. Learning word embeddings efficiently with
noise-contrastive estimation. NIPS Conference, рр. 2265-2273, 2013.

334.

А.

Mnih and У. Teh. А fast and simple algorithm for training neural probabilistic language models. arXiv: 1206.6426, 2012.
https://arxiv.org/abs/1206.6426

335.

У. Mnih et al. Human-level control through deep reinforcement learning.
Nature, 518 (7540), рр. 529-533, 2015.

336.

У.

Mnih, К. Kavukcuoglu, D. Silver, А. Graves, 1. Antonoglou, D. Wierstra,
and М. Riedmiller. Playing atari with deep reinforcement learning. arXiv:
1312.5602., 2013.
https://arxiv.org/abs/1312.5602

337.

У.

338.

У.

339.

Н. Mobahi and J. Fisher. А theoretical analysis of optimization
continuation. АЛА/ Conference, 2015.

Mnih et al. Asynchronous methods for deep reinforcement learning. JCML
Confererence, рр. 1928-1937, 2016.
Mnih, N. Heess, andA. Graves. Recuттent models ofvisual attention. NIPS
Conference, рр. 2204-2212, 2014.
Ьу

Gaussian

340. G. Montufar. Universal approximation depth and еттоrs of nаттоw belief networks with discrete units. Neural Computation, 26(7), рр. 1386-1407, 2014.
341. G. Montufar and N. Ау. Refinements of universal approximation results for
deep belief networks and restricted Boltzmann machines. Neural Computation,
23(5), рр. 1306-1319, 2011.
342. J. Moody and С. Darken. Fast learning in networks oflocally-tuned processing
units. Neural Computation, 1(2), рр. 281-294, 1989.
343. А. Moore and С. Atkeson. Prioritized sweeping: Reinforcement learning with
less data and less time. Machine Learning, 13(1), рр. 103-130, 1993.

БИБЛИОГРАФИЯ

718

344. F. Morin and У. Bengio. Hierarchical ProbaЬilistic Neural Network Language
Model. AISTATS, рр. 246---252, 2005.
345. R. Miotto, F. Wang, S. Wang, Х. Jiang, and J. Т. Dudley. Deep learning for
healthcare: review, opportunities and challenges. Briefiпgs iп Bioinformatics,
рр. 1-11, 2017.
346. М. Mtiller, М. Enzenberger, В. Ameson, and R. Segal. Fuego - an opensource framework for board games and Go engine based on Monte-Carlo tree
search. IEEE Traпsactioпs оп Computatioпal lпtelligeпce апd А! iп Games,
2,рр.259-270,2010.

347.

М.

Musavi, W. Ahmed, К. Chan, К. Faris, and D. Hummels. On the training
of radial basis function classifiers. Neural Networks, 5(4), рр. 595-603, 1992.

348. V. Nair and G. Hinton. Rectified linear units improve restricted Boltzmann machines. JCML Confereпce, рр. 807-814, 2010.
S. Narendra and К. Parthasarathy. Identification and control of dynamical
systems using neural networks. JEEE Traпsactioпs оп Neural Networks, 1(1),
рр. 4-27, 1990.
350. R. М. Neal. Connectionist leaming of belief networks. Artificial lпtelligeпce,
1992.

349.

К.

351. R.

М.

Neal. ProbaЬilistic inference using Markov chain Monte Carlo methods.
Techпical Report CRG-TR-93-1, 1993.

352. R.

М.

рр.

353.

У.

354.

А.

Neal. Annealed importance sampling. Statistics
125-139, 2001.

апd Computiпg,

11(2),

Nesterov. А method of solving а convex programming proЫem with convergence rate O(l/k2). Soviet Mathematics Doklady, 27, рр. 372-376, 1983.
Ng. Sparse autoencoder. CS294A Lecture notes, 2011.

https://nlp.stanford.edu/-socherr/
sparseAutoencoder 2011new.pdf
https://web.stanford.edu/class/cs294a/
sparseAutoencoder 2011new.pdf

355.

А.

Ng and М. Jordan. PEGASUS: А policy search method for large MDPs and
POMDPs. Uпcertaiпity iп Artificial lпtelligeпce, рр. 406---415, 2000.

356. J. У.-Н. Ng, М. Hausknecht, S. Vijayanarasimhan, О. Vinyals, R. Monga, and
G. Toderici. Beyond short snippets: Deep networks for video classification.
IEEE Сопfеrепсе оп Computer Visioп апd Patterп Recogпitioп, рр. 46944702, 2015.
357. J. Ngiam, А. Кhosla, М. Kim, J. Nam, Н. Lee, and А. Ng. Multimodal deep
leaming. JCML Сопfеrепсе, рр. 689-696, 2011.

БИБЛИОГРАФИЯ

358.

719

А.

Nguyen, А. Dosovitskiy, J. Yosinski, Т. Brox, and J. Clune. Synthesizing the
prefeпed inputs for neurons in neural networks via deep generator networks.
NIPS Conference, рр. 3387-3395, 2016.

359. J. Nocedal and S. Wright. Numerical optimization. Springer, 2006.
360. S. Nowlan and G. Hinton. Simplifying neural networks Ьу soft weight-sharing.
Neural Computation, 4(4), рр. 473-493, 1992.
361.

М.

Oquab, L. Bottou, 1. Laptev, and J. Sivic. Leaming and transferring midlevel image representations using convolutional neural networks. IEEE Conference оп Computer Vision and Pattern Recognition, рр. 1717-1724, 2014.

362. G. Оп and K.-R. Miiller (editors). Neural Networks: Tricks of the Trade,
Springer, 1998.
363.

М. J. L. Оп. lntroduction to radial basis function networks, University of
Edinburgh Technical Report, Centre of Cognitive Science, 1996.
ftp://ftp.cogsci.ed.ac.uk/puЬ/mjo/intro.ps.Z

364.

М.

Palatucci, D. Pomerleau, G. Hinton, and Т. Mitchell. Zero-shot leaming
with semantic output codes. NIPS Conference, рр. 1410--1418, 2009.

365. J. Park and 1. Sandberg. Universal approximation using radial-basis-function
networks. Neural Computation, 3(1), рр. 246--257, 1991.
366. J. Park and 1. Sandberg. Approximation and radial-basis-function networks.
Neural Computation, 5(2), рр. 305-316, 1993.
367.

О.

Parkhi, А. Vedaldi, andA. Zisserman. Deep Face Recognition. BMVC, 1(3),
рр. 6, 2015.

368. R. Pascanu, Т. Mikolov, and У. Bengio. On the difficulty of training
neural networks. /CML Conference, 28, рр. 1310--1318, 2013.

recuпent

369. R. Pascanu, Т. Mikolov, and У. Bengio. Understanding the exploding gradient
proЫem. CoRR, abs/1211.5063, 2012.
370. D. Pathak, Р. Кrahenbuhl, J. Donahue, Т. Daпell, and А. А. Efros. Context
encoders: Feature leaming Ьу inpainting. CVPR Conference, 2016.
371. J. Pennington, R. Socher, and С. Manning. Glove: Global Vectors for Word
Representation. EМNLP, рр. 1532-1543, 2014.
В.

372.

Perozzi, R. Al-Rfou, and S. Skiena. Deepwalk: Online leaming of social
representations. АСМ КDD Conference, рр. 701-710.

373.

С. Peterson and J. Anderson. А mean field theory leaming algorithm for neural
networks. Сотр/ех Systems, 1(5), рр. 995-1О19, 1987.

374. J. Peters and S. Schaal. Reinforcement leaming of motor skills with policy
gradients. Neural Networks, 21(4), рр. 682-697, 2008.

720

БИБЛИОГРАФИЯ

375. F. Pineda. Generalization of back-propagation to
Physical Review Letters, 59( 19), 2229, 1987.
376.

recuпent

Е. Polak. Computational methods in optimization:
Academic Press, 1971.

а

neural networks.

unified approach.

377. L. Polanyi andA. Zaenen. Contextual valence shifters. ComputingAttitude and
Affect in Text: Theory and Applications, рр. 1-1 О, Spriпger, 2006.
378. G. Pollastri, D. Przybylski, В. Rost, and Р. Baldi. Improving the prediction of
protein secondary structure in three and eight classes using recuпent neural networks and profiles. Proteiпs: Structure, Fuпctioп, апd Bioiпformatics, 47(2),
рр.228-235,2002.

379. J. Pollack. Recursive distributed representations. Artificial Iпtelligeпce, 46(1 ),
рр. 77-105, 1990.
380.

В.

Polyak and А. Juditsky. Acceleration of stochastic approximation Ьу averaging. SIAM Journal оп Coпtrol апd Optimizatioп, 30(4), рр. 838-855, 1992.

381. D. Pomerleau. ALVINN, an autonomous land vehicle in
Techпical Report, Camegie Mellon University, 1989.
382.

а

neural network.

В.

Poole, J. Sohl-Dickstein, and S. Ganguli. Analyzing noise in autoencoders
and deep networks. arXiv:1406.1831, 2014.
https://arxiv.org/abs/1406.1831

383.

Н.

Poon and Р. Domingos. Sum-product networks: А new deep architecture.
Computer Visioп Workshops (ICCV Workshops), рр. 689-690, 2011.

384.

А.

Radford, L. Metz, and S. Chintala. Unsupervised representation learning with
deep convolutional generative adversarial networks. arXiv:l511.06434, 2015.
https://arxiv.org/abs/1511.06434

385.

А. Rahimi and В. Recht. Random features for large-scale kemel machines.
NIPS Сопfеrепсе, рр. 1177-1184, 2008.

386.

М.' А.

387.

М.' А.

Ranzato, F. J. Huang, Y-L. Boureau, and У. LeCun. Unsupervised leaming of invariant feature hierarchies with applications to object recognition.
Computer Visioп апd Patterп Recogпitioп, рр. 1-8, 2007.

388.

А.

Rasmus, М. Berglund, М. Honkala, Н. Valpola, and Т. Raiko. Semi-supervised leaming with ladder networks. NIPS Confereпce, рр. 3546-3554, 2015.

389.

М.

Ranzato, Y-L. Boureau, and У. LeCun. Sparse feature leaming for deep
belief networks. NIPS Сопfеrепсе, рр. 1185-1192, 2008.

Rastegari, V. Ordonez, J. Redmon, and А. Farhadi. Xnor-net: Imagenet
classification using Ьinary convolutional neural networks. Еиrореап Сопfеr­
епсе оп Computer Visioп, рр. 525-542, 2016.

721

БИБЛИОГРАФИЯ

390.

А.

Razavian, Н. Azizpour, J. Sullivan, and S. Carlsson. CNN features off-theshelf: an astounding baseline for recognition. IEEE Сопfеrепсе оп Computer
Visioп апd Pattern Recogпitioп Workshops, рр. 806-813, 2014.

391. J. Redmon, S. Divvala, R. Girshick, and А. Farhadi. You only look once:
Unified, real-time object detection. IEEE Сопfеrепсе оп Computer Visioп апd
Pattern Recogпitioп, рр. 779-788, 2016.
392. S. Reed, Z. Akata, Х. Yan, L. Logeswaran, В. Schiele, and Н. Lee. Generative
adversarial text to image synthesis. /CML Сопfеrепсе, рр. 1060--1069, 2016.
393. S. Reed and N. de Freitas. Neural programmer-interpreters. arXiv:1511.06279,
2015.
394. R. Rehurek and Р. Sojka. Software framework for topic modelling with large
corpora. LREC 2010 Workshop оп New Challeпges for NLP Frameworks,
рр. 45-50, 2010.
https://radimrehurek.com/gensim/index.html

395.

М. Ren, R. Kiros, and R. Zemel. Exploring models and data for image question answering. NIPS Сопfеrепсе, рр. 2953-2961, 2015.

396. S. Rendle. Factorization machines. IEEE ICDM
2010.

Сопfеrепсе, рр.

995-100,

397. S. Rifai, Р. Vincent, Х. Muller, Х. Glorot, and У. Bengio. Contractive autoencoders: Explicit invariance during feature extraction. ICML Сопfеrепсе,
рр. 833-840, 2011.
398. S. Rifai, У. Dauphin, Р. Vincent, У. Bengio, and Х. Muller. The manifold
tangent classifier. NIPS Confereпce, рр. 2294--2302, 2011.
399. D. Rezende, S. Mohamed, and D. Wierstra. Stochastic backpropagation and
approximate inference in deep generative models. arXiv:1401.4082, 2014.
https://arxiv.org/abs/1401.4082

400. R. Ritkin. Everything old is new again: а fresh look at historical approaches in
machine leaming. Ph. D. Thesis, Massachusetts Institute ofTechnology, 2002.
401. R. Rifkin and

А.

Klautau. In defense of one-vs-all classification.
Machiпe Learniпg Research, 5, рр. 101-141, 2004.

Jourпal

of

402. V. Romanuke. Parallel Computing Center (Кhmelnitskiy, Ukraine) represents
an ensemЫe of 5 convolutional neural networks which performs on МNIST at
0.21 percent епоr rate. Retrieved 24 November 2016.
403.

В. Romera-Paredes and Р. Топ. An embarrassingly simple approach to
zero-shot leaming. /CML Conferereпce, рр. 2152-2161, 2015.

404.

Х.

Rong. word2vec parameter leaming explained. arXiv:1411.2738, 2014.

https://arxiv.org/abs/1411.2738

БИБЛИОГРАФИЯ

722

405. F. RosenЫatt. The perceptron: А probaЬilistic model for information storage
and organization in the brain. Psychological Review, 65(6), 386, 1958.
406. D. Ruck, S. Rogers, and М. Kabrisky. Feature selection using а multilayer perceptron. Journal ofNeural Network Computing, 2(2), рр. 40-88, 1990.
407. Н. А. Rowley, S. Baluja, and Т. Kanade. Neural network-based face detection.
IEEE ТРАМ/, 20(1), рр. 23-38, 1998.
408. D. Rumelhart, G. Hinton, and R. Williams. Leaming representations Ьу
back-propagating errors. Nature, 323 (6088), рр. 533-536, 1986.
409. D. Rumelhart, G. Hinton, and R. Williams. Leaming intemal representations
Ьу backpropagating errors. In Parallel Distributed Processing: Explorations
in the Microstructure of Cognition, рр. 318-362, 1986.
410. D. Rumelhart, D. Zipser, and J. McClelland. Parallel Distributed Processing,
М/Т Press, рр. 151-193, 1986.
411. D. Rumelhart and D. Zipser. Feature discovery Ьу competitive leaming. Cognitive science, 9(1), рр. 75-112, 1985.
412. G. Rummery and М. Niranjan. Online Q-leaming using connectionist systems
(Vol. 37). University ofCambridge, Department of Engineering, 1994.
413. А. М. Rush, S. Chopra, and J. Weston. А Neural Attention Model for Abstractive Sentence Summarization. arXiv:J509.00685, 2015.
https://arxiv.org/abs/1509.00685

414. R. Salakhutdinov, А. Mnih, and G. Hinton. Restricted Boltzmann machines for
collaborative filtering. JCML Confererence, рр. 791-798, 2007.
415. R. Salakhutdinov and G. Hinton. Semantic Hashing. S/G/R workshop оп lnformation Retrieval and applications of Graphical Models, 2007.
416. А. Santoro, S. Bartunov, М. Botvinick, D. Wierstra, and Т. Lillicrap. One shot
leaming with memory-augmented neural networks. arXiv: 1605:06065, 2016.
https://www.arxiv.org/pdf/1605.06065.pdf

417. R. Salakhutdinov and G. Hinton. Deep Boltzmann machines. Artificial Intel/igence and Statistics, рр. 448--455, 2009.
418. R. Salakhutdinov and Н. Larochelle. Efficient Leaming of Deep Boltzmann
Machines. AISTATS, рр. 693-700, 2010.
419. Т. Salimans and D. Kingma.Weight normalization: А simple reparameterization to accelerate training of deep neural networks. NIPS Conference, рр. 901909, 2016.
420. Т. Salimans, 1. Goodfellow, W. Zaremba, V. Cheung, А. Radford, and Х. Chen.
Improved techniques for training gans. NIPS Conference, рр. 2234-2242,
2016.

БИБЛИОГРАФИЯ

723

421.

А.

Samuel. Some studies in machine leaming using the game of checkers. IВМ
Journal of Research and Development, 3, рр. 210-229, 1959.

422.

Т Sanger. Neural network leaming control of robot manipulators using gradually increasing task difficulty. IEEE Transactions оп Robotics and Automation, 10(3), 1994.

423.

Н.

Sarimveis, А. Alexandridis, and G. Bafas. А fast training algorithm for RВF
networks based on subtractive clustering. Neurocomputing, 51, рр. 501-505,
2003.

424. W. Saunders, G. Sastry, А. Stuhlmueller, and О. Evans. Trial without Епоr: Towards Safe Reinforcement Leaming via Human Intervention. arXiv:l707.05173,
2017.
https://arxiv.org/abs/1707.05173

425.

А.

Saxe, Р. Koh, Z. Chen, М. Bhand, В. Suresh, and А. Ng. On random weights
and unsupervised feature leaming. ICML Confererence, рр. 1089-1096, 2011.

426.

А. Saxe, J. McClelland, and S. Ganguli. Exact solutions to the nonlinear
dynamics of leaming in deep linear neural networks. arXiv: 1312. 6120, 2013.

427. S. Schaal. Is imitation leaming the route to humanoid robots? Trends in
Cognitive Sciences, 3(6), рр. 233-242, 1999.
428.

Т.

Schaul, J. Quan, 1. Antonoglou, and D. Silver. Prioritized experience replay.
arXiv: 1511.05952, 2015.
https://arxiv.org/abs/1511.05952

429.

Т.

Schaul, S. Zhang, and У. LeCun. No more pesky leaming rates. ICML
Confererence, рр. 343-351, 2013.

430.

В. Schбlkopf, К. Sung, С. Burges, F. Girosi, Р. Niyogi, Т. Poggio, and
V. Vapnik. Comparing support vector machines with Gaussian kemels to
radial basis function classifiers. IEEE Transactions оп Sigпal Processiпg,
45(11), рр. 2758-2765, 1997.

431. J. Schmidhuber. Deep leaming in neural networks: An overview. Neural
Networks, 61, рр. 85-117, 2015.
432. J. Schulman, S. Levine, Р. Abbeel, М. Jordan, and Р. Moritz. Trust region
policy optimization. ICML Confereпce, 2015.
433. J. Schulman, Р. Moritz, S. Levine, М. Jordan, and Р. Abbeel. High-dimensional continuous control using generalized advantage estimation. ICLR Сопfеr­
епсе, 2016.
434. М. Schuster and К. Paliwal. Bidirectional recuпent neural networks. IEEE
Traпsactioпs оп Sigпal Processiпg, 45(11), рр. 2673-2681, 1997.

БИБЛИОГРАФИЯ

724

435.

Н.

Schwenk and У. Bengio. Boosting neural networks. Neural Computation,
12(8), рр. 1869-1887, 2000.

436. S. Sedhain, А. К. Menon, S. Sanner, and L. Xie. Autorec: Autoencoders meet
collaborative filtering. WWW Conference, рр. 111-112, 2015.
437. Т. J. Sejnowski. Higher-order Boltzmann machines. AIP Conference Proceedings, 15(1), рр. 298-403, 1986.
438. G. Seni and J. Elder. EnsemЫe methods in data mining: lmproving accuracy
through comЬining predictions. Morgan and Claypool, 2010.
439. 1. Serban, А. Sordoni, R. Lowe, L. Charlin, J. Pineau, А. Courville, and
У. Bengio. А hierarchical latent variaЫe encoder-decoder model for generating dialogues. AAAI, рр. 3295-3301, 2017.
440. 1. Serban, А. Sordoni, У. Bengio, А. Courville, and J. Pineau. Building endto-end dialogue systems using generative hierarchical neural network models.
AAAI Conference, рр. 3776-3784, 2016.
441. Р. Seпnanet, D. Eigen, Х. Zhang, М. Mathieu, R. Fergus, and У. LeCun. Overfeat: lntegrated recognition, localization and detection using convolutional networks. arXiv:/312.6229, 2013.
https://arxiv.org/abs/1312.6229

442.

А.

Shashua. On the equivalence between the support vector machine for classification and sparsified Fisher's linear discriminant. Neural Processing Letters, 9(2), рр. 129-139, 1999.

443. J. Shewchuk. An introduction to the conjugate gradient method without the
agonizing pain. Technical Report, CMU-CS-94-125, Carnegie-Mellon University, 1994.
444. Н. Siegelmann and Е. Sontag. On the computational power of neural nets.
Journal ofComputer and System Sciences, 50(1), рр. 132-150, 1995.
445. D. Silver et al. Mastering the game of Go with deep neural networks and tree
search. Nature, 529.7587, рр. 484-489, 2016.
446. D. Silver et al. Mastering the game of go without human knowledge. Nature,
550.7676, рр. 354-359, 2017.
447. D. Silver et al. Mastering chess and shogi Ьу self-play with а general reinforcement leaming algorithm. arXiv, 2017.
https://arxiv.org/abs/1712.01815

448. S. Shalev-Shwartz, У. Singer, N. Srebro, and А. Cotter. Pegasos: Primal
estimated subgradient solver for SVМ. Mathematical Programming, 127(1),
рр. 3-30, 2011.
449.

Е.

Shelhamer, J., Long, and Т. Darrell. Fully convolutional networks for
semantic segmentation. IEEE ТРАМ!, 39(4), рр. 640-651, 2017.

БИБЛИОГРАФИЯ

725

450. J. Sietsma and R. Dow. Creating artificial neural networks that generalize. Neural Networks, 4(1), рр. 67-79, 1991.
451.

В.

452.

Р. Simard, D. Steinkraus, and J. С. Platt. Best practices for convolutional neural networks applied to visual document analysis. /CDAR, рр. 958-962, 2003.

453.

Н.

454.

К.

W. Silverman. Density Estimation for Statistics and Data Analysis. Chapman and На//, 1986.

Simon. The Sciences of the Artificial. MIT Press, 1996.

Simonyan and А. Zisserman. Very deep convolutional networks for largescale image recognition. arXiv:1409. l 556, 2014.

https://arxiv.org/abs/1409.1556

455. К. Simonyan and А. Zisserman. Two-stream convolutional networks for action
recognition in videos. NIPS Conference, рр. 568-584, 2014.
456. К. Simonyan, А. Vedaldi, and А. Zisserman. Deep inside convolutional networks: Visualising image classification models and saliency maps.
arXiv:l312.6034, 2013.
457.

Р.

Smolensky. lnformation processing in dynamical systems: Foundations of
harmony theory. Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations. рр. 194-281, 1986.

458. J. Snoek, Н. Larochelle, and R. Adams. Practical bayesian optimization of
machine learning algorithms. NIPS Conference, рр. 2951-2959, 2013.
459. R. Socher, С. Lin, С. Manning, andA. Ng. Parsing natural scenes and natural language with recursive neural networks. JCML Confererence, рр. 129-136, 2011.
460. R. Socher, J. Pennington, Е. Huang, А. Ng, and С. Manning. Semi-supervised recursive autoencoders for predicting sentiment distributions. Empirical Methods in Natural Language Processing (EМNLP), рр. 151-161, 2011.
461. R. Socher, А. Perelygin, J. Wu, J. Chuang, С. Manning, А. Ng, and С. Potts.
Recursive deep models for semantic compositionality over а sentiment treebank. Empirical Methods in Natural Language Processing (EМNLP), р. 1642,
2013.
462. Socher, Richard,Milind Ganjoo, Christopher D.Manning, and Andrew Ng.
Zero-shot learning through cross-modal transfer. NIPS Conference, рр. 935943, 2013.
463. К. Sohn, Н. Lee, and Х. Yan. Learning structured output representation using
deep conditional generative models. NIPS Conference, 2015.
464. R. Solomonoff. А system for incremental learning based on algorithmic probability. Sixth lsraeli Conference оп Artificial lntelligence, Computer Vision and
Pattern Recognition, рр. 515-527, 1994.

726

465.

БИБЛИОГРАФИЯ

У.

Song, А. Elkahky, and Х. Не. Multi-rate deep leaming for temporal recommendation. АСМ SIGIR Сопfеrепсе оп Research апd Developmeпt iп Informatioп Retrieval, рр. 909-912, 2016.

466. J. Springenberg, А. Dosovitskiy, Т. Brox, and М. Riedmiller. Striving for simplicity: The all convolutional net. arXiv: 1412. 6806, 2014.
https://arxiv.org/abs/1412.6806

467. N. Srivastava, G. Hinton, А. Кrizhevsky, I. Sutskever, and R. Salakhutdinov.
Dropout: А simple way to prevent neural networks from overfitting. The Jourпal ofMachiпe Learniпg Research, 15( 1), рр. 1929-1958, 2014.
468. N. Srivastava and R. Salakhutdinov. Multimodal leaming with deep Boltzmann
machines. NIPS Confereпce, рр. 2222-2230, 2012.
469. N. Srivastava, R. Salakhutdinov, and G. Hinton. Modeling documents with
deep Boltzmann machines. Uпcertaiпty iп Artificial Iпtelligeпce, 2013.
470. R. К. Srivastava, К. Greff, and J. Schmidhuber. Highway networks.
arXiv:l 505.00387, 2015.
https://arxiv.org/abs/1505.00387

471.

А.

Storkey. Increasing the capacity of а Hopfield network without sacrificing
functionality. Artificial Neural Networks, рр. 451-456, 1997.

472. F. Strub and J. Mary. Collaborative filtering with stacked denoising autoencoders and sparse inputs. NIPS Workshop оп Machiпe Learпiпg for eCommerce, 2015.
473. S. Sukhbaatar, J. Weston, and R. Fergus. End-to-end memory networks. NIPS
Confereпce, рр. 2440--2448, 2015.
474.

У.

Sun, D. Liang, Х. Wang, and Х. Tang. Deepid3: Face recognition with very
deep neural networks. arXiv:f 502.00873, 2013.
https://arxiv.org/abs/1502.00873

475.

У.

476.

М.

Sundermeyer, R. Schluter, and Н. Ney. LSTM neural networks for language
modeling. Interspeech, 2010.

477.

М. Sundermeyer, Т. Alkhouli, J. Wuebker, and Н. Ney. Translation modeling
with Ьidirectional recuпent neural networks. EMNLP, рр. 14-25, 2014.

Sun, Х. Wang, and Х. Tang. Deep leaming face representation from predicting 10,000 classes. IEEE Coпference оп Computer Visioп апd Pattern Recogпitioп, рр. 1891-1898, 2014.

478. I. Sutskever, J. Martens, G. Dahl, and G. Hinton. On the importance of initialization and momentum in deep leaming. ICML Confererence, рр. 1139-1147,
2013.

БИБЛИОГРАФИЯ

727

479. 1. Sutskever and Т. Tieleman. On the convergence properties of contrastive
divergence. lпternatioпal Сопfеrепсе оп Artificial lпtelligeпce апd Statistics,
рр. 789-795, 2010.
480. 1. Sutskever, О. Vinyals, and Q. V. Le. Sequence to sequence leaming with
neural networks. NIPS Confereпce, рр. 3104-3112, 2014.
481. 1. Sutskever and V. Nair. Mimicking Go experts with convolutional neural networks. lпterпatioпal Сопfеrепсе оп Artificial Neural Networks, рр. 1О1-11 О,
2008.
482. R. Sutton. Leaming to Predict Ьу the Method of Temporal Differences,
Machiпe Learпiпg, 3, рр. 9--44, 1988.
483. R. Sutton and А. Barto. Reinforcement Leaming: An lntroduction. MIT Press,
1998.
484. R. Sutton, D. McAllester, S. Singh, and У. Mansour. Policy gradient methods for reinforcement leaming with function approximation. NIPS Сопfеrепсе,
рр. 1057-1063,2000.
485.

С.

Szegedy, W. Liu, У. Jia, Р. Sermanet, S. Reed, D. Anguelov, D. Erhan,
V. Vanhoucke, and А. Rabinovich. Going deeper with convolutions. IEEE Соп­
fеrепсе оп Computer Visioп апd Patterп Recogпitioп, рр. 1-9, 2015.

486.

С.

487.

С.

Szegedy, V. Vanhoucke, S. loffe, J. Shlens, and Z. Wojna. Rethinking the
inception architecture for computer vision. IEEE Conference оп Computer
Visioп апd Pattern Recognition, рр. 2818-2826, 2016.

Szegedy, S. loffe, V. Vanhoucke, and А. Alemi. Inception-v4, InceptionResNet and the lmpact of Residual Connections on Leaming. AAAI Confereпce, рр. 4278--4284, 2017.

488. G. Taylor, R. Fergus, У. LeCun, and С. Bregler. Convolutional leaming of
spatio-temporal features. Еиrореап Сопfеrепсе оп Computer Vision, рр. 140153, 2010.
489. G. Taylor, G. Hinton, and S. Roweis. Modeling human motion using
latent variaЫes. NIPS Conference, 2006.

Ьinary

490.

С.

Thomton, F. Hutter, Н. Н. Hoos, and К. Leyton-Brown. Auto-WEКA: ComЬined selection and hyperparameter optimization of classification algorithms.
АСМ КDD Conference, рр. 847-855, 2013.

491.

Т.

Tieleman. Training restricted Boltzmann machines using approximations to
the likelihood gradient. JCML Сопfеrепсе, рр. 1064-1071, 2008.

492. G. Tesauro. Practical issues in temporal difference leaming. Advances in NIPS
Сопfеrепсе, рр. 259-266, 1992.

728

БИБЛИОГРАФИЯ

493. G. Tesauro. Td-gammon: А self-teaching backgammon program. Applicatioпs
ofNeural Networks, Spriпger, рр. 267-285, 1992.
494. G. Tesauro. Temporal difference leaming and TD-Gammon. Commuпicatioпs
oftheACM, 38(3), рр. 58-68, 1995.
495.

У.

Teh and G. Hinton. Rate-coded restricted Boltzmann machines for face recognition. NIPS Сопfеrепсе, 2001.

496. S. Thrun. Leaming to play the game of chess NJPS Сопfеrепсе,
1076, 1995.
497. S. Thrun and L. Platt. Leaming to leam. Spriпger, 2012.
498.

рр.

1069-

У. Тian, Q. Gong, W. Shang, У. Wu, and L. Zitnick. ELF: An extensive, lightweight and flexiЫe research platfoпn for real-time strategy games. arXiv:
1707.01067, 2017.

https://arxiv.org/abs/1707.01067

499.

А.

Tikhonov and V. Arsenin. Solution ofill-posed proЬlems.
1977.

Wiпstoп апd Soпs,

500. D. Tran et al. Leaming spatiotemporal features with 3d convolutional networks. IEEE lпternatioпal Сопfеrепсе оп Computer Visioп, 2015.
501. R. Uijlings, А. van de Sande, Т. Gevers, and М. Smeulders. Selective search
for object recognition. Iпterпatioпal Journal of Computer Visioп, 104(2), 2013.
502. Н. Valpola. From neural РСА to deep unsupervised leaming. Advaпces iп Iпde­
peпdeпt Сотропепt Aпalysis апd Learпiпg Machiпes, рр. 143-171, Elsevier,
2015.
503.

А. Vedaldi and К. Lenc. Matconvnet: Convolutional neural networks for
matlab. АСМ lпternatioпal Сопfеrепсе оп Multimedia, рр. 689-692, 2005.

http://www.vlfeat.org/matconvnet/

504. V. Veeriah, N. Zhuang, and G. Qi. Differential recurrent neural networks
for action recognition. IEEE lпternatioпal Сопfеrепсе оп Computer Visioп,
рр.4041-4049,2015.

505.

А.

Veit, М. Wilber, and S. Belongie. Residual networks behave like ensemЫes
of relatively shallow networks. NIPS Confereпce, рр. 550-558, 2016.

506.

Р.

507.

О.

508.

О.

Vincent, Н. Larochelle, У. Bengio, and Р. Manzagol. Extracting and composing robust features with denoising autoencoders. ICML Conferereпce,
рр. 1096-1103,2008.
Vinyals, С. Blundell, Т. Lillicrap, and D. Wierstra. Matching networks for
one-shot leaming. NJPS Confereпce, рр. 3530-3638, 2016.
Vinyals and Q. Le. ANeural Conversational Model. arXiv:l506.05869, 2015.

https://arxiv.org/abs/1506.05869

БИБЛИОГРАФИЯ

509.
510.

511.
512.
513.

729

Vinyals, А. Toshev, S. Bengio, and D. Erhan. Show and tell: А neural image
caption generator. CVPR Conference, рр. 3156-3164, 2015.
J.Walker, С. Doersch, А. Gupta, and М. Hebert. An uncertain future: Forecasting from static images using variational autoencoders. European Conference
оп Computer Visioп, рр. 835-851, 2016.
L. Wan, М. Zeiler, S. Zhang, У. LeCun, and R. Fergus. Regularization ofneural
networks using dropconnect. /CML Coпference, рр. 1058-1066, 2013.
D. Wang, Р. Cui, and W. Zhu. Structural deep network embedding. АСМ КDD
Сопfеrепсе, рр. 1225-1234, 2016.
Н. Wang, N. Wang, and D. Yeung. Collaborative deep leaming for recommender systems. АСМ КDD Confereпce, рр. 1235-1244, 2015.
О.

514. L.Wang, У. Qiao, and Х. Tang. Action recognition with trajectory-pooled
deep-convolutional descriptors. /ЕЕЕ Conference оп Computer Visioп апd
Pattern Recognition, рр. 4305-4314, 2015.
515. S. Wang, С. Aggarwal, and H.Liu. Using а random forest to inspire а neural
network and improving on it. SIAM Confereпce оп Data Mining, 2017.
516. S. Wang, С. Aggarwal, and Н. Liu. Randomized feature engineering as а fast
and accurate altemative to kemel methods. А СМ КDD Confereпce, 2017.
517. Т. Wang, D. Wu, А. Coates, and А. Ng. End-to-end text recognition with convolutional neural networks. Interпatioпal Conference оп Pattern Recognition,
рр.3304--3308,2012.

Wang and А. Gupta. Generative image modeling using style and structure
adversarial networks. ECCV, 2016.
519. С. J. Н. Watkins. Leaming from delayed rewards. PhD Thesis, King's College,
Cambridge, 1989.
520. С. J. Н. Watkins and Р. Dayan. Q-leaming. Machine Learning, 8(3-4), рр. 279292, 1992.
521. К. Weinberger, В. Packer, and L. Saul. Nonlinear Dimensionality Reduction Ьу
Semidefinite Programming and Kemel Matrix Factorization. AISTATS, 2005.

518.

Х.

М. Welling, М. Rosen-Zvi, and G. Hinton. Exponential family harmoniums
with an application to information retrieval. NIPS Confereпce, рр. 1481-1488,
2005.
523. А. Wendemuth. Leaming the unleamaЫe. Journal of Physics А: Math. Gen.,
28,рр.5423-5436, 1995.
524. Р. Werbos. Beyond Regression: New Tools for Prediction and Analysis in the
Behavioral Sciences. PhD thesis, Harvard Uпiversity, 1974.

522.

БИБЛИОГРАФИЯ

730

525.

Р.

Werbos. The roots of backpropagation: from ordered derivatives to neural
networks and political forecasting (Vol. 1). John Wiley and Sons, 1994.

Р. Werbos. Backpropagation through time: what it does and how to do it. Proceedings ofthe IEEE, 78(10), рр. 1550-1560, 1990.
527. J. Weston, А. Bordes, S. Chopra, А. Rush, В. van Merrienboer, А. Joulin, and
Т. Mikolov. Towards ai-complete question answering: А set of pre-requisite toy
tasks. arXiv:1502.05698, 2015.

526.

https://arxiv.org/abs/1502.05698

528. J. Weston, S. Chopra, andA. Bordes. Memory networks. JCLR, 2015.
529. J. Weston and С. Watkins. Multi-class support vector machines. Technical Report CSD-TR-98-04, Department of Computer Science, Royal Holloway, University ofLondon, Мау, 1998.
530. D. Wettschereck and Т. Dietterich. Improving the performance of radial basis
function networks Ьу leaming center locations. NIPS Conference, рр. 11331140, 1992.
531.

В.

Widrow and М. Hoff. Adaptive switching circuits. JRE WESCON Convention Record, 4(1), рр. 96-104, 1960.

532. S. Wieseler and Н. Ney. А convergence analysis of log-linear training. NIPS
Conference, рр. 657-665, 2011.
533. R. J. Williams. Simple statistical gradient-following algorithms for connectionist reinforcement leaming. Machine Learning, 8(3-4), рр. 229-256, 1992.
534.

С. Wu, А. Ahrned, А. Beutel, А. Smola, and Н. Jing. Recurrent recommender networks. АСМ lnternational Conference оп Web Search and Data Mining,
рр. 495-503, 2017.

535.

У.

Wu, С. DuBois, А. Zheng, and М. Ester. Collaborative denoising autoencoders for top-n recommender systems. Web Search and Data Mining,
рр. 153-162, 2016.

536. Z. Wu. Global continuation for distance geometry proЫems. SIAM Journal of
Optimization, 7, рр. 814-836, 1997.
537. S. Xie, R. Girshick, Р. Dollar, Z. Ти, and К. Не. Aggregated residual transformations for deep neural networks. arXiv:lбll.05431, 2016.
https://arxiv.org/abs/1611.05431

538.

Е.

Xing, R. Yan, and А. Hauptmann. Mining associated text and images with
dual-wing harmoniums. Uncertainty in Artificial Intelligence, 2005.

539.

С.

Xiong, S. Merity, and R. Socher. Dynamic memory networks for visual and
textual question answering. JCML Confererence, рр. 2397-2406, 2016.

540.

К. Xu et al. Show, attend, and tell: Neural image caption generation with visual attention. JCML Confererence, 2015.

731

БИБЛИОГРАФИЯ

541.

О.

Yadan, К. Adams, У. Taigman, and М. Ranzato. Multi-gpu training of convnets. arXiv:J312.5853, 2013.
https://arxiv.org/abs/1312.5853

542. Z. Yang, Х. Не, J. Gao, L. Deng, and А. Smola. Stacked attention networks for
image question answering. IEEE Conference оп Computer Vision and Pattern
Recognition, рр. 21-29, 2016.
543.

Х. Уао.
рр.

Evolving artificial neural networks. Proceedings of the
1423-1447, 1999.

/ЕЕЕ,

87(9),

544. F. Уи and V. Koltun. Multi-scale context aggregation Ьу dilated convolutions.
arXiv:l 511.07122, 2015.
https://arxiv.org/abs/1511.07122

545.

Н.

Yu and В. Wilamowski. Levenberg-Marquardt training. Industrial Electronics Handbook, 5(12), 1, 2011.

546. L. Yu, W. Zhang, J. Wang, and У. Уи. SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient. ААА/ Conference, рр. 2852-2858, 2017.
547. W. Yu, W. Cheng, С. Aggarwal, К. Zhang, Н. Chen, and WeiWang. NetWalk:
А flexiЫe deep embedding approach for anomaly detection in dynamic networks, АСМ КDD Conference, 2018.
548. W. Yu, С. Zheng, W. Cheng, С. Aggarwal, D. Song, В. Zong, Н. Chen, and
W. Wang. Leaming deep network representations with adversarially regularized autoencoders. АСМ КDD Conference, 2018.
549. S. Zagoruyko and N. Komodakis. Wide residual networks. arXiv: 1605. 07146,
2016.
https://arxiv.org/abs/1605.07146

550. W. Zaremba and 1. Sutskever. Reinforcement Jeaming neural turing machines.
arXiv:1505.00521, 2015.
551. W. Zaremba, Т. Mikolov, А. Joulin, and R. Fergus. Leaming simple algorithms
from examples. JCML Confererence, рр. 421-429, 2016.
552. W. Zaremba, 1. Sutskever, and О. Vinyals. Recurrent neural network regularization. arXiv:1409.2329, 2014.
553.

М.

Zeiler. ADADELTA: an adaptive leaming rate method. arXiv:1212.5701,
2012.
https://arxiv.org/abs/1212.5701

554.

М.

Zeiler, D. Кrishnan, G. Taylor, and R. Fergus. Deconvolutional networks.
Computer Vision and Pattern Recognition (CVPR), рр. 2528-2535, 2010.

732

БИБЛИОГРАФИЯ

М.

555.

Zeiler, G. Taylor, and R. Fergus. Adaptive deconvolutional networks for
mid and high level feature leaming. /ЕЕЕ Iпternatioпal Сопfеrепсе оп Computer Visioп (ICCV), рр. 2018-2025, 2011.

556.

М.

Zeiler and R. Fergus. Visualizing and understanding convolutional networks. Еиrореап Confereпce оп Computer Visioп, Spriпger, рр. 818-833,
2013.

557.

С.

Zhang, S. Bengio, М. Hardt, В. Recht, and О. Vinyals. Understanding deep
leaming requires rethinking generalization. arXiv:lб/J.03530.
https://arxiv.org/abs/1611.03530

558. D. Zhang, Z.-H. Zhou, and S. Chen. Non-negative matrix factorization on kernels. Treпds iп Artificial Iпtelligeпce, рр. 404--412, 2006.
559. L. Zhang, С. Aggarwal, and G.-J. Qi. Stock Price Prediction via Discovering
Multi-Frequency Trading Pattems. АСМ КDD Confereпce, 2017.
560. S. Zhang, L. Уао, and А. Sun. Deep leaming based recommender system:
survey and new perspectives. arXiv:J707.07435, 2017.

А

https://arxiv.org/abs/1707.07435

561.

Х. Zhang, J. Zhao, and У. LeCun. Character-level convolutional networks for
text classification. NIPS Сопfеrепсе, рр. 649-657, 2015.

562. J. Zhao, М. Mathieu, and У. LeCun. Energy-based generative adversarial network. arXiv:J609.03126, 2016.
https://arxiv.org/abs/1609.03126

563. V. Zhong, С. Xiong, and R. Socher. Seq2SQL: Generating structured queries
from natural language using reinforcement leaming. arXiv: 1709. 00103, 2017.
https://arxiv.org/abs/1709.00103

564.

С.

Zhou and R. Paffeшoth. Anomaly detection with robust deep autoencoders.
665-674, 2017.

АСМ КDD Сопfеrепсе, рр.

565.

М.

Zhou, Z. Ding, J. Tang, and D. Yin. Micro Behaviors: А new perspective in
e-commerce recommender systems. WSDM Сопfеrепсе, 2018.

566. Z.-H. Zhou.
2012.

EnsemЫe

methods: Foundations and algorithms. CRC Press,

567. Z.-H. Zhou, J. Wu, and W. Tang. EnsemЫing neural networks: many could Ье
better than all. Artificial Iпtelligeпce, 137(1-2), рр. 239-263, 2002.
С.

568.

Zitnick and Р. Dollar. Edge Boxes: Locating object proposals from edges.
ECCV, рр. 391--405, 2014.

569.

В.

Zoph and Q. V. Le. Neural architecture search with reinforcement leaming.
arXiv:Jбll.01578, 2016.
https://arxiv.org/abs/1611.01578

733

БИБЛИОГРАФИЯ

570. ht tps: / / deeplearning4j . org /
571. ht tp: / / caffe. berkeleyvision. org /
572. http://torch.ch/
573. http://deeplearning.net/ software/theano/
574. https: / /www.tensorflow.org/
575. https: / /keras. io/
576. https: / / lasagne. readthedocs. io/ en/ la test/
577. ht tp: / /www. netflixpri ze. сот/ cormnuni ty / topic 153 7. htтl
578. http://deeplearning.net/tutorial/ lstт. htтl
579. https://arxiv.org/abs/1609.08144
580. https: / / gi thub. coт/karpathy / char-rnn
581. http://www.

iтage-net.

org/

582. ht tp: / /www. iтage-net. org / challenges/LSVRC/
583. https: / /www. cs. toronto. edu/ ~ kriz/ cifar. htтl
584. http: / / code. google. сот/р/ cuda-convnet/
585. h t tp: / / caffe. berkeleyvision. org / ga thered/ exaтples /
feature extraction.htтl
586. https: / / gi thub. сот/ caffe2 / caffe2/wiki/Model-Zoo
587. http: //scikit-learn.org/
588. ht tp: / / clic. сiтес. uni tn. i t/ coтposes / toolki t/
589. https: / / gi thub. сот/ stanfordnlp/GloVe
590. https: / /deeplearning4j. org/
591. https: / / code. google. сот/ archi ve/p/word2vec/
592. https: / /www.tensorflow.org/tutorials/word2vec/
593. https: / / gi thub. сот/ adi tya-grover /node2vec
594. https: / /www.wikipedia.org/
595. https: / / gi thub. сот/ caglar / autoencoders
59~

https://github.com/yOast

597. https: / /gi thub. сот/ fastforwardlabs/vae-tf /tree/тaster
598. h t t р s : / / s с i е n се . е d u с а t i о n . n i h . g о v / s u р р 1 е те n t s /
webversions/BrainAddiction/guide/lesson2-1.htтl

599. https: / /www.

iЬт. coт/us-en/тarketplace/deep-learning­

platforт

600. https: / /www.coursera.org/ learn/neural-networks

734

БИБЛИОГРАФИЯ

601. https: / /archive. ics. uci. edu/тl/datasets. htтl
602. http://www. ЬЬс.
603. https: /

coт/news/technology-357

8587 5

/deepтind. coт/Ьlog/exploring-тysteries-alphago/

604. http: / / selfdri vingcars. тi t. edu/
605. http://karpathy.gi thub. io/2016/ 05/ 31/ rl/
606. https: / / gi thub.
cessor

coт/hughperkins/kgsgo-dataset-prepro­

607. https: / /www. wired. coт/2016/03/two-тoves-alphago-lee­
sedol-redefined-future/
608. https: / / qz. сот/ 639952 /googles-ai-won-the-gaтe-go-bydefying-тillennia-of-basic-huтan-instinct/

609. ht tp: / /www. тuj о со. org /
610. https: / / si tes. google.

сот/ si te/ gaepapersupp/hoтe

611. https: //drive. google.
a241ZnBEcjQ/view
612. https: / /www. youtube.

coт/file/d/OB9raQzOpizn1TkRI­

coт/watch?v=lLOTKZQcUtA&list=

PLrAXtтErZgOeiKт4sgNOkn-GvNjby9efdf

613. https: / /openai.

сот/

614. http: / /j aberg. gi thub. io/hyperopt/
615. http://www. cs. ubc.
616. https: / / gi thub.

са/ labs/beta/Proj ects/SМAC/

сот/ JasperSnoek/ spearтint

61~ https://deeplearning4j.org/lstт

618. h t t р : / / с о 1 а h . g i t h u Ь . i
ing-LSTMs/
619. https: / /www. youtube.

о

/

роs

t s / 2 О 1 5-

О

8 - Un d е r s t

аnd -

coт/watch?v=2pWv7GOvufO

620. https: / /gym. openai. сот
621. https: / /universe. openai. сот
622. https: / /github.

coт/facebookresearch/ParlAI

623. https: / / gi thub.

сот/ openai/baselines

624. https: / / gi thub.

сот/ carpedm20 /

625. https: / / gi thub.

coт/тatthiasplappert/keras-rl

deep-rl-tensorflow

626. http: / / apollo. auto/
627. https: / / gi thub. coт/Eleтent-Research/rnn/ЬloЬ/тaster /
exaтples/

735

БИБЛИОГРАФИЯ

62L

https://github.coт/lтthang/nтt.тatlab

629. https: //github.
630. ht tps: / /gi thub.

coт/carpedm20/NТM-tensorflow
сот/ caтigord/Neural-Turing-Machine

631. https: / / gi thub. coт/SigтaQuan/NТM-Keras
632. ht tps: / /gi thub. сот/ snipsco/ntт-lasagne
633. https: / / gi thub. coт/kaishengtai/torch-ntт
634. https: / / gi thub.

сот/ facebook/MeтNN

635. https: / / gi thub.

сот/ carpedm2 О /MeтN2N-tensorflow

63~ https://github.coт/YerevaNN/Dynaтic-тeтory-

networks-in-Theano

637. https: / / gi thub.

сот/ carpedm20 /DCGAN-tensorflow

638. https: / / gi thub.

сот/ carpedm2 О

63~ https://github.coт/jacobgil/keras-dcgan

640. https: / / gi thub.
641. ht tps: / / gi thub.

coт/wiseodd/ generati ve-тodels
coт/paarthneekhara/text-to-iтage

642. http: / /horatio. cs. nyu. edu/тi t/tiny / data/
643. https: / / developer. nvidia. сот/ cudnn
644. ht tp: / /www. nvidia. сот/ obj ect/тachine- learning. htтl
645. h t tps: / / developer. nvidia.
works

сот/ deep-learning-fraтe­

Предметный указатель
А

G

AdaDelta, 230
AdaGrad, 227
Adaline, 111
Adam, 231
AlexNet, 519
AlphaGo, 570; 609
AlphaGo Zero, 613
AlphaZero, 615

GAN, 89; 145; 336; 664
GoogLeNet, 525; 528
GPU, 254
GRU, 458

в
с ограниченным использованием

ВРТТ,

ILSVRC, 93
ImageNet, 92; 487; 537; 566
Inception, 528

L

BFGS, 243
памяти,

1

244

81; 436

L-BFGS, 244
LeNet-5, 82; 505; 518
LSTM, 453; 532

с

м

Caffe, 538
CBOW, 152; 153
CGAN, 673
CIFAR-10, 566
CNN, 485
CUDA, 258

Maxout, 222
МСМС, 383
MIMIC, 263
МNIST, 90; 566
MSE, 282

D

node2vec, 172

DCGAN, 671
Deep Walk, 172
DenseNet, 533; 536

F
FC7, 521; 538

N
р

РСА, 133; 141; 212
PLSA, 407

Q
QА-система,

466
586; 596
Q-функция, 585

Q-сеть,

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

738

сжимающий,

R
RВF,

324

шумоподавляющий,

77; 345

Авторегрессионная

тренировка,

349
RВМ, 78;369;386
ReLU, 41; 46; 500
с утечкой, 221
ResNet, 531
ResNext, 536
Rlv1SProp, 228
RNN, 425;428;460

145; 322
модель, 4 73

Адаптивный линейный нейрон,
Аксон,
Актор,

Алгоритм
Q-обучения,
Бройдена

-

586
Флетчера

Гольдфарба
карманный,

s

-

-

Шанно,

Аннотирование изображений,

SARSA, 591
SGNS, 162
SVD, 129; 151
SVM, 37

Анпулинг,

Аугментация данных,

ТD-обучение,

62; 296
517

Б
Базовая линия,

т

600

Беспилотный автомобиль

590

Бустинг, 296; 339

TRPO, 632
t-SNE, 140

584; 608
276; 296; 298

Бэггинг,

в

VGG, 524

Валидационные данные,

w

Валидационный набор

word2vec, 151
WordNet, 92; 126

Валидация модели,

z

Ведро моделей,

306

'

209
141 · 275· 285·

'

'

291

Вариационный кодировщик,

328

299

Вектор

ZFNet, 523

ключей,

658

прототипов,

А
Автокодировщик,
вариационный,

43; 127
145; 670

обучение,

332
138

контрактивный,
неполный,

624
'

Бутстрэппинг,

v

глубокий,

133; 212
461; 645

549

Ансамблевый метод,

121

243

37

Анализ главных компонент,

Уэстона- Уоткинса,

111

23
602

680

Векторное представление слов,
Вентиль,

151

532;535

Вероятностный латентно-

145

323

разреженный,

345

Векторная квантизация,

143; 321
сверточный, 548
сверхполный, 321

семантический анализ,
Взгляд,

642

Взрывной градиент,

63; 215
539

Визуализация признаков,

градиентная,

541

407

'

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Визуальная моторика,
Вложение,

Внимание,
жесткое,
мягкое,

739

Дендрит,

151
637;639
645
646

Динамическое

программирование,
Дисперсия,

293

Воспроизведение опыта,

Выброс,

183; 187
664

Дискриминационная модель,

Возмущение данных,

Время обжига,

274;278

дисперсии,

249

Временной шаг,

23

Дилемма смещения

Внутренний ковариационный

сдвиг,

111

Дельта-правило,

618

59;279

Дифференциальный нейронный

589

655; 663

компьютер,

425
383

Дифференцировочная
способность,

142
247
25; 51; 182

Вычислительный граф,

525

Долгая краткосрочная память,

Выпуклая задача оптимизации,

65; 448;

453;532
Дополнение,

г

495
551
сеть, 628

половинное,

Гауссовские ядра,
Гауссовский шум,

Дочерняя

68
322

Генеративная модель,

Дробная шаговая свертка,
Дропаут,

664

Генеративно-состязательная сеть,

89;

145;336;638;664
тренировка, 666
условная, 673
Гессиан, 235
спрямленный,

параллелизм,

Е
Емкость модели,

Жадный алгоритм,

574
Жесткое внимание, 645
Жидкая машина, 450

40

46
208
258

Гипотеза о поведении муравьев,

з

Глубокая машина Больцмана,

Зазор,

569
417

Глубокая сеть доверия,
Глубокое обучение,
Градиентный спуск,

418
62; 585
166; 222

мини-пакетный стохастический,

по стратегиям,

596
306
стохастический, 33; 118
Граф, 169
ранняя остановка,

Замыкающее соединение,
управляемое,

203

514; 549

403
63; 215

Затухающий градиент,

z
Имитационное обучение,
Имитация отжига,

Глоро,

671

532

535

Заполнение матриц,

318
нейрон, 689

Инициализация

642

Деконволюционная сеть,
Деконволюция,

38

Импульсный

д
Датчик взгляда,

373

ж

Гиперболический тангенс,
Гиперпараметр,

671

276; 301

Ксавье,

214
214

612; 625

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

740
м

и
Исключение,

Максимальное правдоподобие,

301

Марковский процесс,



576

Марковское случайное поле,

Карманный алгоритм,

Маскирующий шум,

37

113

370

322

Матричная факторизация

Карта
активации,

выделенности (салиентности),
признаков,

541

491;492

Квазиньютоновское условие,

243

Квантизация,

261
Классификация, 403
видео, 560

поля,

11 О

на уровне предложений,
Кодирование Хаффмана,

469
303
162

Коллаборативная фильтрация,

398

552
598

классификация,

импульсов,

479

Конструирование признаков,
иерархическое,

конечных разностей,

сглаженный,

174

391
162

606

32; 36; 107; 358

Кусочно-линейные потери,

опорных векторов,
ядерный,

109

Кросс-энтропийная потеря,

44
37; 117

107

11 О

линейный,

ортогональный,

322

354
37; 116

363

относительного правдоподобия,
рекомендуемых областей,
сопряженных градиентов,

л
Лестничная сеть,

крутейшего спуска,

Монте-Карло,

243
598
222

наименьших квадратов,

419

Контрастивная оценка шума,

Критерий перцептрона,

224
226

квазиньютоновский,

395
486;508

Контрастивная дивергенция,

Крапчатый шум,

Нестерова,

84

Контрактивный автокодировщик,
персистентная,

383
369;386
каскадная, 413
Машинный перевод, 463; 646
Межзадачное обучение, 687
Мембранный потенциал, 689
Мертвый нейрон, 221
Мета-обучение, 687
ограниченная,

Метод

Коннекционная временная

автоматическое,

419

обучение весов,

Коадаптация признаков,

Конечные разности,

мультиномиальная,

на основе аппроксимации среднего

метод наименьших квадратов,

Коммутатор,

150; 164
150; 168
Машина Больцмана, 3 80
глубокая, 417
логистическая,

491

субградиента,

340

Линейно разделимые данные,

34
Логистическая регрессия, 44; 113
мультиномиальная, 43; 123
Локализация объектов, 555
Локомоция, 617
Лучевой поиск, 433

Уидроу

294

Хоффа,

-

Мешок слов,

559
238

11 О

152

непрерывный,
Мини-пакет,

153
165; 192

Миопическое приближение,
Многорукий бандит,
Множитель

572
Лагранжа, 362

595

599

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Модальность,

741

41 О

о

Моделирование языка

Модель

79

Обнаружение объектов

Обобщение модели,

'

Бернулли,

152

деформируемых компонент

Маккаллока- Питтса,
мультиномиальная,

35'

263

Хоффа,

Мультимодальные данные,

77

146; 410

Мультиномиальная логистическая

регрессия,

Мягкое

43
внимание, 646

Обобщенная оценка выгоды,

39; 52; 182
81; 435
усеченное, 437
контролируемое, 544
во времени,

с постактивационными

переменными,
переменными,

без учителя,

289

Нейроморфные вычисления

Нейрон, 23

690
'

689

221
смещения, 31
638; 655

24

417
688

232

Ограниченная машина Больцмана,

29; 46
радиально-базисных функций, 77
рекуррентная, 79;425;428;460
репликаторная, 129
сверточная, 27; 82;462;485
с внешней памятью, 651
сумм и произведений, 75
тренировка, 52
языковая модель, 125
Неконтролируемое обучение, 309
Неокогнитрон, 27; 82;487
Нормализация
локального отклика,

78;

369;386

46

прямого распространения,

508

пакетная,

249
признаков, 211
Норма Фробениуса,

с учителем,

88; 570; 575; 644
317

энергетически эффективное,
Овраг,

71
26

многослойная,

590

687
686

с продолжением,

машина Тьюринга,

глубокая,

разностей,
обучению,

с подкреплением,

Нейронная

глубина,

416

на основе временных

разовое,

мертвый,

сеть,

193

511

Обучение

68

импульсный,

189

с предактивационными

н
Недообучение,

632

Обратное распространение

через свертки,

Насыщение,

558

ошибки,

152

обучения Уидроу
Модель-учитель,

564

2S

каскадная,

413
389
Оптимизация, 24 7
без гессиана, 238
обучение,

Ортогональный метод наименьших

квадратов,

Ослабление веса,

354
60

Остаточная матрица,
Остаточное обучение,
Остаточный модуль,

Отбеливание,

130
534
532

212

Отбрасывание соединений,
Отложенный набор,

300
275; 287

Относительное правдоподобие,
Отрицательное семплирование,

130

152; 378

599
149;

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

742
Отсечение градиентов,

Псевдообратная матрица,

Оценка сходства,

Псевдообращение матрицы,

Ошибка

Пулинг,

234; 446
649
обобщения, 275

354
112; 132

499; 501

по максимальному значению,

п
Пакетная нормализация,

249; 447

Параболическая ограничивающая
функция,

р

Равновесие Нзша,
Развертка,

412
4 79
258

89

598

Парадокс Сейре,

Разделение параметров,

Параллелизм,

Разделяемая матричная

Разделяемые веса,

470

Перекрестная проверка,

Размытие,

Переносимое обучение,

Разовое обучение,

288
86; 538
Переобучение, 50;57;271
Перцептрон, 29; 105
критерий, 32
мультиклассовый, 119
оптимальной стабильности, 3 7
Пиксель, 490
Повышающая дискретизация, 549
Подвыборка, 276; 298
Поиск по дереву, 606
Полносверточная сеть, 549
Полносвязный слой, 503
Полнота по Тьюрингу, 81; 427; 661
Послойная нормализация, 254; 448
Постактивационное значение, 39
Поэтапное обучение, 276; 317; 318
Правило

обучения Сторки,

Предварительное обучение,
контролируемое,

весов,

314
4 72
533

161

261

Пространственно-временные
данные,

686

Раннее прекращение обучения,
Ранняя остановка,

560

Пространство действий,

61

276; 306

Распознавание
естественного языка,
речи,

559

479

рукописного текста,
Регрессия,

4 79

25

логистическая,

113

мультиномиальная,

123

метод наименьших квадратов,

61;

107
мультиномиальная

логистическая,
ядерная,

43

362

Регуляризация,

402

Тихонова,

275; 289

60;290

Резервуарные вычисления,

481
147; 474
Рекуррентная сеть, 425; 428; 460
двунаправленная, 439
многослойная, 442
обучение, 444
Рекуррентный блок, 458
Репараметризация, 329
Ряд Тейлора, 235
Рекомендательная система,

Проекционная матрица,
Прореживание,

39
64; 84; 276

308

Прогнозирование,

318

на основе штрафов,

Предактивационное значение,

без учителя,

41 О
206

Ll, 293
L2, 294

3 77
376

обучения Хебба,

319

факторизация,

Переключатель контекстной
валентности,

200

605

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

743
Сквозное распознавание речи,

с
Салиентность,

Скип-грамма,

541

Самообучающийся робот,

с отрицательным

616

семплированием,

Самоорганизующаяся карта
Кохонена,

681
82;486;491
дробная, 514
дробная шаговая, 554
расширенная, 554
транспонированная, 514;549
шаг, 498
Сверточная нейронная сеть, 82; 462;
485
структура, 489
тренировка, 510
Связывание весов, 133
Сдвиг распределения, 630
Седловая точка, 244; 668
Семантическое хеширование, 420
Свертка,

Семплирование
методом Монте-Карло марковских
цепей,

по Гиббсу,

383
383
469
209

обращения свертки,

345

638
стратегий, 596; 611
Хопфилда, 78;370
емкость, 377
обучение, 376
Сигмоида, 39; 40
производная, 45

92

130

679
639

689
451

Спектральный радиус,

Среднеквадратическая ошибка,

282

Статистическаясумма,
Стохастическая
Страйд,

381
глубина, 536

498

Субградиент,

294

Субдискретизация,

499; 501

407

346;452
364
383
285
620

Тепловое равновесие,

Тестовый набор,

Трансляционная инвариантность,

502
Транспонированная свертка, 549; 671
Тренировочные данные, 24; 285
у

418

Управляемый рекуррентный
блок,

458; 532

Уравнение Беллмана,

Сингулярное разложение,
Синеет,

Спайковый нейрон,

Точка признака,

40
23

усеченное,

Состязательное обучение,

о представителе,

с памятью,

Синапс,

532

238

Соревновательное обучение,

Ковера,

радиально-базисных функций,

Сигнум,

Сопряженный градиент,

Теорема

642
671

Сигмоидная сеть доверия,

Соединение с пропуском слоев,

Тематическое моделирование,

Сеть

обработки взгляда,

162
33; 223; 227
Скрытый слой, 29; 46
Слой внимания, 648
Смещение, 31; 59; 279
Снижение размерности, 394
Собственный вектор, 212
Скорость обучения,

т

Сентимент-анализ,
Сеточный поиск,

479

152; 157

43; 129

586

Условие взаимной

сопряженности,
Усреднение Поляка,
Утес,

219

239
246

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

744
ц

ф

Факторизация,
Фильтр,

Центрирование по среднему,

127

Цепное правило,

491

инвертированный,

512

211

183

ч

Функция

Частичное обучение,

sign, 30; 40
производная,

45
Softtnax, 42; 123; 125; 196;435
tanh, 40
производная, 46
XOR, 71
активации, 30;39
выгоды, 604
знаковая, 40
значения, 602
кусочно-линейная, 44
ослабления, 683

Чередование слоев,
Чувствительность,

316
504
680

ш
Широкая остаточная сеть,

Шум,

535

279; 322

э
Эквивариантность,
Эпоха,

493

33

Эхо-сеть,

447; 450

параболическая
ограничивающая,

я

412

потерь,

32;39;43;201
двоичная, 36

Ядро,

кросс-энтропийная,

Языковое моделирование,

кусочно-линейная,

197
358

сглаженная суррогатная,

сжатия,

68; 74

энергии сети,

3 72

Ядерный метод,

условное,

36

362

491

Якобиан,

460
216

430; 432

РУТНОN И МАШИННОЕ ОБУЧЕНИЕ
МАШИННОЕ И ГЛУБОКОЕ ОБУЧЕНИЕ
С ИСПОЛЬЗОВАНИЕМ РУТНОN, SCIКIT -LEARN И

TENSORFLOW, 2-Е ИЗДАНИЕ
Себастьян Рашка
и Вахид Мирджалили

Машинное обучение поглощает
мир программного обеспечения,
и теперь глубокое обучение
расширяет машинное обучение.
Освойте и работайте с
передовыми технологиями

машинного обучения, нейронных
сетей и глубокого обучения
с помощью 2-го издания
бестселлера Себастьяна Рашки.
Будучи основательно обновленной
с учетом самых последних

библиотек

Python

с открытым

кодом, эта книга предлагает
практические знания и приемы,

которые необходимы для создания
и содействия машинному

обучению, глубокому обучению
и современному анализу данных .

Если вы читали 1-е издание
книги, то вам доставит

удовольствие найти новый баланс
классических идей и современных

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

У вас будет возможность изучить
и поработать с TensorFlow более

www. d i а 1е kti ka.

со

m

вдумчиво, нежели ранее, а также

получить важнейший охват

библиотеки для нейронных
сетей Keras наряду с самыми
свежими обновлениями
библиотеки scikit-Jearn.

ISBN 978-5-907114-52-4

в продаже

ПРИКЛАДНОЕ МАШИННОЕ
ОБУЧЕНИЕ С ПОМОЩЬЮ
SCIKIT-LEARN И TENSORFLOW
Орельен Жерон

Благодаря серии недавних

достижений глубокое обучение
значительно усилило всю область

машинного обучения. В наше
время даже программисты, почти

ничего не знающие об этой
технологии, могут использовать

простые и эффективные
инструменты для реализации

программ, которые способны
обучаться на основе данных.
В настоящем практическом
руководстве показано, что
и как следует делать.

За счет применения конкретных
примеров, минимума теории

и двух фреймворков

Python
Scikit-Leam и TensorFlow - автор

производственного уровня

книги Орельен Жерон
поможет вам получить
интуитивное представление о
Орельен JКерон

концепциях и инструментах,

предназначенных для построения

интеллектуальных систем. Вы

W

w w . d i а 1е k t i k а . с о m

узнаете о ряде приемов, начав
с простой линейной регрессии

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

для начала работы нужен лишь
опыт программирования.

ISBN 978-5-9500296-2-2

в продаже

ГЛУБОКОЕ ОБУЧЕНИЕ
ГОТОВЫЕ РЕШЕНИЯ

Давид Осинrа

Благодаря готовым примерам,
приведенным в книге, вы
научитесь решать задачи,

связанные с классификацией
и генерированием текста,

изображений и музыки. В каждой
главе описывается несколько

решений, объединяемых в единый
проект, например при.J1ожение,

реализующее тренировку

музыкальной рекомещtательной
системы. Также имеется глава с
описанием методик, которые в

случае необходимости 'помогут
выполнить отладку нейронной сети.
Основные темы книги:



использование векторных

представлений слов для
вычисления схожести текстов;



построение рекомендательной
системы фильмов на основе
ссылок в Википедии;



визуализация внутренних



создание модели, рекомендующей
эмодзи для фрагментов текста;



повторное использование

состояний нейронной сети;
Давид Осинrв

предварительно обученных

www.williamspuЫishing.com

сетей для создания службы
обратного поиска изображений;



генерирование пиктограмм
с помощью генеративно­

состязательных сетей

(GAN),

автокодировщиков и

рекуррентных сетей



(RNN);

распознавание музыкальных
жанров и индексирование

коллекций песен.

JSBN: 978-5-907144-50-7

в продаже

ОСНОВЫ МАШИННОГО ОБУЧЕНИЯ
ДЛЯ АНАЛИТИЧЕСКОГО
ПРОГНОЗИРОВАНИЯ
АЛГОРИТМЫ, РАБОЧИЕ ПРИМЕРЫ И ТЕМАТИЧЕСКИЕ
ИССЛЕДОВАНИЯ
Джон Д. Келлехер

Брайан Мак-Нейми
Аоифе д'Арси

Книга представляет собой
учебник по машинному
обучению с акцентом на
коммерческие приложения.

Она предлагает подробное
описание наиболее важных
подходов к машинному

обучению, используемых в
интеллектуальном анализе

данных, охватывающих как
теоретические концепции, так

и практические приложения.

Формальный математический
материал дополняется

пояснительными примерами,

а примеры исследований
иллюстрируют применение

этих моделей в более
широком контексте бизнеса.
В книге рассмотрены

информационное обучение,
обучение на основе сходства,
вероятностное обучение и
обучение на основе ошибок.

www.williamspuЫishing.com

Описанию каждого из этих
подходов предшествует

объяснение основополагающей
концепции, за которой
следуют математические
модели и алгоритмы,

иллюстрированные

подробными рабочими
примерами.

ISBN 978-5-6040044-9-4

в продаже

ГЛУБОКОЕ ОБУЧЕНИЕ
И TENSORFLOW
ДЛЯ ПРОФЕССИОНАЛОВ
Сантану Паттанаяк

Данная книга представляет

собой углубленное
нрактическое руководство,
которое позволит
читателям освоить методы

глубокого обучения на
уровне, достаточном для

развертывания готовых

решений. Прочитав книгу, вы

сможете быстро приступить
к работе с библиотекой
TensorF\ow и заняться
оптимизацией архитектур

глубокого обучения .
Весь программный код

доступен в виде блокнотов
iPython и сценариев,
позволяющих с легкостью
воспроизводить примеры и
экспериментировать с ними.

Благодаря этой книге вы:



www.williamspuЬlishing.com

овладеете полным стеком

технологий глубокого
обучения с использованием
TensorF\ow и нолучите
необходимую для этого
математическую подготовку;



научитесь развертывать
сложные приложения

глубокого обучения в
производственной среде

с помощью



TensorF\ow;

сможете проводить

исследования в области
глубокого обучения и
выполнять самостоятельные

эксперименты в

ISBN: 978-5-907144-25-5

в продаже

TensorF\ow.

ВВЕДЕНИЕ В МАШИННОЕ
ОБУЧЕНИЕ С ПОМОЩЬЮ РУТНОN
РУКОВОДСТВО ДЛЯ СПЕЦИАЛИСТОВ
ПО РАБОТЕ С ДАННЫМИ
Андреас Мюллер
Сара Гвидо

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

эта область

-

прерогатива

исключительно крупных

компаний с мощными командами
аналитиков. Эта книга научит

вас практическим способам
построения систем МО, даже если
вы еще новичок в этой области.
В ней подробно объясняются все
этапы, необходимые для создания
успешного проекта машинного

обучения, с использованием языка

Python и библиотек scikit-learn,
NumPy и matplotlib. Авторы
сосредоточили свое внимание
Андреас Мюмер, Сара Гамдо

исключительно на практических
аспектах применения алгоритмов

машинного обучения, оставив за

www.williamspublishing.com

рамками книги их математическое

обоснование. Данная книга
адресована специалистам,
решающим реальные задачи , а

поскольку область применения
методов МО практически

безгранична, прочитав эту книгу,
вы сможете собственными силами

построить действующую систему
машинного обучения в любой
научной или коммерческой сфере.

ISBN 978-5-9908910-8-1

в продаже

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
С ПРИМЕРАМИ НА РУТНОN
В этой книге исследуются

nратик Джоши

различные сценарии применения
искусственного интеллекта.

Вначале рассматриваются общие
концепции искусственного
интеллекта, после чего

обсуждаются более сложные
темы, такие как предельно

случайные леса, скрытые
марковские модели, генетические
алгоритмы, сверточные

нейронные сети и др. Вы
узнаете о том, как принимать

обоснованные решения
при выборе необходимых
алгоритмов, а также о том, как
реализовывать эти алгоритмы

на языке

Python для

достижения

наилучших результатов.

Основные темы книги:



различные методы

классификации и
регрессии данных;



создание интеллектуальных
рекомендательных систем;



логическое программирование

и способы его применения;



построение
автоматизированных систем
распознавания речи;



www. d i а 1е kti ka

.со

основы эвристического
поиска и генетического

m

программирования;



разработка игр
с использованием
искусственного интеллекта;




обучение с подкреплением;
алгоритмы глубокого
обучения и создание
приложений на их основе.

ISBN: 978-5-907114-41-8

в продаже

НЕЙРОННЫЕ СЕТИ: ПОЛНЫЙ КУРС
2-Е ИЗДАНИЕ

Саймон Хайкин

В книге рассматриваются
основные парадигмы

искусственных нейронных

сетей. Представленный мате­
риал содержит строгое

математическое обоснование
всех нейросетевых парадигм,
иллюстрируется примерами,
описанием компьютерных
экспериментов, содержит
множество практических

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

образов, управления и обработ­
ки сигналов. Структура книги

очень удобна для разработки
курсов обучения нейронным
сетям и интеллектуальным
вычислениям.

Книга будет полезна для
инженеров, специалистов

в области компьютерных
наук, физиков и специалистов

w w w . d i а 1е k t i k а . с о m

в других областях, а также
для всех тех, кто интересуется

искусственными нейронными
сетями.

ISBN 978-5-907144-22-4

в продаже