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)
InSignalsN {Число входных сигналов – N}
OutSignalsOutput {Один выходной сигнал на нейрон}
{Число параметров определяется как сумма чисел параметров всех подсетей}
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 сигналов}
LoopCircle(aSum : Block; Char : Real; M, K : Long) K
Contents Net: FullLay(aSum,M,M ,Char)
InSignalsM {Число входных сигналов – N}
OutSignalsM {Один выходной сигнал на нейрон}
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), {Входной слой}
Net: Circle(aSum,Char,M,K) {Полносвязная сеть}
InSignalsN {Число входных сигналов – N}
OutSignalsM {Один выходной сигнал на нейрон}
{Число параметров определяется как сумма чисел параметров всех подсетей}
Parameters NumberOf( Parameters,In)+ NumberOf( Parameters,Net)
Читать дальше