Компьютерное моделирование биологического нейрона
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
.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), отвечающий за его возбуждение. Коэффициент может быть общим для всех ?/p>