Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of... · 2 мар 2022
Backpropagation (обратное распространение) — важный математический инструмент для повышения точности прогнозов в интеллектуальном анализе данных и машинном обучении. По сути, обратное распространение — это алгоритм, используемый для быстрого вычисления производных. Искусственные нейронные сети используют обратное распространение в качестве алгоритма обучения для вычисления градиентного спуска относительно весов. Желаемые выходные данные сравниваются с достигнутыми выходными данными системы, а затем системы настраиваются путем корректировки весов соединений, чтобы максимально уменьшить разницу между ними. Алгоритм получил свое название, потому что веса обновляются в обратном направлении, от вывода к вводу.
Трудность точного понимания того, как изменение весов и смещений влияет на общее поведение искусственной нейронной сети, была одним из факторов, сдерживавших более широкое применение приложений нейронных сетей, возможно, до начала 2000-х годов, когда компьютеры предоставили необходимую информацию. Сегодня алгоритмы обратного распространения находят практическое применение во многих областях искусственного интеллекта (ИИ), включая оптическое распознавание символов (OCR), обработку естественного языка (NLP) и обработку изображений. Поскольку обратное распространение требует известного желаемого результата для каждого входного значения, чтобы вычислить градиент функции потерь, его обычно классифицируют как тип машинного обучения с учителем. Наряду с классификаторами, такими как наивные байесовские фильтры и деревья решений, алгоритм обратного распространения стал важной частью приложений машинного обучения, включающих прогнозную аналитику.
Более детально - Что такое обратное распространение?
Мы можем определить алгоритм обратного распространения как алгоритм, который обучает некоторую заданную нейронную сеть с прямой связью для заданного входного шаблона, где классификации нам известны. В тот момент, когда каждое прохождение набора примеров демонстрируется сети, сеть смотрит на свою реакцию выхода на пример входного шаблона. После этого измеряется сравнение между выходным откликом и ожидаемым выходом со значением ошибки. Позже мы корректируем вес соединения на основе измеренного значения ошибки.
==========================
Прежде чем мы углубимся в обратное распространение, мы должны знать, кто ввел эту концепцию и когда. Впервые он был представлен в 1960-х годах, а 30 лет спустя он был популяризирован Дэвидом Румельхартом, Джеффри Хинтоном и Рональдом Уильямсом в знаменитой статье 1986 года. В этой статье они рассказали о различных нейронных сетях. Сегодня обратное распространение работает хорошо. Обучение нейронной сети происходит посредством обратного распространения ошибки. При таком подходе мы точно настраиваем веса нейронной сети на основе частоты ошибок, полученной в предыдущем прогоне.
Правильный способ применения этой техники снижает количество ошибок и делает модель более надежной. Обратное распространение используется для обучения нейронной сети методу цепного правила. Проще говоря, после каждого прямого прохождения через сеть этот алгоритм выполняет обратный проход для настройки параметров модели на основе весов и смещений. Типичный алгоритм контролируемого обучения пытается найти функцию, которая отображает входные данные в правильные выходные данные. Обратное распространение работает с многослойной нейронной сетью и изучает внутренние представления ввода-вывода.
Как работает обратное распространение?
Давайте посмотрим, как работает обратное распространение. Он имеет четыре слоя: входной слой, скрытый слой, скрытый слой II и конечный выходной слой.
Итак, основные три слоя:
Входной слой
Скрытый слой
Выходной слой
Каждый уровень имеет свой собственный способ работы и свой собственный способ действий, чтобы мы могли получить желаемые результаты и сопоставить эти сценарии с нашими условиями. Давайте обсудим другие детали, необходимые для подведения итогов этого алгоритма.
Это изображение суммирует работу подхода обратного распространения ошибки.
Входной слой получает x
Вход моделируется с использованием весов w
Каждый скрытый слой вычисляет выходные данные, и данные готовы на выходном слое.
Разница между фактическим выходом и желаемым выходом известна как ошибка. Вернитесь к скрытым слоям и отрегулируйте веса, чтобы уменьшить эту ошибку в будущих запусках.
Этот процесс повторяется до тех пор, пока мы не получим желаемый результат. Фаза обучения проходит под наблюдением. Как только модель становится стабильной, она используется в производстве.
==================
Функция потерь
==================
Одна или несколько переменных сопоставляются с действительными числами, которые представляют некоторую цену, связанную с этими значениями. Предназначенная для обратного распространения, функция потерь вычисляет разницу между выходом сети и ее вероятным выходом.
===================
Зачем нам нужно обратное распространение?
Обратное распространение имеет много преимуществ, некоторые из важных перечислены ниже:
Обратное распространение быстрое, простое и легко реализуемое
Нет параметров для настройки
Предварительные знания о сети не требуются, поэтому метод становится гибким.
Этот подход работает очень хорошо в большинстве случаев
Модель не должна изучать особенности функции
==================
Сеть прямой связи
==================
Сети с прямой связью также называются MLN, т.е. многоуровневыми сетями. Они известны как прямая связь, потому что данные перемещаются в NN только вперед через входной узел, скрытый слой и, наконец, к выходным узлам. Это самый простой тип искусственной нейронной сети.
===============================
Типы обратного распространения
===============================
Существует два типа сетей обратного распространения.
===============================
Статическое обратное распространение
Периодическое обратное распространение
==============================
Статическое обратное распространение
В этой сети отображение статического ввода генерирует статический вывод. Задачи статической классификации, такие как оптическое распознавание символов, будут подходящей областью для статического обратного распространения.
==============================
Периодическое обратное распространение
Периодическое обратное распространение выполняется до тех пор, пока не будет достигнут определенный порог. После порога ошибка вычисляется и распространяется обратно.
===============================
Разница между этими двумя подходами заключается в том, что статическое обратное распространение выполняется настолько быстро, насколько статично отображение.