В чем разница между нейронной сетью, системой глубокого обучения и сетью глубокого убеждения?
Насколько я помню, ваша базовая нейронная сеть представляет собой 3-х уровневую штуку, и я описал Deep Belief Systems как нейронные сети, расположенные друг над другом.
До недавнего времени я не слышал о системах глубокого обучения, но я сильно подозреваю, что это синоним системы глубоких убеждений. Кто-нибудь может это подтвердить?
machine-learning
neural-networks
boltzmann-machine
Линдон Уайт
источник
источник
Ответы:
Модели искусственных нейронных сетей, как правило, ограничивались несколькими слоями, скажем, 3, на протяжении десятилетий по разным причинам, включая математическое доказательство под названием Колмогорова, которое указывало, что они могут теоретически аппроксимировать произвольные функции с низкой ошибкой (но только со многими нейронами).
многослойные сети за пределами этого были неосуществимы / эффективны с помощью предыдущих методов обучения. аналогичный прорыв произошел в 2006 году тремя разными исследователями Хинтоном, Ле Каном и Бенжио, которые смогли обучить гораздо больше слоев. Важной проблемой в этой области было распознавание почерка.
Термин «сеть глубоких убеждений», по-видимому, зародился в статье 2006 года Хинтона, касающейся байесовских сетей , которые имеют тесные концептуальные / теоретические связи / аналогии с нейронными сетями. «Алгоритм быстрого обучения для сетей глубоких убеждений»
см слайд 17, в частности, этой презентации глубоких нейронных сетей
таким образом, область глубокого обучения всего лишь ~ ½ десятилетия и подвергается быстрым исследованиям и разработкам. Google, Facebook, Yahoo имеют все объявленные инициативы, основанные на глубоком обучении, и исследования и разработки продолжаются.
источник
Искусственные нейронные сети - это класс алгоритмов, которые включают в себя множество различных типов алгоритмов, основанных на графиках, поэтому я не буду здесь вдаваться в подробности, кроме того, что вы просили, потому что есть слишком много, чтобы сказать, так как существует очень много видов ANN.
Первый вид искусственных нейронных сетей, известные нейроны МакКаллоха-Питтса, были линейными , то есть они могли решать только линейные задачи решения (т. Е. Наборы данных, которые можно было бы линейно разделить , рисуя линию). Со временем эта линейная модель нейронной сети стала известна как Персептрон или Адалин (в зависимости от того, как вы вычисляете обновление весов).
Линейные нейронные сети просто состоят из двудольного графа, где левые боковые узлы являются входными данными, а правые боковые узлы - выходными. Изучаются только веса ребер между этими узлами (порог активации узлов также можно регулировать, но это делается редко).
Большой шаг был сделан, когда были изобретены мелкие нейронные сети: вместо двудольного графа мы используем трехсторонний граф: входной «слой», выходной «слой» и один «скрытый слой» между ними. Благодаря скрытому слою, сеть теперь может принимать нелинейные решения и решать такие проблемы, как канонический XOR.
Обратите внимание, что «неглубокий» термин был придуман ретроспективно, когда были изобретены глубокие нейронные сети (также называемые n-слойными нейронными сетями). Это должно противопоставить нейронные сети только с одним скрытым слоем, с глубокими нейронными сетями с n скрытыми слоями . Как вы можете догадаться, использование большего количества скрытых слоев позволяет выбирать более сложные наборы данных, поскольку имеется больше слоев для модуляции решения (т. Е. Вы увеличиваете размерность границы своего решения, что может привести к переобучению).
Вы можете спросить: почему никто раньше не пытался использовать многослойные (глубокие) нейронные сети? На самом деле, они сделали это еще в 1975 году Фукусимой с Cognitron и Neocognitron (что на самом деле является сверточной нейронной сетью, но это уже другая история). Однако проблема заключалась в том, что никто не знал, как эффективно изучать такие сети, большая проблема заключалась в регуляризации . AutoEncoders Хинтона открыли путь, и позже Исправленные Линейные Единицы LeCun исправили проблему навсегда.
Как насчет Deep Beliefs Networks (DBN)? Это просто многослойные полуограниченные машины Больцмана. Таким образом, они являются своего рода глубокой нейронной сетью, но с другим базовым сетевым шаблоном (то есть: слой, этот шаблон повторяется): машины Больцмана отличаются от других сетей тем, что они являются генеративными , то есть обычно они используется, чтобы учиться на ваших данных воспроизводить их («генерировать»), в то время как обычные глубокие нейронные сети используются для разделения ваших данных (путем «границы принятия решения»).
Другими словами, DNN отлично подходят для классификации / прогнозирования значения из вашего набора данных, в то время как DBN отлично подходят для «восстановления» поврежденных данных (когда я говорю «восстановить», это не только из поврежденных данных, но и для совершенно точных данных). что вы просто хотите исправить ситуацию, чтобы она была более стереотипной, чтобы ее легче было распознать с помощью другой нейронной сети, такой как рукописные цифры).
На самом деле, чтобы подвести итог, вы можете сказать, что АвтоЭнкодеры являются более простой формой Deep Belief Network. Вот пример DBN, обученного распознавать лица, но НЕ номера, номера автоматически исчезают (это эффект «фиксации» DBN):
Таким образом, в конце концов, DBN и DNN не противоположны: они дополняют друг друга. Например, вы можете представить себе систему, которая распознает рукописные символы, которые сначала передают изображение символа в DBN, чтобы сделать его более стереотипным, а затем подают стереотипное изображение в DNN, который затем выводит, какой символ представляет изображение.
Последнее замечание: Сети глубокого убеждения очень близки к глубоким машинам Больцмана: в глубоких машинах Больцмана используются слои машин Больцмана (которые являются двунаправленными нейронными сетями, также называемыми рекуррентными нейронными сетями), в то время как в сетях глубокого убеждения используются полуограниченные машины Больцмана (полу- ограниченный означает, что они изменяются на однонаправленные, что позволяет использовать обратное распространение для изучения сети, что намного эффективнее, чем изучение рекуррентной сети). Обе сети используются для одной и той же цели (регенерация набора данных), но вычислительные затраты различны (машины Deep Boltzmann значительно дороже в обучении из-за их повторяющейся природы: сложнее "стабилизировать" веса).
Бонус: в отношении сверточных нейронных сетей (CNN) вы найдете множество противоречивых и запутанных утверждений, и обычно вы обнаружите, что это просто глубокие нейронные сети. Тем не менее, кажется, что консенсус заключается в том, чтобы использовать исходное определение неокогнитрона Фукусимы: CNN - это DNN, который вынужден извлекать различные функции на разных иерархических уровнях путем наложения свертки перед активацией (что DNN может делать естественным образом, но заставляя ее установив другую функцию свертки / активации на разных уровнях сети, можно получить лучший результат, по крайней мере, это ставка CNN):
И, наконец, более точный график Искусственного интеллекта смотрите здесь .
источник
Глубокие нейронные сети - это нейронные сети, которые имеют относительно высокую глубину. Они являются подклассом нейронных сетей. Идея на самом деле восходит десятилетия и не нова. Новым является то, что мы выяснили, как их тренировать на практике. Причина, по которой он стал очень популярным в последнее время, заключается в том, что их обучение стало возможным, и люди использовали их, чтобы побить современные алгоритмы. DNN требует много данных и вычислительных мощностей, которые были недоступны десятилетия назад. Джефф Хинтон, его ученики и коллеги выяснили, как обучать их на практике за последнее десятилетие, и использовали их, чтобы превзойти современные алгоритмы машинного обучения в нескольких областях, где большинство исследователей отказались от идеи их полного использования в то время.
Сети убеждений - это класс вероятностных графических моделей, которые моделируют группу случайных величин и их зависимостей с помощью графа (для этого есть разные способы). Сами эти переменные могут быть из параметризованных распределений и могут моделироваться нейронными сетями (или какой-либо другой моделью для представления параметризованных распределений). Сети глубокой веры - это сети веры, которые имеют относительно большую глубину.
Сети убеждений имеют тенденцию быть генеративными, то есть мы можем использовать обученную модель для генерации выборок из представленного в ней распределения.
Нейронные сети имеют тенденцию быть дискриминационными, мы можем использовать их для вычисления вероятности данного входа (это изображение кота? Какова вероятность того, что это изображение кота?), Но обычно не для выборки (генерировать изображение кота).
источник
Нейронные сети обычно реализуются там, где требуются скрытые слои и квадратные уравнения. Где используются сети глубокого обучения и глубокого убеждения, где для манипулирования данными требуется множество скрытых слоев, как глубокие сети Больцмана.
источник