Учебники

Искусственные нейронные сети

Искусственная нейронная сеть, или, если коротко, просто нейронная сеть, не новая идея. Это было около 80 лет.

Только в 2011 году Deep Neural Networks стали популярными благодаря использованию новых методов, огромной доступности наборов данных и мощных компьютеров.

Нейронная сеть имитирует нейрон с дендритами, ядром, аксоном и терминальным аксоном.

Терминал Аксон

Для сети нам нужны два нейрона. Эти нейроны передают информацию через синапс между дендритами одного и конечным аксоном другого.

Нейроны Передача Информация

Вероятная модель искусственного нейрона выглядит следующим образом —

Вероятная модель

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

Нейронная сеть

Кружки — это нейроны или узлы, с их функциями в отношении данных, а соединяющие их линии / ребра являются весами / информацией, передаваемой по ней.

Каждый столбец является слоем. Первый слой ваших данных является входным слоем. Затем все слои между входным слоем и выходным слоем являются скрытыми слоями.

Если у вас есть один или несколько скрытых слоев, то у вас неглубокая нейронная сеть. Если у вас много скрытых слоев, значит, у вас глубокая нейронная сеть.

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

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

Мы можем иметь сигмовидную (s-образную) функцию в качестве функции активации.

Что касается весов, они просто случайны для начала, и они уникальны для каждого входа в узел / нейрон.

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

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

Отправка данных напрямую через нейронную сеть называется нейронной сетью с прямой связью.

Наши данные идут от ввода к слоям, по порядку, а затем к выводу.

Когда мы возвращаемся назад и начинаем корректировать веса, чтобы минимизировать потери / затраты, это называется обратным распространением.

Это проблема оптимизации. В реальной нейронной сети нам приходится иметь дело с сотнями тысяч переменных, или миллионами, или более.

Первым решением было использование стохастического градиентного спуска в качестве метода оптимизации. Теперь есть такие опции, как AdaGrad, Adam Optimizer и так далее. В любом случае, это масштабная вычислительная операция. Именно поэтому нейронные сети в основном оставались на полке более полувека. Лишь совсем недавно у нас даже была мощь и архитектура в наших машинах, чтобы даже рассмотреть возможность выполнения этих операций, и наборы данных надлежащего размера, чтобы соответствовать.

Для простых задач классификации нейронная сеть относительно близка по производительности к другим простым алгоритмам, таким как K Nearest Neighbours. Реальная полезность нейронных сетей осознается, когда у нас гораздо больше данных и гораздо более сложные вопросы, которые превосходят другие модели машинного обучения.