Об искусственных нейронных сетях много говорят из-за их способности выполнять задачи, которые считаются сложными или сложными для компьютеров. Они решают проблемы путем самообучения, на основе проб и ошибок, а не программируются с помощью правил для конкретных задач, как в обычных компьютерах.

Искусственные нейронные сети замечательно справляются с задачами, которые раньше было трудно выполнять с помощью компьютеров, например, компьютерное зрение, медицинская диагностика, обнаружение мошенничества и распознавание речи. Как и большинство сложных структур, их разбиение на более простые компоненты упрощает их объяснение и понимание. Поэтому цель этой статьи - объяснить, как работают нейронные сети, в простейшей форме.

Искусственные нейронные сети черпают вдохновение в структуре и функциях биологических нейронов нервной системы человека. Общая структура биологического нейрона состоит из трех основных частей: дендритов, сомы (тела) и аксона. Дендриты в основном отвечают за получение входных данных и их передачу телу клетки, то есть соме. Затем тело клетки обрабатывает информацию и передает ее через аксон в нервную систему.

ИНС (искусственные нейронные сети) - это программное моделирование биологических нейронов. Это мощный управляемый данными, самоадаптирующийся, гибкий вычислительный инструмент, способный с высокой степенью точности фиксировать сложные характеристики любого физического процесса (например, обнаружение спама, обнаружение объектов, анализ настроений и т. Д.). Обычно считается, что они ведут себя как системы черного ящика из-за того, что трудно объяснить, как сеть обучается.

Давайте рассмотрим аналогию, чтобы лучше понять внутреннюю работу нейронной сети. Моя девушка всегда печет вкусный торт на мой день рождения. На ее день рождения в этом году я решил отплатить ей за услугу. Я хочу, чтобы это был сюрприз, чтобы я не мог спросить ее рецепт. Моей единственной надеждой добиться этого было использование метода проб и ошибок.

Ресурсов хватит на 5 попыток испечь торт. Для каждой попытки я комбинирую каждый из рецептов, начиная со случайного количества, выпекаю торт и пробую его. Первые результаты были ужасными, так как вкус был далек от того, что готовила моя девушка. Поэтому я учел эту обратную связь и скорректировал количество рецептов. После пятой попытки торт был точно таким же, как у нее. Поэтому я сохранил количество, которое дало мне лучший вкус, и ВОЙЛА! у нас есть торт, который по вкусу точно как торт моей подруги.

ИНС также следуют несколько схожей архитектуре с общей структурой, разделенной на три уровня:

  1. Входной слой
  2. Скрытый слой
  3. Выходной слой

Входной слой

Входной слой отвечает за получение входных данных. Узлы (основная единица ИНС), также называемые нейроном, считаются пассивными, поскольку на этом уровне не происходит никаких изменений данных. Данные просто дублируются, чтобы быть переданными узлам в скрытом слое. Такая структура называется полностью взаимосвязанной структурой. Количество нейронов во входном слое обычно такое же, как количество входных переменных в обрабатываемых данных.

Скрытый слой

Этот уровень находится между входным и выходным слоями, где они принимают набор взвешенных входных данных и производят выход с помощью функции активации. Этот уровень выполняет большую часть обработки данных в сети, поэтому узлы на этом уровне считаются активными. Слой отвечает за извлечение функций и закономерностей из анализируемых данных. Следовательно, можно использовать больше скрытых слоев для захвата более сложных объектов. Итак, если у нас есть k функций, которые изучаются k слоями, очень сложно визуализировать, какой слой изучил какую функцию. Следовательно, название «Скрытый» вполне естественно. Уровни действуют в определенном порядке: от ввода до вывода каждый слой обрабатывает все более сложную информацию.

Выходной слой

Наконец, выходной слой отвечает за представление окончательных сетевых выходов, которые являются результатом обработки, выполняемой нейронами на предыдущих уровнях. Количество нейронов в выходном слое должно быть напрямую связано с типом работы, которую выполняла нейронная сеть, и равно количеству выходов, связанных с каждым входом.

Обычно первый результат не всегда является нашим желаемым результатом, поэтому для улучшения результатов обратная связь, которая представляет собой разницу между желаемыми и прогнозируемыми результатами, отправляется обратно в систему (так называемое обратное распространение). Эта обратная связь используется для перенастройки сети и пересчета нового выхода. Этот повторяющийся процесс приводит нас к желаемым результатам, и именно так нейронная сеть учится. Окончательная конфигурация, которая привела к наиболее желаемым результатам, называется моделью.

В аналогии с пирогом ввод - это ингредиенты, скрытый слой - это смешивание ингредиентов, причем количество каждого ингредиента является весом. Полученный торт является продуктом, и после дегустации отправляется отзыв, и количество ингредиентов корректируется до тех пор, пока не будет найдена лучшая комбинация. Прямо как обычная нейронная сеть.

Функция активации

Чтобы объяснить функцию активации, я сначала расскажу о линейно разделимых данных. Линейно разделяемые данные - это данные, которые можно классифицировать по различным классам, например, проведя прямую линию через данные. В большинстве случаев реальные данные из-за своей сложности нельзя разделить линейно. Следовательно, нам нужны функции активации. Функция активации используется для преобразования сложных данных реального мира, которые нельзя разделить линейно, в форму, которая может быть разделена линейно.

На основе полученных входных данных функции активации решают, следует ли активировать данный узел, или, другими словами, они решают, какие характеристики информации следует передать на следующие уровни. Проще говоря, функция активации вычисляет взвешенную сумму своих входных данных, добавляет смещение, а затем решает, следует ли ее активировать или нет.

Веса используются для обозначения прочности соединений. Они показывают, какое влияние изменение входа оказывает на выход. С другой стороны, Bias показывает, насколько наши прогнозы далеки от реальных значений.

Смещения инициализируются случайным образом. Роль смещения заключается в боковом смещении изученной функции таким образом, чтобы она перекрывалась с исходной функцией, то есть значение смещения позволяет вам смещать функцию активации влево или вправо.

Типы функций активации

  1. Функция линейной активации: простые линейные функции формы f (x) = x, где вход проходит без каких-либо изменений в выход.
  2. Функции нелинейной активации: эти функции имеют дело со сложными нелинейными проблемами. Некоторые из наиболее часто используемых функций: Sigmoid, Tanh, Relu, lRelu.

Нейронная сеть без функции активации будет вести себя как модель линейной регрессии. Нелинейное преобразование, выполняемое функцией активации, позволяет сети выполнять сложные задачи.

Работает

Предполагая, что желаемый вывод сети равен y, а вывод равен y ’, тогда разница между прогнозируемым выводом и желаемым выводом, также известная как функция потерь , отражает производительность сети. Чем больше проигрыш, тем больше ошибок и наоборот. Цель процесса обучения сети - найти набор весов и смещения, который минимизирует функцию потерь.

Информация подается в сеть через входной уровень, который затем передается на скрытые слои и, в конечном итоге, на выходной уровень. Такой дизайн сети обычно называют сетью прямого распространения. Каждый узел получает входные данные от узлов слева от него, и эти входные данные умножаются на веса соединений, по которым они перемещаются. Каждый блок суммирует все входные данные, которые он получает, и если сумма превышает определенное пороговое значение, узел активируется и запускает узлы, к которым он подключен справа. Процесс обучения нейронной сети состоит из применения последовательности методов (называемых алгоритмом обучения) для настройки весов и пороговых значений ее нейронов. Это позволяет сети извлекать характеристики анализируемого процесса из данных.

Способ повышения производительности нейронной сети - это процесс обратной связи, который называется обратное распространение. Он включает в себя сравнение выходных данных, которые производит сеть, с выходными данными, которые она должна была производить. В зависимости от разницы между ними обновляются веса соединения между узлами в сети. Этот процесс продолжается до тех пор, пока разница не исчезнет или не станет незначительной.

Заключение

Искусственная нейронная сеть как таковая произвела революцию в мире. Возможности того, что мы можем делать с ИНС, безграничны. В этой статье мы познакомили с некоторыми основными понятиями об искусственных нейронных сетях. В следующих статьях мы обсудим еще несколько тем более глубоко и подробно.