{Под тремя разными псевдонимами используется одна и таже подсеть с разными параметрами. Использование псевдонимов необходимо даже при сокращенном описании}
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)
End
{Полносвязная сеть с M сигмоидными нейронами на К тактов функционирования с невыделенным входным слоем на M сигналов. Все параметры ограничены по абсолютному значению единицей}
Loop Circle(aSum : Block; Char : Real; M, K : Long) K
Contents
FullLay(aSum,M,M,Char)
ParamDef DefaultType -1 1
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) {Полносвязная сеть}
End
Cascad Hopf(N : Long) {Нейрон сети Хопфилда из N нейронов}
Contents Sum(N),Sign_Easy {Сумматор и пороговый элемент}
End
{Слой нейронов Хопфилда}
Layer HLay(N : Long)
Contents Hop: Hopf(N)[N] {В состав слоя входит N нейронов}
End
{Сеть Хопфилда из N нейронов}
Until Hopfield(N : Long) InSignals=OutSignals
Contents BLay(N,N),HLay(N) {Слой точек ветвления и слой нейронов}
End
End NetLib
Стандарт второго уровня компонента сеть
В данном разделе рассмотрены все запросы, исполняемые компонентом сеть. Прежде чем приступать к описанию стандарта запросов компонента сеть следует выделить выполняемые им функции. Что должен делать компонент сеть? Очевидно, что прежде всего он должен уметь выполнять такие функции, как функционирование вперед (работа обученной сети) и назад (вычисление вектора поправок или градиента для обучения), модернизацию параметров (обучение сети) и входных сигналов (обучение примера). Кроме того компонент сеть должен уметь читать сеть с диска и записывать ее на диск. Необходимо так же предусмотреть возможность создавать сеть и редактировать ее структуру. Эти две функциональные возможности не связаны напрямую с работой (функционированием и обучением) сети. Таким образом, необходимо выделить сервисную компоненту — редактор сетей. Компонент редактор сетей позволяет создавать и изменять структуру сети, модернизировать обучаемые параметры в «ручном» режиме.
Запросы к компоненту сеть
Запросы к компоненту сеть можно разбить на пять групп:
1. Функционирование.
2. Изменение параметров.
3. Работа со структурой.
4. Инициация редактора и конструктора сетей.
5. Обработка ошибок.
Поскольку компонент сеть может работать одновременно с несколькими сетями, большинство запросов к сети содержат явное указание имени сети. Отметим, что при генерации запросов в качестве имени сети можно указывать имя любой подсети. Таким образом, иерархическая структура сети, описанная в стандарте языка описания сетей, позволяет работать с каждым блоком или элементом сети как с отдельной сетью. Ниже приведено описание всех запросов к компоненту сеть. Каждый запрос является логической функцией, возвращающей значение истина, если запрос выполнен успешно, и ложь — при ошибочном завершении исполнения запроса.