Миркес Е. М.
Шрифт:
Раздел описания связей следует за разделом описания сигналов и параметров и начинается с ключевого слова Connections. В разделе «Описание распределения сигналов» детально описано распределение связей.
Раздел конца описания блока состоит из ключевого слова End, за которым следует имя блока.
Пример описания блоков
При описании блоков используются элементы, описанные в библиотеке Elements, приведенной в разделе «Пример описания элементов».
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 {Конец описания слоя сигмоидных нейронов с произвольным сумматором}