В нашем понимании нейронных сетей есть два основных пробела: сложность оптимизации и производительность обобщения.
Обучение нейронной сети требует решения чрезвычайно невыпуклой задачи оптимизации в больших размерах. Все современные алгоритмы обучения основаны на градиентном спуске, который гарантирует только сходимость к критической точке (локальный минимум или седло). Фактически, Anandkumar & Ge 2016 недавно доказала, что нахождение даже локального минимума является NP-трудным, что означает, что (при условии P! = NP) существуют «плохие», труднодоступные, седловые точки на поверхности ошибки.
Тем не менее, эти алгоритмы обучения эмпирически эффективны для многих практических задач, и мы не знаем почему.
Были теоретические работы, такие как Choromanska et al. 2016 и Кавагути 2016которые доказывают, что при определенных допущениях локальные минимумы по существу так же хороши, как и глобальные минимумы, но сделанные ими допущения несколько нереалистичны и не решают проблему плохих седловых точек.
Другим основным пробелом в нашем понимании является эффективность обобщения: насколько хорошо модель работает на новых примерах, не замеченных во время обучения? Легко показать, что в пределе бесконечного числа обучающих примеров (взятых из стационарного распределения) ошибка обучения сходится с ожидаемой ошибкой на новых примерах (при условии, что вы можете тренироваться до глобального оптимума), но так как мы У нас нет бесконечных обучающих примеров, нас интересует, сколько примеров необходимо для достижения заданной разницы между обучением и ошибкой обобщения. Статистическая теория обучения изучает эти границы обобщения.
Опытным путем, обучение большой современной нейронной сети требует большого количества обучающих примеров (большие данные, если вам нравятся модные слова), но не настолько монументально большого, чтобы быть практически неосуществимым. Но если вы применяете самые известные оценки из теории статистического обучения (например, Gao & Zhou 2014 ), вы обычно получаете эти невероятно огромные числа. Поэтому эти границы очень далеки от жестких, по крайней мере, для практических задач.
Одной из причин может быть то, что эти границы имеют тенденцию предполагать очень мало о распределении, генерирующем данные, следовательно, они отражают производительность в худшем случае по сравнению с конкурирующими средами, в то время как «естественные» среды имеют тенденцию быть более «обучаемыми».
Можно написать зависящие от распределения границы обобщения, но мы не знаем, как формально охарактеризовать распределение по «естественным» средам. Такие подходы, как алгоритмическая теория информации , все еще неудовлетворительны.
Поэтому мы до сих пор не знаем, почему нейронные сети можно обучать без переоснащения.
Кроме того, следует отметить, что эти две основные проблемы, по-видимому, связаны еще недостаточно понятным образом: границы обобщения из теории статистического обучения предполагают, что модель обучена до глобального оптимума в обучающем наборе, но в практической обстановке вы никогда не будет обучать нейронную сеть до схождения даже до седловой точки, так как это обычно приводит к переоснащению. Вместо этого вы прекращаете обучение, когда ошибка в задержанном наборе проверки (который является прокси-сервером для ошибки обобщения) перестает улучшаться. Это известно как «ранняя остановка».
Таким образом, в некотором смысле все эти теоретические исследования по ограничению ошибки обобщения глобального оптимума могут быть совершенно неактуальными: не только мы не можем эффективно найти его, но даже если бы мы могли, мы бы этого не хотели, так как он будет работать хуже на новые примеры, чем многие "неоптимальные" решения.
Может случиться так, что жесткость оптимизации не является недостатком нейронной сети, наоборот, может быть, нейронные сети могут работать вообще именно потому, что их трудно оптимизировать.
Все эти наблюдения являются эмпирическими, и нет хорошей теории, объясняющей их. Также нет теории, которая объясняет, как устанавливать гиперпараметры нейронных сетей (ширина и глубина скрытого слоя, скорость обучения, детали архитектуры и т. Д.). Практики используют свою интуицию, отточенную опытом и большим количеством проб и ошибок, чтобы придумать эффективные ценности, в то время как теория может позволить нам проектировать нейронные сети более систематическим образом.