семантическим хэшированием
(Salakhutdinov and
Hinton, 2007b, 2009b), он успешно применялся к поиску как текстов (Salakhutdinov
and Hinton, 2007b, 2009b), так и изображений (Torralba et al., 2008; Weiss et al., 2008;
Krizhevsky and Hinton, 2011).
Для порождения двоичных кодов семантического хэширования обычно исполь-
зуется функция кодирования с сигмоидными блоками в последнем слое. Эти блоки
442
Автокодировщики
необходимо обучить так, чтобы они были асимптотически близки к 0 или к 1 для всех
входных значений. Один из способов добиться этого – внести аддитивный шум перед
сигмоидной нелинейностью во время обучения. Абсолютная величина шума должна
возрастать со временем. Чтобы противостоять шуму и сохранить как можно больше
информации, сеть должна увеличивать величину входов сигмоидной функции до на-
ступления насыщения.
Идея обучения хэш-функции исследовалась в нескольких направлениях, в т. ч. для
обучения оптимизирующих потерю представлений, которые в большей мере ориен-
тированы на поиск близких примеров в хэш-таблице (Norouzi and Fleet, 2011).
Глава
15
Обучение
представлений
В этой главе мы сначала обсудим, что значит обучить представление и чем понятие
представления может быть полезно при проектировании глубоких архитектур. Мы
рассмотрим, как алгоритмы обучения разделяют статистическую силу между разны-
ми задачами, в т. ч. поговорим об использовании обучения без учителя для реше-
ния задач обучения с учителем. Разделяемые представления полезны для обработки
нескольких модальностей, или доменов, а также для передачи полученных в ходе
обуче ния знаний задачам, для которых примеров мало или нет вовсе, зато существует
представление. Наконец, мы вернемся назад и порассуждаем о том, почему обучение
представлений оказалось столь успешным, начав с теоретических достоинств рас-
пределенных (Hinton et al., 1986) и глубоких представлений и закончив более общей
идеей объясняющих предположений о процессе порождения данных и, в частности,
об истинных причинах наблюдаемых данных.
Многие задачи обработки информации могут оказаться очень простыми или очень
трудными в зависимости от представления информации. Этот общий принцип дей-
ствует и в повседневной жизни, и в информатике вообще, и в машинном обучении
в частности. Например, любой человек без труда разделит 210 на 6 с помощью деле-
ния в столбик. Но задача становится куда труднее, если числа записать в римской но-
тации. Если предложить современному человеку разделить CCX на VI, то он, скорее
всего, сначала преобразует римские цифры в арабскую позиционную нотацию, до-
пускающую деление в столбик. Мы можем количественно оценить асимптотическое
время выполнения различных операций при использовании подходящего и непод-
ходящего представлений. Так, вставка числа в нужную позицию отсортированного
списка занимает время
O
(
n
), если в качестве представления выбран связный список,
и только
O
(log
n
), если выбрано красно-черное дерево.
А чем одно представление лучше другого в контексте машинного обучения? Вооб-
ще говоря, хорошим является представление, которое упрощает последующее обуче-
ние. Выбор представления обычно зависит от задачи обучения.
Сети прямого распространения, обучаемые с учителем, можно рассматривать как
своего рода обучение представления. Точнее говоря, последний слой сети обычно
является линейным классификатором, например softmax-регрессией. А вся осталь-
ная сеть формирует для этого классификатора представление. Обучение с учителем
естественно создает в каждом скрытом слое представление с такими свойствами, ко-
торые делают классификацию проще (и чем ближе к верхнему слою, тем это вернее).
Do'stlaringiz bilan baham: |