8.3 KiB
title | localeTitle |
---|---|
Neural Networks | Нейронные сети |
Нейронные сети
Искусственная нейронная сеть - это вычислительная система. Они похожи на биологические нейронные сети, которые составляют мозг животных. Для обучения нейронной сети нам нужен вектор ввода и соответствующий выходной вектор. Обучение работает путем сведения к минимуму ошибки. Эта ошибка может быть квадратичной разницей между прогнозируемым выходом и исходным выходом.
Основным принципом, лежащим в основе замечательного успеха нейронных сетей, является «Универсальная теорема приближения». Математически доказано, что нейронные сети являются универсальными машинами аппроксимации, которые способны аппроксимировать любую математическую функцию между данными входами и выходами.
Первоначально нейронные сети стали популярными в 1980-х годах, но ограничения в вычислительной мощности запрещали их широкое признание до последнего десятилетия. Инновации в размерах и мощности процессора позволяют реализовать нейронную сеть в масштабе, хотя другие парадигмы машинного обучения все еще превосходят нейронные сети с точки зрения эффективности.
Основным элементом нейронной сети является нейрон. Он представляет собой вектор, скажем, x
, а его вывод является вещественной переменной, например y
. Таким образом, мы можем заключить, что нейрон действует как отображение между вектором x
и вещественным числом y
.
Нейронные сети выполняют регрессию итеративно на нескольких уровнях, что приводит к более тонкой модели прогнозирования. Один узел в нейронной сети вычисляет ту же функцию, что и логистическая регрессия . Все эти слои, помимо ввода и вывода, скрыты, то есть конкретные черты, представленные этими уровнями, не выбраны или не изменены программистом.
В любом данном слое каждый узел принимает все значения, хранящиеся на предыдущем уровне, в качестве входных данных и делает прогнозы на них на основе анализа логистической регрессии. Сила нейронных сетей заключается в их способности «обнаруживать» модели и черты, невидимые программистами. Как упоминалось ранее, средние слои «скрыты», что означает, что веса, передаваемые переходам, определяются исключительно обучением алгоритма.
Нейронные сети используются по целому ряду задач. К ним относятся компьютерное зрение, распознавание речи, перевод, фильтрация социальной сети, воспроизведение видеоигр и медицинский диагноз между прочим.
Визуализация
Есть потрясающий инструмент, который поможет вам понять идею нейронных сетей без какой-либо жесткой математики: TensorFlow Playground , веб-приложение, которое позволяет вам играть с реальной нейронной сетью, работающей в вашем браузере, и щелкать кнопками и настраивать параметры, чтобы увидеть, как это работает.
Проблемы, решаемые с помощью Neural Networks
- классификация
- Кластеризация
- регрессия
- Обнаружение аномалий
- Правила ассоциации
- Укрепление обучения
- Структурированное прогнозирование
- Разработка функций
- Изучение функций
- Обучение ранжированию
- Грамматическая индукция
- Прогноз погоды
- Создание изображений
Общие системы нейронных сетей
Самые распространенные нейронные сети, используемые сегодня, относятся к категории глубокого обучения . Глубокое обучение - это процесс объединения нескольких слоев нейронов, чтобы сеть могла создавать все более абстрактные отображения между входными и выходными векторами. Глубокие нейронные сети чаще всего используют обратную пропозицию , чтобы сходиться к наиболее точному отображению.
Второй наиболее распространенной формой нейронных сетей является nueroevolution. В этой системе несколько нейронных сетей генерируются случайным образом в качестве исходных догадок. Затем для сближения более точного отображения используются несколько поколений комбинирования точных большинства сетей и случайных перестановок.
Типы нейронных сетей
- Рекуррентная нейронная сеть (RNN)
- Долгосрочная временная память (LSTM), тип RNN
- Сверточная нейронная сеть (CNN)