Мой доктор философии в чистой математике, и я признаю, что я не знаю много (то есть ничего) о теоретической CS. Однако я начал изучать неакадемические варианты своей карьеры и, знакомясь с машинным обучением, наткнулся на утверждения типа «Никто не понимает, почему нейронные сети работают хорошо», что мне показалось интересным.
По сути, мой вопрос: какие ответы хотят исследователи? Вот что я нашел в своем кратком поиске по теме:
- Алгоритмы, реализующие простые нейронные сети, довольно просты.
- Процесс SGD хорошо понят математически, как и статистическая теория.
- Теорема об универсальном приближении является мощной и доказанной.
- Есть хорошая недавняя статья https://arxiv.org/abs/1608.08225, в которой, по сути, дается ответ, что универсальное приближение гораздо больше, чем нам нужно на практике, потому что мы можем сделать сильные упрощающие предположения о функциях, которые мы пытаемся смоделировать с помощью нейронная сеть.
В вышеупомянутой статье они заявляют (перефразируя): «Алгоритмы GOFAI полностью понятны аналитически, но многие алгоритмы ANN поняты только эвристически». Теоремы сходимости для реализованных алгоритмов являются примером аналитического понимания, которое, как нам кажется, мы ДЕЛАЕМ в отношении нейронных сетей, поэтому утверждение на этом уровне общности мало что говорит мне о том, что известно против неизвестного или что будет считаться «ответом». «.
В заключение авторы предполагают, что такие вопросы, как эффективные ограничения на размер нейронной сети, необходимые для аппроксимации данного полинома, являются открытыми и интересными. Каковы другие примеры математически специфических аналитических вопросов, на которые нужно было бы ответить, чтобы сказать, что мы «понимаем» нейронные сети? Есть ли вопросы, на которые можно ответить на более чистом математическом языке?
(Я специально думаю о методах в теории представлений из-за использования физики в этой статье - и, эгоистично, потому что это моя область исследования. Однако я также могу представить такие области, как комбинаторика / теория графов, алгебраическая геометрия и топология, обеспечивающая жизнеспособные инструменты.)
источник
Ответы:
В машинном обучении есть куча теорем «без бесплатного обеда», грубо говоря, что не может быть ни одного основного алгоритма обучения, который работал бы одинаково лучше, чем все другие алгоритмы (см., Например, здесь http: //www.no-free- lunch.org/ ). Конечно же, глубокое обучение может быть «сломано» без особых затруднений: http://www.evolvingai.org/fooling
Следовательно, чтобы быть доказуемо эффективным, учащийся нуждается в индуктивном смещении, т. Е. В некоторых предварительных предположениях относительно данных. Примеры индуктивного смещения включают в себя предположения о разреженности данных или низкой размерности, или о том, что распределение хорошо факторизуется, или имеет большой запас, и т. Д. Различные успешные алгоритмы обучения используют эти предположения для доказательства гарантий обобщения. Например, (линейный) SVM хорошо работает, когда данные хорошо разделены в пространстве; в противном случае - не так много.
Я думаю, что главная проблема с глубоким обучением состоит в том, чтобы понять, каково его индуктивное смещение. Другими словами, это должно доказать теоремы типа: если обучающие данные удовлетворяют этим предположениям, то я могу гарантировать кое-что о производительности обобщения. (В противном случае все ставки выключены.)
Обновление (сентябрь-2019): За два года, прошедшие после моего опубликованного ответа, был достигнут значительный прогресс в понимании индуктивного смещения, неявного в различных алгоритмах DL и связанных с ними алгоритмах. Одним из ключевых моментов является то, что фактический используемый алгоритм оптимизации важен, так как равномерная конвергенция не может объяснить, почему системе с чрезмерно параметризованной системой, такой как большой ANN, удается учиться вообще. Оказывается, что различные методы оптимизации (такие как SGD) неявно регуляризируются относительно различных норм (таких как ). Посмотрите эту превосходную лекцию, чтобы найти другие примеры и многое другое: https://www.youtube.com/watch?v=zK84N6ST9sMℓ2
источник
В нашем понимании нейронных сетей есть два основных пробела: сложность оптимизации и производительность обобщения.
Обучение нейронной сети требует решения чрезвычайно невыпуклой задачи оптимизации в больших размерах. Все современные алгоритмы обучения основаны на градиентном спуске, который гарантирует только сходимость к критической точке (локальный минимум или седло). Фактически, Anandkumar & Ge 2016 недавно доказала, что нахождение даже локального минимума является NP-трудным, что означает, что (при условии P! = NP) существуют «плохие», труднодоступные, седловые точки на поверхности ошибки.
Тем не менее, эти алгоритмы обучения эмпирически эффективны для многих практических задач, и мы не знаем почему.
Были теоретические работы, такие как Choromanska et al. 2016 и Кавагути 2016которые доказывают, что при определенных допущениях локальные минимумы по существу так же хороши, как и глобальные минимумы, но сделанные ими допущения несколько нереалистичны и не решают проблему плохих седловых точек.
Другим основным пробелом в нашем понимании является эффективность обобщения: насколько хорошо модель работает на новых примерах, не замеченных во время обучения? Легко показать, что в пределе бесконечного числа обучающих примеров (взятых из стационарного распределения) ошибка обучения сходится с ожидаемой ошибкой на новых примерах (при условии, что вы можете тренироваться до глобального оптимума), но так как мы У нас нет бесконечных обучающих примеров, нас интересует, сколько примеров необходимо для достижения заданной разницы между обучением и ошибкой обобщения. Статистическая теория обучения изучает эти границы обобщения.
Опытным путем, обучение большой современной нейронной сети требует большого количества обучающих примеров (большие данные, если вам нравятся модные слова), но не настолько монументально большого, чтобы быть практически неосуществимым. Но если вы применяете самые известные оценки из теории статистического обучения (например, Gao & Zhou 2014 ), вы обычно получаете эти невероятно огромные числа. Поэтому эти границы очень далеки от жестких, по крайней мере, для практических задач.
Одной из причин может быть то, что эти границы имеют тенденцию предполагать очень мало о распределении, генерирующем данные, следовательно, они отражают производительность в худшем случае по сравнению с конкурирующими средами, в то время как «естественные» среды имеют тенденцию быть более «обучаемыми».
Можно написать зависящие от распределения границы обобщения, но мы не знаем, как формально охарактеризовать распределение по «естественным» средам. Такие подходы, как алгоритмическая теория информации , все еще неудовлетворительны.
Поэтому мы до сих пор не знаем, почему нейронные сети можно обучать без переоснащения.
Кроме того, следует отметить, что эти две основные проблемы, по-видимому, связаны еще недостаточно понятным образом: границы обобщения из теории статистического обучения предполагают, что модель обучена до глобального оптимума в обучающем наборе, но в практической обстановке вы никогда не будет обучать нейронную сеть до схождения даже до седловой точки, так как это обычно приводит к переоснащению. Вместо этого вы прекращаете обучение, когда ошибка в задержанном наборе проверки (который является прокси-сервером для ошибки обобщения) перестает улучшаться. Это известно как «ранняя остановка».
Таким образом, в некотором смысле все эти теоретические исследования по ограничению ошибки обобщения глобального оптимума могут быть совершенно неактуальными: не только мы не можем эффективно найти его, но даже если бы мы могли, мы бы этого не хотели, так как он будет работать хуже на новые примеры, чем многие "неоптимальные" решения.
Может случиться так, что жесткость оптимизации не является недостатком нейронной сети, наоборот, может быть, нейронные сети могут работать вообще именно потому, что их трудно оптимизировать.
Все эти наблюдения являются эмпирическими, и нет хорошей теории, объясняющей их. Также нет теории, которая объясняет, как устанавливать гиперпараметры нейронных сетей (ширина и глубина скрытого слоя, скорость обучения, детали архитектуры и т. Д.). Практики используют свою интуицию, отточенную опытом и большим количеством проб и ошибок, чтобы придумать эффективные ценности, в то время как теория может позволить нам проектировать нейронные сети более систематическим образом.
источник
Еще один взгляд на этот вопрос, добавляемый к замечаниям @ Арье: для многих других моделей обучения мы знаем «форму» пространства гипотез. SVM - лучший пример этого в том, что вы обнаруживаете линейный разделитель в (возможно, высокомерном) гильбертовом пространстве.
Для нейронных сетей в целом у нас нет такого четкого описания или даже приближения. И такое описание важно для нас, чтобы понять, что именно нейронная сеть обнаруживает в данных.
источник
Принцип информационного узкого места был предложен для объяснения успеха глубоких сетевых сетей.
Вот цитата из журнала Quanta
Рекомендации:
1- Глубокое обучение и принцип узкого места в информации , Нафтали Тишби и Нога Заславский
2- Открытие черного ящика глубоких нейронных сетей с помощью информации , Равид Шварц-Зив и Нафтали Тишби
3- Видео с конференции: Нафтали Тишби, Информационная теория глубокого обучения .
источник
Я бы сказал, что нам все еще нужно найти эффективный алгоритм обучения глубоких нейронных сетей. Да, SGD хорошо работает на практике, но было бы неплохо найти лучший алгоритм, который гарантировал бы сходство с глобальным минимумом.
источник