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

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

Net: Circle(aSum,Char,M,K) {Полносвязная сеть}

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

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

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

 Parameters NumberOf(Parameters, In)+NumberOf(Parameters, Net)

 ParamDef DefaultType -1 1

 Connections

InSignals[1..N]<=> In.InSignals[1..N] {Входные
сигналы – входному слою}

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

OutSignals[1..M]<=> Net.OutSignals[1.. M]

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

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

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

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

In.OutSignals[1..M] <=> Net.InSignals[1..M] {От входного к циклу}

Net.OutSignals[1..M] <=> Net.InSignals[1..M] {От первого скрытого слоя}

End

{Нейрон сети Хопфилда из N нейронов}

Cascad Hopf(N : Long)

 Contents Sum(N),Sign_Easy {Сумматор и пороговый элемент}

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

 OutSignals 1 {Число выходных сигналов – 1}

 Parameters NumberOf(Parameters,Sum(N)) {Число параметров – N}

 Connections

InSignals[1..N] <=> Sum.InSignals[1..N] {Входы нейрона – входы сумматора}

{Выходной сигнал нейрона – выходной сигнал порогового элемета}

OutSignals <=> Sign_Easy.OutSignals

{Параметры нейрона – парамеры сумматора}

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

{Выход сумматора на вход порогового элемента}

Sum.OutSignals <=> Sign_Easy.InSignals

End

{Слой нейронов Хопфилда}

Layer HLay(N : Long)

 Contents Hop: Hopf(N)[N] {В
состав слоя входит N нейронов}

 InSignals N * N {N нейронов по N входных сигналов}

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

 Parameters N * NumberOf(Parameters, Hop)

Connections

 {NumberOf(InSignals, Hop) сигналов первому нейрону, и т.д.}

 InSignals[1..Sqr(N)] <=> Hop[1..N].InSignals[1..N]

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

 OutSignals[1..N]<=> Hop[1..N].OutSignals

 {Параметы слоя – параметры нейронов}

 Parameters[1..N *NumberOf(Parameters, Hop)] <=> Hop[1..N].Parameters[1..NumberOf(Parameters, Hop)]

End

{Сеть Хопфилда из N нейронов}

Until Hopfield(N : Long) InSignals=OutSignals

 Contents BLay(N,N),HLay(N) {Слой точек ветвления и слой нейронов}

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

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

 Parameters N * NumberOf(Parameters,HLay(N)) {Число параметров – N*N}

 Connections

{Входные сигналы – точкам ветвления}

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

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

OutSignals[1..N]<=> HLay.OutSignals[1..N]

Parameters[1..N*NumberOf(Parameters, HLay(N))] <=> HLay.Parameters[1..N*NumberOf(Parameters, HLay(N))]

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

BLay.OutSignals[1..Sqr(N)] <=> HLay.InSignals[1..Sqr(N)]

{Замыкаем конец на начало}

HLay.OutSignals[1..N] <=> BLay.InSignals[1..N]

End

End NetLib

NetWork HopUsed SubNets; {Сеть Хопфилда на пять нейронов}

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