Компьютерное моделирование биологического нейрона

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.09.2012
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Кубанский государственный университет»

Физико-технический факультет

Кафедра радиофизики и нанотехнологий

Дипломная работа

Компьютерное моделирование биологического нейрона

Работу выполнил Попко К.С.

Специальность 010801, Радиофизика и электроника

Научный руководитель

Заведующий кафедрой радиофизики и нанотехнологий,

профессор, член-корреспондент АИН РФ Г.Ф. Копытов

Краснодар 2012

Реферат

Попко К.С. Компьютерное моделирование работы нервной клетки. Дипломная работа:17 рис., 17 источников.

Нейрон, искусственный нейрон, нейронные сети, интеллектуальные устройства.

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

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

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

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

- разработан алгоритм работы модели биологического нейрона;

- разработана компьютерная модель биологического нейрона;

- написан и скомпилирован код, реализующий работу биологического нейрона для микроконтроллера ATMega16;

- проведены испытания работы компьютерной модели нейрона с различной структурой мембраны и расположением синапсов на ней;

- проведен ряд численных экспериментов, установивший адекватность предложенных математических моделей естественным прототипам.

Содержание

Обозначения и сокращения

Введение

1. Основные особенности работы нейрона

2. Функциональное описание предлагаемой модели

2.2 Синапс

3. Элементы нейрологики с позиции аппаратной реализации

4. Испытание компьютерной модели

4.1 Использование разработанного программно-аппаратного комплекса

Заключение

Список использованных источников

Обозначения и сокращения

Xs i

Входящий импульс

Ss i

Пороговая функция

gs i

Общие значения сигналов

К

Пороговый коэффициент

Нейрод

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

Введение

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

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

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

В разработке подобной модели будут использованы методы системного анализа при обобщении экспериментальных данных [2, 3] и классификации биологических нейронов [4,5]. Так как задача поиска оптимального решения в ряде случаев является невычислимой по причине эмпирического характера данных или методов работы с ними, экспоненциальной сложности решения задачи путем перебора и т.д., то необходимость воспользоваться бионическими методами построения технических систем становится более очевидной.

Цель работы: разработка компьютерной модели биологического нейрона.

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

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

2) Предложить систему уравнений, описывающих работу модели нейрона.

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

4) Написать и скомпилировать код, реализующий работу биологического нейрона в микроконтроллере ATMega16.

5) Провести испытания работы компьютерной модели нейрона с различной структурой мембраны и расположением синапсов на ней.

6) Провести ряд численных экспериментов для установления адекватности предложенных математических моделей естественным прототипам.

Работа поддержана грантами Всероссийского фонда «УМНИК» от 27 мая 2010 года, 04 июля 2011 года (№ 9557 р /14159); отмечена дипломом Всероссийского конкурса молодых ученых от 18 января 2012 года (№ 010457).

Результаты дипломной работы опубликованы в [18, 19, 20].

1. Основные особенности работы нейрона

нейрон биологический синапс моделирование

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

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

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

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

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

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

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

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

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

Также не исключено использование операций переработки сигналов: типа "Исключающее ИЛИ" (регистрация различий, то есть A=110010, B=011011 и A xor B=101001), "Логическое И" (отсечение различий) и других.

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

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

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

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

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

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

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

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

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

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

2. Функциональное описание предлагаемой модели

В качестве функциональной основы предлагаемой модели нейрона, принята схема процессов преобразования импульсных потоков нейрона gs i предложенная в работах [8, 9, 10].

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

Но в отличие от [5] в рамках модели полагаем, что входные и выходные сигналы нейрона равны нулю в отсутствии импульса, и константе E на время действия импульса. Также длительность импульса определяется временными параметрами мембраны нейрона Ss i.

Мембрана сомы и дендритов нейрона представляет набор пар моделей ионных механизмов, описывающих процессы деполяризации и гиперполяризации, соответственно.

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

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

Рисунок 1 - Функциональная схема модели нейрона

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

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

Ролью синаптического аппарата в модели является первичная обработка входных сигналов gs i.

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

Рисунок 2 - Функциональная схема модели i-го участка мембраны нейрона

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

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

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

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

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

Рисунок 3 - Организация структуры мембраны нейрона

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

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

Увеличение числа пар таких механизмов автоматически увеличивает “размер” нейрона и позволяет моделировать нейрон со сложной организацией синаптического и дендритного аппаратов.

Аналогично производится суммирование сигналов в местах ветвления дендритов - суммарные вклады механизмов гипер- и деполяризации делятся на их количество.

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

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

Таким образом, в терминах модели:

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

б) на соме нейрона производится суммация сигналов на коротких интервалах времени (большой вклад в возбуждение нейрона от каждого синапса) и накапливаемый потенциал теряется при разрядах нейрона;

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

Полное математическое описание элементов модели нейрона находится по методу наименьших квадратов:

(1)

где yj - значение j-го выхода нейросети;

dj - целевое значение j-го выхода;

k - число нейронов в выходном слое.

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

. (2)

Для выходного слоя можно записать компоненты градиента по весам функции ошибки:

, (3)

где yj - значение выхода j-го нейрона;

Sj - взвешенная сумма входных сигналов j-го нейрона;

wij - i-тый вход j - того нейрона.

При этом производная взвешенной суммы по весам будет равна:

, (4)

где xi - значение i-го входа нейрона.

Для выходного слоя производная функции ошибки будет равна:

. (5)

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

. (6)

При этом:

, (7)

определяет текущее значение выходного сигнала.

Расчеты по вышеприведенным формулам позволяют выполнить коррекцию весов для нейронов последнего слоя. Для получения формул для других слоев можно воспользоваться формулой производной функции ошибки по входному сигналу (n - номер слоя):

. (8)

Последний сомножитель тождественно совпадает с весовым коэффициентом i - того входа j - того нейрона:

. (9)

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

(10)

Первый множитель формулы (7) определяется формулой:

, (11)

где k - число нейронов в слое n.

Вводится вспомогательная переменная

(12)

Тогда можно задать рекурсивную формулу для определения (n-1) - го слоя, если известны следующего n - го слоя.

. (13)

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

. (14)

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

. (15)

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

1) подать на вход сигнал активации и определить значения выходов нейронов;

2) рассчитать функцию ошибки Е. Если значение ошибки не превышает допустимое, то выбрать следующий обучающий образец и перейти на шаг 1. Целесообразно организовать случайный выбор образцов из обучающей последовательности. Иначе - к следующему пункту;

3) рассчитать для выходного слоя нейронной сети по формуле (13) и рассчитать изменения весов выходного слоя n по формуле (14);

4) рассчитать по формулам (11) и (13) соответственно и для остальных слоев, n = N-1..1;

5) скорректировать все веса нейрона:

(16)

6) перейти на шаг 1.

2.2 Синапс

Известно, что процессы выделения и распада медиатора носят экспоненциальный характер, причём процесс выделения медиатора, как правило, происходит значительно быстрее, нежели процесс распада [11].

Следующим важным фактором является эффект пресинаптического торможения, проявляющийся в том, что при превышении концентрацией медиатора некоторого предельного значения эффект влияния синапса на ионный канал начинает ослабевать несмотря на то, что ионный канал остается полностью открытым. Достижение предельного значения Ss i концентрации возможно при стимуляции синапса импульсными потоками Xs i и gs i с высокой частотой следования импульсов.

Модель, показанная на рисунке 4, реализует все три основные особенности функционирования синапса.

Рисунок 4 - Модель синапса

Вход модели - дискретный сигнал x(t), представляющий собой последовательность импульсов длительностью 1 мс и имеющих амплитуду E. Процесс выделения и распада медиатора предлагается моделировать инерционным звеном первого порядка с логическим управлением постоянной времени Ts. Переменная ? характеризует концентрацию медиатора, выделившегося в ответ на импульс.

Выход g(t) модели представляет собой эффективность воздействия на ионный механизм и пропорционален проводимости синапса. Таким образом, при отсутствии входных воздействий Xs i и gs i проводимость синапса стремится к нулю, что соответствует разомкнутому ключу в эквивалентной схеме мембраны [7, 8].

В работах [4, 5, 6] показано, что ионный канал имеет три основные характеристики - сопротивление, емкость и концентрацию ионов, поддерживаемую внутри клетки насосной функцией мембраны. Произведение Tm=RmCm характеризует инертность канала, т. е. определяет скорость восстановления нормальной концентрации ионов в клетке.

Влияние синапса на ионный механизм заключается в потере эффективности насосной функции канала и в снижении концентрации ионов в клетке, причём постоянная времени данного процеса T=RICm.

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

Рисунок 5 - Модель ионного механизма мембраны нейрона

Здесь g? - суммарная эффективность влияния синапсов на ионный механизм,

Rm>0 - сопротивление мембраны,

Cm - емкость мембраны,

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

u - реальный вклад модели в величину внутриклеточного потенциала.

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

Как показано на рис. 3, суммарный мембранный потенциал нейрона u? равен алгебраической сумме выходов всех участков мембраны, моделирующих сому клетки.

На рис. 6 представлена модель генератора, осуществляющая формирование прямоугольных импульсов заданной амплитуды E, как результат превышения потенциалом u? фиксированного порога К.

Рисунок 6 - Модель генератора потенциала действия

Здесь Р>0;

TG - постоянная времени, определяющая время действия обратных связей перезарядки мембраны и характеризующая длительность генерируемого импульса, а вырабатываемый выходной сигнал (t) автоматически поступает на обратные связи перезарядки сомы клетки (рисунок 3).

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

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

Вся система синхронизируется часовым механизмом, выдающим тактовые импульсы с частотой n1 = 14 318 000 тактов в секунду. Эта частота работы самого контроллера. Ее можно изменять путем использования разных кварцевых кристаллов, но не более 16 Мгц (это собственное ограничение контроллера).

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

Это установленное значение и есть пороговый коэффициент P.

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

В самом общем случае можно сказать, что импульсы передаются от нейродов к нейродам по проводникам двух видов - возбуждения и торможения, точно также как и в реальных нейронах [1,2,3,4].

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

В контроллере ATMega16 порт А - входной порт, для повышающих импульсов. Порт В - входной порт, для тормозящих импульсов, а порт С - для исходящих. Другими словами, порты A,B играют роль дендритов нейронов, а контакты порта С - аксонов.

Порты в микроконтроллере являются 8-битными, таким образом, в одном микроконтроллере может быть реализована работа 8 нейродов. Принцип алгоритма прост: контроллер опрашивает свои входные порты и если на них пришел сигнал длительностью ?t?(1/n1)*8=0,6 мкс, то контроллер его обработает.

На протяжении времени t (t<1/n2) работы нейрода, он принимает и считает входные импульсы, приходящие на дендриты. После чего контроллер их обрабатывает: сравнивает число пришедших сигналов с пороговым коэффициентом.

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

Далее приведен программный код нейрода, в котором реализуется функция обработки сигналов. Это условная функция «if - если», которая сравнивает количество пришедших в порт А сигналов и сравнивает их с пороговым коэффициентом.

if (pdd1>=1){PORTC.1=0x01; delay_ms(250);}

if (pdd2>=1){PORTC.2=0x01; delay_ms(250);}

if (pdd3>=1){PORTC.3=0x01; delay_ms(250);}

if (pdd4>=1){PORTC.4=0x01; delay_ms(250);}

if (pdd5>=1){PORTC.5=0x01; delay_ms(250);}

if (pdd6>=1){PORTC.6=0x01; delay_ms(250);}

if (pdd7>=1){PORTC.7=0x01; delay_ms(250);}

pdd0=0;

pdd1=0;

pdd2=0;

pdd3=0;

pdd4=0;

pdd5=0;

pdd6=0;

pdd7=0;

PORTC.0=0x00;

delay_ms(250);

PORTC.1=0x00;

delay_ms(250);

PORTC.2=0x00;

delay_ms(250);

PORTC.3=0x00;

delay_ms(250);

PORTC.4=0x00;

delay_ms(250);

PORTC.5=0x00;

delay_ms(250);

PORTC.6=0x00;

delay_ms(250);

PORTC.7=0x00;}

Void main - начало тела программы, в которой сначала описываются все используемые порты микроконтроллера, их начальные значения.

Регистры TCCR0, TCNT0, OCR0 - подключают к работе таймер, который вызывает прерывания контроллера для математической обработки внешних сигналов и принятия решений по генерации собственных сигналов нейрода.

void main(void)

{

//повышающие входы нейрона

PORTA=0x00;

DDRA=0x00;

//понижающие входы нейрона

PORTB=0x00;

DDRB=0x00;

//выходы нейрона

PORTC=0x00;

DDRC=0xFF;

//резервный выход

PORTD=0x00;

DDRD=0xFF;

TCCR0=0x05;

TCNT0=0x00;

OCR0=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x01;

ACSR=0x80;

SFIOR=0x00;

// Global enable interrupts

#asm("sei")

Цикл с постусловием - «while-пока»; в теле этого цикла происходит опрос всех входных портов контроллера и подсчет пришедших импульсов. После завершения математической обработки всех используемых данных, переменные с именем pddi (port data detector), где i - индекс переменной, обнуляются.

while (1)

{if (PINA.0==0x01){pdd0++;}

if (PINA.1==0x01){pdd1++;}

if (PINA.2==0x01){pdd2++;}

if (PINA.3==0x01){pdd3++;}

if (PINA.4==0x01){pdd4++;}

if (PINA.5==0x01){pdd5++;}

if (PINA.6==0x01){pdd6++;}

if (PINA.7==0x01){pdd7++;}

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

3. Элементы нейрологики с позиции аппаратной реализации

В [12] утверждается, что все сигналы, которые приходят на нейрон суммируются. Причем, тормозящие трактуются, как отрицательные, а потому они просто вычитаются из суммы всех положительных импульсов (1).

, (15)

где В-возбуждающие импульсы;

Т-тормозящие импульсы;

П-порог срабатывания.

Как известно, любой нейрон связывается с соседними путем образования синаптических связей [13].

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

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

Рисунок 7 - Дискретизация импульсов

На графиках показано, что в верхней серии импульсов длительностью 3 такта четко прослеживаются 2 сигнала высокого уровня, либо 2 сигнала низкого. А в нижней серии - ряд импульсов слились воедино и представляют собой 1 импульс высокого уровня длительностью 3T. На графиках видны и другие комбинации прямоугольных сигналов, которые по-разному будут интерпретироваться контроллером [14].

Эта проблема решается двумя способами: аппаратно или программно. Аппаратное решение состоит в том, что в контроллере подключается таймер и сигналы от нейрода к нейроду принимаются определенными пакетами. Но это решение уменьшает частоту n2, и сказывается на работоспособности сети в целом [15].

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

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

Для разрешения этой проблемы на базе микроконтроллера реализуется не менее одного, но не более 3 нейродов с одинаковым числом возбуждающих и тормозящих входов. Выходы нейронов подсоединяются к соответственным входам последующего нейрода [12,17].

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

Также использовать в программе подстраиваемые весовые коэффициенты (pi) дендритов. Это позволит обойтись одним соединением между разными нейродами. Понятие «число связей между нейронами» будет заложено в параметре pi.

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

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

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

Каждый из нейродов в течение одного такта на вход получает набор импульсов gs i, приходящие Xs на тормозящие и возбуждающие контакты. Эти сигналы по завершении времени приема обрабатываются следующим образом: суммируются (функция OR); сравниваются последовательности на предмет различия (функция XOR) [10,11].

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

Если К примем общим, то любой из входов способен возбудить нейрод, если же K различен для всех входов, то нейрод также может быть активирован любым входом, но с меньшей вероятностью, но тогда нейрод сможет «узнать» какой из нейродов предыдущего слоя его возбудил и опираясь на эту информацию, скорректировать весовой коэффициент своего дендрита (произвести обучение) и придать соответствующую длительность выходного сигнала. В общем случае каждой комбинации этих сумм будет присвоена собственная длительность выходного сигнала [3,4,5].

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

Этот метод обучения многослойной нейронной называется обобщенным дельта-правилом или правилом error backpropagation (обратного распространения ошибки) [4].

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

Метод был предложен в 1986 г. Румельхартом, Макклеландом и Вильямсом [7,14].

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

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

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

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

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

Основные соотношения метода обратного распространения ошибки [3], [4] получены при следующих обозначениях:

Ep - величина функции ошибки для образа P;

tjp - желаемый выход нейрона j для образа P;

opj - действительный выход нейрона j для образа P;

wjp - вес связи между i-м и j-м нейронами.

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

. (17)

Множитель вводится для упрощения операции дифференцирования.

Активация каждого нейрона j для образа P записывается в виде взвешенной суммы:

. (18)

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

. (19)

Можно записать по правилу цепочки.

. (20)

Для второго сомножителя в (4), используя (5), получаем:

.(21)

Внос каждого входного признака можно оценить по его влиянию на среднее значение выходной величины. Пусть внешний выход модели нейросети зависит от нескольких факторов: y = f(a1x1, a2x2, ..., aixi...).

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

Вычислим дисперсию, вызванную отсутствием фактора (аіхі).

. (21)

Определяем интервал DaI=± 2Sai, куда не должна попадать оценка коэффициентов (аі). При малых коэффициентах данный фактор изымается.

Некоторые из параметров, принимаемые во внимание, имеют незначительное влияние на формирование выходов и могут быть отброшены. В качестве показателя взаимозависимости между системой входных величин X=(X1, X2, ..., Xn), і - выходных величин Y , можно выбрать коэффициент парной корреляции (12) (например входной переменной X1 и выходного значения Y).

. (22)

. (23)

где N - число реализаций соединений неродов.

Значение k < 0,6 считают пороговым. Например, при нахождении коэффициентов корреляции между выходом и входами можно определить степень влияния каждого входного параметра на выход, и использовать данный показатель для ранжирования входов.

При прогнозировании, существенным для качества является учет реального влияния каждого параметра входа x(х1, ..., хn) на выходной вектор y.

С помощью корреляционного анализа заранее вычисляются коэффициенты парной корреляции между выходом y и каждым из параметров входа х1, ..., хj, ..., хn, что позволяет сформировать входную матрицу согласно степени влияния каждого параметра (рис. 8) и применить принцип ранжирования входов, что согласовывается со строением биологического нейрона.

В нейросеть вводится единый параметр для всех входов сети - коэффициент взвешивания Kf, принимающий значение в диапазоне от 0 до 1.

Рисунок 8 - Влияние коэффициента взвешивания входов

Для 1 входа все значения параметра х1 не изменяются, для 2 входа уменьшаются в Kf1 раз, а для последнего n-го входа вес параметра xn уменьшается в Kfn-1 раз. При Kf=1 все входы равнозначны, при Kf=0 учитывается лишь первый вход, остальные входы игнорируется, при 0<Kf<1 уменьшается влияние несущественных параметров на выходную величину y.

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

4. Испытание компьютерной модели

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

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

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

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

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

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

Рисунок 9 - Модель небольшого нейрона (N1)

Рисунок 10 - Модель крупного нейрона (N2)

Здесь обе модели нейрона имеют идентичную структуру дендритного аппарата (участки мембраны M2-M5 для модели N1 и M3-M6 для модели N2). Сома нейронов представлена одним участком мембраны M1 для мелкого нейрона и парой для крупного.

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

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

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

Рисунок 11 - Нейрон с синапсом на дендрите

1 - возбуждающие воздействие, 2 - внутриклеточный потенциал мембраны на генераторе потенциала действия, 3 - ответы нейрона совмещенные с графиком внутриклеточного потенциала

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

Рисунок 12 - Ответы нейрона N1 на возбуждение различных участков мембраны

1 - возбуждающее воздействие, 2-5 - ответы нейрона с синапсами на участках M4, M5, M2 и M1соответственно

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

Рисунок 13 - Реакции нейронов на сигналы частотой 2,5 Гц

1 - сигнал частотой 2,5 Гц, 2 - реакция небольшого нейрона, 3 - реакция небольшого нейрона, 4 - крупный нейрон, 5 - крупный нейрон

Рисунок 14 - Реакции нейронов на сигналы частотой 100 Гц

1 - сигнал частотой 100 Гц, 2 - реакция небольшого нейрона, 3 - реакция небольшого нейрона, 4 - крупный нейрон, 5 - крупный нейрон

Рисунок 15 - Реакции нейронов на сигнал частотой 200 Гц

1 - сигнал частотой 200 Гц, 2 - реакция небольшого нейрона, 3 - реакция небольшого нейрона, 4 - крупный нейрон, 5 - крупный нейрон

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

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

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

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

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

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

Модель малого нейрона генерирует последовательности импульсов с переменной частотой.

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

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

Рисунок 16 - Зависимость частоты ответов модели нейрона от частоты входной последовательности

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

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

4.1 Использование разработанного программно-аппаратного комплекса

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

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

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

Мы, естественно, будем понимать под нейронами разработанные нами нейроды на базе нейроконтроллера.

Рисунок 16 - Датчик давления на примере нейродного узла

Опишем типовой подход к посмтроению подобной схемы в рамках построенной модели нейрона.

Гибридной сетью необходимо реализовать отображение (9).

yk= f(xk)=f(x1k,x2k,…,xnk), k=1,2,…N. (24)

При наличии обучающего множества{(x1,y1),…,(xn,yn)}.

Для моделирования неизвестного отображения f применяется упрощенный алгоритм нечеткого вывода (10) [13].

, (25)

где - степень истинности i-го правила с помощью операции умножении.

Введение функции ошибки для k-го предъявляемого образа вида:

, (26)

позволяет, далее, как в обычных (стандартных) нейронных сетях использовать градиентный метод для подстройки параметров заданных предикатных правил. Так величины времени реагирования () нейронов можно вычислить согласно разработанной модели рис. 4,5,6, характеризующиеся параметрами аi,b.

. (27)

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

(28)

(29)

(30)

Нейрод Н4 выполняет операцию контроля уровня давления (показана в схеме знаком ">!"). Он складывает три интегрированных сигнала и сравнивает суммарный уровень, допустим, с какой-нибудь величиной, прописанной в памяти этого нейрода изначально, то есть во время его программирования.

Если суммарный уровень превышает заданную величину, то нейрод Н4 через свой аксон посылает в нервный центр нервный паттерн, в котором закодировано, что давление превысило опасную отметку.

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

Последующие выкладки таковы:

. (31)

Где

(32)

При этом:

. (33)

Для каждого нейрона определяем частотные выходы с учетом (16,17,18):

, (34)

, (35)

. (36)

Находим общий выход системы (37):

. (37)

Изложенный процесс работы характерной функции принадлежности для данной системы представлен на рисунке 17. Здесь L1, L2, L3, уровни сигналов ввода, а Н1, Н2, Н3, соответствующие выходы нейродов, и их частотные параметры.

Рисунок 17 - Иллюстрация алгоритма вывода

Заключение

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

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

Основные результаты дипломной работы состоят в следующем:

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


Подобные документы

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

    дипломная работа [1,8 M], добавлен 03.02.2015

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

    презентация [98,6 K], добавлен 16.10.2013

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

    презентация [145,5 K], добавлен 03.01.2014

  • Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.

    дипломная работа [1,7 M], добавлен 14.03.2013

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

    реферат [158,2 K], добавлен 16.03.2011

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

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

    курсовая работа [1,1 M], добавлен 29.04.2014

  • Процесс моделирования работы САПР: описание моделирующей системы, разработка структурной схемы и Q-схемы, построение временной диаграммы, построение укрупненного моделирующего алгоритма. Описание математической модели, машинной программы решения задачи.

    курсовая работа [291,6 K], добавлен 03.07.2011

  • Разработка вычислительного ядра для программного комплекса ModelBuilder. Общая архитектура взаимодействия с моделью. Подход для работы с двухмерной графикой. Визуализация модели в 3D. Алгоритм вставки цилиндра в модель. Матрица физических параметров.

    курсовая работа [2,2 M], добавлен 14.03.2012

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

    курсовая работа [1,9 M], добавлен 05.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.