Продолжим говорить о типах нейронных сетей в сфере Deep Learning. В этой части мы рассмотрим еще 10 дополнительных, специфичных и более продвинутых и глубоких нейронных сетей. Читайте в этой статье: марковские цепи, сети Кохонена и Хопфилда, машины Больцмана и Тьюринга и другие виды, о которых вы, возможно, не слышали.
1. Цепь Маркова
Цепь Маркова (Markov Chain) — это математическая система, которая обрабатывает переход из одного состояния в другое на основе некоторых вероятностных правил. Вероятность перехода в какое-либо конкретное состояние зависит исключительно от текущего состояния и прошедшего времени.
Применение марковский цепей:
- Распознавание речи
- Информационно-коммуникационная система
- Теория массового обслуживания (queueing theory)
- Статистика
2. Сеть Хопфилда
В нейронной сети Хопфилда (Hopfield Network, HN) каждый нейрон напрямую связан с другими нейронами. В этой сети нейрон либо включен, либо выключен. Состояние нейронов может измениться после получения сигнала от других нейронов. Обычно сети Хопфилда используется для распознавания шаблонов за счет автоассоциативной памяти. HN может распознать шаблон, даже если он несколько искажен или неполный. Если он неполный, то сеть достраивает шаблон.
Архитектура схожа с цепями Маркова. Применение сетей Хопфилда:
- Проблемы оптимизации
- Детектирование и распознавание образов
- Распознавание медицинских изображений
- Улучшение рентгеновских изображений
3. Машина Больцмана
Машина Больцмана (Boltzmann Machine) включает в себя обучение распределения вероятностей из исходного набора данных. Архитектура схожа с сетями сети Хопфилда. В машинах Больцмана есть входные и скрытые слои, как только все нейроны в скрытом слое изменяют свое состояние, входные нейроны преобразуются в выходные. Обычные машины Больцмана практически не используются для решения реальных задач, а являются основой для более сложных архитектур (RBM и DBN).
4. Ограниченные машин Больцмана (RBM)
Ограниченные машин Больцмана (Restricted Boltzmann Machine, RBM) — это разновидность машин Больцмана. В этой модели нейроны во входном слое и скрытом слое могут иметь симметричные связи между собой. Следует отметить, что внутри каждого слоя нет внутренних соединений (нет петель). Напротив, обычные машины Больцмана могут иметь внутренние соединения в скрытом слое. Эти ограничения позволяют эффективно обучаться (этим схожи с нейронной сетью прямого распространения).
Применение RBM:
- Фильтрация.
- Обучение представлениям (Feature learning)
- Классификация
- Бизнес и экономический анализ
5. Глубокая сеть доверия (DBN)
Глубокая сеть доверия (Deep Belief Network, DBN) — это вероятностный алгоритм глубокого обучения без учителя (unsupervised learning). Слои в DBN действуют как детектор признаков. После применения обучения DBN может быть дообучена с применением обучения с учителем (supersived learning). DBN можно представить как композицию ограниченных машин Больцмана (RBM) и автоэнкодеров.
Применение DBN:
- NLP
- Распознавание речи
- Нелинейное уменьшение размерности
6. Машина неустойчивых состояний (LSM)
Машина неустойчивых состояний (Liquid State Machine, LSM) не имеет фиксированных дискретных состояний. Каждый нейрон получает входные данные от внешнего мира и других нейронов, которые могут меняться со временем. Нейроны LSM случайным образом подключаются друг к другу. Вместо функций активации используются пороговые значения. В момент, когда LSM достигают порогового значения, то определенный нейрон возбуждается и выдает выходной сигнал.
Применение LSM:
- Распознавание речи
- Компьютерное зрение (computer vision)
7. Машина с экстремальным обучением (ELM)
В машинах с экстремальным обучениях (Extreme Learning Machine, ELM) нейроны в скрытом слое соединяются случайным образом. По архитектуре схож с LSM, но без пороговых значений. Поскольку количество соединений меньше, чем в обычных нейронных сетях, обучение ELM занимает меньше времени. Кроме того, в сетях машин с экстремальным обучением случайно назначенные веса могут не обновляться.
Применение ELM:
- Классификация
- Кластеризация
- Регрессия
- Аппроксимация
- Обучение представлениям (feature learning)
8. Нейронные эхо-сети (ESN)
Нейронные эхо-сети (Echo State Network, ESN) — это подтип рекуррентных нейронных сетей, где связи между нейронами скрытого слоя фиксированы и случайным образом распределены. В ESN каждый входной узел получает нелинейный сигнал. Обновляются веса только тех нейронов скрытого слоя, которые соединены с выходным слоем.
Применение ESN:
- Прогнозирование временных рядов
- Data Mining
9. Deep Residual Network (DRN)
Обычные глубокие нейронные сети (DNN) могут быть затратными для обучения модели и занимать много времени. Глубокие остаточные сети (DRN) справляются с этой проблемой, даже имея много слоев. В DRN результаты некоторых входных слоев переходят на следующие уровни. Эти сети могут быть довольно глубокими (они могут содержать около 300 слоев).
Применение DRN:
- Классификация изображений
- Детектирование объектов
- Сегментация изображений
- Распознавание речи
10. Сети Кохонена
Сети Кохонена (Kohonen Networks) — это алгоритм машинного обучения без учителя, также известен как самоорганизующиеся карты. Данная сеть полезна в том случае, когда данные разбросаны по многим измерениям, а требуется получить их только в одном или двух. Поэтому сеть Кохонена также можно рассматривать как один из методов уменьшения размерности.
Применение сетей Кохонена:
- Уменьшение размерности.
- Оценка и прогноз непрерывных значений
11. Нейронная машина Тьюринга (NTM)
Архитектура нейронной машины Тьюринга (Neural Turing Machine, NTM) состоит из двух основных компонентов: контроллер нейронной сети и сегмент памяти. В этой нейронной сети контроллер взаимодействует с внешним миром через входные и выходные векторы. Он также выполняет выборочные операции чтения и записи, взаимодействуя с матрицей памяти. Машина Тьюринга вычислительно эквивалентна современному компьютеру и расширяет возможности стандартных нейронных сетей за счет взаимодействия с внешней памятью.
Применение NTM:
- Робототехника
- Искусственный интеллект
Еще больше подробностей о видах нейронных сетях, их применении для решения реальных задач Data Science, вы узнаете на нашем специализированном курсе «PYNN: Введение в Нейронные сети на Python» в лицензированном учебном центре обучения и повышения квалификации Data Scientist’ов и IT-специалистов в Москве.