Двухстадийная нормализация выходных сигналов искусственных нейронных сетей
Интерпретация выходных сигналов искусственных нейронных сетей при применении нелинейной нормализации, вычисляемой с помощью часто применяемых на практике эвристик. Исследование принципов организации и функционирования биологических нейронных сетей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 31.08.2018 |
Размер файла | 407,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ДВУХСТАДИЙНАЯ НОРМАЛИЗАЦИЯ ВЫХОДНЫХ СИГНАЛОВ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
Р.В. Гирин, С.П. Орлов
ООО «ИнтеллектСофт»
Россия, 443096, г. Самара, ул. Мичурина, 52
Самарский государственный технический университет Россия, 443100, г. Самара, ул. Молодогвардейская, 244
Аннотация
Рассматривается проблема интерпретации выходных сигналов искусственных нейронных сетей при применении нелинейной нормализации, вычисляемой с помощью часто применяемых на практике эвристик. Предложено использование в искусственной нейронной сети многосверточной функции активации на основе двустадийной нормализации, выполняющей категоризацию объектов. Показано, что выходные значения, получаемые при использовании данной функции, можно интерпретировать как вероятности полной группы событий. При этом вид распределения позволяет выполнять оценку точности полученного прогноза. На основе реализованной искусственной нейронной сети, выполняющей распознавание рукописных символов от 0 до 9, произведена экспериментальная проверка предложенного подхода.
Ключевые слова: категоризация объектов, искусственные нейронные сети, нормализация.
искусственный нейронный сеть сигнал
Задача категоризации некой сущности по известному перечню ее атрибутов актуальна во многих случаях. Во многих практических задачах важно оценить не только принадлежность сущности к заданной категории, но и найти вероятность данной принадлежности [1]. В настоящей статье описано решение данной задачи применительно к оптическому распознаванию символов с использованием нейронной сети. Применение нейронной сети для категорирования тесно связано с формированием распределения вероятностей принадлежности сущности к заданному перечню категорий [1].
При решении этой задачи важную роль играет алгоритм нормализации выходных значений [2]. В статье рассмотрены теоретические аспекты различных подходов к нормализации совокупности значений, а также применение этих подходов для преобразования выходных сигналов нейронных сетей. Заложенные принципы и разработанные программные библиотеки, использованные в ходе описанных экспериментов, могут быть применены в различных технических приложениях.
В общем случае под нормализацией значений понимают приведение совокупности некоторых значений к заданному диапазону [3]. Наиболее известные подходы нормализации - это линейная нормализация, нелинейная нормализация, а также нормализация по диапазону [4].
Пусть имеется совокупность каких-либо значений, далее именуемая выборкой, которую нам надо нормализовать. Линейная нормализация задается формулой (1), а нелинейная нормализация - формулой (2):
(1)
(2)
где a - значение переменной из исходной выборки;
i - индекс переменной a в выборке;
n - число значений в выборке;
В случае линейной нормализации после ее применения все нормализованные значения находятся в диапазоне от 0 до 1 и сумма этих значений равна 1. Подобное свойство позволяет трактовать полученные значения как вероятности, а всю выборку - как вероятности полной группы событий. Однако следует отметить, что линейная нормализация в случае применения к выборкам, содержащим отрицательные значения, теряет данное свойство.
После применения нелинейной нормализации все значения находятся в диапазоне от 0 до 1 и сумма всех значений, входящих в выборку, равна 1. Это справедливо и в случае присутствия в выборке отрицательных чисел.
Обладая описанными выше свойствами, этот вид нормализации в некоторых случаях прекрасно подходит. Однако у нелинейной нормализации есть одна важная особенность, из-за которой часто нормализованная выборка представлена единственным значением 1 (соответствующей максимальному значению переменной до нормализации) или 0. Подобный тип векторов называют 1-hot вектор.
Это происходит в силу следующих причин. Если не использовать корректирующую константу D, то из-за экспоненциального роста при вычислении могут быть получены очень большие значения функции. При этом их будет невозможно сохранить в используемом в программе типе данных даже при достаточно умеренных значениях a. Однако при использовании D легко заметить, что вычисление сводится к манипуляции значением e0 = 1 и значениями экспоненты от отрицательных аргументов. Как известно, функция экспоненты в области отрицательных аргументов асимптотически стремится к 0.
Полученный таким образом 1-hot вектор интерпретировать как распределение вероятностей будет проблематично.
Нормализация по диапазону задается формулой следующего вида:
(3)
где a - значение переменной из заданной выборки;
i - индекс переменной в выборке;
j - индекс выборки;
minj и maxj - минимальное и максимальное значения в j-той выборке.
Подобный подход к нормализации приводит все значения в диапазон между 0 и 1, даже если в исходную выборку входили отрицательные числа. Однако недостаток заключается в том, что подобная нормализованная выборка не суммируется в единицу, что не позволяет интерпретировать ее как распределение вероятностей полной группы событий.
В данной статье предлагается двухстадийная нормализация, применимая в случаях, когда нужно получить выборку, представляющую собой множество значений в диапазоне от 0 до 1, сумма которых равна 1, не имеющих предрасположенности приобретать вид 1-hot вектора. Для этого предлагается последовательно применять нормализацию по диапазону и линейную нормализацию.
Двухстадийная нормализация в искусственных нейронных сетях
Искусственная нейронная сеть (ИНС) - это математическая модель, а также ее программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей, сетей нервных клеток живого организма [5]. Говоря о задачах классификации, решаемых нейронными сетями, важно отметить, что выходы сети можно интерпретировать как оценки вероятности того, что элемент принадлежит некоторому классу. В этом случае методы нормализации выходных значений нейронной сети играют ключевую роль.
Для обучения нейронной сети применяется подход, при котором выходные значения сети сопоставляются с известными значениями ожидаемых выходных сигналов. Эти значения нам известны, т. к. обучающая выборка сопровождается экземплярами наборов входных сигналов, аннотированных с ожидаемым выходным сигналом. Задание функции ошибки, выражающей различие ожидаемого и фактического выходных сигналов, служит индикатором того, насколько точно работает ИНС [8, 10].
Процесс обучения нейронной сети можно сформулировать как нахождение производной заданной целевой функции потерь и движение против градиента роста данной функции с целью повышения точности сети. В свою очередь, при нахождении градиента находятся частные производные целевой функции потерь и, по правилу цепи, производные соответствующих функций, входящих в нее [7]. Процесс обучения нейронной сети представлен на рис. 1. Рассмотрим производную функции потерь сети, использующей двустадийную нормализацию. При получении сигнала активации в нейронной сети он передается функции активации, которая представляет собой последовательность нормализации по диапазону (3), а затем к полученным результатам применяется линейная нормализация (1). Это позволяет получить выборку с суммой значений, равной 1, которую можно трактовать как распределение вероятностей полной группы событий.
Функция двухстадийной нормализации - это функция, принимающая вектор из n элементов и возвращающая вектор из n нормализованных элементов как результат:
(4)
где L(Rd(a))1, L(Rd(a))2, … L(Rd(a))n вычисляются по формулам (1) и (3).
Рис. 1. Общая схема процесса обучения ИНС
В случае нахождения производной функции, принимающей вектор значений и возвращающей вектор в качестве результата, необходимо специфицировать: а) по какому выходному компоненту находится производная; б) по какой входной переменной находится частная производная. Двухстадийная нормализация заключается в последовательном применении двух функций, и тогда производная определяется по правилу цепи. Определим выражение для производной i-того выходного компонента по j-той входной переменной для нормализации по диапазону:
(5)
где a - значение переменной из заданной выборки;
i - индекс переменной в исходной выборке;
j - индекс компоненты выходного вектора, возвращаемого функцией;
mink и maxk - минимальное и максимальное значения в k-той выборке.
Получаем:
(6)
где использованы те же переменные, что и в выражении (5).
Для производной i-того выходного компонента по j-той входной переменной при линейной нормализации имеем:
(7)
(8)
Важно заметить, что в искусственной нейронной сети функции активации передают значения входных сигналов, скорректированные в зависимости от весов, что можно выразить следующим образом:
(9)
где Wij - вес связи j-того входа ИНС и i-того нейрона;
x - входной сигнал, поступивший в ИНС;
t - число входных сигналов.
Вся цепочка преобразований, выполняемая в искусственной нейронной сети (обозначим ее как фунцию P(W)), может быть выражена следующим образом:
где функции L(a), Rd(a) и g(W) определены в (1), (3) и (9) соответственно.
Поскольку оценка точности результатов, выдаваемых нейронной сетью, по сравнению с известным правильным ответом в ходе обучения выполняется с использованием кросс-энтропии [2], получаем следующие формулы для определения значений ее частных производных:
(10)
(11)
где j - индекс, нумерующий столбец матрицы весов (совпадает с индексом, нумерующим элемент входного сигнала);
i - индекс, нумерующий строку матрицы весов;
n - число компонент в векторе, возвращаемом функциями L(a), Rd(a) и g(W);
y - индекс элемента в векторе, который соответствует известному нам результату, отмеченному в обучающем нейронную сеть примере как верный (ожидаемый) результат;
a - аргумент функции линейной нормализации;
b - аргумент функции нормализации по диапазону;
mins и maxs - минимальное и максимальное значения в s-ной выборке.
Анализируя (10) и (11), легко заметить, что значения, которые корректируют веса нейронной сети, отличны от 0 не только для нейрона, соответствующего известному нам результату, который отмечен в обучающем примере как верный (ожидаемый) результат. Таким образом, выполняется корректировка всех весов в процессе обучения, а не отдельно взятых, как это имеет место в случае применения только нормализации по диапазону.
Построение нейронной сети с двухстадийной нормализацией в качестве функции активации
Для сравнения различных подходов нормализации были проведены эксперименты с ИНС, в которых в качестве функций активации применялась в одном случае нелинейная нормализация, а в другом - двухстадийная нормализация. Подобная нормализация часто применяется как завершающий слой нейронных сетей, которые выполняют категорирование.
Структура искусственных нейронных сетей, применявшихся в экспериментах, изображена на рис. 2.
Параметры сетей, использовавшихся в экспериментах, приведены в табл. 1.
Для экспериментов выбран тестовый набор (датасет) Национального института стандартизации NIST США. Содержание базы датасетов, как указано в [6], представляет собой 814 255 сегментированных рукописных цифр и букв из специально заполненных форм. Эти символы представлены в виде растровых изображений размером 128Ч128 пикселей и снабжены маркером, показывающим, какой именно символ изображен в виде 62 ASCII кодов, соответствующих цифрам и символам: “0” - “9”, “A” - “Z” и “a” - “z”.
Соответственно, структура ИНС, обрабатывающих данный датасет, имеет 4900 входных сигналов. Такое число входов необходимо для передачи в сеть изображения размером 70Ч70. На каждый из входов подавалось значение, соответствующее значению пиксела. Все растровые изображения в базе NIST черно-белые, поэтому для передачи входного сигнала пикселы интерпретировали следующим образом: пикселу черного цвета соответствовала единица, передаваемая на соответствующий вход нейронной сети, а пикселу белого цвета соответствовал ноль. Перед началом обучения веса сетей инициализировались случайными значениями, находящимися в диапазоне от -2.0 до 2.0.
Рис. 2. Структура нейронных сетей
Таблица 1. Параметры ИНС
Параметр |
Значение |
|
Число слоев |
1 |
|
Число нейронов |
10 |
|
Число входов |
4900 |
|
Число связей |
49000 |
Сети обучались на части базы, которая содержит цифры. Подходы, изложенные в данной работе, применимы и для сетей, выполняющих категорирование (распознавание) не только цифр, но и всех остальных символов, представленных в базе датасетов.
Результаты экспериментов применения двухстадийной нормализации
Были построены нейронные сети, в одной из которых качестве функций активации применялась нелинейная нормализация, а в другой - двухстадийная нормализация. После обучения сети были протестированы на выборке, представленной в директории hsf_4 в базе датасетов.
Искусственные нейронные сети активно применяются для распознавания образов на изображениях [9].
Рассмотрим пример обработки изображения с цифрами. Выполним сравнение двух методов: нелинейной нормализации и двухстадийной нормализации. Распределение значений, полученных на выходе искусственной нейронной сети, в качестве функции активации, в которой применена двухстадийная нормализация, приведено в табл. 2. В этой же таблице для сравнения приведены выходные сигналы ИНС, в которой применялась нелинейная нормализация.
Оба распределения характерны для каждой из использованных в эксперименте ИНС. Как видно при сопоставлении этих распределений, в случае применения нелинейной нормализации на выходе наблюдается 1-hot вектор. При применении двухстадийной нормализации выходные значения представляют собой значения в диапазоне от 0 до 1, которые являются долей единицы.
Подобные значения можно интерпретировать как вероятность принадлежности распознаваемого символа к той или иной категории. Категория может быть оценена по наибольшему значению, при этом его абсолютная величина может служить оценкой степени точности результата.
Кроме проверки работы обученных нейронных сетей на тестовой выборке целесообразно получить визуализацию весов связей сети. Подобная визуализация может быть получена следующим образом. Если взять матрицу весов и выбрать из нее все веса связей от всех входов сети к первому нейрону (нейрону, ответственному за категоризацию изображения, на котором цифра «0»), то получаются веса связей сети, которые ИНС «выучила» для того, чтобы распознавать 0. Аналогично можно выбрать все веса, соответствующие другим категориям (в нашем случае - другим цифрам, представленным на растровых изображениях). При применении подобной группировки будет получено 10 групп (по числу категорий) весов, при этом в каждой группе будет 4900 связей. Если полученные 4900 связей изобразить на растровом изображении 70Ч70 пикселей, присвоив каждому пикселю значение цвета тем темнее, чем более больший вес мы имеем, то будет получена наглядная визуализация весов сети. При этом черному цвету соответствует большое значение веса, а белому - малое.
Результат такой визуализации представлен на рис. 3. Легко видеть, что искусственная нейронная сеть в процессе обучения выделила позиции пикселов, наиболее характерные для каждой из цифр. Этим позициям и соответствующим связям от данных входов искусственной нейронной сети присвоены наибольшие веса. Одновременно с этим для каждой из цифр в процессе обучения ИНС выделились позиции пикселов, наименее характерные для данной цифры. Таким позициям соответствуют наименьшие веса.
Полученное распределение значений весов и анализ его визуализации подтверждают корректность функционирования искусственной нейронной сети, в качестве функции активации в которой применена двухстадийная нормализация, при распознавании рукописных символов от 0 до 9. Однако важно отметить, что двухстадийная нормализация, примененная в качестве функции активации искусственной нейронной сети, применима для выполнения категоризации и в других предметных областях, в которых доступна репрезентативная обучающая выборка.
Таблица 2. Распределение на выходе ИНС
Цифра на изображении |
Имя файла базы данных NIST (в поддиректории by_class) |
Вектор выходного сигнала искусственной нейронной сети |
||
Нелинейная нормализация |
Двустадийная нормализация |
|||
0 |
30\hsf_4\hsf_4_00000.png |
1; 0; 0; 0; 0; 0; 0; 0; 0; 0; |
0,16; 0; 0,1; 0,1; 0,09; 0,1; 0,1; 0,09; 0,1; 0,09; |
|
2 |
32\hsf_4\hsf_4_00000.png |
0; 0; 1; 0; 0; 0; 0; 0; 0; 0; |
0,02; 0,03; 0,2; 0,05; 0,17; 0,1; 0,1; 0; 0,16; 0,18; |
|
7 |
37\hsf_4\hsf_4_00000.png |
0; 0; 0; 0; 0; 0; 0; 1; 0; 0; |
0,1; 0; 0,1; 0,14; 0,1; 0,09; 0,06; 0,15; 0,09; 0,13; |
|
5 |
35\hsf_4\hsf_4_00000.png |
0; 0; 0; 0; 0; 0; 0; 0; 0; 1; |
0,12; 0; 0,08; 0,1; 0,13; 0,13; 0,1; 0,07; 0,13; 0,14; |
|
3 |
33\hsf_4\hsf_4_00000.png |
0; 0; 0; 1; 0; 0; 0; 0; 0; 0; |
0,06; 0; 0,11; 0,2; 0,1; 0,1; 0,05; 0,07; 0,1; 0,14; |
Рис. 3. Визуализация весов сети, использующей двустадийную нормализацию в качестве функции активации
В заключение стоит отметить, что применение двухстадийной нормализации на нейронной сети подобной архитектуры может производить категорирование в широком спектре предметных областей. С развитием облачных технологий подобные реализации нейронных сетей, выполняющих экспертные оценки, будут размещаться на сервере приложений ИНС. Это позволит клиентским устройствам со значительными ограничениями в вычислительной мощности отправлять необходимые запросы на сервер и получать результаты с искомыми оценками и значениями метрик.
Библиографический список
1. Norvig P., Rassell S. Artificial Intelligence: A Modern Approach, Edition: 3rd, Pearson, 2010.
2. Nielsen M. Neural Networks and Deep Learning, free online book.
3. Dodge Y. The Oxford Dictionary of Statistical Terms, OUP, 2003.
4. Goodfellow I., Bengio Y., Courville A. Deep learning.
5. Мак-Каллок У.С., Питтс В. Логическое исчисление идей, относящихся к нервной активности // Автоматы / Под ред. К.Э. Шеннона и Дж. Маккарти. - М.: Изд-во иностр. лит., 1956. - С. 363-384.
6. Grother P., Hanaoka K. NIST Special Database 19 Handprinted Forms and Characters, 2nd Edition, National Institute of Standards and Technology, September 13, 2016.
7. Rumelhart D.E., Hinton G.E., Williams R.J. Learning Internal Representations by Error Propagation // Parallel Distributed Processing. Vol. 1. - Cambridge, MA: MIT Press, 1986.
8. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры. - М.: МГТУ им. Н.Э. Баумана, 2004.
9. Галушкин А.И. Синтез многослойных систем распознавания образов. - М.: Энергия, 1974.
10. Барцев С.И., Охонин В.А. Адаптивные сети обработки информации. - Красноярск: Ин-т физики СО АН СССР, 1986.
Размещено на Allbest.ru
...Подобные документы
Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.
курсовая работа [1,5 M], добавлен 15.10.2012Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Нейрокомпьютеры и их применение в современном обществе. Некоторые характеризующие нейрокомпьютеры свойства. Задачи, решаемые с помощью нейрокомпьютеров. Типы искусственных нейронов. Классификация искусственных нейронных сетей, их достоинства и недостатки.
курсовая работа [835,9 K], добавлен 17.06.2014Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.
курсовая работа [4,9 M], добавлен 14.12.2014Сущность и функции искусственных нейронных сетей (ИНС), их классификация. Структурные элементы искусственного нейрона. Различия между ИНС и машинами с архитектурой фон Неймана. Построение и обучение данных сетей, области и перспективы их применения.
презентация [1,4 M], добавлен 14.10.2013Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
курсовая работа [377,4 K], добавлен 26.02.2015Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Исследование эффективности применения нейронных сетей в рамках отношений между людьми. Принцип работы с нейросимулятором. Составление обучающей выборки и проектирование персептронов. Анализ выбора супружеской пары с использованием нейросетевых технологий.
презентация [150,8 K], добавлен 19.08.2013Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.
дипломная работа [1,5 M], добавлен 22.09.2016Гибкая технологии извлечения знаний из нейронных сетей, настраиваемой с учетом предпочтений пользователя. Тестирование, пробная эксплуатация и разработка новой версии программных средств, реализующих данную технологию. Индивидуальные пространства смыслов.
дипломная работа [336,3 K], добавлен 07.06.2008Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.
курсовая работа [527,2 K], добавлен 28.05.2009