Рефераты. Функциональные модели универсального нейрокомпьютера

         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 Hop Used SubNets;                   {Сеть Хопфилда на пять нейронов}

MainNet Hopfield(5)

Parameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;

ParamMask -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1;

End NetWork

4.3.7.13.                     Сокращение описания сети

Предложенный в предыдущих разделах язык описания многословен. В большинстве случаев за счет хорошей структуризации сети можно опустить все разделы описания блока кроме раздела состава. В данном разделе описывается генерация по умолчанию разделов описания сигналов и параметров, и описания связей. Использование механизмов умолчания позволяет сильно сократить текст описания сети.

Раздел описания сигналов и параметров

Для всех видов блоков число параметров определяется как сумма чисел параметров всех подсетей, перечисленных в разделе описания состава. Это может приводить к лишним записям, но не повлияет на работу сети. Примером лишней записи может служить генерируемая запись:

Parameters M * NumberOf(Parameters,Branch(N))

в описании слоя точек ветвления, поскольку точки ветвления не имеют параметров.

Число входных сигналов блока определяется по следующим правилам:

·        для слоя число входных сигналов равно сумме числа входных сигналов всех подсетей, перечисленных в разделе описания состава;

·        для каскадов всех видов число входных сигналов блока равно числу входных сигналов подсети, стоящей первой в списке подсетей в разделе описания состава

Число выходных сигналов блока определяется по следующим правилам:

·        для слоя число выходных сигналов равно сумме числа выходных сигналов всех подсетей, перечисленных в разделе описания состава;

·        для каскадов всех видов число выходных сигналов блока равно числу выходных сигналов подсети, стоящей последней в списке подсетей в разделе описания состава;

Описания всех сетей, приведенные в предыдущем разделе полностью соответствуют правилам генерации. В качестве более общего примера приведем раздел описания сигналов и параметров двух условных блоков.

Layer  A

         Contents Net1, Net2[K], Net3

         InSignals NumberOf(InSignals,Net1)+K*NumberOf(InSignals,Net2)

                   +NumberOf(InSignals,Net3)

         OutSignals NumberOf(OutSignals,Net1)+K*NumberOf(OutSignals,Net2)

                   +NumberOf(OutSignals,Net3)

         Parameters NumberOf(Parameters,Net1)+

                   K*NumberOf(Parameters,Net2)+NumberOf(Parameters,Net3)

Cascad  B

         Contents Net1, Net2[K], Net3

         InSignals NumberOf(InSignals,Net1)

         OutSignals NumberOf(OutSignals,Net3)

         Parameters NumberOf(Parameters,Net1)+

                   K*NumberOf(Parameters,Net2)+NumberOf(Parameters,Net3)

Раздел описания связей

Раздел описания связей может быть разбит на пять подразделов.

1.     Установление связи входных сигналов блока с входными сигналами подсетей.

2.     Установление связи выходных сигналов блока с выходными сигналами подсетей.

3.     Установление связи параметров блока с параметрами подсетей.

4.     Установление связи между выходными сигналами одних подсетей и входными сигналами других подсетей.

5.     Замыкание выхода блока на вход блока.

Для слоя раздел описания связей строится по следующим правилам.

1.     Все подсети получают входные сигналы в порядке перечисления подсетей в разделе описания состава – первая часть массива входных сигналов слоя отдается первой подсети, следующая – второй и т.д. Если какая-либо подсеть в разделе описания состава указана с некоторым не равным единице числом экземпляров, то считается, что экземпляры этой подсети перечислены в списке в порядке возрастания номера.

2.     Выходные сигналы подсетей образуют массив выходных сигналов слоя также в порядке перечисления подсетей в разделе описания состава – первая часть массива выходных сигналов слоя состоит из выходных сигналов первой подсети, следующая – второй и т.д. Если какая-либо подсеть в разделе описания состава указана с некоторым не равным единице числом экземпляров, то считается, что экземпляры этой подсети перечислены в списке в порядке возрастания номера.

3.     Подразделы установления связи между выходными сигналами одних подсетей и входными сигналами других подсетей и замыкания выхода блока на вход для слоя отсутствуют.

Для каскадов раздел описания связей строится по следующим правилам:

1.     Входные сигналы блока связываются с входными сигналами первой подсети в списке подсетей в разделе описания состава. Если для первой подсети указано не единичное число экземпляров, то все входные сигналы связываются с входными сигналами первого экземпляра подсети.

2.     Выходные сигналы блока связываются с выходными сигналами последней подсети в списке подсетей в разделе описания состава. Если для последней подсети указано не единичное число экземпляров, то все выходные сигналы связываются с выходными сигналами последнего (с максимальным номером) экземпляра подсети.

3.     Массив параметров блока образуется из массивов параметров подсетей в порядке перечисления подсетей в разделе описания состава – первая часть массива параметров блока состоит из параметров первой подсети, следующая – второй и т.д. Если какая-либо подсеть в разделе описания состава указана с некоторым не равным единице числом экземпляров, то считается, что экземпляры этой подсети перечислены в списке в порядке возрастания номера.

4.     Выходные сигналы каждой подсети, кроме последней связываются с входными сигналами следующей подсети в списке подсетей в разделе описания состава. Если какая-либо подсеть в разделе описания состава указана с некоторым не равным единице числом экземпляров, то считается, что экземпляры этой подсети перечислены в списке в порядке возрастания номера.

5.     Для блоков типа Cascad замыкание выхода блока на вход блока отсутствует. Для блоков типов Loop и Until замыкание выхода блока на вход блока достигается путем установления связей между выходными сигналами последней подсети в списке подсетей в разделе описания состава с входными сигналами первой подсети в списке подсетей в разделе описания состава. Если какая-либо подсеть в разделе описания состава указана с некоторым не равным единице числом экземпляров, то считается, что экземпляры этой подсети перечислены в списке в порядке возрастания номера.

Описания всех сетей, приведенные в предыдущем разделе полностью соответствуют правилам генерации. В качестве более общего примера приведем раздел описания сигналов и параметров трех условных блоков.

Layer  A

         Contents Net1, Net2[K], Net3

         InSignals[1..NumberOf(InSignals,Net1)+K*NumberOf(InSignals,Net2)

                   +NumberOf(InSignals,Net3)] <=>

                   Net1. InSignals[1..NumberOf(InSignals,Net1)],

                   Net2[1..K].InSignals[1..NumberOf(InSignals,Net2)],

                   Net3.InSignals[1..NumberOf(InSignals,Net3)]

         OutSignals[1..NumberOf(OutSignals,Net1)+

                   K*NumberOf(OutSignals,Net2)+NumberOf(OutSignals,Net3)] <=>

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.