Введение в нейронную сеть

Опубликовано: 24/01/2021 Время на прочтение: 7 минут

Рис. 1. Биологическая нейронная сеть (Ссылка: http://biomedicalengineering.yolasite.com/neurons.php)

Внутри человеческого мозга находится сложная сеть нейронов (нервных клеток). В мозге около ста миллиардов нейронов. Вы представляете, насколько огромна сеть? Нейроны связаны друг с другом через синапсы — точки, которые обмениваются электрическими сигналами от одного нейрона к другому. В одном нейроне в среднем 7000 синапсов. Установлено, что человеческий мозг имеет максимальное количество синапсов, около 1 квадриллиона, в возрасте трех лет. Затем это число сокращается до 100–500 триллионов синапсов, когда человек достигает совершеннолетия.

Обучение человека происходит через деятельность мозга внутри нейронной сети. Информация создается и организуется посредством обмена электрическими сигналами — в милливольтах (мВ) — в синапсах. На основе того, как работает биологическая нейронная сеть, была изобретена модель искусственной нейронной сети для «машинного обучения».

Искусственная нейронная сеть (ИНС)

Рис. 2. Блок искусственного нейрона (Ссылка: https://dev.to/jbahire/demystifying-extreme-learning-machines-part-1-22h2)

Искусственная нейронная сеть (ИНС) — это имитация биологической нейронной сети (BNN). На рисунке выше показан искусственный нейронный блок. Нейрон получает входные данные (от X1 до Xn), а затем производит вычисления для получения выходных данных, которые будут отправлены другим нейронам. Другими словами, выходной сигнал одного нейрона будет входом для других нейронов этой нейронной сети.

Чтобы получить результат, входы должны быть взвешены (w). Взвешенные входы будут суммированы. На этом этапе к уравнению будет добавлен новый параметр под названием «смещение» (b) (см. Рисунок 2 выше). Значение «а» из расчета будет передано в функцию активации для получения выходных данных.

Функция активации в ИНС разработана так, чтобы напоминать активность потенциала действия в BNN. Стимул в BNN (рисунок 3) можно сравнить со значением «a» в ANN (рисунок 2). Что касается мозга, то когда стимул превысит порог, информация будет передана другим нейронам. Напротив, когда он ниже порога, активность прекращается. Функция активации ИНС работает аналогичным образом для управления выходом. Однако следует отметить, что существует много различных типов функций активации, в зависимости от ожидаемого результата (см. Рисунок 4).

Рис. 3. Потенциал действия в человеческом мозгу (Ссылка: https://teachmephysiology.com/nervous-system/synapses/action-potential/) Рис. 4. Примеры функций активации (Ссылка: оценка нескольких углов прихода с использованием нейронных сетей)

Перцептрон

Perceptron — первая искусственная нейронная сеть (ИНС), которая была изобретена в 1958 году. Проект финансировался Управлением военно-морских исследований США. Изначально концепция была реализована в виде программного обеспечения. После успеха со звуком было изобретено оборудование для распознавания изображений размером всего 400 пикселей.

На рисунке 5 ниже показано оборудование первого персептрона.

Рис. 5. Персептрон Mark 1 ( Ссылка: https://en.wikipedia.org/wiki/Perceptron)

На рисунке 6 показан результат классификации изображений, произведенный Perceptron. Он проведет линию (линейная классификация), чтобы разделить изображения на два разных класса, здесь «кошки» и «собаки».

Рис. 6. Линейная классификация (Ссылка: https://en.m.wikipedia.org/wiki/Perceptron)

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

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

Рис 7. Проблема XOR (Ссылка: https://philarchive.org/archive/MILTES-11)

Как это ни печально, но факт, Perceptron не совсем удачный.

Не только из-за его худшей, чем ожидалось, производительности, но и из-за слишком завышенных ожиданий пользователей от ИИ, которые не могли быть выполнены, вызвали длительный период AI Winter (конец 1970 — начало 1990), когда исследования и разработки AI были медленный.

Многослойный персептрон (MLP)

В 1985 году был предложен многослойный персептрон (MLP) с попыткой решить проблему линейного вывода. MLP — это улучшенная версия Perceptron. Чтобы более эффективно работать с нелинейными данными в реальном мире, добавлено несколько нейронов и несколько скрытых слоев.

Рис. 8. Многослойный персептрон (Ссылка: IntelliPaat)

Из приведенного выше рисунка, если мы рассматриваем выходные графики, разные положения белых и желтых кружков указывают на ошибки — различия между рассчитанными и желаемыми выходными данными. Чтобы минимизировать ошибки, используется алгоритм обратного распространения ошибки (Backprop). Это помогает настроить параметры, шаг за шагом отступая.

Чтобы определить, как следует настраивать каждый параметр, применяется алгоритм градиентного спуска (см. Рис. 9). Он использует уравнения в частных производных, чтобы найти оптимальные параметры для каждого слоя, чтобы получить наименьшее значение ошибок.

Рис. 9. Алгоритм градиентного спуска (см. Глубокое обучение: современная практика, Саргур Н. Шрихари)

MLP был популярен для приложений распознавания речи, изображений и машинного перевода. Однако для работы они потребляли очень много ресурсов. Когда была представлена поддержка векторной машины (SVM) — более новый алгоритм, который работал более эффективно — он затмил MLP.

Сверточная нейронная сеть (CNN)

Классические алгоритмы ИИ были разработаны для работы с одномерными данными. Таким образом, это приводит к их главному недостатку при работе с двумерными данными, такими как изображения.

Классические алгоритмы ИИ классифицируют две картинки ниже как две совершенно разные картинки.

(Ссылка: https://chriswolfvision.medium.com/what-is-translation-equivariance-and-why-do-we-use-convolutions-to-get-it-6f18139d4c59)

На самом деле между ними существует связь, один и тот же объект в разных позициях. Чтобы исправить этот недостаток, вводится CNN.

Основная концепция CNN называется «Свертка (двумерная взаимная корреляция)». Он сохраняет отношения пикселей в двух измерениях. Следовательно, два приведенных выше изображения классифицируются как два связанных изображения, а не как два разных изображения.

На рисунке 10 показана первая модель CNN, LeNet-5. Модель используется для классификации рукописных чисел. Результаты классификации дают достаточно высокую точность. Это оживляет концепцию нейронной сети.

Рис. 10. LeNet-5 (Ссылка: http://yann.lecun.com/exdb/lenet/)

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


Метки:


прокрутка вверх