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

Нечеткая логика и нейронные сети

Содержание:

Введение

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

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

Использованные источники литературы не вызывают сомнений, так как выпущены известными издательствами, включая иностранные. Источники, взятые из Интернета, вполне заслуживают доверия, поскольку относятся к официальным сайтам фирмы IBM и сообществу Electronic Engineering Times.

Глава 1. История развития нейронных сетей

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

В конце 40-х годов Дональд Хебб выдвинул свою теорию обучения ИНС [12], основанную на механизме нейронной пластичности [7]. В опубликованной им книге приводится четкое определение физиологического правила обучения для синаптической модификации. В частности, Хебб предположил, что, по мере того как организм обучается различным функциональным задачам, связи в мозге постоянно изменяются и при этом формируются ансамбли нейронов. Знаменитый постулат обучения Хебба гласит, что эффективность переменного синапса между двумя нейронами повышается при многократной активации этих нейронов через данный синапс. Книга Хебба стала источником вдохновения при создании вычислительных моде­лей обучаемых и адаптивных систем [3]. В результате попыток использования компьютерного моделирования для проверки формализованной теории нейронов, основанной на постулате обучения Хебба, оказалось, что для полноты этой теории к ней сле­дует добавить принцип торможения.

В 1962 году американский ученый Фрэнк Розенблатт для решения проблемы классификации символов предложил использовать особый тип ИНС, получивший название «Перцептрон» [9], [10]. В 1958 году Ф. Розенблаттом был создан первый нейрокомпьютер «Марк1», работавший на основе перцептрона. Советские ученые, Александр Петров и Михаил Бонгард в 60-х годах начали заниматься изучением перцептрона и его возможностей [8]. В 1969 году американские ученые М. Минский и С. Паперт опубликовали доказательство того, что возможности перцептрона имеют существенные ограничения [6]. После появления этой работы большинство исследований в области ИНС были приостановлены на полтора десятилетия [1].

Однако в1982 году американский специалист Д. Хопфилд сумел достичь двусторонней передачи информации между нейронами и изобрел ассоциативную нейронную сеть [10]. Специализация узлов, предложенная Хопфилдом, позже нашла применение в первых гибридных нейронных сетях. С середины 80-х годов теория нейронных сетей получила технологическую поддержку, благодаря появлению доступных высокопроизводительных персональных компьютеров, Наибольших результатов в области персональных компьютеров достигла американская компания IBM. Первые результаты в проектировании нейронных сетей были продемонстрированы в ноябре 2009 года. Компания IBM представила успешно смоделированный мозг кошки [16]. Но следует отметить, что тогда его работа была в более чем в 600 раз медленнее реального процесса.

Следующий шаг в развитии ИНС произошел в августе 2011 года, когда на фирме IBM создали передовой на тот момент нейронный процессор, который содержал 256 нейронов и 262144 синапсов [15]. В ноябре 2012 г. на конференции «Supercomputing 2012» этой компанией были опубликованы итоги работы над моделированием нейрокомпьютера, который можно было бы сопоставитьс мозгом человека (он «состоял» из 530 миллиардов нейронов и 137 триллионов синапсов). Эта модель, осуществлявшаяся на базе суперкомпьютера «Sequoia»,проводилась в 1542 раза медленнее реального процесса в мозге, в работе были задействованы 1572864 ядер и 1,5 петабайта памяти [16].

В августе 2014 г. произошло важное событие для научно-технического сообщества: компания IBM в рамках программы SyNAPSE (Systems of Neuromorphic Adaptive Plastic Scalable Electronics) представила нейросинаптический процессор для архитектуры TrueNorth. На сегодняшний день это – одна из последних разработок в данном направлении [17]. TueNorth насчитывает 1 миллион программируемых нейронов, объединенных в 4096 нейросинаптических вычислительных ядер,256 миллионов синапсов и имеет колоссальное число транзисторов – 5,4 миллиарда, что является рекордным количеством для чипов, основанных на традиционной CMOS-логике (CMOS, complementary metaloxidesemiconductor, в переводе: комплементарная структура металлоксидполупроводник). Таким образом, всего за три года был совершен скачок от 256 нейронов и 262144 синапсов до 1 миллиона и 256 миллионов соответственно. Разработанный процессор соответствует всем главным признакам и особенностям нейросетей: в процессе своей работы он способен самообучаться, анализировать и приходить разными путями к решению нестандартных или нечетко сформулированных задач. Отдельного рассмотрения заслуживает описание режима энергопотребления TrueNorth: в этом направлении значительных результатов удалось достичь: во время работы в режиме реального времени потребляемая мощность составила всего 70 МВт, что на несколько порядков меньше затрат энергии, требующейся процессорам традиционной архитектуры. При этом производительность нового чипа составляет 46 миллиардов синаптических операций в секунду на один ватт [17]. Для сравнения можно привести следующие сведения: человеческий мозг насчитывает более 85 миллиардов нейронов и более 100 триллионов синапсов [7]. Теоретически, имея 85 тысяч процессоров TrueNorth, можно воссоздать человеческий мозг. Несомненно, что такой опыт позволит науке вплотную приблизиться к пониманию одной из величайших загадок – человеческому сознанию. Подобный технический прорыв открывает современной науке целый ряд значимых перспектив как в нейробиологии, так и в кибернетике.

На практике возможны следующие направления использования нейронных сетей [3]:

  • Медицинская диагностика;
  • Распознавание речи;
  • Анализ потребительского рынка;
  • Прогнозирование объема продаж и управление закупками;
  • Управление ценами и производством;
  • Исследование факторов спроса на товары;
  • Прогнозирование потребления энергии;
  • Проектирование и оптимизация сетей связи;
  • Оценка стоимости недвижимости;
  • Анализ страховых исков;
  • Обслуживание кредитных карт (отслеживание несанкционированных операций);
  • Прогнозирование изменения котировок валют.

Выводы по главе

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

Глава 2. Аналогия нейронных сетей с мозгом и биологическим нейроном

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

Мозг состоит и особых клеток – нейронов. Нейрон в переводе с древне-греческого означает волокно, нерв – это структурно-функциональная единица нервной системы. Эта клетка имеет сложное строение, высоко специализирована и по структуре содержит ядро, тело клетки и отростки. В организме человека насчитывается более ста миллиардов нейронов [2].

Нейроны содержат отростки двух типов: дендриты и аксоны.

Дендриты служат в качестве входных каналов нервных импульсов от других нейронов. Импульсы поступают в тело клетки, вызывая ее возбуждение, которое распространяется по отросткам второго типа – аксонам (рис.2.1).

Рис. 2.1. Схема биологического нейрона

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

Нейрон имеет развитый и сложный цитоскелет, проникающий в его отростки. Цитоскелет поддерживает форму клетки, его нити служат направляющими для транспорта органелл и упакованных в мембранные пузырьки веществ, включая нейромедиаторы. Тело нейронов, заполненное токопроводящим ионным раствором, окружено мембраной, обладающей низкой электрической проводимостью. Между внутренней поверхностью мембраны аксона и внешней средой поддерживается разность электрических потенциалов. Под воздействием стимулирующих сигналов от других нейронов мембрана аксона динамически изменяет свою проводимость. Импульс деполяризации клеточной мембраны, называемый спайком, распространяется вдоль аксона практически без затухания. Аксоны объединены в сеть, проводящую нервные импульсы [7].

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

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

Выделяют несколько типов нейронных сетей, отличающихся структурой и назначением [5]:

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

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

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

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

Морфологическое строение нейронов многообразно. В связи с этим при классификации нейронов применяют несколько принципов [7]:

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

По количеству отростков имеются следующие типы нейронов:

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

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

Выводы по главе

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

Глава 3. Понятие искусственного нейрона

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

На рис. 3.1 представлена упрощенная схема искусственного нейрона.

Рис. 3.1. Схема искусственного нейрона

Из схемы видно, что нейрон в целом реализует скалярную функцию векторного аргумента. Математически функция нейрона выражается так:

Функционирование нейрона в соответствии с его двумя функциями можно разбить на два такта:

  1. В сумматоре вычисляется величина возбуждения, полученного нейроном: S = Σ wjxj (для простоты смещение w0 в этом выражении не учитывается).
  2. Возбуждение S пропускается через преобразующую (активационную) функцию f, в результате чего формируется выходной сигнал Y.

Функция активации ограничивает амплитуду выходного сигнала нейрона. Обычно нормализованный диапазон амплитуд выходного сигнала нейрона лежит в интервале (0, 1) или (-1, 1).

Кроме того, в схему искусственного нейрона обычно включается пороговый элемент WП, который определяет увеличение или уменьшение входного сигнала, подаваемого на блок функции активации [10].

Наиболее часто используются следующие функции активации:

  • пороговая функция;
  • линейная функция;
  • сигмоидная функция;
  • функция типа гиперболический тангенс.
  1. Пороговая функция: f(х)=

где θ — порог срабатывания нейрона.

График пороговой функции изображен на рисунке 3.2 (на этом и последующих рисунках условно принято: x = S; θ = 0).

Рис. 3.2. График пороговой функции

  1. Линейная функция активации, имеет вид: с ограничениями сверху и снизу по величине f (рис. 3.3).

Рис. 3.3. График линейной функции активации

  1. Сигмоидная функция. Функция называется сигмоидной, если она ограничена по минимальному и максимальному значениям и имеет везде положительную производную. Кроме этого предполагается, что функция быстро сходится к верхнему пределу при s →+∞ и к нижнему при s →-∞. Выражение для этой функции: f(x) = где а > 0 — параметр наклона кривой. При изменении этого параметра можно строить функции с разной крутизной. Но всегда: 0 < f ( x ) <1. 1. График этой функции дан на рисунке 3.4.

Рис. 3.4. Сигмоидная функция

График сигмоидной функции качественно близок к виду передаточной характеристики биологического нейрона. Сигмоидная функция приближается к ступенчатой с порогом θ = 0 при a →+ ∞. Очевидно, пороговая функция более удобна при аппаратной реализации нейрона, тогда как сигмоидная функция предпочтительна в аналитических исследованиях, поскольку она монотонна, всюду дифференцируема и имеет непрерывные производные любого порядка. Соответственно, эту функцию удобно использовать при обучении нейронной сети методом обратного распространения ошибки.

4. Гиперболический тангенс f (s) = th (a٠s) = , -1<f(s)<1. Свойство нечетности тангенса, а также то, что f (0) = 0, иногда оказывается очень удобным. График этой функции дан на рисунке 3.5.

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

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

Выводы по главе

Искусственный нейрон состоит из элементов 3-х типов и выполняет всего 2 функции, реализуя их в двух тактах своей работы. Однако благодаря различным видам функции активации и величине порогового сигнала нейрон может получать разные свойства.

Глава 4. Виды искусственных нейронных сетей

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

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

В принципе, сети разделяют на однослойные и многослойные [10].

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

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

Сети также подразделяются на сети прямого распространения и сети с обратными связями.

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

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

Далее представлены простые структурные схемы нейронных сетей [10]:

  1. Однослойная структура с обратной связью (рисунок 4.1)
  2. Двухслойная структура с прямыми связями (рисунок 4.2).

3. Двухслойная структура с обратной связью (рисунок 4.3).

.

Рис. 4.1. Однослойная структура с обратной связью

В однослойной структуре с обратной связью входные сигналы поступают на нейроны а1, а2, … аn и с них же передаются дальше, причем каждый нейрон окружен обратной связью.

Рис. 4.2. Двухслойная структура с прямыми связями

В двухслойной структуре с прямыми связями имеется 2 слоя: первый – входной а1, а2, а3; второй – выходной b1, b2, b3. Обратные связи отсутствуют.

В двухслойной структуре с обратной связью (рис. 4.3), как и в предыдущем примере, имеется 2 слоя, но есть обратная связь от нейрона из входного слоя b2 к нейрону а2, входящему в выходной слой.

Рис. 4.3. Двухслойная структура с обратной связью

Трехслойная структура с линейной связью (рисунок 4.4) имеет входной слой а1, а2, а3 и выходной слой с1, с2, с3, а также промежуточный слой b1, b2, b3. Обратные связи отсутствуют.

Рис. 4.4. Трехслойная структура с линейной связью

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

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

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

Рис. 4.5. Упрощенная схема контроля технического состояния самолета

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

Правильный выбор структурной схемы важен и в таком направлении нейронных сетей, как нейрокомпьютеры [3]. В этом случае используют в том числе и многослойные нейронные сети с переменной структурой [3].

Выводы по главе

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

Глава 5. Обучение нейронных сетей

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

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

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

Это определение процесса обучения предполагает следующую последователь­ность событий.

  1. В нейронную сеть поступают стимулы из внешней среды.
  2. В результате этого изменяются свободные параметры нейронной сети.
  3. После изменения внутренней структуры нейронная сеть отвечает на возбуждения уже иным образом.

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

Проще говоря, цель обучения нейронной сети состоит в её настройке на заданное поведение. Один из подходов к к этому процессу заключается в обучении сети путем настройки значений весовых коэффициентов wj. Матрица весовых коэффициентов wj сети называется синаптической картой. Существует 2 вида обучения :

  • обучение с учителем
  • обучение без учителя.

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

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

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

Сигнал ошибки — это разность между желаемым сигналом и текущим откликом нейронной сети.

Рис. 5.1

Корректировка параметров выполня­ется пошагово с целью имитации нейронной сетью поведения учителя. Эта имитация в некотором статистическом смысле должна быть оптимальной. Та­ким образом, в процессе обучения знания учителя передаются в сеть в максимально полном объеме. После окончания обучения учителя можно отключить и позволить нейронной сети работать со средой самостоятельно [3].

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

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

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

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

5.2.1. Обучение с подкреплением

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

Рис. 5.2

Такая система предполагает обучение с «отложенным подкреплением». Это значит, что система получает из внешней среды последовательность сигналов возбуждения (т.е. векторов состояния), которые приводят к генерации эври­стического сигнала подкрепления. Целью обучения является минимизация функции стоимости перехода, определенной как математическое ожидание кумулятивной сто­имости действий, предпринятых в течение нескольких шагов, а не просто текущей стоимости. Может оказаться, что некоторые предпринятые ранее в данной последовательности действия были определяющими в формировании общего поведения всей системы. Функция обучаемой машины (learning machine), составляющая второй ком­понент системы, определяет эти действия и формирует на их основе сигнал обратной связи, направляемый во внешнюю среду.

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

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

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

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

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

Рис. 5.3

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

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

Другими словами, сеть использует поступающую информацию, сама осуществляет ее обобщение и коррекцию своей деятельности путем анализа ошибок. В случае обучения без учителя обучающая последовательность состоит лишь из входных образов ai. Алгоритм обучения настраивает веса так, что близким входным векторам соответствовали одинаковые выходные, т.е. фактически осуществляется разбиение пространства входных образов на классы [4].

Выводы по главе

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

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

Глава 6. Решение задачи нечеткой логики

Данная глава является практической частью, это - решение задачи с использованием аппарата нечеткой логики.

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

Вариант, согласно заданного критерия, даты рождения, № 9.

6.1. Условие задачи

Задача на определение затрат на свадьбу:

Требуется определить, сколько денег будет потрачено на свадьбу.

Входные сигналы: а) количество гостей (маленькое, среднее, большое);

б) наличие приглашенных артистов (много артистов, мало артистов);

в) количество блюд на праздничном столе (много блюд, среднее количество блюд, мало блюд).

Выходной сигнал: затраты на свадьбу (богатая свадьба, средняя, бедная).

Правила: 1. Если количество гостей маленькое, мало приглашенных артистов, мало блюд на столе, то свадьба бедная. 2. Если среднее количество гостей, мало артистов, среднее количество блюд, то свадьба средняя. 3. Если много приглашенных гостей, много приглашенных артистов, много блюд на столе, то свадьба богатая.

6.2. Решение задачи

Таким образом, имеем объект с тремя входнымии переменными и одной выходной переменной.

Для входа в систему FuzzyLogicToolbox [11] вводим в командной строке Матлаба команду ‘fuzzy’. В результате появляется окно редактора FIS Editor (рис. 6.1). Т.к. по умолчанию в окне появляется только один вход, добавляем входные переменные, дважды нажимая ‘Edit/Add Variable’. В окне редактора теперь – 3 входа (рис. 6.2). По умолчанию используем нечеткий логический вывод по Мамдани. Метод дефаззификации переключаем на ‘bisector’.

Рис. 6.1

Рис. 6.2

Следующий шаг – настройка входных переменных, сначала меняем их имена. Для этого выделяем блок Input1, в окне Name вводим х1 и нажимаем Enter. То же проделываем с Input2 (меняем имя на х2) и Input3 (меняем имя на х3). Аналогично меняем имя выходной переменной на у [11].

Задаем имя системы, для чего в меню File выбираем подменю Export и команду ‘To Disk’ (имя ‘mariage13’).

Затем поочередно настраиваем функции принадлежности переменных, для чего используем редактор функций принадлежности, дважды щелкая левой клавишей мыши на соответствующий блок. Так, для переменной х1 получаем окно, изображенное на рис. 6.3. Здесь в окне Range введен диапазон изменения данной переменной х1: число гостей от 20 («мало») до 60 («много»). Здесь же настриваем вид функций принадлежности и 3 лингвистических уровня: маленькое, среднее и большое количество гостей.

Рис. 6.3.

Здесь надо заметить, что использованная в данной работе версия Matlab v6.5 не позволяет вводить кириллические символы, поэтому использованы следующие лингвистические значения входных переменных:

Большое или много – much, для х1 числовое значение равно 60 человек;

Среднее – middle, для х1 числовое значение равно 40 человек;

Маленькое или мало – notmuch, для х1 числовое значение равно 20 человек.

Следующим важным действием является настройка типа функции принадлежности. Для этого в окне Type выбираем из раскрывающегося списка тип “trimpf”, т. е треугольной формы. Это действие выполняем для всез трех значений (notmuch, middle, much).

Для переменной х2 приняты следующие значения: мало – notmuch, 2 артиста; много – much, 10 артистов. Тип функции принадлежности – также “trimpf”. Т.к. для этой переменной заданы два уровня (мало и много), то график функции принадлежности отличается от случая х1 (рис. 6.4).

Рис. 6.4

Для переменной х3 приняты следующие значения: мало – notmuch, 10 блюд; среднее – middle, 20 блюд; много – much, 30 блюд. Тип функции принадлежности – также “trimpf”.

Для выходной переменной у приняты следующие лингвистические значения (термы):

Бедная свадьба – poor, 50 тыс. руб.;

Средняя – middle, 125 тыс. руб.;

Богатая – Rich, 200 тыс. руб.

Тип функции принадлежности для у принят gaussmf - кривая Гаусса, или нормальное распределение. Выбор этого типа функции обоснован на желании получить численные результаты после фаззификации результатов нечеткого логического вывода.

Вид окна редактора функции желательности для выходной переменной у показан на рис. 6.5.

Рис. 6.5.

Следующий этап настройки системы нечеткой логики – задание правил. Для этого переходим в редактор базы знаний RuleEditor, выбирая в меню Edit команду ‘Rules’. В редакторе базы знаний нажимаем кнопку ‘Add rule’, затем отмечаем нужные лингвистические значения для х1, х2, х3, у. Эту операцию повторяем для всех трех заданных правил, составленных по форме: «если …, и …, и … , то». Соединительный союз (Connection) – “и” (and).

Редактор базы знаний изображен на рис. 6.6. В окне ‘Weight’ (весовой коэффициент) для всех правил оставлено значение по умолчанию 1.

Рис. 6.6.

После окончания всех настроек можно посмотреть результаты вычислений:

На рис 6.7 - результат выбора команды ‘Rules’ после нажатия кнопки ‘View’ в окне Rule Editor, при этом появляется окно с рисунком, символизирующем входные и выходные переменные (рис. 6.7). Передвигая красные тонкие линии, показывающие значение соответствующей переменной, в соответствующее положение, получаем результат для у. На рис. 6.7. входные переменные соответствуют 1-му правилу задания. В результате получено: у=66,5 тыс. руб, что близко к «бедной свадьбе», смещение чилового результата внутрь диапазона изменения у связано с принятым методом дефаззификации – медиана (bisector) в окне FIS Editor.

Для второго правила видим результат на рис. 6.8, а для третьего правила – на рис. 6.9.

Рис. 6.7.

Рис. 6.8

Рис. 6.9

Наглядное представление о влиянии двух входных переменных на выходной параметр получается при выводе поверхности отклика. Для этого в окне Rule Viewer после выбора опции View кликаем на Surfase Viewer, На рис. 6.10 дана поверхность у(х1,х3) при х2 = «мало» (2 артиста), а на рис 6.11 - поверхность у(х1,х3) при х2 = «много» (10 артистов). Задание значения переменной х2 производится в окне Surfase Viewer в строке RefInput – число в середине вектора: соответственно [Nan 2 NaN] и [Nan 10 NaN].

При «малом» количестве (2) артистов на свадьбе увеличение х1 и х3 от «малого» значения до «среднего» приводит к увеличению затрат от уровня «бедная» до уровня «средняя», а при дальнейшем увеличении х1 и х3 до уровней «большое» («много») не вызывает увеличения затрат выше среднего уровня (рис. 6.10). При «большом» количестве (10) артистов увеличение х1 и х3 от «среднего» до верхнего уровня приводит к увеличению затрат от среднего уровня до верхнего (до «богатой» свадьбы).

Рис. 6.10. Поверхность при х2=2

Рис. 6.11. Поверхность при х2=10

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

Выводы по главе

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

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

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

Заключение

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

Развитие теории искусственных нейронных сетей быстро пошло благодаря изучению мозга и успешного моделированию его работы.

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

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

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

Список литературы

  1. Аксенов С. В. Организация и использование нейронных сетей (методы и технологии) / С. В. Аксенов, В. Б. Новосельцев ; под общ. ред. В. Б. Новосельцева. –Томск : Изд. НТЛ, 2006. –С.5.
  2. Блум Ф., и др. Мозг, разум и поведение. / Ф. Блум, А. Лейзерсон, Л. Хофстедтер. Перевод с английского канд. биол. Наук Е.З. Годиной. –

М. : "Мир" 1988.

  1. Галушкин А.И. Теория нейронных сетей. Кн. 1: Учеб. Пособие для вузов. / Общая ред. А.И. Галушкина. – М. : ИПРЖР, 2000. 416 с.
  2. Каллан Р. Основные концепции нейронных сетей./ Р. Каллан: Пер. с англ. – М. : Издательский дом «Вильямс», 2001. –287 с.
  3. Косицын Н. С. Микроструктура дендритов и аксодендритических связей в центральной нервной системе./ Н. С. Косицын – М.: Наука, 1976, 197 с.
  4. Минский М. Персептроны = Perceptrons. / М. Минский, С. Пейперт. –М.: Мир, 1971. –261 с.
  5. Немечек С. и др. Введение в нейробиологию/ С. Немечек. Прага. Avicennum, 1978, 400 c.
  6. Петров А. П. О возможностях перцептрона. / А. П. Петров. // Известия АН СССР, Техническая кибернетика. –1964. –№6.
  7. Розенблатт Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга. / Ф. Розенблатт. –М.: Мир, 1965. –480 с.
  8. Хайкин С. Нейронные сети: полный курс, 2-е издание./С. Хайкин.: Пер. с англ. – М. : Издательский дом «Вильямс», 2006. – 1104 с.
  9. Штовба С.Д. Проектирование нечетких систем средствами МАТЛАБ./ С.Д. Штовба. – М. : Горячая линия - Телеком, 2007. – 288 с.
  10. Hebb D. O. A Neuropsychological Theory. In Psychology: A Study of a Science. –Vol. 1. / Edited by Sigmund Koch. –New York: McGrawHill, 1959. –846 p.
  11. Mc Culloch W. С. H. A Logical Calculus of Ideas Immanent in Nervous Activity. / W. С. Mc Culloch, W. H. Pitts. // Bulletin of Mathematical Biophysics. –1943. –Vol. 5. –P. 115–119.
  12. Robert F. Service. A million spikingneuron integrated circuit with a scalable communication network and interface // Science. 8 August 2014.–Vol. 345. –No. 6197. –P. 668–673.

New IBM SyNAPSE Chip Could Open Era of Vast Neural Networks // The official website of IBM Corporation [Электронный ресурс] URL:

http://www-03.ibm.com/press/us/en/pressrelease/44529.wss (дата обращения 05.12.2016).

  1. R. Col Johnson/ IBM achieves accurate brain simulation // ElectronicEngineering Times. [Электронный ресурс] URL:http://www.eetimes.com/document.asp?doc_id=1172387 (дата обращения 05/12.2016).
  2. Dharmendra Modha/ Introducing a Brain-inspired Computer TrueNorth's neurons to revolutionize system architecture. // The official website of IBM Corporation [Электронный ресурс] URL: http://www.research.ibm.com/articles/brain-chip.shtml. (дата обращения 05/12.2016).