Чтение онлайн

ЖАНРЫ

Учебное пособие по курсу «Нейроинформатика»

Миркес Е. М.

Шрифт:

{Выход слоя точек ветвления – вход слоя нейронов}

Br.OutSignals[1..N * M] <=> Ne.InSignals[1..N * M]

End {Конец описания слоя сигмоидных нейронов с произвольным сумматором}

{Сеть с сигмоидными нейронами и произвольными сумматорами, содержащая

 Input – число нейронов на входном слое;

 Output – число нейронов на выходном слое (число выходных сигналов);

 Hidden – число нейронов на H>0 скрытых
слоях;

 N – число входных сигналов

все входные сигналы подаются на все нейроны входного слоя}

Cascad Net1(aSum : Block; Char : Real; Input, Output, Hidden, H, N : Long)

 {Под тремя разными псевдонимами используется одна и та же подсеть с разными параметрами}

 Contents

In: FullLay(aSum,N,Input,Char),

Hid1: FullLay(aSum,Input,Hidden,Char)

Hid2: FullLay(aSum,Hidden,Hidden,Char)[H-1] {Пусто при H=1}

Out: FullLay(aSum,Hidden,Output,Char)

 InSignals N {Число входных сигналов – N}

 OutSignals Output {Один выходной сигнал на нейрон}

 {Число параметров определяется как сумма чисел параметров всех подсетей}

 Parameters NumberOf(Parameters, In)+NumberOf(Parameters, Hid1) + (H-1)*NumberOf(Parameters, Hid2) + NumberOf(Parameters, Out)

 Connections

{Входные сигналы – входному слою}

InSignals[1..N]<=> In.InSignals[1..N]

{Выходные сигналы нейронов - с выходного слоя сети}

OutSignals[1..Output]<=> Out.OutSignals[1.. Output]

{Параметры сети последовательно всем подсетям}

Parameters[1..NumberOf(Parameters,In)] <=> In.Parameters[1..NumberOf(Parameters, In)]

Parameters[NumberOf(Parameters,In)+1..NumberOf(Parameters,In) +> NumberOf(Parameters, Hid1)] <=> Hid1.Parameters[1..NumberOf(Parameters, Hid1)]

Parameters[NumberOf(Parameters,In)+NumberOf(Parameters, Hid1)]+1 .. NumberOf(Parameters,In)+NumberOf(Parameters, Hid1) + (H-1) *NumberOf(Parameters, Hid2)] <=> Hid2[1..H-1].Parameters[1..NumberOf(Parameters, Hid2)]

Parameters[NumberOf(Parameters,In)+NumberOf(Parameters, Hid1)] + (H-1) *NumberOf(Parameters, Hid2)+1 .. NumberOf(Parameters,In) + NumberOf(Parameters,Hid1)+(H-1)*NumberOf(Parameters,Hid2) + NumberOf(Parameters, Out)] <=> Out.Parameters[1..NumberOf(Parameters, Out)]

{Передача
сигналов от слоя к слою}

{От входного к первому скрытому слою}

In.OutSignals[1..Input] <=> Hid1.InSignals[1..Input]

{От первого скрытого слоя}

Hid1.OutSignals[1..Hidden] <=> Hid2[1].InSignals[1..Hidden]

{Между скрытыми слоями. При H=1 эта запись пуста}

Hid2[1..H-2].OutSignals[1.. Hidden] <=> Hid2[2..H-1].InSignals[1.. Hidden]

{От скрытых – к выходному}

Hid2[H-1].OutSignals[1.. Hidden] <=> Out.InSignals[1.. Hidden]

End

{Полносвязная сеть с M сигмоидными нейронами на К тактов функционирования с невыделенным входным слоем на M сигналов}

Loop Circle(aSum : Block; Char : Real; M, K : Long) K

 Contents Net: FullLay(aSum,M,M,Char)

 InSignals M {Число входных сигналов – N}

 OutSignals M {Один выходной сигнал на нейрон}

 Parameters NumberOf(Parameters, Net) {Число параметров определяется слоем FullLay}

 Connections

InSignals[1..M] <=> Net.InSignals[1..M] {Входные сигналы цикла – входы слоя}

OutSignals[1..M] <=> Net.OutSignals[1.. M] {Выходы слоя – выходы цикла}

{Параметры определяет слой}

Parameters[1..NumberOf(Parameters,Net)] <=> Net.Parameters[1..NumberOf(Parameters,Net)]

Net.OutSignals[1..M] <=> Net.InSignals[1..M] {Замыкаем выход на вход}

End {Конец описания слоя сигмоидных нейронов с произвольным сумматором}

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

Cascad Net2: (aSum : Block; Char : Real; M, K, N : Long)

 Contents

In: FullLay(aSum,N,M,Char), {Входной слой}

Поделиться с друзьями: