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

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

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

         Parameters NumberOf(Parameters, Ne)

         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)]

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

                   Br.OutSignals[1..N * M] <=> Ne.InSignals[1..N * M]

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

{Сеть с сигмоидными нейронами и произвольными сумматорами, содержащая

                            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)

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

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

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

         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 сигналов}

Loop Circle(aSum : Block; Char : Real; M, K : Long) K

         Contents

                   Net: FullLay(aSum,M,M,Char)

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

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

                                                                                                                 {Число параметров определяется слоем FullLay}

         Parameters NumberOf(Parameters, Net)

         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)              {Полносвязная сеть}

         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 входных сигналов}

Страницы: 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 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.