Фундаментальная проблема с глубоким обучением и нейронными сетями в целом.
Решения, которые соответствуют данным обучения, бесконечны. У нас нет точного математического уравнения, которое удовлетворяет только одно и которое можно сказать, обобщает лучше всего. Проще говоря, мы не знаем, что обобщает лучше всего.
Оптимизация весов не является выпуклой проблемой, поэтому мы никогда не узнаем, что в итоге мы имеем глобальный или локальный минимум.
Так почему бы просто не сбросить нейронные сети и вместо этого искать лучшую модель ML? То, что мы понимаем, и то, что согласуется с набором математических уравнений? Линейные и SVM не имеют этих математических недостатков и полностью согласуются с набором математических уравнений. Почему бы просто не думать одинаково (не обязательно быть линейными) и придумать новую модель ML лучше, чем Linear и SVM, нейронные сети и глубокое обучение?
источник
Ответы:
Неспособность узнать, какое решение лучше обобщает, - это проблема, но она не должна удерживать нас от использования хорошего решения. Сами люди часто не знают, что лучше всего обобщает (например, конкурирующие объединяющие теории физики), но это не вызывает у нас слишком много проблем.
Было показано, что из-за локальных минимумов обучение очень редко терпит неудачу. Большинство локальных минимумов в глубокой нейронной сети близки по стоимости к глобальному минимуму, так что это не проблема. источник
Но более широкий ответ заключается в том, что вы можете говорить весь день о невыпуклости и выборе моделей, и люди все равно будут использовать нейронные сети просто потому, что они работают лучше, чем что-либо еще (по крайней мере, над такими вещами, как классификация изображений).
Конечно, есть люди, которые утверждают, что мы не должны слишком фокусироваться на CNN, как сообщество было сфокусировано на SVM несколько десятилетий назад, и вместо этого продолжать искать следующую большую вещь. В частности, я думаю, что помню, как Хинтон сожалел об эффективности CNN как о чем-то, что может помешать исследованиям. связанный пост
источник
Как отмечается в комментариях к вашему вопросу, многие люди работают над поиском чего-то лучшего. Хотелось бы ответить на этот вопрос, расширив комментарий, оставленный @josh
Все модели ошибочны, но некоторые полезны (Wiki)
Приведенное выше утверждение является общей истиной, используемой для описания природы статистических моделей. Используя имеющиеся у нас данные, мы можем создавать модели, которые позволяют нам делать полезные вещи, например приближать прогнозируемое значение.
Взять, к примеру, линейную регрессию
Используя ряд наблюдений, мы можем подобрать модель, чтобы дать нам приблизительное значение для зависимой переменной с учетом любого значения (й) для независимой (ых) переменной (ей).
Отклонения от нашей модели (как видно на рисунке выше) кажутся случайными, некоторые наблюдения находятся ниже линии, а некоторые выше, но наша линия регрессии показывает общую корреляцию. Хотя отклонения в нашей модели кажутся случайными, в реалистичных сценариях будут присутствовать другие факторы, которые вызывают это отклонение. Например, представьте себе, что вы наблюдаете, как машины проезжают перекресток, где они должны повернуть налево или направо, чтобы продолжить движение, причем машины не поворачиваются определенным образом. В то время как мы можем сказать, что направление поворота машины является абсолютно случайным, каждый ли водитель достигает перекрестка и в этот момент принимает случайное решение о том, какой путь повернуть? В действительности они, вероятно, направляются куда-то определенное по определенной причине, и, не пытаясь остановить каждую машину, чтобы спросить их об их аргументации, мы можем только описать их действия как случайные.
Там, где мы можем подобрать модель с минимальным отклонением, насколько мы можем быть уверены, что неизвестная, незамеченная или неизмеримая переменная в какой-то момент не бросит нашу модель? Вызывает ли взмах крыльев бабочки в Бразилии торнадо в Техасе?
Проблема с использованием только линейных и SVN-моделей, о которых вы упомянули, заключается в том, что мы несколько обязаны вручную наблюдать за нашими переменными и тем, как они влияют друг на друга. Затем нам нужно решить, какие переменные важны, и написать алгоритм для конкретной задачи. Это может быть просто, если у нас есть только несколько переменных, но что, если у нас было тысячи? Что если бы мы хотели создать обобщенную модель распознавания изображений, можно ли этого реально достичь с помощью этого подхода?
Глубокое обучение и искусственные нейронные сети (ANN) могут помочь нам создать полезные модели для огромных наборов данных, содержащих огромное количество переменных (например, библиотеки изображений). Как вы упомянули, существует непостижимое количество решений, которые могли бы соответствовать данным с использованием ANN, но действительно ли это число отличается от количества решений, которое нам нужно было бы разработать самостоятельно методом проб и ошибок?
Применение ANN делает большую часть работы за нас, мы можем указать наши входные данные и наши желаемые выходные данные (и настроить их позже для внесения улучшений) и оставить ANN на усмотрение решения. Вот почему ИНС часто называют «черными ящиками» . Из заданного входного сигнала они выводят приближение, однако (в общих чертах) эти приближения не включают подробности того, как они были аппроксимированы.
И поэтому все сводится к тому, какую проблему вы пытаетесь решить, так как проблема будет определять, какой модельный подход является более полезным. Модели не совсем точны, поэтому всегда есть элемент «неправильности», однако, чем точнее ваши результаты, тем они полезнее. Наличие более подробных результатов о том, как было сделано приближение, также может быть полезным, в зависимости от проблемы, оно может быть даже более полезным, чем повышение точности.
Например, если вы рассчитываете кредитный балл лиц, использование регрессии и SVM обеспечивает расчеты, которые можно лучше изучить. Возможность одновременно настраивать модель и объяснять клиентам влияние отдельных независимых переменных на их общий балл очень полезна. ИНС может помочь в обработке большего количества переменных для достижения более точной оценки, но будет ли эта точность более полезной?
источник
Глобальный минимум может быть бесполезным, поэтому нам все равно, найдем мы его или нет. Причина в том, что для глубоких сетейпри увеличении размера сети экспоненциально увеличивается не только время его нахождения, но и глобальный минимум, который часто соответствует переобучению обучающего набора. Таким образом, пострадает способность обобщать DNN (что нас действительно волнует). Кроме того, часто мы предпочитаем более плоские минимумы, соответствующие более высокому значению функции потерь, чем более острые минимумы, соответствующие более низкому значению функции потерь, потому что второй будет очень плохо иметь дело с неопределенностью входных данных. Это становится все более очевидным с развитием Байесовского глубокого обучения. Робастная оптимизация очень часто опережает детерминистскую оптимизацию применительно к реальным проблемам, где важна неопределенность.
Наконец, факт, что DNN просто пинают такие методы, как XGBoost при классификации изображений и NLP. Компания, которая должна извлечь выгоду из классификации изображений, правильно выберет их в качестве моделей для развертывания в производстве ( и вложит значительную сумму денег в разработку функций, конвейер данных и т. Д., Но я отступаю). Это не означает, что они доминируют во всей среде ML: например, они работают хуже, чем XGBoost на структурированных данных (см. Последние победители соревнований Kaggle), и они, похоже, все еще не так хороши, как фильтры частиц при моделировании временных рядов. Однако некоторые самые последние нововведения в области RNN могут изменить эту ситуацию.
источник
Я думаю, что лучший способ задуматься над этим вопросом - через конкурентный рынок. Если вы бросаете глубокое обучение, и ваши конкуренты используют его, и оно работает лучше, чем то, что вы использовали, то на рынке вы будете побеждены.
Я думаю, что это происходит, отчасти, сегодня, то есть глубокое обучение, кажется, работает лучше, чем что-либо другое для целого ряда проблем на рынке. Например, онлайн- переводчики, использующие глубокое обучение , лучше, чем чисто лингвистические подходы, которые использовались ранее. Всего несколько лет назад этого не произошло, но успехи в глубоком обучении привели тех, кто привык к лидерским позициям на рынке.
Я продолжаю повторять «рынок», потому что именно это движет нынешним всплеском глубокого обучения. В тот момент, когда бизнес находит что-то полезное, оно становится широко распространенным. Не то, чтобы мы , комитет, решили, что глубокое обучение должно быть популярным. Это бизнес и конкуренция.
Вторая часть состоит в том, что в дополнение к фактическому успеху ML, есть также страх пропустить лодку. Многие компании параноики, что если они упустят ИИ, они потерпят неудачу как бизнес. Этот страх подпитывается всеми этими консультационными домами, фирмами Gartners и т. Д. Шептавшими руководителям, что они должны сделать искусственный интеллект или умереть завтра.
Никто не заставляет бизнес использовать глубокое обучение. IT и R & D взволнованы с новой игрушкой. Академия подбадривает, так что эта вечеринка продлится до тех пор, пока не прекратится музыка, то есть до тех пор, пока не прекратится глубокое обучение. В то же время вы можете выбросить его и найти лучшее решение.
источник
Есть отличные ответы, в основном с пользой DL и ANN. Но я хотел бы возразить против ОП более фундаментальным образом, поскольку вопрос уже принимает само собой разумеющееся математическое несоответствие нейронных сетей.
Прежде всего, там это математическая теория позади (большинство моделей) Neural Networks. Вы также можете утверждать, что линейная регрессия не обобщает, если базовая модель ... ну, линейная. В нейронных алгоритмах предполагается модель (даже если не явно) и вычисляется ошибка подгонки. Тот факт, что алгоритмы модифицированы различными эвристиками, не лишает первоначальной математической поддержки. Кстати, локальная оптимизация также является математически непротиворечивой, не говоря уже о полезной теории.
Вдобавок к этому, если Нейронные сети просто составляют один класс методов во всем наборе инструментов ученых, то какая линия отделяет Нейронные сети от остальных методов? Фактически, SVM когда-то считали классом NN, и они все еще появляются в тех же книгах. С другой стороны, NN можно рассматривать как (нелинейный) метод регрессии, возможно, с некоторым упрощением. Я согласен с ФП в том, что мы должны искать лучшие, обоснованные и эффективные алгоритмы, независимо от того, помечаете вы их как NN или нет.
источник
Я полагаю, что по какой-то проблеме нас меньше заботит математическая строгость и простота, но больше важна ее полезность: текущее состояние нейронной сети лучше при выполнении определенных задач, таких как распознавание образов при обработке изображений.
источник
В этом вопросе много всего. Давайте посмотрим, что вы написали один за другим.
Тот факт, что существует бесконечное множество решений, происходит из-за того, что проблема обучения является некорректной задачей, поэтому не может быть единственной, которая обобщает лучше всего. Кроме того, ни по какой теореме о бесплатном обеде какой бы метод мы не использовали, мы не можем гарантировать, что он лучший во всех задачах обучения.
Это утверждение не совсем верно. Существуют теоремы об минимизации эмпирического риска от Vapnik & Chervonenkis, которые связывают количество выборок, размерность VC метода обучения и ошибку обобщения. Обратите внимание, что это относится только к данному набору данных. Итак, учитывая набор данных и процедуру обучения, мы знаем границы обобщения. Обратите внимание, что для разных наборов данных нет и не может быть единой наилучшей процедуры обучения из-за отсутствия теоремы о бесплатном обеде.
Здесь есть несколько вещей, которые вы должны иметь в виду. Оптимизация невыпуклой задачи не так проста, как выпуклая; это правда. Тем не менее, класс методов обучения, которые являются выпуклыми, ограничен (линейная регрессия, SVM), и на практике они работают хуже, чем класс невыпуклых (бустинг, CNN) для множества проблем. Таким образом, важнейшей частью является то, что на практике нейронные сети работают лучше всего. Хотя есть ряд очень важных элементов, которые делают нейронные сети хорошо работающими:
Сбрасывать вещи, которые работают из-за их непонимания, - не лучшее направление для исследований. Усилие в их понимании, с другой стороны, является отличным направлением исследований. Также я не согласен с тем, что нейронные сети несовместимы с математическими уравнениями. Они довольно последовательны. Мы знаем, как их оптимизировать и сделать вывод.
источник
Как насчет просмотра нейронных сетей с экспериментальной точки зрения? То, что мы их создали, не означает, что мы обязаны понимать их интуитивно. Или что нам не разрешено играть с ними, чтобы лучше понять, что они делают.
Вот пара мыслей, которые у меня есть на них:
Это соответствует тому, как мы думаем. Это даже согласуется с тем, как работает научный метод. Таким образом, взломав нейронные сети, мы также можем решить общий вопрос о том, что представляет собой знание.
источник
Не забывайте, что существует обширная область исследований, в которых используются LM, GLM, многоуровневое моделирование. В последнее время байесовские методы и гамильтониан Монте-Карло (сообщество STAN действительно находится на переднем крае этого) достигли совершеннолетия и ряд проблем, которые решает STAN очень легко и на самом деле не нуждаются в NN или глубоких сетях. Исследования в области социальных наук, микроэкономика - это два (больших) примера того, как Стэн быстро внедряет такие области.
Модели Стэна очень "читабельны". Коэффициенты фактически имеют апостериорную интерпретацию, как и прогнозы. Приоры являются частью процесса генерации данных и не должны быть сопряженными, чтобы быть производительными (как гиббс). Подгонка модели в stan - это восхищение, она на самом деле настраивает надоедливые параметры MCMC автоматически чертовски хорошо и предупреждает вас, когда исследование застряло с действительно хорошими визуализациями.
Если вы еще не пробовали, посмотрите здесь классные демоверсии stan ).
В конце концов, я думаю, что люди не так много говорят об этом, потому что исследования в этой области и проблемы не такие «сексуальные» / «крутые», как с NNs.
источник
Что обычно происходит, когда нет математической согласованности (по крайней мере, в этом случае нейронных сетей) ... когда результаты теста не дают желаемых результатов, ваш начальник вернется и скажет ... Эй, почему бы вам не попробуй выпадать (какой вес, какой слой, сколько у тебя головной боли, поскольку нет математического способа определить), поэтому после того, как ты попробуешь и, надеюсь, получишь незначительное улучшение, но не желаемое, твой босс вернется и скажет, почему не попробовать снижение веса (какой фактор?)? и позже, почему бы вам не попробовать ReLU или какую-либо другую активацию на некоторых слоях, и все же нет, почему бы не попробовать 'max pooling'? все еще нет, почему бы не попробовать пакетную нормализацию, все еще нет или, по крайней мере, сходимость, но не желаемый результат, о, вы находитесь в локальном минимуме, попробуйте другой график обучения, просто поменять архитектуру сети? и повторите все вышеизложенное в разных сочетаниях! Держите это в курсе, пока не добьетесь успеха!
С другой стороны, когда вы пытаетесь согласовать SVM, после конвергенции, если результат не очень хороший, тогда ладно, используемое нами линейное ядро недостаточно хорошее, поскольку данные могут быть не линейными, используйте ядро другой формы, попробуйте Ядро другой формы, если у вас есть предчувствие, если нет, просто оставьте его, это ограничение SVM.
Я говорю о том, что нейронные сети настолько непоследовательны, что это даже не неправильно! Он никогда не принимает свое поражение! Инженер / дизайнер берет на себя бремя, если оно работает не так, как хотелось бы.
источник