Новые Adhockeries
В последние годы ортодоксальная привычка изобретать интуитивные устройства, а не апеллировать к каким-либо связанным теоретическим принципам, была распространена на новые проблемы таким образом, что на первый взгляд кажется, что было создано несколько новых областей науки. Тем не менее, все они связаны с доводами неполной информации; и мы считаем, что у нас есть теоремы, устанавливающие, что теория вероятностей как логика является основным средством решения всех таких проблем. Отметим три примера.
Нечеткие множества - совершенно очевидно, для любого, кто обучен байесовскому выводу, - грубые приближения к байесовским априорным вероятностям. Они были созданы только потому, что их практикующие продолжали думать о вероятности в терминах «случайности», которая должна существовать в Природе, но никогда не была четко определена; и поэтому пришли к выводу, что теория вероятностей не применима к таким проблемам. Как только человек признает вероятность как общий способ указания неполной информации , причина введения нечетких множеств исчезает.
Аналогичным образом, большая часть искусственного интеллекта (ИИ) представляет собой набор интуитивных устройств для рассуждения на основе неполной информации, которые, как и более ранние из ортодоксальной статистики, являются приближениями к байесовским методам и могут использоваться в некоторых ограниченных классах задач; но которые дают абсурдные выводы, когда мы пытаемся применить их к проблемам вне этого класса. Опять же, его практики пойманы на этом только потому, что они продолжают думать о вероятности как о физической «случайности» вместо неполной информации. В байесовском заключении все эти результаты содержатся автоматически - и довольно тривиально - без каких-либо ограничений для ограниченного класса задач.
Великолепная новая разработка - это нейронные сети, то есть система алгоритмов с замечательным новым свойством, которое они, подобно человеческому мозгу, адаптивны, чтобы они могли учиться на ошибках прошлого и автоматически исправлять себя (ВАУ! Какая прекрасная новая идея!) , Действительно, мы не удивлены, увидев, что нейронные сети действительно очень полезны во многих приложениях; больше, чем Fuzzy Sets или AI. Однако современные нейронные сети имеют два практических недостатка; (а) Они дают результат, определяемый настоящим вкладом плюс информация о прошедшем обучении. Этот вывод действительно оценкао правильном ответе, основанном на всей имеющейся информации, но он не указывает на ее точность и поэтому не говорит нам, насколько мы близки к цели (то есть, сколько еще нужно обучения); (b) Когда требуется нелинейный отклик, обращаются к внутренне хранимой стандартной «сигмовидной» нелинейной функции, которая с различными усилениями и линейными смесями может быть в некоторой степени приближена к истинной нелинейной функции. (Примечание: акцент мой.)
Но действительно ли нам нужно указывать, что (1) любая процедура, которая является адаптивной, по определению является средством учета неполной информации; (2) Теорема Байеса является точно матерью всех адаптивных процедур; общее правило для обновления любого состояния знаний принять во внимание новой информации; (3) Когда эти задачи сформулированы в байесовских терминах, один расчет автоматически дает как лучшую оценку, так и ее точность; (4) Если требуется нелинейность, теорема Байеса автоматически генерирует точную нелинейную функцию, требуемую задачей, вместо того, чтобы пытаться построить приближение к ней с помощью другого специального устройства.
Другими словами, мы утверждаем, что это вовсе не новые поля; только фальстарты. Если кто-то формулирует все такие проблемы по стандартному байесовскому рецепту, он автоматически получает все их полезные результаты в улучшенной форме. Трудности, с которыми люди, кажется, сталкиваются при осознании этого, являются примерами того же неспособности осмыслить отношения между абстрактной математикой и реальным миром. Как только мы осознаем, что вероятности не описывают реальность - только нашу информацию о реальности - врата становятся широко открытыми для оптимального решения проблем рассуждения на основе этой информации.
Прежде всего мы не укладываем линейные функции друг в друга, чтобы получить нелинейную функцию. Существует очевидная причина, по которой NN могут никогда не работать так: объединение линейных функций друг с другом приведет к линейной функции.
Что делает NN нелинейными, так это функция активации, которая следует за линейной функцией! Однако, в принципе, вы правы: мы просто складываем множество логистических регрессий (но не линейных!) Друг в друга и ... tadaa: мы получаем что-то хорошее из этого ... это справедливо? Оказывается, что (с теоретической точки зрения) это на самом деле справедливо. Еще хуже: используя знаменитую и хорошо известную теорему Стоуна-Вейерштрасса, мы просто доказываем, что нейронных сетей с одним скрытым слоем и без выходной функции в конечном узле достаточно для приближения любых непрерывных функций (и поверьте, непрерывные функции могут быть некрасивыми звери, смотрите «лестницу дьяволов»: https://en.wikipedia.org/wiki/Cantor_distribution) на интервалах вида (NN с одним скрытым слоем и без выходной функции в конечном узле являются в точности функциями вида где - размер скрытого слоя, то есть полиномов в логистических функциях, и они по определению образуют алгебру!). Т.е. «по построению», НС очень выразительны.[ а , б ] х ↦ = б + а1φ1( х ) + . , , + аLφL( х ) L
Почему тогда мы используем глубокие NN? Причина в том, что приведенная выше теорема SW гарантирует только то, что существует достаточно большой размер слоя, чтобы мы могли приблизиться к нашей (мы надеемся, непрерывной) целевой функции. Однако необходимый размер слоя может быть настолько большим, что ни один компьютер не сможет обработать весовые матрицы такого размера. NN с более скрытыми слоями кажутся хорошим компромиссом между «точностью» и вычислимостью. Я не знаю каких-либо теоретических результатов, указывающих на то, насколько «увеличивается» выразительность NN при добавлении большего количества скрытых слоев по сравнению с простым увеличением размера одного скрытого слоя, но, возможно, в Интернете есть некоторые ресурсы ...
Можем ли мы действительно понять глубокие NNs? Примеры вопросов: Почему именно NN предсказывает, что этот случай равен ИСТИНА, а другой, похожий случай, ЛОЖЬ? Почему именно он оценивает этого клиента более ценным, чем другой? Я не очень верю в это. Это связано со сложностью модели, которую вы не можете объяснить достаточно хорошо ... Я только слышу, что это все еще активная область исследований, но я не знаю никаких ресурсов ...
Что делает NN такими уникальными среди всех моделей? Истинная причина, по которой мы так часто используем NN, заключается в следующих двух причинах:
1. Я имею в виду, что с учетом обучающего набора , NN который был обучен на этом наборе и некоторых новых обучающих выборок , мы можем легко включить эти обучающие выборки в NN, просто продолжая алгоритм градиентного спуска / обратного хода, пока выбирая только партии из для обучения. Вся область обучения подкреплению (используется для выигрыша в таких играх, как Tic Tac Toe, Pong , Chess, Go, множество различных игр Atari с одной моделью и т. Д.) Основана на этом свойстве. Люди пытались внедрить это потоковое свойство в другие модели (например, Gradient Boosting), но это не так уж естественно и не так дешево в вычислительном отношении, как в настройке NN.T е T T′ T′
Под 2. Я имею в виду, что люди обучили NN делать самые странные вещи, но в принципе они просто использовали одну и ту же структуру: складывая гладкие функции друг в друга, а затем позволяя компьютеру (то есть PyTorch / Tensorflow) делать грязную математику для вас, как вычисления производная функции потерь по весам. Одним из примеров будет эта статьягде люди использовали подход RL, а также усовершенствовали архитектуру NN для изучения сложного языка химических веществ, обучая его тому, как работать со стеком памяти (!). Попробуйте сделать это с повышением градиента ;-) Причина, по которой они должны это сделать, заключается в том, что язык химикатов, по крайней мере, так же «сложен в изучении», как и язык скобок (т. Е. Каждая открывающая скобка имеет заключительную в слове позже ) потому что язык SMILES, который люди используют для описания молекул, содержит символы «(» и «)». Из теоретической информатики (иерархия Хомского) известно, что этот язык нельзя описать с помощью обычных автоматов, но нужны автоматы с выталкиванием (то есть автоматы со стековой памятью). Это была мотивация для них (я полагаю), чтобы научить эту странную вещь NN.
источник
"Почему это работает, когда это работает?"
Таким образом, все машинное обучение аналогично ad hoc.
Машинное обучение похоже на алхимию: существует множество загадочных рецептов, вы можете применить их и получить золото. Если нет, просто примените другой рецепт.
Никто не задает вопрос, который вы задали, по крайней мере, в публикациях, которые я знаю.
Помимо этого, существует статистическая теория обучения. Теория статистического обучения предполагает, что размер тренировочного набора уходит в бесконечность. Большинство результатов, которые я знаю, имеют форму: «при определенных условиях, если у вас достаточно большой тренировочный набор, вы можете получить почти настолько хороший результат, насколько это возможно, используя эту процедуру». Оценки того, что является «достаточно большим», находятся за гранью воображения.
Конечно, проблема в том, что размер тренировочного набора никуда не денется, не говоря уже о бесконечности.
Итак, я думаю, что настало время (1) задать этот вопрос, (2) разработать математический аппарат для ответа на вопрос обо всех возможных алгоритмах машинного обучения и (3) ответить на этот вопрос.
источник