Kniga-Online.club
» » » » Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

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

Читать бесплатно Е. Миркес - Учебное пособие по курсу «Нейроинформатика». Жанр: Программирование издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

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

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

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

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

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

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

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

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. Подразделы установления связи между выходными сигналами одних подсетей и входными сигналами других подсетей и замыкания выхода блока на вход для слоя отсутствуют.

Перейти на страницу:

Е. Миркес читать все книги автора по порядку

Е. Миркес - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


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

Отзывы читателей о книге Учебное пособие по курсу «Нейроинформатика», автор: Е. Миркес. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*