Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Что такое нейронная сеть?

Содержание:

Введение

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

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

  • С точки зрения машинного обучения, нейронная сеть представляет собой частный случай методов распознавания образов, дискриминантного анализа, методов кластеризации и т. п.
  • С математической точки зрения, обучение нейронных сетей — это многопараметрическая задача нелинейной оптимизации.
  • С точки зрения кибернетики, нейронная сеть используется в задачах адаптивного управления и как алгоритмы для робототехники.
  • С точки зрения развития вычислительной техники и программирования, нейронная сеть — способ решения проблемы эффективного параллелизма[2].
  • А с точки зрения искусственного интеллекта, Нейронная сеть является основой философского течения коннективизма и основным направлением в структурном подходе по изучению возможности построения (моделирования) естественного интеллекта с помощью компьютерных алгоритмов.

Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумленных», частично искажённых данных.

Составляющие нейронных сетей

НЕЙРОН

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

  • входной (синий),
  • скрытый (красный)
  • выходной (зеленый).
  • Контекстный
  • Смещения

В том случае, когда нейросеть состоит из большого количества нейронов, вводят термин слоя. Соответственно, есть ВХОДНОЙ слой, который получает информацию, n скрытых слоев (обычно их не больше 3), которые ее обрабатывают и ВЫХОДНОЙ слой, который выводит результат. У каждого из нейронов есть 2 основных параметра:

  • входные данные (input data)
  • выходные данные (output data).
  • В случае входного нейрона: input=output. В остальных, в поле input попадает суммарная информация всех нейронов с предыдущего слоя, после чего, она нормализуется, с помощью функции активации.

Нейроны оперируют числами в диапазоне [0,1] или [-1,1].

Какими бывают нейронные сети

Нейронные сети бывают нескольких типов:

  • нейронные сети проходящие обучение с учителем;
  • нейронные сети проходящие обучение без учителя.

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

Предоставляется выходной вектор, определяется выход сети и сравнивается с представленными векторами.

Далее изменяют веса в соответствии с математическим алгоритмом, который стремится уменьшить ошибку.

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

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

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

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

Ещё два типа нейронных сетей:

  • С фиксированными связями – веса которых выбираются заранее исходя из задачи
  • с динамическими связями – которые перестраивают свои веса в процессе обучения.

Входные данные так же делятся на несколько;

  • аналоговые входные данные - представлены в виде действительных чисел
  • двоичные - информация которых представляется в виде нулей и единиц.

Модели нейронной сети которые чаще всего используются на данный момент

  • Сети прямого распространения – все связи этой сети имеют строгое направление от входных нейронов к их выходам. Среди таких сетей хочется отметить: простейший персептрон автором которого является Фрэнк Розенблатт и многослойный персептрон.
  • Нейронные сети Реккурентного типа – данные с выходных нейронов или из скрытого слоя передается частично обратно на входные нейроны.
  • Радиально базисные функции – это нейронная сеть, в основе которой является наличие скрытого слоя из радиальных элементов и выходного слоя из линейных элементов. Такие сети довольно компактны и обучаются достаточно быстро. Радиально базисная сеть пользуется следующими уникальными свойствами: один скрытый слой, нейроны только скрытого слоя имеют нелинейную функцию активации и синаптические веса скрытого и входного слоев являются единицей.
  • Сети Кохонена или Самоорганизующиеся карты – это класс сетей обычно обучается без помощи учителя и часто применяется в задачах связанных с распознаванием изображений. Такие сети способны определять новые элементы во входных данных: если пройдя обучение сеть увидит набор данных, непохожий ни на один из знакомых образцов, то она классифицирует такой набор и не выявит его новизну. Сеть Кохонена имеет всего два слоя: выходной и входной, составленный из радиальных элементов.

Для чего нужны нейронные сети?

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

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

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

Распознавание — в настоящее время, самое широкое применение нейронных сетей. Используется в Google, когда вы ищете фото или в камерах телефонов, когда оно определяет положение вашего лица и выделяет его и многое другое.

Как работает нейронная сеть?

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

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

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

Каждая связь имеет "вес" - сигнал от одного нейрона, пока идет до следующего, несколько меняет значение.

Весам связей присваиваются случайные значения

Нестандартные применения нейронных сетей

Ученые Стэнфорда недавно придумали очень необычное применение нейронной сети CNN для предсказания бедности. По той причине, что в Африке уровень бедности зашкаливает за все мыслимые и немыслимые пределы, нет даже возможности собирать социальные демографические данные. Поэтому с 2005 года вообще нет никаких данных о том, что там происходит.

Учёные собирали дневные и ночные карты со спутников и скармливали их нейронной сети в течение некоторого времени.

Нейронная сеть была преднастроена на ImageNet'е. То есть первые слои фильтров были настроены так, чтобы она умела распознавать уже какие-то совсем простые вещи, например, крыши домов, для поиска поселения на дневных картах. Затем дневные карты были сопоставлены с картами ночной освещенности того же участка поверхности для того, чтобы сказать, насколько есть деньги у населения, чтобы хотя бы освещать свои дома в течение ночного времени. В итоге нейронная сеть составила достаточно точный прогноз, даже с небольшим сдвигом с 2005 года.

Были конечно и побочные эффекты. Ученые, которые занимаются deep learning, всегда с удивлением обнаруживают разные побочные эффекты. Например, как те, что сеть научилась распознавать воду, леса, крупные строительные объекты, дороги — все это без учителей, без заранее построенных баз данных. Вообще полностью самостоятельно. Были некие слои, которые реагировали, например, на дороги.

Вывод

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

ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА

https://ru.bmstu.wiki/Искусственная_нейронная_сеть

https://thequestion.ru/questions/146464/kak-rabotayut-neironnye-seti

https://habr.com/post/322392/

https://ai-science.ru/vidy-nejronnyx-setej/

https://ru.m.wikipedia.org/wiki/Искусственная_нейронная_сетьИскусственная_нейронная_сетьhttps://ru.bmstu.wiki/