УДК 51-77
Д. П. Денисов, О. К. Касымова Омская гуманитарная академия
ПРОЕКТИРОВАНИЕ НЕЙРОННОЙ СЕТИ В ТАБЛИЧНОМ ПРОЦЕССОРЕ MS EXCEL
Разработан алгоритм распознавания чисел с эмуляцией нейронной сети на основе использования стандартных функций табличного процессора MS Excel. Информация может быть полезной для специалиста и слушателя в плане изучения проблем нейронной сети.
Ключевые слова: нейронная сеть, алгоритм распознавания чисел.
Нейронные сети широко используются в распознавании образов, идентификации объектов и прогнозировании экономических процессов.
Под образом понимается структурированное описание изучаемого объекта, процесса или явления, представленное вектором признаков, выражаемых количественно. В результате идентификации объектов осуществляется их классификация, позволяющая выявлять закономерности и выполнять прогнозы [1].
Нейронная сеть проектируется для решения узкоспециализированных задач в различных сферах [3]. Наиболее популярные и доступные приложения, позволяющие создавать нейронную сеть и управлять ее структурой - «Deductor Studio Akademic», «NeuroEmulator», «NeuroView» и др., алгоритм обработки данных установлен разработчиками.
С целью наглядного отражения принципа работы нейронной сети спроектирован алгоритм распознавания знаков с использованием стандартных функций табличного процессора MS Excel. Решение компактно размещается на одной странице электронной книги (рисунок), обозримо без применения скроллинга [2] и позволяет ознакомиться с основными элементами и режимами работы нейронной сети в интерактивном режиме.
Системе предлагается распознать образы знаков десятичной системы (0, 1, 2, ..., 9), построенные с помощью горизонтальных, вертикальных и наклонных штрихов (коротких линий):
Внешний вид рабочего листа задания
выглядят табло индикаторных устройств, шаблоны почтовых
индексов.
0
выполнен при помощи двух горизонтальных и
Например, образ знака «О» четырех вертикальных штрихов.
Для идентификации образов полного набора (10 знаков) потребуется составить таблицу обучения нейронной системы по четырем признакам (видам штрихов), т. е. вектор 1-го эталона Х{ будет иметь следующие компоненты:
хц - количество вертикальных штрихов; Х12 - количество горизонтальных штрихов;
Х13 - количество наклонных штрихов нижних;
х;4 - количество наклонных штрихов верхних.
Таблица эталонов располагается на листе MS Excel в виде матрицы (массив B5:E14).
Рассмотрим, как работает система.
Информация, поступающая с виртуального сканирующего устройства, представляет собой поток действительных чисел (Xi').
Рецептор (ячейка "B18") воспринимает (пропускает) числа по модулю < 10000 или сообщает о превышении допустимой разрядности.
В ячейку "B18" введено выражение:
=ABS(ЕСЛЩЦЕЛОЕ(B18)<=10000;ЦЕЛОЕ(B18);"Не более 4-х разрядов"))
Знак и дробная часть числа игнорируются.
«Чувствительность» рецепторов второго уровня определяет матрица "B27:E30". Обработка выполняется последовательно в ячейках "B31:E31"; "B32:E32":
=МУМНОЖ(В26:Е26;В27:Е30);
=ОКРВНИЗ(C32;1), автозаполнение вправо.
На следующем уровне число (Xi') разносится по j разрядам в отдельные ячейки "B36:E36": из содержимого ячейки вычитается результат соседнего (старшего) разряда, умноженный на (-10):
=МУМНОЖ(В32:Е32;032:135).
Для наглядности массив повторяется в ячейках "G6:J6", верхняя часть листа: содержимое ячеек соотносится с эталонами; суммарная ошибка (Функция Fi = X(Xij' - Xij)) определяет степень адекватности регистрируемого события каждому из образов:
=ABS(B$37-B6); автозаполнение вправо и вниз.
В качестве индикатора (*) используется логическое выражение:
=ЕСЛИ(Ь5<=К5;"*";" "), автозаполнение вниз.
На рабочем листе столбец "M5:M14" транспонирован в ячейки "H18:Q18" посредством "ТРАНСП".
Так как нейронные системы наиболее актуальны в решении нечетко формализованных задач, целесообразно задать предельную величину ошибки (порог), за которым событие будет отнесено к нераспознаваемому образу, т. е. не подлежащему классификации.
В нашем примере сигнал "3201", полученный с виртуального сканера, система относит либо к "5-ти", либо к "6-ти": в первом случае образ имеет лишний наклонный штрих, во втором - лишний вертикальный, суммарная ошибка равна "1".
Несмотря на то, что эталоны идентифицированы (соответствуют различным векторам Xi), некоторые ошибки выходят за рамки «осмысления» нейронной системой.
В частности, образ «безошибочно» распознается, как "9", в то время как
вероятнее принять его как "6" (с неправильным положением наклонного штриха): алгоритм не учитывает положение горизонтальных и вертикальных штрихов, как и то, что они встречаются чаще наклонных.
«Аналитические» способности нашей системы, несомненно, возрастут, если функция F будет выражаться не в абсолютных величинах, а в частях; распознавание индексов улучшится при увеличении количества «нейронов» в слое. Отметим: при средней скорости восприятия информации, сопоставимой с человеческим зрением (30 кадров/с), система поддержит распознавание соответственно пяти-шестиразрядных индексов в секунду.
Следует учесть, что практически любой расчетный пример в MS Excel может быть эффективно дополнен средствами оптимизации.
Проектируемая система в принципе способна различать с требуемой точностью не только числа, но и текст.
В правой части рабочего листа представлен вариант конвертирования произвольного теста в последовательность чисел. Если в ячейку G25 помещено (импортируется, связывается) текстовое выражение "лето", разложение и перекодировка текста по ячейкам осуществляется командами =ЛЕВСИМВ^25;1); =ПРАВСИМВ^27;1); =КОДСИМВ^28)-200 т. д.
Электронные таблицы интегрируются с базой данных и позволяют классифицировать любую информацию, в т. ч. экономическую - динамику цен, расчетные показатели, номенклатуру изделий, списки контрагентов (размерность массивов табличного процессора ограничивается в основном объемом оперативной памяти).
Настоящий пример наглядно отражает механизм работы нейронной сети (без использования операторов цикла, ветвления), опирается на общепринятые матричные процедуры и может быть рекомендован для освоения обучающимся по экономическим специальностям, маркетингу и менеджменту.
Библиографический список
1. Афонин, В. Л. Интеллектуальные робототехнические системы : курс лекций : учеб. пособие для студентов вузов, обучающихся по специальностям в обл. информ. технологий / В. Л. Афонин, В. А. Макушкин. - М. : Интернет-ун-т информ. технологий, 2005.
2. Денисов, Д. П. Рациональная организация расчетно-прикладных заданий в электронных таблицах MS Excel / Д. П. Денисов // Проблемы содержания и качества учебного процесса в высшей школе : сб. науч. ст. / под ред. А. Э. Еремеева, Г. В. Косякова. - Омск : Изд-во ОГИ, 2005. - С. 54-60.
3. Нейронные сети в MS Excel : методич. указания к практич. занят. и лаб. работам / сост. В. Х. Федотов ; Чуваш. ун-т. - Чебоксары, 2004. - 72 с.
© Денисов Д. П., Касымова О. К., 2010
Авторы статьи: Дмитрий Павлович Денисов, доцент кафедры ИМиЕНД, кандидат сельскохозяйственных наук (НОУ ВПО «ОмГА»);
Ольга Камалиеновна Касымова, специалист отдела дистанционного обучения (НОУ ВПО «ОмГА»).
Рецензент - Н. И. Ермолина, кандидат медицинских наук, доцент кафедры социальной работы и специальной психологии НОУ ВПО «ОмГА».