Исследование возможностей использования нейронных сетей | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №16 (150) апрель 2017 г.

Дата публикации: 18.04.2017

Статья просмотрена: 3163 раза

Библиографическое описание:

Зенин, А. В. Исследование возможностей использования нейронных сетей / А. В. Зенин. — Текст : непосредственный // Молодой ученый. — 2017. — № 16 (150). — С. 130-140. — URL: https://moluch.ru/archive/150/42394/ (дата обращения: 21.11.2024).



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

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

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

Рис. 1. Строение биологического нейрона

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

Рис. 2. Упрощенная модель биологического нейрона

Из определения искусственного нейрона следует понятие ИНС (искусственной нейронной сети) — совокупность взаимодействующих между собой искусственных нейронов.

Рис. 3. Упрощение нейронной сети

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

Именно так и происходит преобразование множества входных сигналов в верное решение на выходе.

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

Преимущества нейронных сетей:

  1. Устойчивость к шумам входных данных.

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

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

Рис. 4. Пример данных в искусственных сетях

  1. Адаптация к изменениям

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

Это свойство биологических нейросетей распространяется и на ИНС. Сеть подстраивается под изменения, как пример можно привести сценарий использования нейронной сети для прогнозирования рынка акций, на котором ситуация изменяется высокими темпами. Если бы сеть не подстраивалась, она бы давала неверный прогноз. Примеры показаны на рисунке 5:

Рис. 5. Пример использования нейронной сети

  1. Отказоустойчивость

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

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

Рис. 6. Функционирование нейронных сетей при повреждениях

  1. Сверхвысокое быстродействие

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

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

Рис. 7.Множественнсть нейронных сетей

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

Недостатки нейронных сетей:

  1. Неспособность нейронных сетей давать точные и однозначные ответы.

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

Рис. 8. Распознавание рукописного текста

  1. Многошаговое принятие решений

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

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

Рис. 9. Пошаговое преобразование сигнала

  1. Искусственные нейронные сети не способны решать вычислительные задачи (рисунок 10).

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

Вторая проблема — невозможность решения задачи последовательно.

Третья проблема — невозможность выдачи точных результатов.

Рис. 10. Вычислительные задачи

Перейдем к математической модели ИНС. Введем графическое изображение для нейронной сети. На рисунке стрелками показаны направления движения сигналов, а круги — являются нейронами.

Рис. 11. Графическое изображение нейронной сети

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

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

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

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

Рис. 12. Модель искусственного нейрона

Поступившие на входы сигналы умножаются на свои веса. Сигнал первого входа 1 умножается на соответствующий этому входу вес 1. Получаем 11. И так до n-ого входа. В итоге на последнем входе произведение равно nn.

Далее все соединения передаются в сумматор, реализующий формулу:

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

Взвешенная сумма (Weighted sum) () — сумма входных сигналов, умноженных на соответствующие им веса:

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

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

Виды функций активации.

  1. Функция единичного скачка.

Данная функция представляет собой пороговое значение, до тех пор, пока взвешенная сумма не достигнет определенного значения — на выходе нейрона не будет сигнала (рис. 13).

Рис. 13. Функция единичного скачка

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

Запишем функцию математически:

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

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

Так же каждому параметру соответствуют веса, сопоставимые с их важностью — 6, 9, 7, 3.

Таблица 1

Пример задачи искусственного нейрона (параметры ивеса)

Параметры

Веса

Стоимость

6

Погода

7

Отсутствие неотложных дел

9

Наличие номеров в отелях близко к подъемникам

3

Порог, в данном случае, будет равен 19.

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

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

  1. Сигмоидальная функция

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

Представим данную функцию в виде уравнения:

График на рис. 14 показывает зависимость от разных значений параметра a. Параметр характеризует степень крутизны функции.

Рис. 14. Логическая функция (разные а)

Возьмем для примера те же критерии и веса, что и в предыдущем примере (таблица 1).

Предположим, что нас не устроила стоимость, тогда значение взвешенной суммы будет равно:

Вычислим значение сигмоидальной функции при параметре a равном 0.1:

Полученный результат означает, что в соответствии с нашей ситуацией мы имеем больше за, чем против и нам стоит поехать.

Полезные свойства сигмоидальной функции:

‒ является «сжимающей» функцией, то есть вне зависимости от аргумента (взвешенной суммы), выходной сигнал всегда будет в пределах от 0 до 1;

‒ более гибкая, чем функция единичного скачка — ее результатом может быть не только 0 и 1, но и любое число между ними;

‒ во всех точках имеет производную, и эта производная может быть выражена через эту же функцию.

3. Гиперболический тангенс

Такая функция позволят получить на выходе значения разных знаков. Часто используется биологами для получения более реалистичной модели реальной клетки:

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

Рис. 15. Гиперболический тангенс

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

ИНС можно разделить на несколько видов:

  1. Однослойные нейронные сети.

Однослойная нейронная сеть (Single-layer neural network) — сеть, в которой сигналы от входного слоя сразу подаются на выходной слой, выполняющий его преобразование и передающий обработанный сигнал на выход сети.

Рис. 16. Однослойная нейронная сеть

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

  1. Многослойные нейронные сети

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

Рис. 17. Многослойная нейронная сеть

Многослойная нейронная сеть (Multilayer neural network) — нейронная сеть, состоящая из входного, выходного и расположенного(ых) между ними одного (нескольких) скрытых слоев нейронов.

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

  1. Сети прямого распространения

Сети прямого распространения (Feedforward neural network) (feedforward сети) — искусственные нейронные сети, в которых сигнал распространяется строго от входного слоя к выходному. В обратном направлении сигнал не распространяется.

Такие сети успешно справляются с такими задачами, как прогнозирование, кластеризация и распознавание.

Рис. 18. Сети прямого распространения

  1. Сети с обратными связями

Сети с обратными связями (Recurrent neural network) — искусственные нейронные сети, в которых выход нейрона может вновь подаваться на его вход. В более общем случае это означает возможность распространения сигнала от выходов к входам.

Рис. 19. Сети с обратными связями

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

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

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

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

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

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

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

Тестовая выборка (Testing set) — конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит оценка качества работы сети.

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

  1. Обучение с учителем.

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

Обучение с учителем (Supervised learning) — вид обучения сети, при котором ее веса меняются так, чтобы ответы сети минимально отличались от уже готовых правильных ответов.

В качестве входных сигналов можно брать определенные дни, общее состояние рынка и другие параметры. А в качестве правильных ответов — рост и падение цены в те дни.

  1. Обучение без учителя.

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

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

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

Обучение без учителя (Unsupervised learning) — вид обучения сети, при котором сеть самостоятельно классифицирует входные сигналы. Правильные (эталонные) выходные сигналы не демонстрируются.

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

Литература:

  1. Н. Новикова, Структурное распознавание образов, Воронеж: Издательско-полиграфический центр Воронежского государственного университета, 2006.
  2. Д. Форсайт и Ж. Понс, Компьютерное зрение. Современный подход, Издательство: Вильямс, 2004.
  3. C. S. A. T. D. Erhan, «Neural Information Processing Systems», в Deep Neural Networks for Object Detection, 2013.
  4. S. Sanner, «Rowley-Baluja-Kanade Face Detector», http://users.cecs.anu.edu.au/~ssanner/Software/Vision/Project.html#I.
Основные термины (генерируются автоматически): сеть, нейронная сеть, искусственный нейрон, сигнал, взвешенная сумма, биологический нейрон, обучающая выборка, упрощенная модель, вход, выход нейрона.


Задать вопрос