Элементы формального описания технологии обработки данных с помощью нейронных сетей Хопфилда
Корчевская О.В., Жуков Л.А.
Сибирский государственный технологический университет http: // zhukov.wall st. ru
Существует большое количество работ прикладного характера с помощью методов искусственных нейронных сетей. Многие исследователи подходили к описанию технологии обработки данных с помощью нейронных сетей, что до сих пор является актуальной задачей [1], [2], [3].
Выполнение исследования с помощью нейронных сетей можно разделить на несколько групп операций, до некоторой степени независимых друг от друга [3], [4]:
1) подготовительные;
2) обучение нейронных сетей и другие работы с нейронными сетями;
3) поиск смыслов полученных результатов.
При построении формального описания для нейронной сети Хопфилда (НСХ) воспользуемся методикой, описанной в [4], [5] для нейронных сетей с учителем. Для построения формального описания всех приведенных технологических операций на данном уровне, будем так же рассматривать три группы операций, скомпонованные из исходных (первые две группы при описании технологии обработки данных).
1. Предварительные - операции считывания файлов данных, предобработки, представления данных,
1.1. Обязательные операции - считывания файлов данных, предобработка;
1.2. Необязательные операции - представления данных;
2. Основные - создание сети, чтение сети, обучение;
3. Вспомогательные - тестирование, упрощение структуры сети, определение значимостей входных параметров, вербализация сети, сохранение проекта (сети).
Сеть Хопфилда представляет собой однослойную нейронную сеть с обратными связями [6] и принадлежит к классу т.н. релаксационных нейронных сетей, в основе функционирования которых лежит итеративный принцип работы.
НСХ применяются в качестве ассоциативной памяти и для решения оптимизационных задач, если они могут быть сформулированы как задачи минимизации энергии [7]. В первом случае НСХ обучается без учителя (например, по правилу Хебба), во втором случае веса между нейронами изначально кодируют решаемую задачу.
Сеть Хопфилда из начального состояния сходится к ближайшему локальному минимуму энергии сети, состояние нейронов в котором и будет восстановленным образом для задач распознавания, и решением - для оптимизационных задач. Таким образом, для оптимизационной задачи необходима предварительная нейронная кодировка, т.е. каким образом нейронную сеть можно приспособить к решению таких задач.
Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом [8]. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на его вход, выделить соответствующий образ или заключение о том, что входные данные не соответствуют ни одному из образов.
Чтобы организовать ассоциативную память с помощью сети Хопфилда, веса должны выбираться так, чтобы организовать энергетические минимумы в нужных вершинах единичного гиперкуба [6].
Несмотря на то, что сеть Хопфилда и позволяет эффективно распознавать задачу восстановления образов по неполной или искаженной информации, важнейшей особенностью работы сети является генерация ложных образов, связанных с обобщающими возможностями сети [8]. В связи с этим представляется возможным проводить предобработку образа, которая снизила бы вероятность возникновения подобной проблемы. В частности, для задач распознавания изображений можно предложить: выбеливание фрагментов, усреднение части искаженного изображения, определение значимости входных фрагментов образа, т.к., как правило, можно выделить фрагменты изображения более или менее
существенные для задачи распознавания. Например, определение значимости фрагментов можно определить сходно со способами определения значимости входных параметров в нейронных сетях с учителем и без него [3].
Сети Хопфилда обладают невысокой емкостью (число запоминаемых образов), что объясняется обобщающими возможностями сети [8]. Число запоминаемых образов для сети Хопфилда обычно примерно равно 0.15*К [8], где N - число нейронов. Для сложных сетей такого типа и малого числа образов можно предложить набор операций изменения структуры сети, в том числе: упрощения нейросети, операции контрастирования и бинаризации, а также определение значимости внутренних связей.
Рассмотрим детально три группы технологических операций при нейросетевой обработке данных для НСХ, формальное описание технологии приведено в табл.1.
Табл. 1
0 уровень
B Предварительные операции
M Основные операции A Вспомогательные операции
Before main Операции сбора данных,
предобработки данных, формирование векторов - признаков, считывания Main Создание / чтение сети и обучение
operations сети / расчет матрицы весов Auxiliary Тестирование, упрощение нейросетей,
operations определение значимостей входных и внутренних параметров, сохранение сети (проекта) 1 уровень
I Представление данных
Data
introducing
P Предобработка Preprocessing
Сбор данных, согласно обучающим образам формируется матрица весов или рассчитывается заранее (для оптимизационных задач) Формирование образа (вектора с признаками), предобработка, Заполнение пробелов по некоторому алгоритму, усреднение, определение
значимости входных фрагментов / нейронная кодировка оптимизационной задачи
L Обучение сети Learn Формирование / расчет матрицы весов
C Упрощение Contrasting Упрощение структуры сети,
структуры сети
например,
операции
контрастирования и бинаризации N Нормирование Normalization Преобразование данных для
приведения
значений
к
определенному диапазону T Тестирование Test / Validate Тестирование по примеру и по
выборке
Уровень операций пользователя (2 уровень)
На данном уровне рассматриваются конкретные операции, входящие в состав подгрупп. Эти операции могут быть предусмотрены в идеальных нейроимитаторах, они рассматриваются без учета конкретной реализации, в самом общем виде. Здесь предполагается некоторая идеальная система (нейроимитатор или нейросистема), описываются операции, предоставленные конечному пользователю для использования по своему усмотрению. На данном уровне эти операции представляют собой буквы терминального алфавита (словаря):
d Сбор данных data Ручная операция ввода
mk Создание сети
make
данных
Создание сети (выбор
rp Открытие (чтение) сети read project s Сохранение сети save
save
структуры, поля ответа, характеристик нейронов) Чтение сохраненной сети Сохранение сети для
дальнейшего использования rd Считывание файлов reading data Открытие файла данных
данных
ln Обучение нейросети learn lr Обучение нейросети relearn
Формирование матрицы весов Перерасчет матрицы весов
r Получение результата result (ответа)
i Определение importance
значимостей входных параметров
b1 Бинаризация сети ±1 binary
b2 Бинаризация сети ±0.5, binary ±1
b3 Бинаризация сети binary
±0.25, ±0.5, ±0.75, ±1
^ Тестирование сети по
выборке ^ Тестирование сети по
примеру mt Изменение структуры
samples
Pattern
Modify table structure
Восстановление образа / вывод поля ответа Расчет значимостей входных параметров, показывающих их значимость при
определении выходного поля Приведение весов синапсов к значениям из множества {-1, 1}
Приведение весов синапсов к значениям из множества {-0.5, -1, 0.5, 1}
Приведение весов синапсов к значениям из множества {-1, -0.75, -0.5, -0.25, 0.25, 0.5, 0.75, 1}
Тестирование сети по выборке
Тестирование сети по примеру
Изменение структуры векторов - признаков
Для формального описания технологии работы с сетями Хопфилда могут быть
использованы следующие правила, например:
S ® B M A
M ® mk L | rp L | rp
и другие.
В соответствии с полным набором правил могут быть выведены следующие слова формального языка:
d mk ln tp s rp rd lr r
Выводы
1. Предложен подход к формальному описанию технологии обработки данных с помощью нейронных сетей Хопфилда.
2. Для снижения вероятности возникновения ложных образов для задач
распознавания предложены способы предобработки образа.
3. Описаны также операции уровня группы пользователя для некой идеальной системы (нейроимитатор или нейросистема).
4. Остается открытым вопрос о технологии нейросетевой кодировки оптимизационных задач для сетей Хопфилда.
Список литературы
1. Горбань А.Н. Обучение нейронных сетей. М.: СП «Paragraph», 1990. - 160 с.
2. Миркес Е.М. Нейрокомпьютер. Проект стандарта. - Новосибирск: Наука, 1999. - 337 с.
3. Жуков Л. А. Технология нейросетевого решения прикладных классификационных задач для использования в экологии, биологии и медицине: Научное издание / Красноярск. госуд. техн. ун-т. Красноярск, 2004. 148 с.: ил. 26. -Библиогр.: 399 назв. - Рус. - Рукопись деп. в ВИНИТИ 13.05.2004, № 800-В2004.
4. Решетникова Н.В., Жуков Л.А. Формальное определение языка технологии обработки данных нейронных сетей с учителем // Нейроинформатика и ее приложения: Материалы XII Всероссийского семинара. 1-3 октября 2004 г./ Под ред. А.Н. Горбаня, Е.М.Миркеса. Отв. за выпуск Г.М.Садовская, ИВМ СО РАН, Красноярск, 2004. С.109-111
5. Решетникова Н.В., Жуков Л.А. Графическое представление формальной грамматики технологии обработки данных с помощью нейронных сетей с учителем
// Моделирование неравновесных систем: Материалы VII Всероссийского семинара. Красноярск: ИВМ СО РАН, 2004. С.126-127.
6. Уоссерман Ф. Нейрокомпьютерная техника: Теория и практика, 1992 - 184
с.
7. Anil K. Jain, Jianchahg Mao, K.M. Mohiuddin Artificial Neural Networks: A Tutorial, Computer, Vol.29, No/3, March/1996, pp.31-44.
8. Короткий С. Нейронные сети - http://lii. newmail. ru