Объяснение 7 типов нейронных сетей в искусственном интеллекте
Опубликовано: 2020-12-29Нейронные сети — это подмножество методов машинного обучения, которые изучают данные и шаблоны по-другому, используя нейроны и скрытые слои. Нейронные сети намного мощнее из-за своей сложной структуры и могут использоваться в приложениях, где традиционных алгоритмов машинного обучения просто недостаточно.
К концу этого урока вы будете знать:
- Краткая история нейронных сетей
- Что такое нейронные сети
- Типы нейронных сетей
- Персептрон
- Сети прямого распространения
- Многослойный персептрон
- Радиальные сети
- Сверточные нейронные сети
- Рекуррентные нейронные сети
- Сети долговременной памяти
Оглавление
Краткая история нейронных сетей
Исследователи 60-х годов исследовали и разрабатывали способы имитации функционирования человеческих нейронов и того, как работает мозг. Хотя это чрезвычайно сложно декодировать, была предложена аналогичная структура, которая может быть чрезвычайно эффективной при изучении скрытых закономерностей в данных.
На протяжении большей части 20-го века нейронные сети считались некомпетентными. Они были сложными, и их производительность была плохой. Кроме того, им требовалась большая вычислительная мощность, которой в то время не было. Однако, когда команда сэра Джеффри Хинтона, которого также называют «отцом глубокого обучения», опубликовала исследовательскую работу по обратному распространению, ситуация полностью изменилась. Нейронные сети теперь могли достичь того, о чем и не думали.
Что такое нейронные сети?
Нейронные сети используют архитектуру человеческих нейронов, которые имеют несколько входов, блок обработки и один/множество выходов. С каждым соединением нейронов связаны веса. Корректируя эти веса, нейронная сеть приходит к уравнению, которое используется для прогнозирования результатов на новых невидимых данных. Этот процесс выполняется обратным распространением и обновлением весов.
Типы нейронных сетей
Различные типы нейронных сетей используются для разных данных и приложений. Различные архитектуры нейронных сетей специально разработаны для работы с этими конкретными типами данных или предметной областью. Начнем с самых простых и перейдем к более сложным.

Персептрон
Персептрон — самая простая и самая старая форма нейронных сетей. Он состоит всего из 1 нейрона, который принимает входные данные и применяет к ним функцию активации для получения двоичного вывода. Он не содержит скрытых слоев и может использоваться только для задач бинарной классификации.
Нейрон выполняет обработку добавления входных значений с их весами. Полученная сумма затем передается в функцию активации для создания двоичного вывода.
Источник изображения
Узнайте о: Глубокое обучение против нейронных сетей
Сеть прямого распространения
Сети с прямой связью (FF) состоят из множества нейронов и скрытых слоев, которые связаны друг с другом. Они называются «упреждающими», потому что данные передаются только в прямом направлении, а обратное распространение отсутствует. Скрытые слои могут не обязательно присутствовать в сети в зависимости от приложения.
Чем больше количество слоев, тем больше может быть настройка весов. И, следовательно, больше будет способности сети к обучению. Веса не обновляются, так как нет обратного распространения. Результат умножения весов на входы подается на функцию активации, которая действует как пороговое значение.
Сети FF используются в:
- Классификация
- Распознавание речи
- Распознавание лица
- Распознавание образов
Источник изображения
Многослойный персептрон
Основным недостатком сетей Feed Forward была их неспособность обучаться с помощью обратного распространения. Многослойные персептроны — это нейронные сети, которые включают в себя несколько скрытых слоев и функций активации. Обучение происходит под наблюдением, когда веса обновляются с помощью градиентного спуска.
Многоуровневый персептрон является двунаправленным, т. е. прямое распространение входных данных и обратное распространение обновлений веса. Функции активации могут изменяться в зависимости от типа цели. Softmax обычно используется для многоклассовой классификации, Sigmoid для бинарной классификации и так далее. Их также называют плотными сетями, потому что все нейроны одного слоя связаны со всеми нейронами следующего слоя.
Они используются в приложениях, основанных на глубоком обучении, но обычно работают медленно из-за своей сложной структуры.
Источник изображения
Радиальные базовые сети
Сети радиального базиса (RBN) используют совершенно другой способ прогнозирования целей. Он состоит из входного слоя, слоя с RBF-нейронами и выходного. Нейроны RBF хранят фактические классы для каждого экземпляра обучающих данных. RBN отличается от обычного многослойного персептрона из-за радиальной функции, используемой в качестве функции активации.

Когда новые данные вводятся в нейронную сеть, нейроны RBF сравнивают евклидово расстояние значений признаков с фактическими классами, хранящимися в нейронах. Это похоже на определение того, к какому кластеру принадлежит конкретный экземпляр. Класс, в котором расстояние минимально, назначается как прогнозируемый класс.
RBN используются в основном в приложениях аппроксимации функций, таких как системы восстановления питания.
Источник изображения
Читайте также : Применение нейронных сетей в реальном мире.
Сверточные нейронные сети
Когда дело доходит до классификации изображений, наиболее часто используемыми нейронными сетями являются сверточные нейронные сети (CNN). CNN содержит несколько слоев свертки, которые отвечают за извлечение важных функций из изображения. Более ранние слои отвечают за детали низкого уровня, а более поздние слои отвечают за более высокоуровневые функции.
Операция свертки использует пользовательскую матрицу, также называемую фильтрами, для свертки входного изображения и создания карт. Эти фильтры инициализируются случайным образом, а затем обновляются путем обратного распространения. Одним из примеров такого фильтра является детектор краев Канни, который используется для поиска краев на любом изображении.
После слоя свертки идет слой объединения, который отвечает за агрегацию карт, созданных на основе свертка. Это может быть максимальное объединение, минимальное объединение и т. д. Для регуляризации CNN также включают возможность добавления слоев исключения, которые удаляют или делают определенные нейроны неактивными, чтобы уменьшить переобучение и ускорить сходимость.
CNN используют ReLU (выпрямленную линейную единицу) в качестве функций активации в скрытых слоях. В качестве последнего слоя CNN имеют полностью связанный плотный слой, а функция активации в основном как Softmax для классификации и в основном ReLU для регрессии.
Источник изображения
Рекуррентные нейронные сети
Рекуррентные нейронные сети появляются, когда есть необходимость в прогнозах с использованием последовательных данных. Последовательные данные могут быть последовательностью изображений, слов и т. д. RNN имеет структуру, аналогичную структуре сети с прямой связью, за исключением того, что слои также получают ввод с задержкой во времени предыдущего предсказания экземпляра. Этот прогноз экземпляра хранится в ячейке RNN, которая является вторым входом для каждого прогноза.
Однако основным недостатком RNN является проблема исчезающего градиента, из-за которой очень трудно запомнить вес предыдущих слоев.
Источник изображения

Сети долговременной памяти
Нейронные сети LSTM преодолевают проблему исчезающего градиента в RNN, добавляя специальную ячейку памяти, которая может хранить информацию в течение длительных периодов времени. LSTM использует вентили, чтобы определить, какой вывод следует использовать или забыть. Он использует 3 ворот: входные ворота, выходные ворота и ворота забывания. Входные ворота контролируют, какие данные должны храниться в памяти. Ворота вывода контролируют данные, передаваемые следующему уровню, а ворота забывания контролируют, когда сбрасывать/забывать ненужные данные.
LSTM используются в различных приложениях, таких как:
- Распознавание жестов
- Распознавание речи
- Прогнозирование текста
Прежде чем ты уйдешь
Нейронные сети могут стать очень сложными в кратчайшие сроки, если вы продолжаете добавлять слои в сеть. Бывают моменты, когда мы можем использовать огромные исследования в этой области, используя предварительно обученные сети для нашего использования.
Это называется трансферным обучением. В этом уроке мы рассмотрели большинство основных нейронных сетей и их функционирование. Обязательно попробуйте их, используя фреймворки глубокого обучения, такие как Keras и Tensorflow.
Если вам интересно узнать больше о нейронных сетях, машинном обучении и ИИ, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и ИИ, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований. и задания, статус выпускника IIIT-B, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.
Что такое нейронные сети?
Нейронные сети — это вероятностные модели, которые можно использовать для выполнения нелинейной классификации и регрессии, что означает аппроксимацию отображения из входного пространства в выходное пространство. Что интересно в нейронных сетях, так это то, что их можно обучать на большом количестве данных и использовать для моделирования сложного нелинейного поведения. Их можно обучать на множестве примеров, и их можно использовать для поиска закономерностей без какого-либо руководства. Поэтому нейронные сети используются во многих приложениях, где есть случайность и сложность.
Каковы 3 основные категории нейронных сетей?
Нейронная сеть — это вычислительный подход к обучению, аналогичный мозгу. Существует три основных категории нейронных сетей. Классификация, обучение последовательности и аппроксимация функций — это три основные категории нейронных сетей. Существует много типов нейронных сетей, таких как персептрон, Хопфилд, самоорганизующиеся карты, машины Больцмана, сети глубокого убеждения, автоматические кодировщики, сверточные нейронные сети, машины Больцмана с ограничениями, нейронные сети с непрерывными значениями, рекуррентные нейронные сети и сети функциональных связей.
Каковы ограничения нейронных сетей?
Нейронные сети могут решать задачи с большим количеством входных данных и большим количеством выходных данных. Но есть и ограничения для нейронных сетей. Нейронные сети в основном используются для классификации. Они очень плохо работают для регрессии. И это очень важный момент: нейронным сетям нужно много обучающих данных. Если набор данных мал, нейронные сети не смогут изучить основные правила. Еще одним ограничением для нейронных сетей является то, что они являются черными ящиками. Они не прозрачны. Внутреннюю структуру нейронной сети понять непросто.