Основы теории искусственных нейронных сетей

Александр Аполлонович Кириченко

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

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Основы теории искусственных нейронных сетей предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Нейросетевые уровни моделирования

Структурный подход к моделированию мозга реализуется на нескольких уровнях (этапах).

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

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

— выбора максимального или минимального входного сигнала,

— оценки эквивалентности (равенства) входных сигналов,

— классификации

— ранжирования (сортировки),

— и др.

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

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

Нейроны

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

— формальный нейрон

— нейрон МакКаллока-Питтса

— сигмоидальный нейрон

— нейрон типа «адалайн»

— паде-нейрон

— нейрон Хебба

— нейроны типа WTA (Winner Takes All — «Победитель получает все»)

— и др.

В каждом нейропакете используются свои модели нейронов, различающиеся своими свойствами (Properties).

Мы будем рассматривать модели нейронов, используемых в трёх нейропакетах [3, 4, 5]:

— Sharky Neural Network — это freeware компьютерная программа фирмы SharkTime Software (http://www.sharktime.com) для игровой демонстрации возможностей нейросетевого классификатора. Программа freeware, работает под ОС Windows различных версий. Адрес для загрузки: http://www.sharktime.com/

— Нейросимулятор Пермской школы Искусственного Интеллекта — программа, предназначенная для проектирования, обучения, тестирования и использования нейронных сетей. Программа freeware, работает под Windows разных моделей. Её адрес

http://www.lbai.ru/.

— Универсальный нейропакет MemBrain — мощный графический нейросетевой редактор-имитатор для Microsoft Windows, поддерживающий искусственные нейросети произвольного размера и архитектуры (программа freeware). Её адрес:

http://www.membrain-nn.de/english/download_en.htm.

Биоподобные модели нейронов

В https://ailab.ru/ Александр Бахшиев описал Концепцию применения биоподобных моделей нейронов для управления робототехническими системами.

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

С их помощью проводятся исследования типа:

«Информационная модель волновой активности мозга» или

«Механизм распределенной голографической памяти в волновых нейронных сетях».

К числу перспективных моделей нейрона принадлежит и модель В. Б. Вальцева:

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

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

Принимать сигналы (импульсы) нейрон может с помощью входов. Каждый вход нейрона характеризуется весовым коэффициентом W (вес входа). Импульсы, поступая на вход нейрона, изменяют его текущее состояние. Эффект от импульса определяется типом входа, на который он поступил, весом этого входа а также текущим состоянием нейрона. На рисунке 12 представлена визуальная модель бионического нейрона и показаны его входы и выходы:1 — вход возбуждения, 2 — вход регуляции, 3 — вход памяти, 4 — вход запрета, 5 — вход торможения, 6 — выход (синапс) нейрона.

Рис. Модель бионического нейрона

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

Если µ = 0, то вход считается необученным — в этом случае импульсация на этот вход не оказывает никакого влияния на состояние нейрона. Максимально обученный вход (µ = 1) работает аналогично входу возбуждения с весом W, пока значение µ снова не изменится (уменьшится).

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

Разобучение — уменьшение µ, происходит в тех случаях, когда сигнал, поступивший на вход памяти, не был подкреплён последующим сигналом на вход возбуждения, или не сопровождался регулирующей импульсацией (при этом T ≥T0). В этой ситуации значение µ уменьшится на ∆µ-.

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

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

Нейронные ансамбли

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

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

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

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

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

Кроме вычислительных ИНА, копирующих элементы ЭВМ, нейронные сети могут реализовать элементы, реализующие функции нейроматематики: элементы для выполнения математических операций, например таких, как

— сложение, вычитание, умножение, деление различных чисел,

— преобразования чисел из одной системы счисления в другую,

— перекодировки текста,

— матричных операций,

— генерации случайных чисел,

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

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

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

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

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

— обобщение,

— обучение,

— распознавание,

— принятие решений

— и др.

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

Для примера рассмотрим две разновидности ИНА: Нейросетевой логический элемент «Штрих Шеффера» и нейросетевой преобразователь кода из двоичной в шестнадцатиричную систему счсления («2 — Hex»).

Нейросетевой логический элемент «Штрих Шеффера» [7]

В общем количестве логических операций штрих Шеффера занимает особое место среди логических операций.

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

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

Штрих Ше́ффера — бинарная логическая операция, булева функция над двумя переменными. Введена в рассмотрение Генри Шеффером в 1913 году.

Штрих Шеффера, обычно обозначаемый (вертикальной чертой), эквивалентен операции И-НЕ и задаётся следующей таблицей истинности:

Таким образом, высказывание X Y означает, что X и Y несовместны, то есть не являются истинными одновременно.

При нейросетевой реализации создается штрих Шеффера с помощью трёхслойного перцептрона 2-2-1:

После создания в нейропакете проводится анализ созданной нейросети:

Из анализа видно, что всего нейронов 5, из них 2 — входных, 1 выходной, 2 скрытых нейрона в одном промежуточном слое. Нейросеть имеет 6 связей.

Для обучения перцептрона составлен файл из 8 строк «шеффер. csv»:

Для обучения нейросети выбран алгоритм Std. BP:

Результат обучения виден на Net Error Viewer:

Обучение заняло около 300 эпох; была достигнута ошибка сети 0,0004

Для контроля качества обучения составлен файл: «шеффер_контр. csv»

Результат обучения виден на Pattern Error Viewer:

После обучения нейросети для проверки выведен файл «Export_Validation. csv»:

Сохраняем обученную нейросеть в виде искусственного нейронного ансамбля. Для этого:

Блокируем нейроны (защищаем их от возможности переобучения) — выделяем все скрытые и все выходные нейроны, на одном из выделенных нейронов открываем Properties в открытом правой кнопкой мыши меню, активируем «Lock Act. Thres. For Teacher»:

С помощью File — > Save as» cохраняем обученную нейросеть (полученный искусственный нейронный ансамбль) в файле «шеффер_End. mbn»).

Проверяем обученность нейросети и готовность её работать: обновляем загрузку нейропакета MemBrain, загружаем в него файл «шеффер_End. mbn», открываем редактор уроков (Lesson Editor), синхронизируем редактор с нейросетью (Names from Net), набираем на входных нейронах проверочный двоичный код, нажимаем Think on Input — на выходных нейронах появляется ответ, соответствующий таблице истинности логической функции штрих Шеффера.

Конец ознакомительного фрагмента.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Основы теории искусственных нейронных сетей предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я