Практическая работа №3.
«Моделирование простой нейронной сети»
Тема 5 «Нейронные сети»
Цель: изучить формальную модель нейрона и рассмотреть взаимодействие нейронов между собой.
Теория:
Формальный нейрон
Нейрон состоит из взвешенного сумматора и нелинейного элемента.
Функционирование нейрона определяется формулами:
(1) OUT= F(NET) (2)
где xi — входные сигналы, совокупность всех входных сигналов нейрона образует вектор x;
wi — весовые коэффициенты, совокупность весовых коэффициентов образует вектор весов w;
NET — взвешенная сумма входных сигналов, значение NET передается на нелинейный элемент;
?— пороговый уровень данного нейрона;
F — нелинейная функция, называемая функцией активации (функция преобразования).
Нейрон имеет несколько входных сигналов x и один выходной сигнал OUT. Параметрами нейрона, определяющими его работу, являются: вектор весов w, пороговый уровень и вид функции активации F.
Функционирование нейрона происходит следующим образом.
В текущий момент времени через входные синапсы на нейрон направляются сигналы от других нейронов и/или из внешнего мира. Каждый синапс имеет параметр, называемый весом синапса, и представляющий какое-либо число. Сигнал, проходящий через синапс, умножается на вес этого синапса. В зависимости от веса, сигнал может быть усилен (модуль веса > 1) или ослаблен (модуль веса < 1) по амплитуде. Сигналы от всех синапсов, ведущих к данному нейрону, принимает сумматор.
Сумматор производит суммирование всех пришедших сигналов и подает на собственно нейрон (преобразователь) одно число - полученную сумму. Величина этого числа будет зависеть как от величин исходных сигналов, так и от весов синапсов. Нейрон, получивший это число, преобразует его согласно своей функции, в результате которой получается другое число, и отправляет его по "аксону" всем остальным нейронам через соответствующие синапсы. Последующие нейроны производят с полученными сигналами такие же операции, лишь с тем различием, что во-первых, веса их синапсов могут быть уже другими, во-вторых, другие нейроны могут иметь другой вид функции преобразования.
Искусственные нейронные сети (НС) — совокупность моделей биологических нейронных сетей. Представляют собой сеть элементов — искусственных нейронов — связанных между собой синаптическими соединениями. Сеть обрабатывает входную информацию и в процессе изменения своего состояния во времени формирует совокупность выходных сигналов.
Большинство моделей НС требуют обучения. В общем случае, обучение — такой выбор параметров сети, при котором сеть лучше всего справляется с поставленной проблемой. Обучение — это задача многомерной оптимизации, и для ее решения существует множество алгоритмов.
Задание:
Необходимо разработать программу, имитирующую работу простейшей нейронной сети, состоящей из 4 нейронов.
В программе должны быть реализованы следующие функции:
- количество рецепторов фиксировано 3.
- количество нейронов фиксировано 4.
- задаются связи между рецепторами и двумя ближайшими нейронами.
- связи между нейронами фиксированы: три возбудительные и одна тормозная.
- задается раздражение на рецепторах (0 – нет раздражения, 1 – есть раздражение)
- задается порог на каждом нейроне
- задается время суммации – один или два.
Алгоритм работы:
- Суммирование 1.
- На рецепторы подается сигнал в виде нулей и единиц, т.е. каждый рецептор содержит одну цифру (0 или 1).
- Рецепторы, содержащие единицу, активируют свои связи к нейронам, значение на нейроне увеличивается на единицу.
- Далее рассматриваются все нейроны, значение которых изменилось. Если получившееся значение превышает пороговое значение рассматриваемого нейрона, то этот нейрон активирует все свои выходящие связи к другим нейронам, если это увеличивающая связь, то значение на результирующем нейроне увеличивается на единицу, если это тормозящая связь, то значение на результирующем нейроне уменьшается на единицу.
- Если значение на выходном нейроне, превышает пороговое значение нейрона, то на выход подается единица, иначе ноль.
- Суммирование 2.
- На рецепторы подается сигнал в виде нулей и единиц, т.е. каждый рецептор содержит одну цифру (0 или 1)
- Рецепторы, содержащие единицу, активируют свои связи к нейронам, значение на нейроне увеличивается на единицу.
- Далее рассматриваются все нейроны, значение которых изменилось. Если получившееся значение превышает пороговое значение рассматриваемого нейрона, то этот нейрон активизирует все свои входящие связи к другим нейронам, если это увеличивающая связь, то значение на результирующем нейроне увеличивается на единицу, если это тормозящая связь, то значение на результирующем нейроне уменьшается на единицу.
- Переход к п. 1 при этом значение на нейронах не сбрасываются. Переход к п. 1 осуществляется один раз. Далее переход к п. 5.
- Если значение на выходном нейроне, превышает пороговое значение нейрона, то на выход подается единица, иначе ноль.
Отчет:
Отчет должен состоять из следующих пунктов:
- Нарисовать нейронную сеть.
- Отметить на рецепторах раздражение и пороги на нейронах.
- Вручную просчитать работу сети, отметить промежуточные результаты и записать сигналы на выходе.
- Вставить результат написанной вами программы для нейронной сети с такими же параметрами (желательно виде скриншота)
- Отметить второе раздражение на рецепторах.
- Вручную просчитать работу сети, только уже при время суммации два. Отметить полученные результаты.
- Вставить результат написанной вами программы для нейронной сети с такими же параметрами и времени суммации 2 (желательно в виде скриншота)
|