Если заменить всю область определения функций D на конечное множество (задачник), то условие, определяющее требуемый объем нейронной сети можно получить, сравнивая
с оценкой константы Липшица для обучающей выборки
.
является нижней оценкой константы Липшица аппроксимируемой функции. Нейросеть может реализовать данную функцию только в том случае, когда
.
|
|
Исходя из данного условия, можно сформулировать алгоритм обучения сети с поэтапным исчерпанием ошибки так, как это показано в блок-схеме на рис. 9
4.6 Соглашение о терминологии
Изложение вопросов, связанных со структурой и функционированием сети, тесно связано с программной реализацией задачи. Поэтому по тексту будут встречаться ссылки на реальные структуры программы.
Для описания компонентов сети был использован аппарат объектно-ориентированного программирования [28], реализованный в среде разработки программ Borland Delphi Developer v.3.0. (см. [44], [45], [58], [63], [75], [76])
Базовым понятием в языке программирования Object Pascal, встроенном в Delphi, является класс - особый вид записи, включающий поля и методы.
Экземпляр класса называется объектом.
Понятие поле для объекта аналогично понятию поля для записи.
Метод - процедура или функция, описанная внутри класса и предназначенная для операции над его полями.
4.7 Компоненты сети
Традиционный состав элементов сети (см. главу 1) включает в себя следующие элементы: нейрон, синапс, сумматор. Кроме того, в число типовых включены входной и выходной элементы.
На рис. 9 показаны схематические изображения элементов сети, которые далее будут использованы в схемах, описывающих структуру и функционирование программной модели.
|
|
4.8 Общий элемент сети
Базовым типом элементов, используемых для описания нейронной сети, является общий элемент сети - класс, инкапсулирующий основные свойства и методы, характерные для всех компонентов сети. Название этого класса в программной реализации - TNetPiece.
Объекты данного класса включают в себя следующие поля:
NextPiece - указатель на следующий элемент сети;
PriorPiece - указатель на предыдущий элемент сети;
ForwOut - значение сигнала, передающегося элементом вперед при прямом функционировании;
BackOut - значение сигнала, передающегося элементом назад при обратном функционировании.
Набор методов включает в себя:
Create - описание создания объекта;
Destroy - действия при разрушении (удалении) объекта;
ForwardTact - действия элемента во время такта прямого функционирования;
BackwardTact - действия элемента во время такта обратного функционирования;
При описании методов ForwardTact и BackwardTact они были оставлены пустыми, так как функционирование конкретных элементов сети существенно различно.
Однако введение этих методов имеет достаточно глубокий смысл, поскольку класс TNetPiece является предком всех прочих классов, описывающих элементы сети, и наличие типовых процедур прямого и обратного функционирования позволяет использовать такие свойства модели объектно-ориентированного программирования как наследование свойств и методов и полиморфизм. Подробнее этот тезис будет раскрыт ниже.


