Когда мы углубимся в литературу по нейронным сетям , мы сможем идентифицировать другие методы с нейроморфными топологиями (архитектура, подобная «нейронной сети»). И я не говорю о теореме универсального приближения . Примеры приведены ниже.
Тогда это заставляет меня задуматься: каково определение искусственной нейронной сети? Его топология, кажется, охватывает все.
Примеры:
Одна из первых идентификаций, которую мы проводим, - между PCA и линейным автоэнкодером с привязанными весами в кодере и декодере и активациями с пороговым значением в слое узких мест.
Кроме того, общая идентификация выполняется между линейными моделями (в особенности логистической регрессией) и нейронной сетью без скрытого слоя и одного выходного слоя. Эта идентификация открывает несколько дверей.
Ряды Фурье и Тейлора? ANNs . SVM ? ЭНН. Гауссовский процесс? ANN (с одним скрытым слоем с бесконечными скрытыми единицами).
И так же легко мы можем включить произвольные регуляризованные версии со специализированными функциями потерь этих алгоритмов в инфраструктуру нейронной сети.
Но чем больше мы копаем, тем больше сходств. Я только что наткнулся на деревья принятия глубоких нейронных решений , которые позволяют идентифицировать конкретную архитектуру ANN с деревьями решений, что позволяет изучать их с помощью методов ANN (таких как обратное распространение градиентного спуска). Исходя из этого, мы можем построить случайные леса и деревья решений с градиентным усилением только из топологий нейронных сетей.
Если все можно выразить как Искусственную Нейронную Сеть, что определяет Искусственную Нейронную Сеть?
Ответы:
Юрген Шмидхубер, « Глубокое обучение в нейронных сетях: обзор », прослеживает историю ключевых понятий в нейронных сетях и глубоком обучении. По его мнению, нейронные сети, по-видимому, охватывают практически любую модель, которую можно охарактеризовать как ориентированный граф, где каждый узел представляет некоторую вычислительную единицу. Шмидхубер - известный исследователь нейронных сетей, он написал оригинальную статью о сетях LSTM с Сеппом Хохрайтером.
С другой стороны, я не уверен, что обязательно стоит попытаться построить таксономию взаимоисключающих групп для стратегий машинного обучения. Я думаю, что мы можем сказать, что есть перспективы, с которых модели можно рассматривать как нейронные сети. Я не думаю, что эта перспектива обязательно самая лучшая или полезная во всех контекстах. Например, я все еще планирую ссылаться на случайные леса и деревья с градиентным усилением как на «ансамбли деревьев» вместо того, чтобы абстрагироваться от их различий и называть их «деревьями нейронной сети». Более того, Шмидхубер отличает NN от машин с ядром - хотя машины с ядром имеют некоторые связи с NN - когда он пишет: «В новом тысячелетии глубокие NN наконец привлекли широкое внимание, в основном, превосходя альтернативные методы машинного обучения, такие как машины ядра ... в многочисленных важных приложениях. "
источник
Если вам нужно базовое определение ANN, вы можете сказать, что это ориентированная графическая модель, в которой входы и выходы обрабатываются на каждом узле с помощью функции активации, и большая часть спуска градиента времени используется для его обучения. Таким образом, действительно возникает вопрос: какие модели можно представить в виде графических моделей?
Я не эксперт, но, я полагаю, теоретически некоторые ANN могут быть показаны как полные по Тьюрингу, что означает, что они должны быть в состоянии выполнить любой возможный набор вычислений (с учётом возможного бесконечного количества ресурсов).
Я также собираюсь интерпретировать ваш вопрос следующим образом:
Ванильная нейронная сеть может эмулировать дерево решений, используя тяжелые пошаговые активации. Проблема в том, что такие активации юнита имеют нулевой градиент, поэтому нормальный градиентный спуск не будет работать. Вы можете сказать: «Нет проблем, просто используйте измененную форму градиентного спуска». Однако этого все еще недостаточно. Для лучшего примера возьмем что-то вроде XGBOOST, которое не просто леса с градиентным усилением. Существует много дополнительной работы, связанной с выбором точек разделения, обрезкой, оптимизацией по скорости и т. Д. Может быть, после достаточного количества модификаций вы можете сделать похожий ANN, но совсем не ясно, что такой ANN будет работать по крайней мере как ну, если он не оптимизирован для работы.
источник
"For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"
я боюсь сказать, что это не главное. Дело в том, что топология ANN настолько общая, что, кажется, охватывает все, и стратегия оптимизации, по-видимому, не в состоянии определить, что является, а что нет. Поэтому вопрос, что определяет ИНС? Потому что иначе все, в некотором смысле, является ИНС, выраженным в других терминах."A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"
- Как мы могли бы утверждать, оптимизация не является определяющим фактором для определения того, что составляет ANN. Если вы можете написать каждое дерево решений в виде нейронной сети (и мы можем это сделать), то мы можем с уверенностью сказать, что DT являются (типом) NN, в то время как обратное утверждение неверно."If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"
- Я согласен с этим. Тогда «Нейронную сеть» можно интерпретировать как наиболее общий класс моделей, возможно, только менее общий, чем «Графовые модели», который является надмножеством как неориентированных, так и направленных моделей графов. Возможно, вы могли бы подробнее рассказать об этом;)Возможно, более точное название для ИНС - «дифференцируемые сети», то есть сложные параметризованные функции, которые могут быть оптимизированы с использованием градиентного спуска или его варианта. Это очень общее определение, которое подчеркивает дифференцируемость, но ничего не говорит о главных идеях, задачах, для которых оно подходит, математической структуре и т. Д.
Обратите внимание, что дифференцируемость является чертой, а не основной. Например, SVM может обучаться с использованием градиентного спуска и, таким образом, проявляет свойства нейронной / дифференцируемой сети, но основная идея заключается в разделении данных с использованием гиперплоскостей. Вариационный автоэнкодер использует MLP для кодера и декодера, но оптимизируемая вами функция основана на байесовской статистике и т. Д.
Есть также несколько моделей, которые часто называют нейронными сетями, но не используют GD для обучения. Хороший пример - RBM. Я предполагаю, что лейбл "нейронная сеть" был прикреплен к нему в основном по историческим причинам - в конце концов, создатель RBM - Джеффри Хинтон, а Хинтон - парень из нейронной сети, верно? Однако, если вы проанализируете модель, то увидите, что структура RBM представляет собой марковскую сеть, основанная на энергии функция затрат основана на статистической физике начала 20-го столетия, и выборка MCMC / Gibbs развивалась параллельно и полностью независимо от нейронных сетей. ,
источник
Я мог бы постулировать некоторые вещи, которые помогают определить нейронную сеть.
Я почти уверен, что это охватывает все общепринятые сегодня нейронные сети, а также некоторые эзотерические.
Это не зависит от оптимизации (если мы навязываем градиентную оптимизацию, то развитые сети не будут нейронными сетями).
В ней не упоминаются нейроны / узлы или слои (некоторые нейронные сети сегодня едва ли описываются этими терминами), но я думаю, мы могли бы включить это и быть немного более ограничительными.
источник