+7 (800) 511-35-46 +7 (967) 930-71-27
П.Г. Ткаченко
Введение
В представленной статье предлагается к использованию вариант структуры решетки нейронной сети, которая была названа замкнутой. Путем соединения краев решетки сети с прямоугольной топологией предлагается решать проблему «граничного эффекта» для СОКК. На первом шаге производится трансформация плоской решетки в цилиндр. При этом соединяются друг с другом ее левый и правый края (рисунок 3.1).
Рисунок 3.1 – Соединение краев решетки сети для
образования цилиндрической решетки
Крайние нейроны в одноименных строках решетки сети соединяются между собой новыми латеральными связями, так что расстояние между ними в решетке становится равными шагу l.
Нейроны плоской решетки сети, принадлежащие ее левому краю, будут иметь следующую координату по оси в системе координат вычислительной области U:
(3.1)
а нейроны правого края такой решетки:
(3.2)
За счет соединения граничные нейроны на левом и правом краях решетки сети перестают существовать и, приобретая соседей, становятся полноправными участниками в алгоритме обучения Кохонена и соседями друг для друга в радиусе.
Нейроны, принадлежащие верхнему основанию такой цилиндрической решетки, будут иметь следующую координату по оси u2 в системе координат вычислительной области U:
(3.3)
а нейроны нижнего основания цилиндрической решетки:
(3.4)
На втором шаге необходимо соединить нейроны на образовавшихся основаниях цилиндра.
Для этого предлагается две схемы соединения: «Каждый с каждым» (рисунок 3.2) и «Противолежащие» (рисунок 3.3).
Рисунок 3.3 – Соединение нейронов на основаниях образовавшегося
цилиндра замкнутой решетки сети по схеме «Каждый с каждым»
Рисунок 3.3 – Соединение нейронов на основаниях образовавшегося
цилиндра замкнутой решетке сети по схеме «Противолежащие»
На рисунке 3.4 приведены примеры областей соседства Su1 и Su2 двух разных радиусов соседства (а) и (б) для двух нейронов-победителей u1 и u2 соответственно, имеющих одноименные координаты в решетках сетей классической (слева) и разработанной моделей.
(а) Области соседства радиуса
(б) Области соседства радиуса
Рисунок 3.4 – Области соседства разных радиусов
на решетках различных моделей сетей
На рисунке 3.5 построены графики величины асимметрии латеральных связей для рассматриваемых сетей при одной и той же зафиксированной итерации обучения, и радиусе обучения.
(а) Классическая модель
(б) Разработанная модель, схема «Каждый с каждым»
(в) Разработанная модель, схема «Противолежащие»
Рисунок 3.5 – Характеристика симметричности латеральных связей для СОКК
Как видно на рисунке 3.5 (а) в классической модели СОКК для нейронов на всех границах сети не хватает соседей, поэтому характеристика убывает по периметру решетки сети. Нейроны же, находящиеся от границы решетки на расстоянии, имеют равные значения характеристики.
Замкнутая решетка нейронной сети увеличивает количество соседей граничных нейронов сети. Для схемы такой сети «Каждый с каждым» нейроны на полюсах решетки даже перенасыщены соседями. На остальных 2-х краях сети граничный эффект выровнен.
Схема «Противолежащие» является практически идеальной с точки зрения характеристики и с помощью нее производится почти полная балансировка граничного эффекта.
Оценка качества обучения и точности нейронной сети
Оценка точности и качества аппроксимации входного пространства анализируемых данных для разработанной модели замкнутой сети выполним на основе двух критериев:
- Критерия точности обучения сети – ошибки квантования.
- Критерия качества обучения – энтропии сети.
Для исследований использовались сети классической и разработанной моделей, обученных при прочих равных условиях:
- одинаковые размеры: v=37 нейронов, h=21 нейрон, N=999 нейронов;
- одинаковые начальная скорость обучения a0=0,8 и начальный радиус обучения bt=10 сетей. Одинаковые для сетей функции изменения скорости и радиуса соседства;
- функция соседства для обеих сетей гауссовского типа;
- векторы входного набора данных перед обучением сети нормализуются.
В качестве модели сети Кохонена использована сеть из некоммерческого свободно распространяемого пакета программ «SOM РАК».
Обучение сетей проводилось на одном и том же входном наборе данных, представляющем собой 2000 случайных точек трехмерного пространства XYZ, координаты которых распределены относительно начала координат (0, 0, 0) по нормальному закону с нулевым математически ожиданием и среднеквадратическим отклонением, равным 1 (рисунок 3.6).
(а) 2000 точек трехмерного (б) Гистограмма нормального распределения пространства ХУZ
Рисунок 3.6 – Входной набор данных для сетей
Сравнение результатов работы сетей классической и разработанной моделей по критерию ошибки квантования проводилось при разном количестве эпох обучения (10, 30, 50, 100 и 200 эпох). Результаты проведенных исследований представлены на рисунке 3.7.
Рисунок 3.7 – График ошибки квантования сетей
Обе схемы замкнутой сети («противолежащие» и «каждый с каждым») представлены одним графиком модели в целом, потому что по критерию ошибки квантования эти две схемы дают одинаковые результаты.
Сравнение результатов работы сетей классической и разработанной моделей по критерию энтропии проводилось при разном количестве эпох обучения (10, 30, 50, 100 и 200 эпох). Результаты проведенных исследований представлены на рисунке 3.8.
Рисунок 3.8 – График ошибки квантования сетей
Обе схемы замкнутой сети представлены одним графиком модели в целом, потому что по критерию энтропии схемы дают одинаковые результаты.
Состав программного обеспечения
Комплекс программ, требующий реализации для выполнения операций анализа данных с применением самоорганизующихся нейронных сетей Кохонена, должен состоять из следующих компонент:
- динамически присоединяемая библиотека с открытым интерфейсом, реализующая алгоритм обучения самоорганизующихся нейронных сетей модернизированной и классической модели Кохонена;
- приложение, требующее реализации в универсальном табличном редакторе Microsoft Excel, которое должно использовать динамически присоединяемую библиотеку и обеспечивать интерфейс пользователя для подготовки данных и вывода результатов моделирования.
Динамически присоединяемая библиотека
Динамически присоединяемая библиотека с открытым интерфейсом должна быть реализована в среде «С++ Builder» и предназначаться для встраивания в системы поддержки принятия решений и реализации работы самоорганизующихся нейронных сетей Кохонена.
Все файлы данных (для входного и выходного наборов векторов) хранятся как текстовые (ASCII) файлы, чтобы упростить их редактирование и проверку. Файл входных данных содержит в себе достаточную информацию о количестве и составе входных векторов анализируемых данных.
Входные данные хранятся как список элементов, для каждого векторного образа выделяется одна строка (запись файла). Каждая строка файла состоит из m вещественных чисел, разделенных пробелами, содержащих значение компоненты каждого входного вектора.
Если какие-либо компоненты некоторых векторов данных отсутствуют (из-за сбоев при получении данных или по другим причинам) эти компоненты должны быть отмечены специальным символом.
Файл выходных данных, создаваемый библиотекой после выполнения алгоритмов обучения сетей, формирует текстовый (ASCII-кодировки) файл карты, который представляет собой список весовых векторов нейронов, для каждого из которых выделяется одна строка (запись файла).
Формат записей (строк) файла сходен с тем, который используется для файла входных данных.
В библиотеке предполагается использовать только один метод, который должен выполнять следующие функции:
- создание и инициализацию нейронной сети с учетом переданных параметров;
- обучение нейронной сети на входном наборе векторов с учетом указанной в параметрах топологии, функции соседства и метода определения расстояния между нейронами сети;
- поиск кластеров в обученной нейронной сети и присвоение меток этих кластеров весовым векторам каждого нейрона сети;
- расчет значения ошибки квантования для обученной нейронной сети;
- вывод значений ошибки квантования, компонент весовых векторов нейронов и их принадлежность к найденным кластерам в выходной файл.
Инициализация нейронной сети в библиотеке должна осуществляться двумя способами:
- инициализация компонент весов нейронов сети случайными вещественными числами из диапазона [0,1];
- инициализация компонент весов нейронов сети компонентами векторов, случайно выбранными из файла входного набора данных. Такой метод ускоряет процесс самоорганизации сети.
Применение табличного редактора Microsoft Excel
Алгоритмы разрабатываемой библиотеки должны быть применены в приложении, разрабатываемом в универсальном табличном редакторе Microsoft Excel (MS Excel). Приложение должно представлять собой электронную книгу, разделенную на листы:
- лист входных данных;
- лист результатов.
Для вызова методов динамической библиотеки и визуального отображения карт обученных СОКК должна применяться технология макросов, которая в Microsoft Excel поддерживается с помощью программного интерпретатора Visual Basic for Applications.
Лист входных данных предназначен для осуществления первичной подготовки входных данных для анализа.
Это позволяет очистить входные векторы от пропусков в значениях компонент, или заполнить пропуски служебными символами «х», осуществить фильтрацию входных векторов, их сортировку, отбор нужных колонок таблицы, как окончательных компонент векторов.
Лист результатов используется для работы с визуальным отображением результатов обучения самоорганизующихся нейронных сетей в виде топологических карт и глобусов.
На листе результатов осуществляется навигация по топографическим картам с отображением значений каждой компоненты весовых векторов, соответствующих участкам карты, на которых осуществляется позиционирование курсора.
Выполняется отображение меток кластеров, к которым относятся выбранные пользователем весовые векторы.
Увеличение точности и качества аппроксимации разработанной сетью входного пространства данных происходит из-за увеличения количества латеральных связей между нейронами и более равномерного распределения по сети векторов входного пространства.
Таким образом, в разработанной модели самоорганизующейся нейронной сети происходит более равномерное распределение входных векторов по нейронам сети по сравнению с классической моделью сети Кохонена.