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

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

NetBibl SubNets Used Elements;

{Библиотека подсетей, использующая библиотеку Elements}

{Сигмоидный нейрон с произвольным сумматором на N входов}

Cascad NSigm(aSum : Block; N : Long; Char : Real)

 {В состав каскада входит произвольный сумматор на N входов и сигмоидный нейрон с необучаемой характеристикой}

 Contents aSum(N), S_NotTrain(Char)

 InSignals NumberOf(InSignals, aSum(N)) {Число
входных сигналов определяет сумматор}

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

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

 Connections

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

InSignals[1..NumberOf(InSignals, aSum(N))] <=> aSum.InSignals[1..NumberOf(InSignals, aSum(N))]

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

aSum.OutSignals <=> S_NotTrain.InSignals

{Выход преобразователя – выход каскада}

OutSignals <=> S_NotTrain.OutSignals

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

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

{Слой сигмоидных нейронов с произвольными сумматорами на N входов}

Layer Lay1(aSum : Block; N,M : Long; Char : Real)

 Contents Sigm: NSigm(aSum,N,Char)[M] {В состав слоя входит M нейронов}

 InSignals M * NumberOf(InSignals, Sigm)

 {Число входных сигналов определяется как взятое M раз число входных сигналов нейронов. Вместо имени нейрона используем псевдоним}

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

 Parameters M * NumberOf(Parameters, Sigm)

 {Число параметров определяется как взятое M раз число параметров нейронов}

 Connections

{Первые NumberOf(InSignals, NSigm(aSum,N,Char)) сигналов первому нейрону, и т.д.}

InSignals[1..M *NumberOf(InSignals, Sigm)] <=> Sigm[1..M].InSignals[1..NumberOf(InSignals, Sigm)]

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

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

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

Parameters[1..M *NumberOf(Parameters, Sigm)] <=> Sigm[1..M].Parameters[1..NumberOf(Parameters, Sigm)]

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

{Слой точек ветвления}

Layer BLay(N,M : Long)

 Contents Branch(N)[M] {В состав слоя входит M точек ветвления}

 InSignals M {По одному входному сигналу на точку ветвления}

 OutSignals M * N {N выходных сигналов у каждой точки ветвления}

 Connections

InSignals[1..M] <=> Branch[1..M].InSignals {По одному входу на точку ветвления}

{Выходные сигналы в порядке первый с каждой точки ветвления, затем второй и т.д. }

OutSignals[1..N * M]<=> Branch[+:1..M].OutSignals[1..N]

End {Конец описания слоя Точек ветвления}

{Полный слой сигмоидных нейронов с произвольными сумматорами на N входов}

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

 Contents Br: BLay1(M,N), Ne: Lay1(aSum,N,M,Char) {Слой точек ветвления и слой нейронов}

 InSignals N {Число входных сигналов – число точек ветвления}

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

 Parameters NumberOf(Parameters, Ne)

 {Число параметров определяется как взятое M раз число параметров нейронов}

 Connections

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

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

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

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

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

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

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