Почему регуляризация не устраняет голод данных в Deep Neural Nets?


37

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

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

Но почему эта проблема не решается с помощью регуляризации? Насколько я знаю, NNets могут использовать регуляризацию L1 и L2, а также иметь свои собственные методы регуляризации, такие как dropout, которые могут уменьшить количество параметров в сети.

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


Чтобы прояснить мои мысли: скажем, мы используем большую Deep NNet, чтобы попытаться смоделировать наши данные, но набор данных невелик и может фактически моделироваться линейной моделью. Тогда почему веса сетей не сходятся таким образом, что один нейрон симулирует линейную регрессию, а все остальные сходятся к нулям? Почему регуляризация не помогает с этим?


7
«Тогда почему веса сетей не сходятся таким образом, что один нейрон симулирует линейную регрессию, а все остальные сходятся к нулям? Почему регуляризация не помогает с этим?» Я действительно думаю, что это сделало бы действительно интересную статью: создайте эту сеть и проблему, а затем оцените, что происходит.
Sycorax говорит восстановить Monica

Что ж, у вас есть проблема уменьшения градиентов в более поздних слоях сетей, даже когда вы упорядочиваете. Вот почему люди используют пакетную нормализацию, чтобы эффективно делать то, что вы описываете. Другие подходы уже учитывают это (например, LSTM), и есть вещи, которые могут помочь справиться с голодом, такие как отсев.
Бенджамин Грюнбаум


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

1
Я совсем не удивлен. С такими временными рядами, с которыми я имею дело на работе, мне еще предстоит найти метод, который побеждает старые методы временных рядов школы, но я продолжаю пытаться :)
Аксакал

Ответы:


43

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

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

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

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

(Ir) релевантный случай: полиномиальная регрессия

Давайте посмотрим на игрушечный пример полиномиальной регрессии. Это также довольно хороший аппроксиматор для многих функций. Мы рассмотрим функцию в области . Как вы можете видеть из его ряда Тейлора ниже, расширение 7-го порядка уже довольно хорошо подходит, поэтому мы можем ожидать, что полином порядка 7+ также должен быть очень хорошим:sin(x)x(3,3)

введите описание изображения здесь

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

введите описание изображения здесь

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

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

Обратите внимание, что визуально идеально подходит для порядка 6. Это не должно удивлять, так как 7 наблюдений - это все, что нам нужно для однозначной идентификации полинома порядка 6, и мы увидели на графике аппроксимации Тейлора выше, что порядок 6 уже является очень хорошим приближением к в нашем диапазоне данных.sin(x)

введите описание изображения здесь

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

введите описание изображения здесь

Отлично, но проблема в том, что мы обычно имеем дело с зашумленными данными. Посмотрите, что произойдет, если вы укажете то же самое на 100 наблюдений очень шумных данных, см. Таблицу ниже. Мы вернулись к исходной точке: многочлены высшего порядка производят ужасные колебательные приступы. Таким образом, увеличение набора данных не сильно помогло в увеличении сложности модели для лучшего объяснения данных. Это опять-таки потому, что сложная модель лучше подходит не только по форме сигнала, но и по форме шума.

введите описание изображения здесь

Наконец, давайте попробуем некоторую слабую регуляризацию по этой проблеме. На приведенной ниже диаграмме показана регуляризация (с различными штрафами), применяемая к полиномиальной регрессии 9-го порядка. Сравните это с полиномом порядка (степени) 9, приведенным выше: при соответствующем уровне регуляризации можно подогнать полиномы более высокого порядка к зашумленным данным.

введите описание изображения здесь

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


8
А когда ваш набор данных небольшой, очень трудно отличить шум от нешума.
Алекс Р.

3
на самом деле регуляризация позволяет иметь большую NN без переоснащения
Аксакал

6
@ Алекс - почему это по умолчанию для более простой модели? Есть необъяснимая изменчивость, которая все еще может быть приспособлена, повышая сложность! И ... цель состоит в том, чтобы максимально снизить необъяснимую изменчивость ... если бы этого не произошло, NN по умолчанию использовал бы простейшую возможную модель, а именно "0". Но, как писал Аксакал, NN все больше и больше уменьшает эту необъяснимую изменчивость данных, это также соответствует необъяснимой изменчивости, т. Е. Переоснащению - отсюда необходимость регуляризации.
jbowman

2
Другое дело: предположим, что основной процесс, который вы моделируете, является шумным, например, поведение человека при голосовании или какой-либо исход для здоровья, который крайне сложно предсказать. Скажите также, что ваши данные пронизаны всевозможными ошибками измерения и, возможно, даже некоторой ошибкой выбора. При таком высоком уровне шума для сигнала я бы предпочел не только более простую модель с регуляризацией. Я мог бы даже предпочесть меньше данных, чтобы я не смог измерить кучу шума очень точно, несмотря на все усилия по регуляризации, которые я сделал.
Brash Equilibrium

2
@BrashEquilibrium - отличная точка. Мы выполняем некоторые крупномасштабные прогнозы, используя машины с повышением градиента, имеющие около 150 функций, многие из которых имеют высокий уровень шума (но все же улучшают качество прогноза), и обнаружили, что предоставление GBM 20% данных для обучения результаты дают лучшие прогнозы, чем 50% и более, даже при использовании всех других механизмов регуляризации.
jbowman

7

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

Принимая во внимание тот факт, что достаточно глубокая нейронная сеть может отлично запоминать большинство обучающих данных с хорошим поведением, существует гораздо больше неправильных решений, чем правильных для любой конкретной глубокой сети. Вообще говоря, регуляризация - это попытка ограничить выразительность моделей для этих «неправильных» решений, где «неправильное» определяется эвристикой, которая, на наш взгляд, важна для конкретной области . Но часто трудно определить эвристику так, чтобы вы не потеряли с ней «правильную» выразительность. Отличным примером этого являются штрафы L2.

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

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


Я не уверен, согласен ли я с вашим первым абзацем.
Андер Бигури

3
Трудно говорить об этом в 500 символов, но ведущие исследователи в мире утверждают, что успех SGD не совсем понятен. Например, возьмите Илью С. из OpenAI: youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Остин Шин

Полностью согласен - вероятно, причина, почему легче рассуждать с полиномиальными приближениями, а не с фактическими сетями ...
P-Gn

3

Одним из классов теорем, показывающих, почему эта проблема является фундаментальной, являются теоремы об отсутствии бесплатного обеда . Для каждой проблемы с ограниченными выборками, где помогает определенная регуляризация, существует другая проблема, когда та же самая регуляризация ухудшит ситуацию. Как указывает Остин, мы обычно находим, что регуляризация L1 / L2 полезна для многих реальных задач, но это всего лишь наблюдение, и из-за теорем НФЛ не может быть общих гарантий.


3

Я бы сказал, что на высоком уровне индуктивный уклон DNN (глубоких нейронных сетей) является мощным, но немного слишком свободным или недостаточно самоуверенным. Под этим я подразумеваю, что DNN собирают много поверхностной статистики о том, что происходит, но не в состоянии проникнуть в более глубокую причинно-следственную / композиционную структуру высокого уровня. (Вы можете рассматривать свертки как спецификацию индуктивного смещения бедного человека).

Кроме того, в сообществе машинного обучения считается, что лучший способ обобщить (сделать хорошие выводы / прогнозы с небольшим объемом данных) - найти самую короткую программу, которая привела к получению данных. Но внедрение / синтез программ сложно, и у нас нет хорошего способа сделать это эффективно. Таким образом, вместо этого мы полагаемся на близкое приближение, которое является поиском схемы, и мы знаем, как сделать это с обратным распространением. Здесь Илья Суцкевер дает обзор этой идеи.


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

введите описание изображения здесь

(A) Модель IPE [движок интуитивной физики] принимает входные данные (например, восприятие, язык, память, образы и т. Д.), Которые создают распределение по сценам (1), а затем моделируют влияние физики на распределение (2), а затем агрегирует результаты для вывода на другие сенсомоторные и когнитивные способности (3)

введите описание изображения здесь

(B) Эксп. 1 (упадет ли?) Башня стимулов. Башня с красной каймой на самом деле деликатно сбалансирована, а две другие имеют одинаковую высоту, но считается, что с синим бордюром гораздо меньше вероятность упасть в зависимости от модели и людей.

(C) Вероятностная модель IPE (ось x) в сравнении с усредненными оценками человека (ось y) в Exp. 1. См. Рис. S3 для корреляций для других значений σ и ϕ. Каждая точка представляет одну башню (с SEM), а три цветных круга соответствуют трем башням в B.

(D) Основополагающая истина (непробиваемая) против человеческих суждений (Exp. 1). Поскольку он не представляет неопределенности, он не может уловить суждения людей по ряду наших стимулов, таких как башня с красной рамкой в ​​B. (Обратите внимание, что эти случаи могут быть редкими в естественных сценах, где конфигурации имеют тенденцию быть более четко устойчивыми или нестабильны, и ожидается, что IPE будет лучше соотноситься с земной правдой, чем с нашими стимулами.)

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

Теперь очевидный вопрос: вы можете сделать это с глубоким обучением? Это то, что Лерер и другие делали в этой работе: изучение физической интуиции блочных башен на примере

Их модель: введите описание изображения здесь

Их модель на самом деле неплохо справляется с поставленной задачей (прогнозирование количества падающих блоков и даже направления их падения)

введите описание изображения здесь

Но он страдает двумя основными недостатками:

  • Нужно огромное количество данных, чтобы правильно тренироваться
  • Обобщает только поверхностно: вы можете переходить к более реалистично выглядящим изображениям, добавлять или удалять 1 или 2 блока. Но все остальное, и производительность катастрофически падает: добавьте 3 или 4 блока, измените задачу прогнозирования ...

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

Цитирую дискуссионный раздел:

Производительность CNN уменьшается из-за того, что данных об обучении становится меньше. Хотя AlexNet (без предварительной подготовки) лучше работает с 200 000 тренировочных образов, он также больше страдает от нехватки данных, в то время как предварительно обученный AlexNet способен лучше учиться на небольшом количестве тренировочных образов. Для нашей задачи обе модели требуют около 1000 изображений, чтобы их производительность была сопоставима с моделью IPE и людьми.

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

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

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

И вернемся к вашему вопросу: я бы рискнул, что широкий индуктивный уклон и тот факт, что нейронные сети не моделируют причинно-следственную связь, объясняют, почему им нужно так много обучающих данных. Регуляризация не является хорошим решением из-за того, как они обобщают. Лучшим решением было бы изменить их смещение, как в настоящее время пытается Хинтон с капсулами для моделирования геометрии целиком / детали или сетями взаимодействия для моделирования отношений.


2

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

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

Вы могли бы предположительно повысить уровень этих или других методов для решения небольших выборок. Но обратите внимание, что регуляризация подразумевает навязывание предварительных знаний. Например, штраф L2 для весов подразумевает гауссовский априор для весов. Увеличение степени регуляризации, по сути, говорит о том, что ваши предыдущие знания становятся все более определенными, и смещает ваш результат к этому предшествующему. Таким образом, вы можете сделать это, и он будет меньше, но смещенный вывод может не сработать. Очевидно, что решение лучше предварительных знаний. Для распознавания изображений это будет означать гораздо более структурированные приоры в отношении статистики вашей проблемы. Проблема с этим направлением заключается в том, что вы навязываете большой опыт в своей области, и избегание навязывания человеческого опыта было одной из причин, по которой вы использовали глубокое обучение.


+1 за упоминание о предвзятости. Почему бы не объяснить все это с точки зрения смещения и дисперсии? «Переоснащение» не имеет точного математического определения и подразумевает несуществующую дихотомию («переоснащение» / «не переобучение»).
Джош

2

Чтобы прояснить мои мысли: скажем, мы используем большую Deep NNet, чтобы попытаться смоделировать наши данные, но набор данных невелик и может фактически моделироваться линейной моделью. Тогда почему веса сетей не сходятся таким образом, что один нейрон симулирует линейную регрессию, а все остальные сходятся к нулям? Почему регуляризация не помогает с этим?

Нейронные сети могут быть обучены, как это. Если используется правильная регуляризация L1, то большая часть весов может быть обнулена, и это заставит нейронные сети вести себя как конкатенация 1 или около того нейронов линейной регрессии и многих других нулевых нейронов. Так что да - регуляризации L1 / L2 или тому подобное можно использовать для ограничения размера или представительной силы нейронной сети.

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

И это означает, что регуляризация L2 не сделает сети "разреженными", как вы описали, потому что регуляризация L2 вводит предварительное знание о том, что вклад каждого нейрона (веса) должен быть небольшим, но ненулевым. Таким образом, сеть будет использовать каждый из нейронов, а не использовать только небольшой набор нейронов.


1

Регуляризация - это метод включения предварительной информации в модель. Это кажется простым с точки зрения байесовской перспективы, но также легко увидеть снаружи и с точки зрения перспективы. Например, штраф + стандартизация ковариат в регрессии хребта по существу использует предшествующую информацию, что мы не считаем, что оценка должна полностью доминировать небольшим количеством предикторов. Точно так же штраф можно рассматривать как «ставку на редкость решения» (примечание: это не имеет смысла с традиционной байесовской точки зрения, но это другая история ...).L2L1

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

Теперь, когда дело доходит до глубоких нейронных сетей, интерпретируемость этих моделей делает регуляризацию немного более сложной. Например, если мы пытаемся идентифицировать кошек, мы заранее знаем, что «острые уши» - важная особенность. Если бы мы использовали некоторые , как логистическую регрессию с штрафом и мы имели индикаторную переменные «заостренные уши» в нашем наборе данных, мы могли бы просто уменьшить штраф на переменном заостренные ушах (или еще лучше, оштрафовать в стороне положительного значения , а не 0 ) и тогда нашей модели потребуется меньше данных для точных прогнозов.L2

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.