Главная
Лабораторная работа №1
Лабораторная работа №2
Лабораторная работа №3
Лабораторная работа №4
Лабораторная работа №5
Скачать архив

Лабораторная работа №4.

«Моделирование простой нейронной сети»





Цель: изучить формальную модель нейрона и рассмотреть взаимодействие нейронов между собой.

Теория:

Формальный нейрон Нейрон состоит из взвешенного сумматора и нелинейного элемента. Функционирование нейрона определяется формулами:



     (1)        OUT= F(NET-)      (2)

Нейрон имеет несколько входных сигналов x и один выходной сигнал OUT. Параметрами нейрона, определяющими его работу, являются: вектор весов w, пороговый уровень и вид функции активации F.

Функционирование нейрона происходит следующим образом.

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

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

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

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

Задание:

Необходимо разработать программу, имитирующую работу простейшей нейронной сети, состоящей из 4 нейронов.

В программе должны быть реализованы следующие функции:
        1. задается количество рецепторов от 2 до 5.
        2. количество нейронов фиксировано – 4.
        3. задаются связи между рецепторами и двумя ближайшими нейронами.
        4. связи между нейронами фиксированы: три возбудительные и одна тормозная.
        5. задается раздражение на рецепторах (0 – нет раздражения, 1 – есть раздражение)
        6. задается порог на каждом нейроне
        7. задается время суммации – один или два.

Алгоритм работы:

1. Суммирование 1.

        1. На рецепторы подается сигнал в виде нулей и единиц, т.е. каждый рецептор содержит одну цифру (0 или 1).
        2. Рецепторы, содержащие единицу, активируют свои связи к нейронам, значение на нейроне увеличивается на единицу.
        3. Далее рассматриваются все нейроны, значение которых изменилось. Если получившееся значение превышает пороговое значение рассматриваемого нейрона, то этот нейрон активирует все свои выходящие связи к другим нейронам, если это увеличивающая связь, то значение на результирующем нейроне увеличивается на единицу, если это тормозящая связь, то значение на результирующем нейроне уменьшается на единицу.
        4. Если значение на выходном нейроне, превышает пороговое значение нейрона, то на выход подается единица, иначе ноль.

2. Суммирование 2.

        1. На рецепторы подается сигнал в виде нулей и единиц, т.е. каждый рецептор содержит одну цифру (0 или 1)
        2. Рецепторы, содержащие единицу, активируют свои связи к нейронам, значение на нейроне увеличивается на единицу.
        3. Далее рассматриваются все нейроны, значение которых изменилось. Если получившееся значение превышает пороговое значение рассматриваемого нейрона, то этот нейрон активизирует все свои входящие связи к другим нейронам, если это увеличивающая связь, то значение на результирующем нейроне увеличивается на единицу, если это тормозящая связь, то значение на результирующем нейроне уменьшается на единицу.
        4. Переход к п. 1 при этом значение на нейронах не сбрасываются. Переход к п. 1 осуществляется один раз. Далее переход к п. 5.
        5. Если значение на выходном нейроне, превышает пороговое значение нейрона, то на выход подается единица, иначе ноль.

Содержание отчета

        1. Титульный лист
        2. Постановка задачи
        3. Графическое описание алгоритма решения задачи (например: в виде блок – схемы)
        4. Результаты
            • Вставить скриншот интерфейса программы
            • Нарисовать модель нейронной сети, работу которой вы будете моделировать в программе.
            • Задать раздражение на рецепторах и связи между нейронами и рецепторами, пороги на нейронах. Привести результаты работы сети при времени суммации один и два.
            • Рассмотреть как на работу нейронной сети влияет задание порогов (попробовать задать маленькие, большие значения порогов).
        5. Фрагменты кода