УДК 004.94, 004.8, 51-74

КОНЦЕПЦИЯ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ

Омаров Тимур Зыядыллаевич
Азовский технологический институт (филиал) ФГБОУ ВПО «Донской государственный технический университет»
студент 4-го курса бакалавриата, кафедра «Вычислительная техника и программирование»

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

Ключевые слова: информационные технологии, искусственные нейронные сети, искусственный интеллект, нейронная сеть


ARTIFICIAL NEURAL NETWORK CONCEPTION

Omarov Timur Zyyadyllayevich
Azov Technological Institute (branch of Don State Technical University)
student of 4th course of baccalaureate, department of "Computer Engineering and Programming"

Abstract
The article deals with the conception of artificial neural networks and includes history of the conception, application area, operating principles, neuron conception, training conception, and also considers brain activity.

Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Омаров Т.З. Концепция искусственной нейронной сети // Современные научные исследования и инновации. 2016. № 5 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2016/05/66203 (дата обращения: 19.11.2016).

Нейронная сеть с точки зрения биологии – это совокупность нейронов центральной нервной системы. То есть, головной мозг и остальные ее части. Биологические нейронные сети и их свойства начали изучать в конце XIX века [1]. Это стало большим прорывом в понимании природы поведения живых организмов на земле, в особенности – человека. Позднее сформировалось понятие искусственных нейронных сетей (ИНС). После того, как основные свойства и принципы организации нейросетей были изучены, они были взяты на вооружение математиками и программистами. В настоящее время ИНС активно используются в самых различных областях – бизнесе, медицине, технике, геологии, физике [2]. Нейронные сети вошли в практику везде, где нужно решать задачи прогнозирования, классификации или управления. Причины такого успеха заключаются в том, что нейросети обладают весьма богатыми возможностями и легкостью в использовании.

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

Как же человеку удалось создать нечто подобное?  Это стало возможно благодаря таким выдающимся людям как Уоррен Мак-Каллок (физиолог) и Уолтер Питтс (математик) [3]. В их совместной работе под названием «Логическое исчисление идей, относящихся к нервной активности» было сформировано понятие нейронной сети [4]. В настоящее время ИНС – это уже не просто теория. Это мощнейший инструмент, применяемый в информационных технологиях при решении самых сложных задач.

Назначение ИНС 

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

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

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

Задачи можно разделить на 2 типа:

  1. Алгоритм и правила решения задачи – известны. К этому типу относятся задачи, решение которых является очевидным и достигается обычным программным путём, т.е. при помощи простых прикладных программ [5].
  2. Алгоритм и правила решения задачи – неизвестны. И это тип задач, где никому не известен ни алгоритм, ни правила их решения.

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

Посмотрите на занавески в Вашей комнате. Какого они цвета? Если Вы ответили правильно, то Вы только решили задачу второго типа – распознавание. Распознавание обычно выполняется для зрительных образов, звуков, тактильных ощущений, информации о неизвестном объекте. Вряд ли вы следовали какому-нибудь алгоритму, который позволяет распознать цвет занавесок. Вы просто увидели их цвет и вспомнили его название. Вас научили, что цвет лимона называется «желтый», цвет снега называется «белый» и все остальные названия таким же образом.

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

Устройство биологического нейрона 

Как уже было сказано, нейросеть – это совокупность связанных между собой нейронов. Достаточно смоделировать несколько нейронов и размножить их, чтобы получить цельную нейросеть. Чтобы это осуществить, нужно кое-что знать о самих нейронах, а именно: их структуру и выполняемые функции. Рассмотрим устройство нейрона.

Нейрон

Рис. 1 – Нейрон

Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию (Рис. 1) [6]. Она состоит из тела клетки (cell body), или сомы (soma), и двух типов внешних древоподобных ветвей: аксона (axon) и дендритов (dendrites). Тело клетки включает ядро (nucleus), которое содержит наследственную информацию, и плазму, которая производит необходимые для нейрона материалы. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчик), который в конце разделяется на волокна (strands). На окончаниях этих волокон находятся синапсы (synapses).

Синапс

Рис. 2 – Синапс

Синапс – это место контакта между двумя нейронами, которое служит для передачи нервного импульса. Когда импульс достигает синаптической связи, высвобождаются определенное химическое вещество. Это вещество называется нейромедиатор. Присутствие нейромедиатора в синаптической щели возбуждает или затормаживает способность клетки-приёмника генерировать электрические импульсы. Результативность синапса может настраиваться проходящими через него сигналами, так что синапсы могут обучаться в зависимости от активности процессов, в которых они участвуют. Эта зависимость от предыстории действует как память, которая, возможно, ответственна за память человека.

Обратите внимание, что нейромедиатора выделяется тем больше, чем важнее сигнал. Но чем измеряется эта важность? Представьте, что вы смотрите очень интересный фильм. Вы наверняка запомните сюжет этого фильма и его персонажей, вы без труда сможете пересказать содержание. А теперь представьте, что вы сидите в аудитории в университете, вы уже более часа слушаете скучную лекцию. Мало того, что вы просидели всю пару, подавляя желание заснуть, так вы еще и ничего не помните из самой лекции. Интересный фильм вы запомнили, а скучную лекцию – забыли. Что же повлияло на такие результаты? Когда вы смотрели фильм, нейроны Вашего мозга передавали сигналы повышенной важности. Нейроны так делают, когда вокруг Вас творятся интересные вещи. В синапсах выделялось много нейромедиатора, что позволило информации хорошенько закрепиться в нейросети.

По сравнению с транзисторами нейроны головного мозга действуют гораздо медленнее. Нейрон собирает из синапсов входные сигналы, объединяет их и принимает решение. Он либо генерирует импульс – потенциал действия, который будет восприниматься синапсами соседних нейронов, – либо воздерживается от этого. Обычный нейрон может осуществить подобную операцию и вернуться в исходное состояние за пять миллисекунд (1/200 секунды). То есть за секунду – максимум 200 шагов! Современный компьютер выполняет в среднем 2-3 миллиарда операций в секунду. Значит, одна компьютерная операция выполняется в 10-15 миллионов раз быстрее, чем базовая операция в человеческом мозге.

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

Покажите человеку фотографию кошки и спросите, что он видит. Если он увидит там кошку, то должен нажать на кнопку. Для современного компьютера эта задача очень сложна, а человек дает правильный ответ быстрее, чем за пол секунды. Это значит, что за полсекунды информация, поступившая в ваш мозг, может пройти цепочку не более чем из сотни нейронов (0.5с = 100 шагов). А это явно не дотягивает до миллиардов.

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

Модель нейронной сети 

Кора головного мозга человека содержит около 86 миллиардов нейронов [7], что приблизительно равно числу звезд Млечного пути. В биологической нейронной сети нейроны расположены в трех измерениях, т.е. эта сеть является объемной. Нейроны в ней связаны очень хаотично и непоследовательно. В подавляющем большинстве искусственные нейросети являются плоскими, так как в таком виде их гораздо проще реализовать [8].

Структура ИНС в миллионы раз проще структуры реальной нейронной сети, но весь основной функционал в такой концепции присутствует.

ИНС состоит из трех слоев нейронов:

1. Входной слой

2. Скрытый слой

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

Слои ИНС

Рис. 3 – Слои ИНС

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

Нейроны скрытого слоя обрабатывают получаемую информацию и отправляют сигналы в третий – выходной слой.

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

К вопросу о порядке расположения и установления связей между нейронами отнеслись тривиально – просто соединили все нейроны между собой (Рис. 4). Это сделано потому, что очень сложно просчитать структуру сети заранее. Эту связь в ИНС называют каждый с каждым, и ее использование дает отличные результаты.

По архитектуре связей ИНС делятся на два класса: сети прямого распространения и рекуррентные сети. В графах сетей первого класса нет петель. Сигналы в них идут только в одном направлении и не могут вернуться обратно. А рекуррентные сети обладают обратными связями.

Формальный нейрон 

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

В этой статье уже упоминались два человека, сформировавшие понятие ИНС, обратимся вновь к их опыту. Одна из первых успешных попыток построения формальной модели реальных нейронов была предпринята в 1943 году Уорреном Мак-Каллоком и Уолтером Питтсом. Главный принцип их теории заключается в том, что произвольную высшую нервную деятельность, можно понять, как некоторую активность в сети, состоящей из логических элементов, принимающих только два состояния (1 или 0) [9]. А для каждого логического выражения можно сопоставить сеть логических элементов, обладающих  поведением, которое описывается этим выражением. Возможность моделирования психики и сознания не относятся к этой теории.

Формальный нейрон

Рис. 4 – Функциональная схема формального нейрона Мак-Каллока и Питтса

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

Математический нейрон вычисляет взвешенную сумму n входных сигналов xj, j = 1,2..n, и формирует на выходе сигнал величины 1, если эта сумма превышает определенный порог u, и 0 – в противном случае. Положительные веса соответствуют возбуждающим связям, а отрицательные – тормозным. Мак-Каллок и Питтс доказали, что если подобрать веса соответствующим образом, то система параллельно работающих нейронов будет способна выполнять универсальные действия. Таким образом, можно провести аналогию между биологическим и формальным нейроном: взаимосвязь имитируется аксонами и дендритами, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.

Ключевой элемент этой модели — веса. Именно они придают системе гибкость и позволяют настроиться на решение определенной задачи. Сигнал, который умножается на большой вес, дает большой вклад в общую сумму, а сигнал с нулевым весом не учитывается вовсе. Чтобы наглядно объяснить, как нейрон делает решение, можно привести пример того, как школьник отвечает параграф у доски. На входы поступает много информации: память позволяет нам составить ответ для преподавателя, глаз видит природу за окном, ухо слушает подсказки товарищей, тело ощущает температуру в помещении. Выходной сигнал управляет лишь речью – школьник рассказывает учителю заданный параграф. Чтобы принять решение о том, что нужно рассказать, температуру и пейзаж можно никак не учитывать. Ученику нужно сосредоточиться на информации, посылаемой из памяти. И, чаще всего, не обращать внимания на подсказки из класса, которые могут сбить с мысли. Нейрон задает нулевые веса для информации, не относящейся к задаче. Максимальный вес задается для “памяти ученика”, которая является основным источником сигнала, позволяющая дать ответ. Небольшой вес также задается и “подсказкам товарищей”, которые в некоторых случаях могут оказаться полезны. Такое распределение весов позволит подготовленному ученику действовать правильно.

Обучение нейронной сети 

Знаете ли Вы, что человеческий мозг способен научиться решать любые задачи? Представьте себя, просвещённым в таких замысловатых и сложных областях науки, как химия, физика, лингвистика, литература, философия. Вы, наверное, скажете «это не мое», потому что Вы, возможно, ничего не понимаете в этих дисциплинах. Запомните – Ваш мозг способен на всё. Вас можно обучить любой дисциплине, если у Вас будет желание. Люди не рождаются программистами – они ими становятся. Какое же отношение это имеет к ИНС? Независимо от архитектуры нейросети, обучать ее можно всему подряд. Поэтому, в настоящее время, у ИНС много областей применения: от банального распознавания текста до управления транспортной техникой.

Неотъемлемой частью любой нейронной сети является её обучение.  Чтобы человек смог научить нейронную сеть решать задачу, для начала ему придется решить её самому. Этот принцип действует и  для живых существ. Учитель с легкостью решает задачу для своего ученика, чтобы тот понял, как это делается. Но ученик усвоит информацию качественнее, если учитель решит не одну, а три такие задачи. Затем ученик выполняет “домашнее задание”, чтобы закрепить урок. И только после завершения стадии обучения можно доверить ученику решать задачи самостоятельно.

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

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

В процессе обучения нейросети рассматривается настройка архитектуры сети и весов связей с целью эффективного выполнения определенных задач. Обычно нейронная сеть настраивает веса связей по имеющейся обучающей выборке. Большое количество итераций настройки весов способствует улучшению функционирования сети. Процесс обучения, прежде всего, предполагает наличие модели внешней среды, в которой будет функционировать нейронная сеть. То есть, необходимо знать доступную для сети информацию, чтобы определить парадигму обучения [10]. Во-вторых, необходимо понять, какие правила обучения будут настраивать весовые параметры сети.

Обучение «с учителем» и «без учителя» – это парадигмы обучения. Существует еще третья парадигма, которая называется «смешанная». При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная часть получается с помощью самообучения.

Нейросеть нельзя подвергать переобучению, когда излишне точное соответствие нейронной сети конкретному набору обучающих примеров, отнимает у сети способность к обобщению [11]. Переобученная нейросеть не может являться эффективным инструментом, так как она заучивает ответы. Вы наверняка знакомы с таким понятием как «зубрежка»? Человек, бездумно зазубривший параграф по истории, не сможет ответить на вопросы по заданной теме, если на них нет ответа в самом тексте. К ответу может привести лишь анализ прочтенного материала и обобщение фактов. Такая же проблема появляется и в ИНС.

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

 

Отличия нейросети от машины

 

Очевидно, что человеческий мозг работает совершенно по иному принципу, нежели машины с архитектурой фон Неймана [12].  Нейронные сети обладают рядом качеств, которых нет у этих машин:

  • Массовый параллелизм;
  • Распределённое представление информации и вычисления;
  • Способность к обучению и обобщению;
  • Адаптивность;
  • Свойство контекстуальной обработки информации;
  • Толерантность к ошибкам;
  • Низкое энергопотребление.

Современная тенденция 

Технология ИНС стремительно развивается. В 2015 году ученым из США и Италии удалось разработать прототип мем-процессора с отличной от фон-неймановской архитектурой [13]. В таком процессоре реализуется вычисление и хранение полученных данных в одном месте. Ученые отмечают, что организация обработки данных мем-процессора схожа с той, что и в мозге человека. Получилась эдакая физическая ИНС, которая может заменить собой привычный нам фон-неймановский процессор. Созданное учеными устройство оказалось способным решить за 10 миллионов итераций задачу, которую стандартный процессор решил бы за 10 миллиардов итераций. Несмотря на такие обнадеживающие результаты, на промышленное производство такой процессор еще не был поставлен.

Всемирная известная корпорация Google также активно развиваются в этом направлении. Принадлежащая ей компания DeepMind разработала нейронную сеть под названием AlphaGo, которая одержала три победы подряд над одним из сильнейших игроков мира в го1 Ли Седолем [14].

В феврале 2016 года Google показала еще одну нейронную сеть – PlaNet, – которая способна узнать место, в котором сделана та или иная фотография [15]. 3.6% изображений она узнавала с точностью до улицы.

Заключение 

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


1  Го (яп. 碁; также кит. 围棋 вэйци, кор. 바둑 падук) — логическая настольная игра с глубоким стратегическим содержанием, возникшая в Древнем Китае


Библиографический список
  1. Bain. Mind and Body: The Theories of Their Relation (англ.).  — New York: D. Appleton and Company, 1873. James. The Principles of Psychology. — New York: H. Holt and Company, 1890.
  2. Ежов А.А, Шумский С.А., Нейрокомпьютинг и его применение в экономике и бизнесе. М.: МИФИ, 1998.
  3. Crevier, Daniel, AI: the tumultuous history of the search for artificial intelligence (англ.). — 1993.
  4. Мак-Каллок У. С., Питтс В. Логическое исчисление идей, относящихся к нервной активности // Автоматы / Под ред. К. Э. Шеннона и Дж. Маккарти. — М.: Изд-во иностр. лит., 1956.  (Перевод английской статьи 1943 г.)
  5. Кириченко А.А., Меликян А.В.  и др.,2.3. Прикладное программное обеспечение.
  6. Анил К. Джейн, Жианчанг Мао, К.И. Моиуддин, Введение в искусственные нейронные сети. Мичиганский государственный университет США, 1996.
  7. Robbie Gonzalez, The 4 Biggest Myths About the Human Brain (англ.), 2012.
  8. Марат Муртазин, Нейронные сети, 2015.
  9. Терехов С. А., Биологический нейрон и его кибернетическая модель, 1994.
  10. Haykin S., Neural Networks: A Comprehensive Foundation, MacMilan College Publishing Co., New York, 1994.
  11. Чубукова И.А., Data Mining, Лекция 11: Методы классификации и прогнозирования. Нейронные сети, 2006.
  12. William Aspray, John von Neumann and the Origins of Modern Computing. — MIT Press, 1990.
  13. Lenta.ru, Создан прототип компьютера с отличной от фон-неймановской архитектурой, 2015.
  14. Дмитрий Шестоперов, Газета.ru, Человечество проиграло в го,  2016.
  15. Иван Сычев, Geektimes.ru, Google показала нейросеть PlaNet, 2016.


Все статьи автора «Омаров Тимур Зыядыллаевич»


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

Связь с автором (комментарии/рецензии к статье)