Загрузил llimegug

m th e.s.gorbunova 2017

реклама
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего образования
«Уральский федеральный университет
имени первого Президента России Б.Н.Ельцина»
Высшая школа экономики и менеджмента
Кафедра анализа систем и принятия решений
ДОПУСТИТЬ К ЗАЩИТЕ ПЕРЕД ГЭК
Зав. кафедрой , кандидат физ.-мат. наук
______________
( подпись)
Медведева М.А.
(Ф.И.О.)
«______»________________2017 г.
МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ
Реализация интеллектуальной системы распознавания эмоций
с применением нейронных сетей
Научный руководитель: Чернильцев А.Г.
доцент, кандидат технич. наук
Нормоконтролер: Медведева М.А.
доцент, канд. физ.-мат. наук
Студент группы ЭММ – 251605 Горбунова Е.С.
Екатеринбург
2017
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего образования
«Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»
Институт_Высшая школа экономики и менеджмента_____________________________
Кафедра Кафедра анализа систем и принятия решений____________________________
Направление подготовки _Прикладная информатика_______________ _______________
Магистерская программа _Прикладная информатика в аналитической и вычислительной
экономике
УТВЕРЖДАЮ
Зав. кафедрой ______________
«____» ______________ 201__ г.
ЗАДАНИЕ
на выполнение магистерской диссертации
студента Горбуновой Елены Сергеевны
__________группы ЭММ – 251605______
(фамилия, имя, отчество)
1. Тема магистерской диссертации _Реализация интеллектуальной системы
распознавания эмоций с применением нейронных сетей______________________________
Утверждена распоряжением по институту ВШЭМ от «____» _______________ 201__ г. №
2. Руководитель _Чернильцев Андрей Германович, доцент,кандидат техн. наук_________
(Ф.И.О., должность, ученое звание, ученая степень)
3. Исходные данные к работе общедоступные литературные источники, нормативные
документы, научная и специальная литература, конкретная первичная информация____
4. Перечень демонстрационных материалов презентация, раздаточный материал_____
5. Календарный план
№
п/п
1.
2.
3.
3.
Наименование этапов выполнения работы
1 раздел (глава) диссертации
2 раздел (глава) диссертации
3 раздел (глава) диссертации
Магистерская диссертация в целом
Руководитель ___________________________
(подпись)
Срок выполнения
этапов работы
до 02.03.2017 г.
до 06.04.2017 г.
до 25.05.2017 г.
до 03.06.2017 г.
Отметка о
выполнении
выполнено
выполнено
выполнено
выполнено
Чернильцев А.Г.___
Ф.И.О.
Задание принял к исполнению ____________
______________
дата
(подпись)
6. Магистерская диссертация закончена «03» __июня__ 2017 г. считаю возможным
допустить ____Горбунову Елену Сергеевну____ к защите ее магистерской диссертации в
Государственной экзаменационной комиссии.
Руководитель_______________
__Чернильцев А.Г.__
(подпись)
Ф.И.О.
7. Допустить Горбунову Елену Сергеевну_ к защите магистерской диссертации в
Государственной экзаменационной комиссии (протокол заседания кафедры №___ от
«___» _____ 201__г.).
Зав. кафедрой _______________
Медведева М.А._
(подпись)
Ф.И.О.
2
РЕФЕРАТ
Магистерская диссертация на тему «Реализация интеллектуальной
системы распознавания эмоций с применением нейронных сетей» содержит
80 страниц, 9 таблиц, 35 рисунков, 25 формул, 62 литературных источника.
Актуальность магистерской диссертации заключается в использовании
нейронных
сетей
для
решения
плохо
формализованных
задач
в
интеллектуальном анализе данных. Рост объемов информации, а также
расширение круга технически сложных задач принятия решений требуют
систематизации существующих методов и разработки новых методик и
алгоритмов
решения.
В
магистерской
диссертации
рассматривается
возможность применения нейронной сети при решении задачи распознавания
эмоций человека.
Основной целью работы является выбор информационной модели
нейросети и реализация алгоритма распознавания двигательной активности
лица. Нейронная сеть должна быть оптимальна по внутренней структуре,
способу управления
информационными потоками
между нейронами.
Выбранная информационная модель будет использована для решения
практической задачи.
Основными задачами диссертационной работы являются:
1) Изучение существующих видов искусственных интеллектуальных
систем, а также методов их функционирования.
2) Изучение основных видов информационных моделей искусственных
нейронных сетей. Выбор оптимальной информационной модели нейронной
сети для решения задачи распознавания эмоций.
3) Изучение существующих методов распознавания мимики и
выделение универсальных методов среди них.
4) Реализация и описание алгоритма распознавания двигательной
активности лица и решение практической задачи.
3
Объектом
данного
исследования
являются
подходы,
методы
информационные
модели
распознавания мимических выражений.
Предметом
исследования
являются
искусственных нейронных сетей, а также описание алгоритма распознавания
двигательной активности лица для решения практической задачи
Научная
новизна
магистерской
диссертации
заключается
в
использовании технологий нейросетей (информационных моделей), а также
системы
двигательной
активности
лица
для
реализации
алгоритма
распознавания эмоций человека.
Практическая значимость диссертационной работы: результаты работы
могут быть использованы при решении задач интеллектуального анализа
данных, в решении сложных технических задач видеоанализа. Результаты
работы предполагают последующую реализацию собственной методики
распознавания двигательной активности лица.
4
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .............................................................................................................. 7
1. ОСНОВНЫЕ ПОНЯТИЯ ИСКУССВЕННЫХ ИНТЕЛЛЕКТУАЛЬНЫХ
СИСТЕМ И НЕЙРОННЫХ СЕТЕЙ .................................................................... 11
1.1
История развития нейронных сетей........................................................... 11
1.2
Понятие «искусственная нейронная сеть» ................................................ 13
1.2.1 Биологический нейрон и искусственный нейрон ................................. 14
1.3
Классификации искусственных интеллектуальных систем .................... 17
1.4
Профайлинг в системе интеллектуального анализа данных ................... 22
1.5
Искусственные интеллектуальные системы распознавания эмоций ..... 26
2. ИНФОРМАЦИОННЫЕ МОДЕЛИ НЕЙРОННЫХ СЕТЕЙ И
РАСПОЗНАВАНИЯ ЭМОЦИЙ ............................ ОШИБКА! ЗАКЛАДКА НЕ
ОПРЕДЕЛЕНА.
2.1
Однонаправленные многослойные сети .................Ошибка! Закладка не
определена.
2.1.1 Обучение многослойного персептрона методом обратного
распространения ошибки .................................................................................. 33
2.2 Рекуррентная нейронная сеть ........................................................................ 35
2.3
Сети Кохонена.............................................................................................. 37
2.3.1 Алгоритм Кохонена .................................................................................. 39
2.4
Радиальные нейронные сети ....................................................................... 40
2.5
Интенсивность действия движения лицевых мышц ................................ 45
5
2.6
Анализ методов обнаружения лиц на изображении ................................ 47
3. АЛГОРИТМ РАСПОЗНАВАНИЯ ЭМОЦИЙ С ПРИМЕНЕНИЕМ
НЕЙРОННОЙ СЕТИ............................................................................................. 56
3.1
Математическая постановка задачи распознавания ................................ 56
3.1.1 Получение инвариантов распознавания лиц ......................................... 56
3.1.2 Выбор адекватной метрики ..................................................................... 57
3.1.3 Решение задачи распознавания нейронной сетью ................................ 57
3.2
Методика распознавания двигательной активности лица ....................... 59
3.2.1 Обучение нейронной сети в MATLAB................................................... 65
ЗАКЛЮЧЕНИЕ ..................................................................................................... 74
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ........................................... 76
6
ВВЕДЕНИЕ
В современном мире искусственные интеллектуальные системы
завоевали большую популярность, благодаря богатым возможностям и
эффективности использования.
Существует
множество
задач,
где
необходимо
практическое
разрешение с использованием интеллектуальных систем уже сейчас:
экономика
и
бизнес,
робототехника,
геологоразведка,
математика,
биофизика, авионика, безопасность и охранные системы, медицина и многие
другие[32, с.34]. Такое обилие областей применения, говорит о том, что
интеллектуальные системы - это уникальный набор для решения вопросов
анализа и обработки большого объема данных, решения задач разного уровня
сложности.
В настоящее время в системах искусственного интеллекта активно
используются искусственные нейронные сети.
Нейронная сеть – это вычислительная структура, которая состоит из
множества элементов одного типа. Эти элементы выполняют простые
функции, а все процессы, происходящие в искусственной нейронной сети
можно ассоциировать с процессами, происходящими
в нервной системе
живых организмов.
Нейронные сети нелинейны по своей природе, в них отсутствует явная
зависимость, позволяющая сразу использовать разработанную технологию
(информационную модель нейросети). На протяжении многих лет линейное
моделирование было основным методом моделирования, поскольку для него
хорошо разработаны процедуры оптимизации.
Актуальность магистерской диссертации заключается в использовании
нейронных
сетей
для
решения
плохо
формализованных
задач
в
интеллектуальном анализе данных. Рост объемов информации, а также
расширение круга технически сложных задач принятия решений требуют
систематизации существующих методов и разработки новых методик и
7
алгоритмов
решения.
В
магистерской
диссертации
рассматривается
возможность применения нейронной сети при решении задачи распознавания
эмоций человека.
Искусственные нейронные сети дают многообещающие перспективы в
развитии, а программное обеспечение имеет огромное преимущество от их
использования.
Кроме
того,
каждая
реализуемая
задача
имеет
неограниченный и нестандартный набор методов решения. В магистерской
диссертации рассматривается возможность применения нейронной сети при
решении задачи распознавания эмоций человека.
Темой
магистерской
диссертации
является
реализация
интеллектуальной системы распознавания эмоций с применением нейронных
сетей.
Основной целью работы является выбор информационной модели
нейросети и реализация алгоритма распознавания двигательной активности
лица. Нейронная сеть должна быть оптимальна по внутренней структуре,
способу управления
информационными потоками
между нейронами.
Выбранная информационная модель будет использована для решения
практической задачи.
Основные задачи диссертационной работы:
1) Изучение существующих видов искусственных интеллектуальных
систем, а также методов их функционирования.
2) Изучение основных видов информационных моделей искусственных
нейронных сетей. Выбор оптимальной информационной модели нейронной
сети для решения задачи распознавания эмоций.
3) Изучение существующих методов распознавания мимики и
выделение универсальных методов среди них.
4) Реализация и описание алгоритма распознавания двигательной
активности лица для интеллектуальной системы и решение практической
задачи.
8
Объектом
данного
исследования
являются
подходы,
методы
информационные
модели
распознавания мимических выражений.
Предметом
исследования
являются
искусственных нейронных сетей, а также реализация и описание алгоритма
распознавания двигательной активности лица.
Научная
новизна
магистерской
диссертации
заключается
в
использовании технологий нейросетей (информационных моделей), а также
системы
двигательной
активности
лица
для
реализации
алгоритма
распознавания эмоций человека.
Для реализации нейронной сети, которая будет распознавать эмоции
требуется выделить ключевые признаки лица и ключевые мимические
проявления, которые отличают конкретного человека от многих других.
Сложность реализации заключается в обучении нейронной сети.
Подбор начальных данных для задачи – это, прежде всего математическое и
геометрическое описание мимических проявлений.
За счет возрастания сложности решаемых научно-технических задач,
автоматическая обработка и анализ визуальной информации становятся все
более актуальными вопросами. Уже сейчас существуют цифровые и
интеллектуальные
камеры,
а
также
программное
обеспечение,
обрабатывающее изображения.
Современные технологии стремительно движутся к моменту, когда
компьютеры
станут
самостоятельными
системами,
способными
к
самообучению и росту «личности», как это происходит с человеком с
момента его рождения. Уже сейчас многие разработчики решают непростые
задачи при помощи машин компьютерного зрения, применяя для работы
системы разные методы, в том числе и нейронные сети.
Диссертационная
работа
состоит
из
заключения, списка используемой литературы.
9
введения,
трех
разделов,
В первом разделе рассматриваются теоретические материалы часть по
нейронным сетям, а также по существующим видам искусственных
интеллектуальных систем и методам распознавания эмоций.
Во втором разделе представлено детальное описание и устройство
информационных моделей нейросетей, их особенности, сравнительный
анализ, выбор оптимальной модели для решения практической задачи. Также
приводится
анализ
методов
определения
лиц
на
изображении,
рассматривается набор логических правил распознавания эмоций (система
кодирования лицевых движений по П. Экману).
В третьем разделе представлен алгоритм распознавания эмоций с
применением нейронной сети.
10
1.
ОСНОВНЫЕ ПОНЯТИЯ ИСКУССВЕННЫХ
ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ И НЕЙРОННЫХ СЕТЕЙ
1.1
История развития нейронных сетей
Впервые об искусственных нейронных сетях заговорили в 1940-х
годах. Именно как научное направление теория нейронных сетей была
отражена в работе Мак Каллока и Питса в 1943 году[13]. В данной работе
утверждалось, что почти любую логическую или арифметическую функцию
можно реализовать при помощи простейшей нейронной сети.
Одной из основополагающих работ следует отметить модель Д. Хэбба,
который в 1949 году сформулировал закон, ставший отправной точкой для
обучения нейронных сетей. Хэбб первым предположил, что обучение,
прежде всего, заключается в изменении силы синаптических связей. Теория
Хебба– типичный случай самообучения, где испытуемая система обучается
выполнять требуемую задачу без вмешательства экспериментатора. Свой
вклад внес и М. Минский, благодаря исследованию ряда задач, в том числе
известной задачи «Исключающего «ИЛИ» [13, с.7].
Ф. Розенблатт в 1958 году предложил нейронную сеть, названную
персептроном, который был предназначен для классификации объектов. При
обучении
персептрон
получал
сообщение
от
«учителя».
Благодаря
сообщению, можно определить к какому классу принадлежит данный объект.
Кроме
того,
обученный
персептрон
был
способен
самостоятельно
классифицировать не использовавшиеся ранее объекты, совершая при этом
малое число ошибок.
Период затишья в развитии нейронных сетей пришелся на 1968-1985
гг. С появлением высокопроизводительных персональных компьютеров
стало доступным моделировать нейронные сети.
Настольной книгой специалистов, интересующихся теорией нейронных
сетей, стала работа Ф. Уоссермена «Нейрокомпьютерная техника».
11
После появления работы Д. Хопфилда (1982 год) интерес к нейронным
сетям резко возрос. Хопфилд, основываясь на правилах обучения Хэбба,
показал, что задачи с нейронами могут быть сведены к обобщению ряда
моделей, разработанных к тому моменту в физике неупорядоченных систем.
Затем в 1986 году появилась работа Вильямса, Румельхарта и Хинтона,
которая отвечала на важный вопрос о поведении обучения слоистых
нейронных сетей. После этого, предложенный Хинтоном алгоритм претерпел
множество изменений [16, с.8].
В 80-е годы постепенно сформировался прочный теоретический
фундамент, на основе которого сегодня создается большинство сетей.
Разработанная теория
десятилетия
широко стала применяться в последние два
для решения прикладных задач. Стали появляться фирмы,
занимающиеся разработкой программного обеспечения для конструирования
искусственных нейронных сетей. В 90-е годы нейронные сети стали
использоваться в бизнесе, где они показали колоссальную эффективность
при решении многих задач - от предсказания спроса на продукцию до
анализа платежеспособности клиентов банка.
В 2007 в университете Торонто Джеффри Хинтон создал алгоритмы
глубокого изучения нейронных сетей. При обучении нижних слоев сети,
Хинтон
использовал
представляет
ограниченную
машину
Больцмана,
которая
стохастическую рекуррентную нейронную сеть. После
обучения сети полученное приложение могло быстро решать поставленную
задачу (например, поиск лиц на фотографии). Эта функция на сегодняшний
день встроена во все цифровые фотоаппараты. Подобная технология
используется интернет – поисковиками при классификации картинок [46].
По оценкам специалистов, в области проектирования нейронных сетей
и нейрокомпьютеров ожидается технологический рост. Немало новых
возможностей было открыто за последние годы, а работы в данной области
становятся важным вкладом в науку, технологии, экономику.
12
Несмотря на то, что изучение нейронного моделирования ведется уже
более шестидесяти лет, нет ни одной области мозга, где процесс обработки
информации был бы ясен до конца. Также
нет ни одного нейрона, для
которого можно было бы определить код передачи информации в виде
последовательности импульсов.
В
настоящее
время
существует
большое
число
конфигураций
нейронных сетей, которые отличаются по принципам функционирования, и,
следовательно, направлены на разные задачи.
Будущее нейрокомпьютерных технологий будет связано с новыми
открытиями в области нейронного моделирования – как только удастся
разгадать тайну функционирования хотя бы одной области мозга, сразу
станет ясно многое о других его областях.
1.2
Понятие «искусственная нейронная сеть»
Под искусственной нейронной сетью понимается математическая
модель, а также ее программная и аппаратная реализация, построенная по
принципу биологических нейронных сетей – нервных клеток живого
организма. Это понятие возникло при попытке смоделировать процессы,
протекающие в мозге человека [43, с.3].
Искусственная нейронная сеть представляет собой систему простых
процессоров (искусственных нейронов), соединенных и взаимодействующих
между собой. Каждый из процессоров сети имеет дело с сигналами, которые
периодически поступают или передаются другим процессорам. Большая сеть
способна решать сложнейшие задачи в самые короткие сроки.
С математической точки зрения нейронные сети представляют собой
способ решения нелинейных задач оптимизации. Кибернетика использует
теорию нейронных сетей в решении задач адаптивного управления,
построении алгоритмов для робототехники [13].
13
В программировании нейронная сеть один из способов решения
проблемы эффективного параллелизма.
Программирование нейронных сетей подразумевает именно обучение
сети, а не написание программного кода. Именно благодаря обучению сеть
способна выявлять зависимости между данными (входными и выходными),
обобщать, упрощать результаты, использовать знания для разбиения сложных
задач на более простые.
1.2.1 Биологический нейрон и искусственный нейрон
Мозг человека и его нервная система состоят из нейронов, соединенных
нервными
волокнами.
Между
нейронами
передаются
электрические
импульсы с помощью нервных волокон. Все действия, которые происходят с
живым организмом, все раздражения кожи, глаз, боль, процессы мышления –
есть взаимодействие между нейронами. Строение биологического нейрона
представлено на рисунке 1[43]:
Рисунок 1 -Биологический нейрон [47]
Дендриты - принимает импульсы нейрона;
Аксон - передает импульс нейрона;
Синапсы - образования, влияющие на силу импульса, для контакта
аксона и дендрита.
14
При прохождении синапса сила импульса меняется в определенное
число раз (вес синапса). Когда к нейрону по нескольким дендритам
поступают импульсы, то они суммируются. Если у суммарного импульса
превышен порог, то нейрон переходит в состояние возбуждения, формирует
собственный импульс и посылает его далее по аксону. Поведение
соответствующего нейрона может меняться, так как веса синапсов имеют
свойство меняться со временем. Математическая модель описанного процесса
представлена следующим образом (рисунок 2):
Рисунок 2 –Математическая модель нейрона [47]
Данная модель описывает нейрон с тремя входами (дендритами), где
синапсы имеют веса 𝑤1 , 𝑤2 , 𝑤3 , к которым поступают силы 𝑥1 , 𝑥2 , 𝑥3
соответственно. К нейрону поступают импульсы 𝑥1 𝑤1 , 𝑥2 𝑤2 , 𝑥3 𝑤3 после
прохождения синапсов и дендритов.
Полученный
суммарный
импульс
x=𝑥1 𝑤1 +𝑥2 𝑤2 +𝑥3 𝑤3 нейрон
преобразует в соответствии с передаточной функцией f(x).
y = f(x)=f(𝑥1 𝑤1 +𝑥2 𝑤2 +𝑥3 𝑤3 ) –сила выходного импульса. Подводя итог,
получаем набор чисел 𝑥𝑘 (вектор) в виде входов. Далее нейрон выдает
некоторое число у на выходе [42].
Искусственный нейрон выглядит следующим образом: на его вход
поступает множество сигналов, каждый из которых одновременно является
выходом другого нейрона. Такой вход умножается на соответствующий вес,
затем произведения суммируются, определяя уровень активации нейрона.
Модель, реализующая эту идею, представлена на рисунке 3:
15
Рисунок 3- Модель активации нейрона [43]
Здесь множество сигналовx1, x2,…,xn, поступает на вход искусственного
нейрона, в совокупности они обозначаются вектором Х. Эти сигналы,
аналогичны тем, что получает на входы биологический нейрон. Далее сигнал
также умножается на соответствующий вес w1, w2,…, wn, затем суммируется в
суммирующем блоке ∑. Каждый вес равен силе одной синаптической связи в
биологическом нейроне. Выход, который обычно называется NET, создается
из
суммирующего
блока,
где
взвешенные
элементы
складываются
алгебраически.
Сигнал NET преобразуется обычной линейной функцией, называемой
активационной. Она обозначается F и дает выходной сигнал OUT.
OUT=K(NET),
где К – постоянная, пороговой функции
OUT=1, если NET>T
OUT = 0 в остальных случаях,
T – постоянная пороговая величина, которая более точно моделирует
нейронную сеть.
Искусственный нейрон с активационной функцией представлен на
рисунке 4:
X1
w1
w2
X2
.
.
∑
NET
F
OUT=F(NET)
wn
Xn
Рисунок 4 – Активационная функция нейрона [38]
16
Блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT.
F- называется сжимающей функцией, если при любых значениях NET
значения OUT принадлежат некоторому конечному интервалу [39].
Модель искусственного нейрона игнорирует большинство свойств
биологического
нейрона.
Например,
задержки
во
времени,
которые
воздействуют на динамику системы.
Входные сигналы сразу же порождают выходной сигнал. Кроме того,
искусственный нейрон не учитывает воздействий синхронизирующей
функции биологического нейрона.
Однако следует отметить исключительное сходство живого нейрона и
искусственного.
Для определения места нейронных сетей в области информационных
технологий
необходимо
обратиться
к
классификации
искусственных
интеллектуальных систем.
1.3
Классификации искусственных интеллектуальных систем
Искусственные
интеллектуальные
системы
имеют
характерные
особенности:
Во - первых, развитые коммуникативные способности, которые
характеризуют способ взаимодействия между компьютером пользователя с
системой. Не исключена возможность обращения к системе с произвольным
запросом в диалоге с интеллектуальной системой. При этом язык
интеллектуальной
системе
должен
быть
максимально
приближен
к
естественному языку.
Во - вторых, решение плохоформализуемых задач, т.е. таких задач,
которые не имеют конкретного решения, а требуют нестандартного подхода,
в зависимости от ситуации, существующих данных и конечного результата.
Плохоформализуемые
задачи
эффективно
искусственных нейронных сетей.
17
решаются
при
помощи
В – третьих, способность к самообучению – т.е. возможности
извлечения знаний интеллектуальной системой из накопленного опыта
конкретных ситуаций. Для предварительного обучения системы необходимы
обработанные начальные данные.
В соответствии с представленными признаками, интеллектуальные
системы можно разделить на следующие (таблица 1):
Таблица 1 – Виды искусственных интеллектуальных систем 1
Вид искусственной интеллектуальной
Тип искусственной
системы
интеллектуальной системы
Системы с коммутативными способностями
Экспертные системы
Самообучающиеся системы
Адаптивные системы
-интеллектуальные базы данных;
-естественно-языковые
интерфейсы;
- гипертекстовые системы;
-контекстные справочные системы;
-когнитивная графика.
- классифицирующие системы;
- доопределяющие системы;
- трансформирующие системы;
- многоантенные системы.
- индуктивные системы;
- нейронные сети;
- системы на прецедентах;
- информационные хранилища.
- CASE – технологии;
- компонентная технология.
Интеллектуальные базы данных отличаются от обычных баз данных
возможностью выборки по запросу необходимой информации, которая
может явно не храниться, а выводиться из имеющейся в базе данных.
Естественно,
языковой
интерфейс
преобразует
конструкции
естественного языка во внутримашинный уровень представления знаний.
Используется для доступа к интеллектуальным базам данных, контекстного
1
Составлено автором по: [27, с 9-11].
18
поиска документальной текстовой информации, команд голосового ввода в
системах управления, машинного перевода с иностранных языков..
Гипертекстовые
системы
применяются
в
базах
текстовой
информации, где необходим поиск по ключевым словам, имеют более
сложную семантическую организацию ключевых слов.
В
контекстных
справочных
системах
пользователь
описывает
проблему (ситуацию), а система с помощью дополнительного диалога ее
конкретизирует и выполняет поиск рекомендаций, подходящих для данной
ситуации.
Такие
системы
создаются
как
приложение
к
системам
документации и относятся к классу систем распространения знаний.
Системы когнитивной графики используются в мониторинге и
управлении оперативными процессами. Графические образы в наглядном и
интегрированном
виде
описывают
множество
параметров
изучаемой
ситуации.
Экспертные системы предназначены для решения задач на основе
накапливаемой базы знаний, отражающей опыт работы экспертов в
рассматриваемой проблемной области.
Многоагентные системы – это динамические системы, для которых
характерна интеграция в базе знаний нескольких разнородных источников
знаний, обменивающихся между собой получаемыми результатами на
динамической основе.
Самообучающиеся системы основаны на методах автоматической
классификации примеров ситуаций реальной практики [27, с. 12-19].
Характерными признаками самообучающихся систем являются:
- самообучающиеся системы «с учителем», когда для каждого примера
задается в явном виде значение признака его принадлежности некоторому
классу ситуаций (классообразующего признака);
- самообучающиеся системы «без учителя», когда по степени близости
значений признаков классификации система сама выделяет классы ситуаций.
19
Индуктивные системы по принципу от частного к общему обобщают
примеры, а процесс обобщения осуществляется следующим образом:
1)
Выбирается
признак
классификации
из
множества
заданных
(последовательно или по правилу).
2)
По значению выбранного признака множество примеров разбивается
на подмножества.
3)
Выполняется проверка о принадлежности примера к одному классу.
4)
Если
какое-то
подмножество
примеров
принадлежит
одному
подклассу, то есть у всех примеров подмножества совпадает значение
классообразующего
заканчивается
признака,
(остальные
то
процесс
признаки
классификации
классификации
не
рассматриваются).
5)
Для
подмножеств
примеров
с
несовпадающим
значением
классообразующего признака процесс классификации продолжается,
начиная с пункта 1.
Нейронные сети - это такие инструменты для параллельных
вычислений, которые состоят из множества простых процессоров, которые
периодически получают и отправляют сигналы другим процессорам.
Далее следует обратиться к интеллектуальным информационным
системам с точки зрения решаемых задач. Здесь можно выделить следующие
системы:
- системы управления и справочные системы;
- системы компьютерной лингвистики;
- системы распознавания;
- игровые системы;
- системы создания интеллектуальных информационных систем [28 c.
22].
На
рисунке
5
представлена
классификация
информационных систем по решаемым задачам:
20
интеллектуальных
Рисунок 5 –Классификация ИС по решаемым задачам [27, с.14]
Системы могут решать не одну, а несколько задач или в процессе
решения одной задачи решать и ряд других задач.
Интеллектуальные системы также классифицируются по такому
критерию как «используемые методы». Здесь можно выделить мягкие,
жесткие и гибридные методы (рисунок 6):
Рисунок 6 – Классификация ИС по методам [27, с.14]
21
Мягкие вычисления (Soft Computing) – это сложная компьютерная
методология, основанная на нечеткой логике, генетических вычислениях,
нейрокомпьютинге и вероятностных вычислениях.
Жесткие вычисления – стандартные компьютерные вычисления ( не
относящиеся к мягким).
Гибридные системы – системы, использующие более чем одну
компьютерную технологию (в случае интеллектуальных систем – технологии
искусственного интеллекта) [28, c.6].
Классификация искусственных интеллектуальных систем охватывает
огромную теоретическую базу знаний в разных областях науки. Создание и
реализация ИИС – сложный процесс от начального этапа до конечного.
При разработке интеллектуальной системы распознавания эмоций
следует сказать о наиболее популярных методах, используемых в психологии,
криминалистике и других сферах.
1.4
Профайлинг в системе интеллектуального анализа данных
На начальном этапе своего развития термин «профайлинг» обозначал
составление психологического портрета (профиля) преступника по следам на
месте преступления. Иначе, это называется профилированием личности. В
первую очередь метод применяется при поиске серийных убийц. В нём
сочетаются знания криминалистики, психиатрии и психологии. Позже
профайлингом стали называть выявление потенциально опасных личностей.
Сначала технологию использовали в гражданской авиации при предполётном
досмотре пассажиров.
Профайлинг — это совокупность психологических методов и методик
оценки и прогнозирования поведения человека на основе анализа наиболее
информативных
частных
признаков,
невербального и вербального поведения [54].
22
характеристик
внешности,
Методика используется экспертами – профайлерами т.е. специалистами
в области распознавания лжи. Теория профайлинга может эффективно
применяться в компьютерном зрении на основе классификации по
выявленным признакам на предмет потенциальной опасности субъекта или
распознавания лжи преступника.
Для описания эмоций необходимо обратиться к разработанной Полом
Экманом и Уоллесом Фризеном в 1978 году системе кодирования лицевых
движений (сокращенно СКЛиД) [56].
С использованием СКЛиД можно закодировать выражение лица,
создавая модель лица из определенных единиц действия, а также
фиксированного промежутка времени для воспроизведения того или иного
выражения лица. В руководстве СКЛиД Пол Экман интерпретирует эмоции
по сокращению или напряжению одной или нескольких групп мышц.
Система кодирования имеет фиксированные номера дескрипторов,
имеющие существенные разницу с единицами действия. Если единицы
действия точно проявляются в поведении, то мышечная основа в этом
смысле не имеет точного проявления.
Единицы действия (ЕД) представляют собой основные движения,
совершаемые отдельными мышцами или группой мышц.
Дескриптор действия (ДД) – унитарные движения, совершаемые
группами мышц (например выдвигание нижней челюсти вперед). Мышечная
основа для этих движений указана не была. И они не проявляются в
поведении настолько точно, насколько точно в нем проявляются ЕД.
К примеру, СКЛиД может использоваться для двух типов улыбок:
1. Намеренная неискренняя улыбка: происходит сокращение только
главной скуловой мышцы
2. Невольная искренняя улыбка: скоращение главной скуловой мышцы
и нижней части круговой мышцы глаза.
23
Также
экспертам удалось разработать ЭСКЛД
(Эмоциональная
Система Кодирования Лицевых Движений), рассматривающая эмоции,
которые связаны с лицевыми движениями (таблица 2).
Таблица 2 - Система кодирования лицевых движений по П. Экману [56]
Эмоция
Единица действия
Радость
6+12
Печаль
1+4+15
Удивление
1+2+5B+26
Страх
1+2+4+5
Гнев
4 +5 +7 +23
Отвращение
9+16+15
Презрение
R12A+R14A
Также в вопросе определения эмоций и распознавания образов следует
обратить внимание на задачу интеллектуального видео анализа. В таких
системах проявление эмоций делится по классам внешних признаков.
«Эмоциональное
состояние»
сопоставляется
с
«уровнем
напряженности» человека. Эмоциональная напряженность – напряженность
на уровне психики, вызванная длительной перегрузкой эмоциональной
сферы без изменения интенсивности проявления.
Задача автоматического распознавания эмоций привлекает все больше
и больше внимания, и, как следствие, все больше различных методов
используется для ее решения [57].
В настоящее время можно
выделить следующие классы методов,
которые используют элементы профайлинга при разработке системы
распознавания:
- холистические методы (то есть обрабатывающие изображение лица
целиком);
- локальные методы (то есть обрабатывающие изображения элементов лица);
- методы, вычисляющие форму объектов;
24
- методы, вычисляющие динамику объектов.
ANN – искусственные нейронные сети; SVM – методы опорных векторов;
GA – генетические алгоритмы; LVQ – векторное квантование (сеть
Кохонена); AAM – модель представления; ASM – модель формы; EBGM –
эластичный граф; PCA – метод главных компонент; LDA – линейный
дискриминантный анализ; LBP – локальные бинарные шаблоны; HoG –
гистограмма направленных градиентов [10, с.480]. Данные классы указаны в
таблице 3:
Таблица 3 – Классификация методов распознавания эмоций [10 с. 512]
Холистические
Методы
Методы,
вычисляющие форму
Методы,
вычисляющие
динамику
Локальные методы
методы
Классификаторы:
Artificial
Neural
network,
Random
Forest,
Adaboost,
Вейвлеты и фильтры
Габора
Преобразование Хафа
2D Модели лица:
AAM
ASM
EBGM
Классификаторы:
Artificial
Neural
network,
Классификатор
Байеса
Adaboost
Геометрические модели лица
Собственные вектора:
PCA
Оптический поток
Динамические
модели
3D динамические модели
Статистические
модели:
HMM
DBN
Локальные гистограммы:
HoG
LBP
Слияние опросного скрипта и теории микровыражений позволило
профайлингу перейти на иной уровень развития и постепенно начинать
интегрироваться в экономические структуры, в частности, в банковский
сектор, системы безопасности видеонаблюдения.
Таким
образом,
профайлинг
представляет
собой
актуальный
метод
диагностики личности, позволяющий существенно повысить уровень
безопасности для законопослушных граждан.
25
1.5
Искусственные интеллектуальные системы распознавания эмоций
Используя
теорию
профайлинга
и
базовые
эмоции,
а
также
видоизменение эмоций, возможно описать математическую модель той или
иной эмоции. Любое мимическое выражение анализируется и переводится на
язык понятный интеллектуальной системе . Основными и связанными между
собой этапами по созданию математической модели являются:
1. Определение лиц на кадре;
2.
Понимание
искусственной
системой,
что
при
наличии
неестественного поворота лица или недостаточной освещенности – человек
на кадре является одной и той же личностью.
3. Выделение уникальных характеристик лица, которые позволяют
отличить человека от других людей (например, разрез и форма глаз,
удлиненность лица, расположение рта на лице).
Мозг человека проделывает всё это автоматически и мгновенно.
Фактически, люди чрезвычайно хорошо распознают лица и, в конечном
итоге, видят лица в повседневных предметах:
Компьютеры неспособны к такому высокому уровню обобщения,
поэтому приходится учить их каждому шагу в этом процессе отдельно.
Существуют различные взгляды на определение числа этапов
разработки и проектирования интеллектуальных систем. Это зависит от
многих
факторов,
в
частности
от
характера
функций
будущей
интеллектуальной системы, области использования, наличия развитых
инструментальных средств и многих других.
Рассмотрим некоторые из существующих программных систем
автоматического распознавания эмоций.
Для анализа программ были выбраны три критерия в сводной таблице:
возможности системы, достоинства и недостатки (таблица 4). Столбец
«Возможности
системы»
также
предусматривает
использовался при реализации системы.
26
метод
который
Таблица 4– Программное обеспечение распознавания эмоций 2
Система
распозна
вания
эмоций
Face
Reader
EMotion
Software
и
GladOrS
ad
Информация о
системе
Возможности
системы
Компания –
разработчик: Nold
us Information
Technology
(Нидерланды),
используется
видеосъемка лиц
Распознавание
эмоций, определение
этнической
принадлежности,
использование
метода Active
Template, создание
искусственной
модели лица.
Распознавание с
точностью
89%;определять
эмоции можно
пофреймно или
полностью
(видео), полная
визуализация
(гистограммы,
диаграммы
эмоций)
Компания –
разработчик: Visu
al Recognition
(Нидерланды)
Система создает 3D
модель лица с
выявлением 12
ключевых областей,
таких как уголки
глаза и уголки рта.
Компания –
разработчик
MMER-Systems
(Германия)
Наложение на лицо
определенной
деформируемой
маски, которая
позволяет
высчитывать
нужные параметры в
реальном времени
Распознает гнев,
печаль, страх,
удивление,
отвращение и
счастье. ПО не
требовательно к
вычислительной
машине.
Распознает шесть
базовых эмоций,
определяет пол,
возраст,
этническую
принадлежность;
идентифицирует
персону если
ранее фотография
была загружена в
базу; имеет
дополнительные
модули
FacE
Analysis
System
2
Составлено автором по: [47].
27
Достоинства
Недостатки
Не распознает
детей до 5ти
лет; неточное
определение
эмоций у
человека в
очках; разный
цвет кожи
воспринимаетс
я системой по
разному;
повернутое
лицо не
детектируется.
Неизвестны
детали
алгоритма
реализации
(недостатков не
выявлено)
Неполный
охват
загружаемых
данных, т.к.
работать
можно с вебкамерой;
неточные
результаты по
выгрузке
данных.
Окончание таблицы 4
Система
Информация о
распознавани
системе
я эмоций
FaceSecurity Компания –
разработчик: Cognite
c (Германия)
Текущая версия: 4.6
Возможности
системы
Достоинства
Недостатки
Разработка
предназначена
для обработки
уникальных баз
и банков
данных какойлибо категории
людей, к
примеру,
сотрудников по
работе.
Система
воплощает
биометрическу
ю
идентификаци
ю по эталону
образцов из
базы.
Кластерная
конфигураци
я; сортировка
списка
изображений
людей;
доступны
поисковые
выборки
Не распознают
плохоосвещенны
е лица;
распознавание
только
фронтально
расположенных
лиц
Процесс построения искусственных интеллектуальных систем условно
делится на пять этапов (рисунок 7):
Рисунок 7 - Этапы проектирования ИИС [55]
1.
Идентификация
определения
задач
и
идентификация
их
характеристик. Разрабатывается техническое задание на проектируемую
систему, ограничивается круг пользователей системы.
28
2. Выделение главных концепций предметной области, которые
отражают знания круга экспертов. Инженер знаний определяет формальные
средства представления знаний и процедуры получения решений [55].
Выявляются
и
формулируются
понятия,
определяющие
выбор
характерной схемы представления знаний эксперта о предметной области.
Основным источником знаний о проблемной области является человекэксперт, книги, технологические описания, инструкции, документы, методы
«мозгового штурма», методы автоматизированного заполнения баз данных.
Другим важным источником знаний является Интернет (традиционный поиск
необходимой информации и знаний, а также интеллектуальные агенты
(программные роботы)).
3 .Выбор формализма представления знаний и определение механизма
вывода решений. Разработанная структура для представления знаний
является основой для реализации следующего этапа — непосредственного
построения базы знаний системы.
4.Выбор или разработка языка представления знаний. После того как
правила
сформулированы
и
представлены
на
выбранном
языке
представления, они заносятся инженером знаний в БЗ.
5.Тестирование системы путем решения конкретных проверочных
задач.
Этапы создания интеллектуальных систем не являются строго
регламентированными. Между некоторыми из них трудно провести
временную
и
содержательную
границу.
Они
в
какой-то
степени
приблизительно описывают процесс проектирования интеллектуальных
систем [26, с. 15].
Разработка искусственной интеллектуальной системы распознавания
эмоций с применением нейронной сети требует обязательного обучения
нейросети. Для создания нейронной сети к конкретной задаче следует
подобрать значения параметров межнейронных соединений.
29
Данный процесс требует большого объема данных для вывода наборов
характеристик лица и большую производительность компьютера.
Выводы по первой главе:
1) Искусственные интеллектуальные системы классифицируются по
видам, решаемым задачам и методам использования. Широкий спектр ИИС
позволяет выбрать наиболее эффективную систему и точный метод для
решения задачи.
2) Процесс разработки ИИС не имеет строгой регламентации. Условно
проектирование
можно
разделить
на
пять
этапов:
идентификация
характеристик задачи; нахождение понятий для представления знаний;
проектирование структуры для представления знаний; формирование правил
для представления знаний; оценка правил для представления знаний.
3) Под искусственной нейронной сетью понимается математическая
модель, а также ее программная и аппаратная реализация, построенная по
принципу биологических нейронных сетей. Это понятие возникло при
попытке смоделировать процессы, протекающие в мозге человека.
4) Обучение искусственной нейронной сети сложный процесс, где
свободные параметры настраиваются в результате моделирования среды, в
которую встроена сеть. Нейронные сети имеют ряд проблем, одной из
которых является выбор оптимальной модели для построения той или иной
системы, которая эффективно позволяла бы использовать нейронные сети в
действии.
5)
Применение
профайлинга
целесообразно
использовать
при
решении задач распознавание лиц на изображениях или видеопотоке
данных в службах безопасности, бизнесе, банковской и иных сферах.
30
2. ИНФОРМАЦИОННЫЕ МОДЕЛИ НЕЙРОННЫХ СЕТЕЙ И
РАСПОЗНАВАНИЯ ЭМОЦИЙ
2.1
Однонаправленные многослойные сети
Многослойная нейронная сеть может быть формально определена как
совокупность простых обрабатывающих элементов, называемых нейронами.
Нейроны организованы по слоям и объединены однонаправленными связями,
которые называются синапсами [35,с. 38].
Обычно сеть состоит из множества сенсорных элементов (входных
узлов), которые образуют входной слой; одного или нескольких скрытых
слоев вычислительных нейронов и одного выходного слоя нейронов.
Однонаправленные
многослойные
нейронные
сети
наиболее
распространены, так как они имеют простое математическое описание. С
конца 70-х годов многослойные сети получили свое развитие, благодаря
удобным алгоритмам обучения.
Нейронные сети прямого распространения имеют входной сигнал,
который передается от слоя к слою (от одних нейронов к другим). Именно
такие сети и названы многослойным персептроном, который состоит из
входного слоя, скрытых вычислительных слоев внутри системы и выходного
слоя нейронов.
Многослойный
персептрон
–
это
однонаправленная
монотонно
возрастающая
сеть
сигмоидального типа [45].
Сигмоидальная
функция
-
всюду
дифференцируемая S-образная нелинейная функция с насыщением, которую
очень удобно использовать в формальном нейроне в качестве функции
активации. Сигмоид позволяет усиливать слабые сигналы и не насыщаться от
сильных сигналов [45].
Структурная схема многослойного персептрона (в данном случае
двухслойный персептрон) выглядит следующим образом (рисунок 8):
31
Рисунок 8 – Структурная схема многослойного персептрона [44]
Обозначения:
𝑔𝑙 , l=1,2,…,L – сигналы, выходящие из первого слоя нейронов;
(m), m=1,2,… - индексы в скобках вверху означают номер слоя нейрона;
𝑥1 , 𝑥2 , … , 𝑥𝑁 – входные сигналы, которые формируют входной слой;
𝑔1 , 𝑔2 , … , 𝑔𝐿 - первый скрытый слой;
𝑦1 , 𝑦2 , … , 𝑦𝑀 – выходные сигналы, которые формируют слой на выходе.
Кодировка «N-L-M» для удобства обозначения структуры сети [44].
Формулы для расчета выходных сигналов слоев нейронов:
(1)
𝑔𝑙 = 𝑓(∑𝑁
𝑗=0 𝑤𝑙𝑗 ∙ 𝑥𝑗 ), 𝑙 = 1,2, … , 𝐿
𝐿
𝑦𝑖 =
(2)
𝑓(∑ 𝑤𝑖𝑙
𝑖=0
𝐿
∙ 𝑔𝑙 ) =
(1)
𝑁
(2)
𝑓(∑ 𝑤𝑖𝑙
𝑖=0
(1)
∙ 𝑓(∑ 𝑤𝑙𝑗 ∙ 𝑥𝑗 )), 𝑖 = 1,2, … , 𝑀
(2)
𝑗=0
Целевая функция для единичной обучающей выборки < X, D>
выглядит следующим образом:
𝑀
1
𝐸(𝑊) = ∑(𝑦𝑖 − 𝑑𝑖 )2
2
(3)
𝑖=1
Целевая функция для множества обучающих пар <𝑋 𝑘 , 𝐷𝑘 >,
k=1,2,…,p, имеет вид суммы по всем парам:
𝑝
𝑀
1
𝐸(𝑊) = ∑ ∑(𝑦𝑖 − 𝑑𝑖 )2
2
𝑘=1 𝑖=1
32
(4)
Цель обучения многослойного персептрона: при входном векторе 𝑋 𝑘
(1)
(2)
необходимо подобрать такие значения весов сети 𝑤𝑙𝑗 и 𝑤𝑖𝑙 , чтобы
выходной вектор 𝑌 𝑘 и вектор ожидаемых значений 𝐷𝑘 максимально
совпадали.
2.1.1 Обучение многослойного персептрона методом обратного
распространения ошибки
Одним из методов обучения персептрона является алгоритм обратного
распространения ошибки. Предполагается, что вектор будет иметь два
прохода по слоям сети – один прямой, а второй обратный. В первом случае
вектор начинает движение с входного слоя, далее движется по сети от слоя к
слою. При этом внутри самой сети генерируется набор выходных сигналов.
Во время обратного прохода синаптические веса настраиваются таким
образом, что из желаемого выхода сети вычитается фактический, после чего
поступает сигнал ошибки. Далее сигнал в направлении противоположном
синаптическим связям распространяется по сети. Именно поэтому данный
метод получил название обратного распространения ошибки.
Суть
данного
метода
рассмотрим
на
примере
двухслойного
персептрона из рисунка 8. Максимально упростить пример поможет случай
единичной обучающей выборки, целевая функция будет иметь вид согласно
формуле (3). Для уточнения коэффициентов необходима формула метода
градиента:
𝑤 𝑘+1 = 𝑤 𝑘 − 𝜂 ∙ 𝑔𝑟𝑎𝑑𝐸(𝑤 𝑘 )
(5)
В реализации данной формулы основную сложность представляет
расчет компонентов градиента целевой функции, формула (6):
1
(2)
1
(2)
(1)
𝑀
𝑁
𝐿
𝐿
2
2
𝐸(𝑊) = 2 ∑𝑀
(6)
𝑖=1(𝑓(∑𝑙=0 𝑤𝑖𝑙 ∙ 𝑔𝑙 ) − 𝑑𝑖 ) = 2 ∑𝑖=1(𝑓(∑𝑙=0 𝑤𝑖𝑙 ∙ 𝑓(∑𝑗=0 𝑤𝑙𝑗 𝑥𝑗 )) − 𝑑𝑖 )
Производные целевой функции по весам нейронов выходного слоя:
33
𝜕𝐸(𝑊)
(2)
𝜕𝑤𝑖𝑙
Пусть
(2)
𝛿𝑖
(2)
= (𝑦𝑖 − 𝑑𝑖 ) ∙
𝐿
𝜕𝑓 (𝑢𝑖 )
(2)
∙ 𝑔𝑙 , где 𝑢𝑖
(2)
𝜕𝑢𝑖
(2)
= ∑ 𝑤𝑖𝑙 ∙ 𝑔𝑙
(7)
𝑙=0
(2)
= (𝑦𝑖 − 𝑑𝑖 ) ∙
𝜕𝑓(𝑢𝑖 )
(2)
𝜕𝑢𝑖
, тогда компонент вектора градиента имеет
вид:
𝜕𝐸(𝑊)
(2)
𝜕𝑤𝑖𝑙
(2)
=𝛿𝑖
∙ 𝑔𝑙
(8)
Компоненты для весов предпоследнего слоя:
𝜕𝐸(𝑊)
(1)
𝜕𝑤𝑙𝑗
(1)
= 𝛿𝑙
∙ 𝑥𝑗
(9)
Анализ формул позволяет сформулировать правило для расчета
вектора градиента E(W) для производных целевой функции для весов в
каждом слое:
𝜕𝐸(𝑊)
(𝑘)
𝜕𝑤𝑖𝑗
(𝑘)
= 𝛿𝑖
∙ 𝑥𝑗
(10)
𝑥𝑗 − сигнал на входе;
(𝑘)
𝛿𝑖
− погрешность обучения. Благодаря переносу погрешности (𝑦𝑖 − 𝑑𝑖 ) с
выхода сети к предыдущим слоям, метод получил название «обратное
распространение ошибки» [45].
Модель многослойной сети сигмоидального типа и метод ее обучения,
несмотря на свою относительную простоту и удобство, имеет ряд
сложностей, которые замедляют процесс обучения, или вовсе не позволяют
сети обучиться. Например, значения весов в результате коррекции могут
стать очень большими величинами.
Такая ситуация приведет к тому, что большая часть нейронов на
выходе выдаст огромные значения, но производная в этих значениях будет
очень мала.
Процесс может остановиться, так как ошибка, посылаемая обратно в
процессе обучения, пропорциональна этой производной.
34
Кроме того, необходимо выбрать такой размер шага, чтобы он был
конечным. В этом вопросе можно опираться только на опыт. Данный
алгоритм имеет доказательство сходимости. Размер шага напрямую будет
влиять на сходимость: либо она будет слишком медленная, если размер шага
очень мал, либо будет претерпевать постоянную неустойчивость из-за
слишком большого размера шага.
Еще одной сложностью является временная неустойчивость. Сеть
может распознавать буквы, но если, выучив одну, она забывает другую, то
обучение не будет иметь смысла. Процесс обучения должен проводиться так,
чтобы сеть была обучена на всем множестве, без потерь той информации,
которая уже выучена.
2.2
Рекуррентная нейронная сеть
Рекуррентная нейронная сеть самый сложный вид нейронных сетей,
имеющий обратную связь между элементами: от более удаленного к менее
удаленному. Именно обратная связь позволяет сети запоминать и обучаться.
Однако потенциал такой сети плохо изучен из-за сложности анализа [45].
Рекуррентная
искусственная
нейронная
сеть
-
получаемая
из
однонаправленного многослойного персептрона сеть, путем введения
обратных связей с задержкой с выхода на входы сети [5].
Рассмотрим одну из разновидностей таких сетей - это рекуррентная
сеть Элмана, состоящая
из двух слоев. Структурная схема данной сети
представлена на рисунке 9.
Хорошо видно, что обратные связи идут от внутренних слоев, а не от
выходов нейронной сети. Именно такая структура позволяет накапливать и
запоминать информацию.
Сигнал поступает на вход и проходит в скрытый слой. После
преобразования скрытым слоем, сигнал пойдет на выход, а его копия попадет
35
на задержку. Затем в сеть поступает следующий сигнал, и в это же время
поступает копия предыдущего сигнала.
Здесь 𝑣𝑙 , 𝑙 = 1,2, … , 𝐿 − выходные сигналы для первого слоя;
Стандартный вид целевой функции:
𝑀
𝑀
1
1
𝐸 𝑘 (𝑊) = ∑(𝑦𝑖𝑘 − 𝑑𝑖𝑘 )2 = ∑(𝑒𝑖𝑘 )2
2
2
𝑖=1
(11)
𝑖=1
Рисунок 9 – Рекуррентная нейронная сеть [5]
Формула Элмана выглядит следующим образом:
𝜕𝐸 𝑘 (𝑊)
(2)
𝜕𝑤𝑛𝑚
= 𝑒𝑛𝑘 ∙
𝑘)
𝜕𝑓2 (𝑔𝑛
𝑘
𝜕𝑔𝑛
𝑘
∙ 𝑣𝑚
(12)
Обучение рекуррентной сети Элмана можно задать следующим алгоритмом:
1) Определить начальные значения для весов, присвоить k=1.
2) Определить все действующие сигналы сети для текущего момента k.
3) Для всех весов нейронов первого слоя рассчитать значения.
4) Рассчитать все компоненты вектора целевой функции.
5) Для всех слоев скорректировать веса нейронов.
6) Увеличить k на 1, перейти на пункт 2.
Сети Элмана в основном применяются в системах управления
движущимися объектами. Они не обеспечивают высокую точность решения,
36
поскольку наличие обратной связи в скрытом слое не позволяет точно
вычислить градиент функционала. Однако такие сети способны обрабатывать
последовательности
образов,
учитывая
связь
между
элементами
последовательности; имеют высокую способность к обобщению, которая
гораздо выше, чем у многослойного персептрона. Рекуррентные сети
применяются в задачах обработки звука и речи, анализе электронных схем,
задачах компьютерного зрения и обработки сигналов.
2.3
Сети Кохонена
Для решения различных задач классификации используется отдельный
класс нейронных сетей, названный сетями Кохонена. Основная задача
классификации состоит в разделении объектов на классы, по каким - либо
признакам. Основой такого разделения является вектор параметров объекта.
Такие сети еще называют самоорганизующимися сетями на основе
конкуренции [7]. Нейронные сети не требуют «учителя», а действуют по
принципу «победитель получает все». С математической точки зрения это
значит, что есть двухслойная сеть, в которой каждый нейрон обладает всеми
компонентами входного вектора X размерностью N (рисунок 10). На выходе
наибольший сигнал станет единичным, остальные же обратятся в ноль.
Рисунок 10 – Сеть Кохонена [7, с. 112]
Сеть построена на основе нейронов типа WTA (Winner Takes All)[45],
которые выглядят следующим образом (рисунок 11):
37
Рисунок 11 – Нейронная сеть «Победитель получает все» [44]
Входные сигналы для всех конкурирующих нейронов одинаковы,
выходные сигналы считаются по формуле:
𝑁
𝑢𝑖 = ∑ 𝑤𝑖𝑗 ∙ 𝑥𝑗
(13)
𝑗=0
После
сравнения
результатов,
выбирается
победивший
нейрон
(наибольшее значение 𝑢𝑖 ). На выходе сигнал 𝑦𝑖 получает значение 1, в случае
победы, все остальные сигналы нейронов получают значение 0.
Вернемся к рисунку 10. Веса входных связей образуют вектор 𝑊𝑖 =
[𝑤𝑖1 , 𝑤𝑖2 , … , 𝑤𝑖𝑁 ]𝑇 . Очень часто требуется нормализация значений входного
вектора, ведь кроме связей, представленных в схеме, имеют место связи,
которые указывают на степень «соседства» между нейронами.
Процесс обучения выглядит следующим образом:
𝑋𝑘 − обучающий вектор, подается на вход сети;
d (𝑋 𝑘 , 𝑊𝑖 )- расстояние между указанными векторами, определяется для
каждого нейрона. Победителем станет тот нейрон, для которого это
расстояние окажется наименьшим. Вокруг победившего нейрона образуется
𝑆𝑤𝑘 − окрестность из соседних нейронов с известным «расстоянием» до
победителя. Веса победителя и его соседей из окрестности уточняются по
правилу Кохонена:
𝑊𝑖𝑘+1 = 𝑊𝑖𝑘 + 𝜇𝑖𝑘 ∙ (𝑋 𝑘 − 𝑊𝑖𝑘 )
38
(14)
𝜇𝑖𝑘 - коэффициент обучения. С увеличением расстояния от i-ого нейрона до
победителя, значение коэффициента будет уменьшаться.
Веса нейронов вне окрестности 𝑆𝑤𝑘 меняться не будут. Размер
окрестности и коэффициент обучения уменьшаются с течением времени.
2.3.1 Алгоритм Кохонена
В нейронных сетях, предложенных Т. Кохоненом в 1982 году, нейроны
образуют одномерную цепочку, при этом каждый из нейронов имеет соседей
слева и справа. В более сложном случае нейроны могут образовать так
называемую сетку, где каждый нейрон будет иметь по одному соседу справа,
слева, сверху и снизу. Еще один случай, это когда каждый нейрон может
иметь шесть соседей на плоскости (как циферблат часов 2,4,6,8,10,12), то
есть сетка будет гексагональная [46].
По алгоритму Кохонена настраивается коррекция весов и выражается
формулой:
𝑊𝑖𝑘+1 = 𝑊𝑖𝑘 + 𝜇𝑖𝑘 ∙ 𝐺 𝑘 (𝑖, 𝑋 𝑘 ) ∙ (𝑋 𝑘 − 𝑊𝑖𝑘 )
(15)
где 𝐺 𝑘 (𝑖, 𝑋 𝑘 ) − функция «соседства», определяется формулой Гаусса:
𝐺 𝑘 (𝑖, 𝑋 𝑘 ) = exp (−
𝑑 2 (𝑖,𝑋 𝑘 )
2∙(𝜎 𝑘 )2
)
(16)
где d(𝑖, 𝑋 𝑘 ) − расстояние между победителем и i-тым нейроном в k- ом
цикле обучения. Коэффициент обучения 𝜇𝑖𝑘 и (𝜎 𝑘 ) – коэффициент ширины
Гаусса, уменьшаются в процессе обучения.
В результате обучения соседние нейроны становятся представителями
обучающих данных. Достоинство сетей Кохонена заключается в наглядности
представления данных, путем одномерной или двумерной визуализации.
Сети Кохонена принято также называть картами Кохонена.
39
Рисунок 12 – Самоорганизация нейронной сети на основе конкуренции [46]
На рисунке 12 представлен пример обучения сети с самоорганизацией на
основе
конкуренции.
Используется
сеть
с
15
нейронами
и
двухкомпонентным входным вектором X=[𝑥1 , 𝑥2 ]𝑇 . На левом рисунке
представлены данные в обучающей выборке, на правом распределение
нейронов в обученной сети. Задача сводится к такому разбиению
пространства на области, при котором минимизируется среднеквадратичная
ошибка [44].
Нейронные сети Кохонена – это двухслойные сети, состоящие из
входного слоя нейронов и слоя активных нейронов (слой Кохонена), который
может быть одномерным, трехмерным и двумерным [49].
Определение весов нейронов для слоя Кохонена основано на
применении алгоритмов самообучения или кластеризации.
Как и любая модель, сеть Кохонена также имеет ряд сложностей при
реализации:
1) Сети Кохонена работают только с числовыми данными.
2) Изначально необходимо самостоятельно задавать количество кластеров,
если используется метод кластеризации.
3) Необходима минимизация размеров сети.
4) Не всегда оптимальное решение может быть найдено.
2.4
Радиальные нейронные сети
Сеть радиальных базисных функций - нейронная сеть прямого
распространения сигнала, которая содержит промежуточный (скрытый) слой
40
симметричных нейронов. Такой нейрон преобразовывает расстояние от
данного входного вектора до соответствующего ему "центра" по некоторому
нелинейному закону [44].
Радиальные нейронные сети строятся с помощью радиальных
нейронов. В окрестностях своего центра функция активации этих нейронов
имеет ненулевые значения. Это называется локальной аппроксимацией.
Аппроксимация - научный метод, состоящий в замене одних объектов
другими близкими к начальным, но упрощенным в некотором смысле. С
математической точки зрения многослойные сети сигмоидального типа
выполняют аппроксимацию функции нескольких переменных 𝑋 ∈ 𝑅𝑀 во
множество выходных переменных Y∈ 𝑅𝑀 [48].
Сигмоидальная функция исполняет роль функции активации нейронов.
Так как она имеет ненулевое значение на всем диапазоне входных данных, то
в преобразовании входных данных в выходные внутри сети, участвуют все ее
нейроны. Радиальная сеть имеет два слоя: первый слой состоит из
радиальных нейронов, а второй (выходной) состоит из одного нейрона или
же нескольких линейных. На рисунке 13 представлена схема радиальной сети
с одним выходным нейроном:
Рисунок 13 – Структурная схема радиальной нейронной сети [45]
𝛹𝑖 (‖𝑋 − 𝐶𝑖 ‖)- базисная функция или функция активации i-ого радиального
нейрона. Аппроксимация выполняется сетью согласно выражению, для
упрощения 𝑤0 = 0:
41
𝐿
𝑦 = ∑ 𝑤𝑖 ∙ 𝛹𝑖 (‖𝑋 − 𝐶𝑖 ‖)
(17)
𝑖=1
Задача обучения: необходимо подобрать такие значения L, 𝐶𝑖 и 𝑤𝑖 ,
которые доставляют минимум целевой функции:
𝑝
𝐿
1
𝐸 = ∙ ∑(∑ 𝑤𝑖 ∙ 𝛹(‖𝑋 𝑘 − 𝐶𝑖 ‖) − 𝑑 𝑘 )2
2
(18)
𝑘=1 𝑖=1
где p- количество обучающих выборок [46].
Пусть G- матрица Грина. Если параметры радиальных функций
известны, то задача обучения будет аналогична решению системы линейных
алгебраических уравнений
G∙ 𝑊 = 𝐷,
где W=[𝑤1 , 𝑤2 , … , 𝑤𝐿 ]𝑇 - вектор весов;
D= [𝑑1 , 𝑑 2 , … , 𝑑 𝑝 ]𝑇 - вектор ожидаемых значений выходного сигнала сети
В качестве радиальной функции чаще всего используется функция Гаусса:
𝛹(𝑋) = 𝛹(‖𝑋 − 𝐶𝑖 ‖2 ) = exp (−
‖𝑋−𝐶𝑖 ‖22
2∙𝜎𝑖2
)
(19)
𝜎𝑖 − параметр, который задает ширину функции [14].
Процесс обучения радиальной сети включает два этапа:
1.
Для каждого радиального нейрона необходимо подобрать параметры
функции Ψ;
2.
Для выходного слоя нейронов необходимо подобрать веса.
Второй этап несколько проще: если использовать матрицу Грина G,
то вычислительные затраты заключаются в расчете обратной матрицы; если
следовать формуле Гаусса, то здесь процесс решения вновь распадается на
две подзадачи:
а) определение центров 𝐶𝑖 .
Имеется в виду определение величины, для которой основными
требованиями являются полнота покрытия области определения и
равномерность распределения данных.
42
б) расчет параметра 𝜎𝑖
После того, как будут определены все центры радиальной функции,
выбираются параметры, которые определяют величину области охвата.
Чтобы максимально упростить задачу нужно в качестве значения
𝜎𝑖
принять эвклидово расстояние от центра 𝐶𝑖 до ближайшего нейрона.
Радиальные нейронные сети облегчают выбор начальных условий для
процесса обучения, обеспечивают быстрое достижение оптимального
решения.
Полученная
архитектура
радиальных
сетей
имеет
структуру,
аналогичную многослойной структуре сигмоидальных сетей с одним
скрытым слоем. Роль скрытых нейронов в ней играют базисные радиальные
функции, отличающиеся своей формой от сигмоидальных функций.
Несмотря на отмеченное сходство, сети этих типов принципиально
отличаются друг от друга.
Подобного рода сети имеют более слабую способность к обобщению,
по сравнению с сигмоидальными сетями. Этот недостаток компенсируется
за счет разбиения обучающих классов на подклассы. При этом каждый
подкласс будет иметь свой «центр», вокруг которого реализуется
радиальная базисная функция. Кроме того, алгоритм обучения радиальных
сетей уникален.
При наличии только одного скрытого слоя и тесной связи нейрона с
областью обучающих данных, точка еще на начальном этапе обучения
оказывается ближе к оптимальному решению.
В таблице 5 представлен сравнительный анализ второй главы по
выделенным информационным моделям нейронных сетей.
В
таблице
перечислены
основные
информационные
модели
нейронных сетей (по горизонтали), по вертикали перечислены основные
задачи, которые возможно решить с использованием искусственных
нейронных сетей.
43
Таблица 5 – Сравнительный анализ моделей нейронных сетей3
ИНС
Однонаправленные
многослойные сети
Задачи
Ассоциативная
память
Сжатие
информации
Прогнозирование
Сети Кохонена
Радиальные
нейронные сети
+
+
-
+
+
+
-
-
+
+
-
+
+
+
-
+
+
-
-
+
+
Оптимизация
Классификация
Рекуррентные
нейронные сети
(сеть Элмана)
Кластеризация
Ассоциативная память - это особый вид
+
машинной памяти,
используемой в приложениях очень быстрого поиска.
Сжатие информации - алгоритмическое сжатие информации для
уменьшения
занимаемого
объема.
Применяется
для
рационального
использования устройств хранения и передачи данных.
Прогнозирование - оценка возможных путей развития на основании
накопленного опыта и текущих предположений.
Оптимизация- нахождение наилучшего решения задачи при заданных
условиях и ограничениях.
Классификация – решение задачи путем разбиения объектов на классы
по каким- либо признакам.
Кластеризация - задача, в которой требуется разбить заданную выборку
объектов на непересекающиеся подмножества, называемые кластерами, так,
чтобы каждый кластер состоял из схожих объектов.
3
Составлено автором по: [44- 46]
44
2.5
Интенсивность действия движения лицевых мышц
Интенсивность движения мышц определяется следующим образом: к
номеру единицы из СКЛД добавляются буквы с А по Е в зависимости от
интенсивности движения (от минимальной к максимальной).
Значения:
a) А – слабо различимое;
b) В – незначительное;
c) С – заметное или ярко выраженное;
d) D – резкое или крайне заметное;
e) Е – выраженное в высшей степени;
Двигательные единицы относительно воображаемой вертикальной оси
лица могут быть: двусторонние, симметричные, односторонние, левые,
правые.
Список основных двигательных единиц представлен в таблице 6:
Таблица 6 –Двигательные единиц и двигательные дескрипторов [56]
Номер
единицы
Название в СКЛД
Мышечные основы
действия
0
Нейтральное лицо
1
Поднять внутреннюю часть Лобная (медиальная часть)
_
брови
2
Поднять
наружную
часть Лобная (медиальная часть)
брови
4
Опустить брови
мышца, опускающая надпереносье, мышца,
опускающая бровь, мышца, сдвигающая
брови
5
Поднять верхнее веко
мышца глазницы, поднимающая верхнее
веко
45
Окончание таблицы 6
Номер
единицы
Название в СКЛД
Мышечные основы
действия
6
Поднять щёки/щёку
круговая мышца глаза
7
Натянуть веко/веки
круговая мышца глаза — мимическая
мышца ,закрывающая глазную щель и
расширяющая слезный мешок
9
Поднять крылья носа
мышца, поднимающая верхнюю губу и
крыло носа
10
Поднять верхнюю губу
11
Углубить
мышца, поднимающая верхнюю губу
носогубную мимическая
мышца,
складку
носогубную складку
12
Поднять уголки губ
большая скуловая мышца
13
Более
отточено
поднять мышца,
уголки губ
поднимающая
мимическая
углубляющая
угол
мышца,тянущая
рта,
угол
—
рта
кверху
14
Появление ямочек около губ
щечная мышца — мышца щечной области
лица,оттягивающая угол рта в стороны,
прижимающая щеку к зубам, сжимающая
щеки
15
Опустить уголки рта
мышца,
опускающая
угол
рта,
—
мимическая мышца ,опускающая угол рта
16
Опустить нижнюю губу
мышца, опускающая нижнюю губу, —
мимическая
мышца,
оттягивающая
нижнюю губу
17
Сморщить кожу подбородка
подбородочные
ветви;
mentalis;иннервируют
начало:
кожу
n.
области
подбородка
18
Сморщить губы
квадратная
мышца
нижней
губы
и
квадратная мышца верхней губы
19
Показать язык
-
20
Оттянуть губы
мышца
смеха
оттягивающая
—
угол
мимическая
рта
кнаружи
углубляющая носогубную складку
46
мышца,
и
Определение интенсивности движения лицевых мышц, а также знание
основных мимических проявлений на лице человека является неотъемлемой
частью при разработке интеллектуальной системы. Разработчику необходимо
описать каждое кодированное мимическое проявление в геометрическом и
математическом представлении. Данный шаг является самым сложным, так
как требует обработки большого количества информации и достаточного
количества знаний в выбранной области.
2.6
Анализ методов обнаружения лиц на изображении
Задача распознавания эмоций является задачей высокого технического
уровня и эффективно применяется в системах автоматического учета
количества посетителей; системах пропускного контроля в аэропортах,
метро, предприятиях; автоматических системах предотвращения несчастных
случаев; интеллектуальных интерфейсах «человек-компьютер», а также для
стабилизации изображения лица с целью облегчения распознавания эмоций.
Алгоритмы обнаружения лиц на изображении можно разделить на
четыре категории:
- эмпирический метод;
- метод инвариативных признаков;
- распознавание по щаблону, реализованному разработчиком;
- метод обнаружении по внешним признакам (обучающие системы) [36,
с.270].
Эмпирический подход основан на знаниях «сверху-вниз»и предполагает
реализацию алгоритма с правилами, отвечающими фрагменту изображения
на котором найдено человеческое лицо. Набор правил – это формализация
эмпирического знания о представлении лица на изображении и признаки,
которыми руководствуется человек при принятии решения: лицо он видит
или нет. Правила:
- центральная часть лица имеет однородные яркость и цвет;
47
-разница в яркости между центральной частью и верхней частью лица
значительна;
- лицо содержит в себе два симметрично расположенных глаза, нос и
рот, резко отличающиеся по яркости относительно остальной части лица.
Метод уменьшения изображения для исключения возможных помех, а
также для уменьшения вычислительных операций предварительно подвергает
изображение сильному изменению размера (рисунок 14):
Рисунок 14 – Метод уменьшения изображения [36, с.271]
На таком изображении необходимо определить область равномерного
распределения яркости (предполагаемая область лица), а затем проверить
наличие резко отличающихся по яркости областей внутри: именно такие зоны
можно с разным процентом вероятности отнести к «лицу».
Метод гистограмм для определения областей изображения с «лицом»
строит вертикальную и горизонтальную гистограммы. В «подозрительных»
зонах происходит поиск черт лица (рисунок 15):
Рисунок 15 – Метод построения гистограмм [36, с.272]
48
Данный подход использовался в период развития машинного т.к.
предполагал малых требований к вычислительной мощности процессора для
обработки изображения.
Представленные методы имеют неплохие показатели по выявлению
лица на изображении при однородном фоне, они легко реализуемы с
помощью машинного кода.
Позднее были разработаны многие алгоритмы. Однако следует
отметить, что данные методы абсолютно непригодны для обработки
изображений, содержащих большое количество лиц или сложный задний
фон. Также они очень чувствительны к наклону и повороту головы.
Методы характерных инвариантных признаков, базирующиеся на
знаниях «снизу-вверх» образуют второе семейство способов распознавания
лиц.
Здесь подход к проблеме обозначен в виде отсутствия формализации
процесса, происходящие в человеческом мозге. Сторонники подхода
стараются выявить закономерности и свойства изображения лица неявно,
найти инвариантные особенности лица, независимо от угла наклона и
положения.
Основные этапы алгоритмов данных методов:
- детектирование на изображении лица: глаз, нос, рот;
- обнаружение: границы лица, форма, яркость, текстура, цвет;
- объединение всех найденных инвариантных признаков и их верификация.
Метод обнаружения «сложных» лиц основан на поиске правильных
геометрически
расположенных
черт
лица.
Для
этого
используется
гауссовский фильтр с множеством различных масштабов и ориентаций.
После этого производится поиск соответствий найденных черт и их
расположения путем перебора .
49
Метод группировки признаков предполагает применение второй
производной гауссовского фильтра для поиска интересующих областей
изображения [36,с.272]. После этого, края группируются вокруг каждой
такой зоны, используя пороговый фильтр. Далее
применяется оценка
байесовской сети для сочетания выявленных признаков и определяется
выборка черт лица (рисунок 16):
Рисунок 16 – Метод обнаружения «сложных» лиц [36,с.272]
Данные методы способны распознавать лицо в разных положениях. Но
при
незначительном
загромождении
лица
другими
объектами,
возникновении шумов или слишком светлого цвета, точность распознавания
сильно падает. Существенное влияние также оказывает насыщенный задний
фон. Основа рассмотренных подходов - эмпирика, является одновременно их
сильной и слабой стороной.
Применение эмпирических правил позволяет построить некоторую
модель изображения лица и свести задачу к выполнению некоторого
количества относительно простых проверок.
Распознавание по шаблону разработчика предполагает задание
стандартного образа изображения путем описания отдельных свойств и зон
лица, а также их возможного взаимного расположения [36,с.273].
Обнаружение лица с помощью шаблона заключается проверке каждой
из областей изображения на соответствие заданному шаблону. Рассмотрим
два вида шаблонов: недеформируемые и деформируемые.
Шаблоны заранее запрограммированы, в них используется корреляция
для нахождения лиц на изображении.
50
Метод разложения лица при помощи трехмерных форм предполагает
использование шаблона в виде пар отношений яркостей в двух областях. Для
определения местоположения лица необходимо пройти всё изображение на
сравнение с заданным шаблоном, используя различный масштаб (рисунок
17):
Рисунок 17 – Разложение лица на трехмерные формы [36,с.274]
Метод распределения контрольных точек – статистическая модель,
представляющая инциденты, форма которых может деформироваться.
Большое
преимущество
данного
метода
заключается
в
выделении
переменных объектов в рамках набора для обучения с малым количеством
параметров.
Такой
подход
применяется
в
системах
классификации
признаков.
Метод распознавания с использованием шаблонов прост в реализации и
эффективен при работе с изображениями с простым задним фоном.
Недостатком метода является калибровка шаблона вблизи изображении лица.
Следующим методом - обнаружение лица по внешним признакам ( с
этапом обучения и обработкой тестовых изображений). Система по
изображению определяет отношение вектора к одному из классов – лицо / не
лицо. Стандартный поиск лиц на изображении при помощи математической
модели заключается в абсолютном переборе прямоугольных фрагментов
изображения.
Схема
абсолютного
перебора
обладает недостатком
–
избыточность и вычислительная емкость процесса, поэтому обязательно
необходимо сократить количество фрагментов на изображении[36,с.276].
Метод нейронных сетей является наиболее популярным способом
решении задач распознавания образов. При решении задач используется
51
метод
опорных
векторов,
необходимый
для
снижения
размерности
пространства признаков. При этом метод опорных векторов не приводит к
потере информативности отобранных тренировочных объектов, а также
позволяет перейти перейти к базису пространства, где дисперсия будет
направлена вдоль главных осей базиса.
Натянутое на полученные таким образом главные оси подпространство
является оптимальным среди всех пространств в том смысле, что наилучшим
образом описывает тренировочный набор (рисунок 18):
Рисунок 18 – Обучение интеллектуальной системы с помощью
нейронной сети [36,с.275].
Данные алгоритмы схожи с обучением вида «обучение с учителем» и
применяются для задач классификации и регрессионного анализа. Метод
опорных векторов основан на том, что ищется линейное разделение классов.
Главной
целью
тренировки
многих
классификаторов
является
минимизация ошибки классификации на тренировочном наборе (или
эмпирический риск).
Метод Виолы – Джонса на сегодняшний день является самым
перспективным
методом
распознавания
образов
в
силу
высокой
производительности и высоким процентом обнаружения лиц. Признаки,
используемые
алгоритмом,
используют
прямоугольных регионов.
52
суммирование
пикселей
из
Рисунок 19 – Диаграмма «Использование методов обнаружения лиц»4
Анализ методов обнаружении лиц на изображении позволил выделить
эффективные методы обнаружения лиц на изображении, определить
достоинства и недостатки каждого метода, выявить какого рода изображения
могут быть задействованы и эффективны при распознавании, оценить каждый
из методов с экспертной точки зрения.
На сегодняшний день алгоритм Виолы-Джонса является самым
востребованным ввиду своей высокой скорости работы и высокой точности
срабатывания. Нейронные сети в процентном соотношении заняли второе
место. Однако, следует повторить, что трудность использования нейронных
сетей заключается в их обязательном обучении.
Выводы по второй главе:
1) Во второй главе диплома рассмотрены четыре модели нейронных сетей:
- однонаправленная многослойная сеть;
- рекуррентная нейронная сеть (сеть Элмана);
- сеть Кохонена;
- радиальная нейронная сеть.
Каждая из моделей обладает своим набором характеристик, вариантом
реализации и математическим описанием. При выборе нейронной модели
4
Составлено автором по: [36 с.272 - 277].
53
следует учитывать: структурное представление сети, подбор входных
данных, возможность использования нейронной сети для выбранной
системы, способность сети к обучению, возможность поиска оптимального
решения задачи.
2) Многослойная нейронная сеть сигмоидального типа на основе
многослойного персептрона имеет несложное математическое описание,
однако требует грамотной подготовки обучающей последовательности,
формирования обучающей выборки, подбор начальных значений.
3) Рекуррентная нейронная сеть достаточно сложный вид сети. Имеет
обратную связь между элементами, что позволяет сети накапливать и
запоминать информацию. Такая сеть не всегда обеспечивает высокую
точность решения, из-за сложности вычисления градиента функционала в
скрытом слое. Если сеть будет избавлена от чрезмерной или недостаточной
обработки данных, то она также сможет отслеживать изменения показаний
среды, в которую ее поместили.
4) Основной задачей в реализации сетей Кохонена является
разделение объектов на классы, по каким- либо признакам. Такие сети
действуют по принципу «победитель получает все», то есть выходной
сигнал
сети,
имеющий
наибольшее
значение
станет
единичным
(победитель), остальные обратятся в ноль. Сети Кохонена работают с
числовыми данными, на начальном этапе необходима минимизация
размеров сети (то есть уменьшение объема в сети, с целью облегчения
процесса обучения).
5) Радиальные нейронные облегчают выбор начальных условий для
процесса обучения. При наличии одного скрытого слоя и связи нейрона с
соответствующей областью пространства обучающих данных, точка начала
обучения оказывается гораздо ближе к оптимальному решению, по
сравнению с другими моделями нейросетей. Радиальные нейронные сети
имеют несложные алгоритмы обучения. Разбиение объекта на классы
54
компенсирует слабую способность к обобщению у радиальных нейронных
сетей.
6) Система кодирования лицевых движений П. Экмана применяется
для описания эмоций, Для внедрения СКЛД в интеллектуальную систему
необходимо реализовать прототип мимического признака
7) Анализ методов обнаружения лиц на изображении позволил
выделить распространенные методы, которые наиболее эффективно
применяются для решении задач распознавания. Метод с применением
нейронных сетей занимает второе место по эффективности применения
8)
Анализ моделей нейронных сетей позволил выделить две
универсальных
модели,
применимые
для
широкого
круга
задач:
однонаправленные многослойные сети и радиальные нейронные сети.
В
практической
части
исследования
будет
описан
алгоритм
распознавания и выполнена экспериментальная часть по распознаванию
эмоций. Для решения задачи выбрана нейронная сеть на основе
многослойного персептрона.
55
3. АЛГОРИТМ РАСПОЗНАВАНИЯ ЭМОЦИЙ С ПРИМЕНЕНИЕМ
НЕЙРОННОЙ СЕТИ
Математическая постановка задачи распознавания
3.1
Мимические реакции каждого человека имеют определенный набор
стандартных
параметров
проявления
и
делятся
на
две
категории:
геометрические и поведенческие.
Для описания количественных и качественных параметров лица
(произвольных
и
непроизвольных) используют
систему кодирования
лицевых движений. В данном случае количественным параметром является
интенсивность движения от А до Е.
Видеопоток данных представляет собой последовательный набор
кадров. Целью распознавания является объединение лиц на изображениях в
непересекающиеся классы. Задача по распознаванию лиц формулируется
следующим
образом:
требуется
построить
распознающую
функцию
F(w)=( 𝐹1 (𝑤), 𝐹2 (𝑤) … , 𝐹𝑘 (𝑤)), выход который определяет класс изображения
w, представленного вектором признаков ( 𝑥1 (𝑤), … , 𝑥𝑛 (𝑤)) В данном случае
классом является одна из шести базовых эмоций человека.
1, если 𝑤 ∈ 𝛺𝑘
0, если 𝑤 ∉ 𝛺𝑘
𝐹𝑘 (𝑤) = {
∆, если неизвестно 𝑤 ∈ 𝛺𝑘 или 𝑤 ∉ 𝛺𝑘
(20)
Поиск решения осуществляется с использованием искусственных
нейронных сетей.
3.1.1 Получение инвариантов распознавания лиц
Инвариант
-
это
свойство
некоторого
класса
(множества)
математических объектов, остающееся неизменным при преобразованиях
определённого типа [17].
Инвариантные моменты представляют собой характерные признаки,
которые могут встречаться на каждом снимке. Чаще всего лица на
56
видеокадрах подвергаются различным деформациям , свойственным мимике
человека. В таких условиях необходимо сказать о «псевдо-инвариантах» [24].
Центральные моменты цифрового изображения лица определяются по
формуле:
𝑞
𝑚𝑝𝑞 = ∑𝑥 ∑𝑦(𝑥 − 𝑥)𝑝 (𝑦 − 𝑦) 𝑓(𝑥, 𝑦)
(21)
Где 𝑥, 𝑦 – значения, которые являются центром тяжести,
𝑚𝑝𝑞 − центральные моменты порядка не выше чем (p+q)=3, f(x,y) функция яркости. Целесообразно выполнить перевод цветных изображений в
полутоновый вид. После предварительной обработки и нормализации
образец представляет собой матрицу пикселей, каждый из которых имеет
значение яркости в диапазоне [0,1].
3.1.2 Выбор адекватной метрики
Для решения задачи определения принадлежности w к классу 𝛺𝑝
применим свертку в виде евклидовой меры:
𝛺
𝑑(𝑤, 𝛺𝑝 ) = √∑7𝑖=1(𝑀𝑖𝑤 − 𝑀𝑖 𝑝 )2
𝛺𝑝
Где 𝑀𝑖
(22)
𝛺
𝑝
= (∑𝑚
𝑙=1 𝑀𝑖,𝑙 )/𝑚𝑖 - среднее инвариантных моментов всех
изображений, входящих в класс 𝛺𝑝
Метрику можно использовать для измерения расстояний между
изображением w (представленным вектором признаков x) и классом 𝛺𝑝 :
𝑑𝐸−𝑀 (𝑤, 𝛺𝑝 ) = √(𝑥 − 𝑦)𝑇 (𝑆𝑝 + 𝐸)−1 (𝑥 − 𝑦)
(23)
Где 𝑆𝑝 − матрица ковариации класса р, 𝑦 - центр класса [25].
3.1.3 Решение задачи распознавания нейронной сетью
Решение
задачи
распознавания
эмоций
относится
к
задаче
классификации, т.е. нейронная сеть должна отнести полученный набор
57
данных к эмоций , отвечающей заданному набору параметров. Рассмотрим
математическое описание задачи распознавания:
Пусть дано множество М изображений лиц (эмоция, например
удивление) {𝑤1 , … , 𝑤𝑛 }, каждое из которых имеет вектор значений признаков
(мимические
признаки)
𝑋𝑖 = (𝑥𝑖𝑙 , … , 𝑥𝑖𝑚 ),
i=1,…,m,𝑥𝑗 ,j=1, 𝑛,
где
n
–
количество признаков. Вектора признаков отнесены экспертами к некоторым
классам 𝛺𝑙 , 𝑙 = 1, … , 𝑘, M=⋃𝑘𝑙=1 𝛺𝑙 следующим образом: 𝛺1 ={𝑤1 , … , 𝑤𝑚1 },
𝛺2 ={𝑤𝑚1+1 , … , 𝑤𝑚1+𝑚2 },…,𝛺𝑘 = {𝑤𝑚𝑘 −1 , … , 𝑤𝑚 }, где 𝑚1 + 𝑚2 + ⋯ + 𝑚𝑘 =
m, m=|𝑀|
Вся выборка подразделена на два непересекающихся подмножества:
обучающее и тестовое. После обучения искусственной нейронной сети
проверяется качество ее обучения на тесовом множестве.. Предлагается
искусственная нейронная сеть прямого распространения с сигмоидальной
функцией активации σ(x)=
1
1+𝑒 −𝑥
нейронов скрытого слоя и линейной
функцией активации выходного слоя [44].
Нейронная сеть должна быть настроена так, чтобы при подаче вектора
признпков 𝑋𝑖 на вход, отнесенного к классу 𝛺𝑖 на выходе с номером i сеть
выдавала значение «1», а на всех остальных выходах «0». Это достигается
настройкой сети методом обратного распространения ошибки.
С учетом особенностей формирования классов для распознавания лиц
представляет интерес вероятностная нейронная сеть. В ней образцы
классифицируются на основе оценок их близости к классам с учетом
особенностей вероятностного распределения значений признаков. Для
каждого класса на основе учебных данных определяется функция плотности
распределения
признака,
которая
характеризуется
математическим
ожиданием и дисперсией [32].
Функция активации нейрона, который соответствует j-му классу имеет
вид:
58
𝑓𝑖 = exp(− ∑𝑛𝑖=1(𝑤𝑖𝑗 − 𝑥𝑖 )2 /𝜎𝑖𝑗
(24)
Где 𝜎𝑖𝑗 – средне квадратическое отклонение i-го признака j-го класса,
𝑤𝑖𝑗 - математическое ожидание i-го признака j-го класса. В случае, если на
вход вектора признаков был подан неизвестный образец, то выбирается
класс, которому соответствует максимальное выходное значение.
3.2
Методика распознавания двигательной активности лица
1) Для решения задачи распознавания выбрана информационная
модель нейронной сети на основе многослойного персептрона с обратным
распространением ошибки.
2) Для создания прототипа эмоций (метрик) была выбрана Система
кодирования лицевых движений П. Экмана.
3) Для исследования были выбраны 6 базовых эмоций: радость, печаль,
гнев, отвращение, удивление, страх. Такой набор позволяет охватывать
максимальное число реальных выражений лиц.
Каждая эмоции имеет прототип выражения, например, формула
удивления:
1+2+5B+26
(25)
В данной формуле двигательные единицы выражены числами, каждое
из чисел характеризует мимическое проявление, которое задействует
небольшую часть мышц лица.
Латинская «В» обозначает интенсивность движения. Нейросетевая
модель обучается на большом количестве изображений или непрерывном
видеопотоке в режиме реального времени.
Следует отметить, что некоторые из кодов интенсивности действия
являются
труднорегистрируемыми,
например
коды
А
и
В
имеют
незначительную разницу во внешнем проявлении в мимики (рисунки 20,21):
59
Рисунок 20 – Удивление с интенсивностью А5
Рисунок 21 – Удивление с интенсивностью В6
. Двигательные единицы лица (далее ДЕ) можно условно разделить на
три группы:
а) 1 группа: статические ДЕ – возможно определение по фотографии.
б) 2 группа: динамические ДЕ – необходимо отслеживать изменение
положения ключевых точек на лице или иметь среднее значение расстояния
по данной ДЕ;
в) 3 группа: пустые ДЕ – активно участвуют в проявлении эмоций,
однако не регистрируются алгоритмами поиска (ямочки на щеках) [57].
На лице человека можно выделить до 80 значащих областей на лице.
Как правило это границы глаз, рта и бровей. Скуловые мышцы не являются
важным признаком выражения той или иной эмоции.
Каждая из эмоций имеет свою динамику «переживания». Рассмотрим
составляющие групп, которые отмечены в таблице 8:
5
6
Составлено автором по: [56]
Составлено автором по: [56].
60
Таблица 7 – Группы ДЕ для алгоритмов поиска [57, 10 с.20]
Статика
Динамика
Пустые
Радость
12
6
-
Удивление
1,25
2,5,26
27
Гнев
4,25
5,23,24,26
7,10,22
Отвращение
15
9,26,10
16,17
Печаль
1,4,15
-
11
Страх
1
2,5,20,38
-
Система ключевых метрик для распознавания:
1) Высота рта: верх верхней губы – низ нижней губы.
2) Высота открытого рта: низ верхней губы – верх нижней губы.
3) Уголок губ вниз: уголок рта – верх нижней губы.
4) Уголок губ вверх: уголок рта – верх верхней губы.
5) Ширина рта: левый уголок рта – правый уголок рта.
6) Высота подбородка: низ нижней губы – подбородок.
7.)Ширина глаза: верх глаза – низ глаза.
8.)Высота брови: верхний центр брови – середина глаз.
9) Внутренний уголок брови: внутренний угол брови – внутренний угол
глаза.
10.)Внешний уголок брови: внешний угол брови – внешний угол глаза.
Метрики под номерами 3, 4, 7–10 являются несимметричными и
рассчитываются для левой и правой половины отдельно. Нормирование
показателей
осуществляется
по
расстоянию
между
зрачками.
Оно
минимально различается у разных людей и хорошо стандартизирует
обучающую выборку.
Пример метрического представления указан на рисунке 22:
61
Рисунок 22 – Двигательные единицы в системе метрик7
Значения выделенных метрик:
1-.поднять внутреннюю часть брови;
2 – поднять наружную. часть брови;
4 – опустить брови (мышца, опускающая надпереносье, мышца, опускающая
бровь, мышца, сдвигающая брови);
5 – поднять верхнее веко;
6 – круговая мышца глаза;
9- мышца, поднимающая верхнюю губу и крыло носа;
15 – мышца опускающая уголки рта;
7
Составлено автором по:[28].
62
20 - мимическая мышца, оттягивающая угол рта кнаружи и углубляющая
носогубную складку;
23 – мышца, сжимающая губы, вытягивающая их вперед и закрывающая рот;
25 - мышца, опускающая нижнюю губу;
26 –мышца, поднимающая нижнюю челюсть и выдвигающая ее вперед,
жевательная мышца.
Разложение изображения на составляющие, каждое из которых имеет
определенный вес представлено на рисунке 23 (эмоция удивление):
Рисунок 23 – Разложения изображения на трехмерные формы8
Разложение
изображения
на
составляющие
необходимо
для
формирования входных данных для нейронной сети.
Если представить два входных вектора персептрона на координатной
плоскости (рисунок 24, 25), то его работа будет заключаться в том, чтобы
определить,
по
какую
сторону
разделительной
прямой
представленный для распознавания вектор:
Рисунок 24 – Координатная плоскость [12, c.8]
8
Составлено автором по:[36].
63
лежит
Рисунок 25 – Гиперплоскости [12, c.8]
В качестве примера в таблице истинности показаны значения
выходного сигнала для логических функций «И» и «ИЛИ» в зависимости от
комбинации входных сигналов. Таблицы соответствий для координат на
гиперплоскостях:
Таблица 8 – Соответствия значениям логическое «И» [12, 14]
Вход 1
Вход 2
Выход
0
0
0
0
1
0
1
0
0
1
1
1
Таблица 9 - Соответствия значениям логическое «ИЛИ» [12, 14]
Вход 1
Вход 2
Выход
0
0
0
0
1
1
1
0
1
1
1
1
Персептрон
может
классифицировать
только
образы,
которые
разделены при помощи гиперплоскости. Сформулируем алгоритм обратного
распространения ошибки:
64
1.Инициализация весов связей: небольшие случайные значения
и
максимальная среднеквадратическая ошибка;
2. Подать на вход сети входной вектор;
3. Произвести распространение сигналов в соответствии с прямыми
связями;
4. Вычисление ошибки и ошибка выходного слоя нейронов;
5. Вычисление ошибки внутреннего слоя нейронов;
6. Обновление весов связей каждого слоя
Далее представлена экспериментальная часть обучения нейронной
сети в программе MATLAB
3.2.1 Обучение нейронной сети в MATLAB
Обучение нейронной сети производилось в интерактивной среде для
программирования и численных расчетов, а также визуализации результатов
-
MATLAB.
С
помощью
MATLAB
можно
анализировать
данные,
разрабатывать алгоритмы, создавать модели и приложения [58].
Данные
для
нейронной
сети
с
применением
многослойного
персептрона:
Количество входных нейронов: 16 (матрица 4× 4)
Выходных нейронов: 6 (количество эмоций);
Нейроны в скрытом слое: 11.
Количество нейронов в скрытом слое равно половине суммы входных и
выходных нейронов. Для каждого слоя сети имеется вектор смещений.
Обозначим вектор скрытого слоя b1 (включает в себя 11 нейронов).
Выходной слой включает в себя 6 нейронов - b2.
Результат суммы смещения каждого нейрона является аргументом
функции активации нейрона. Возьмем количество наблюдений примерно 3/5
от максимально возможного.
65
Так как 16 бинарных операции составляют входной вектор, то число
возможных
комбинаций
составит
216 = 65536.
Обучающая
последовательность должна составлять приблизительно 65536 входных
образов. Для обучения нейронной сети первоначально необходимо получить
смещения и значения весов, которые минимизируют ошибку обучения.
Алгоритм выполняется строго по составленному плану и на каждом
цикле выполняют определенный набор действий:
1) Элементы обучающей последовательности подаются на вход сети один
за другим.
2) Элементы обучающей последовательности сравниваются с целевыми
(желаемыми) значениями.
3) Вычисляется функционал ошибки.
4) Значения
функционала
и
его
градиента
используются
для
корректировки весов.
5) Операции повторяются до тех пор, пока не будет выполнено
определенное количество циклов или же пока ошибка не перестанет
уменьшаться.
Градиентный алгоритм обучения является самым быстрым из
имеющихся алгоритмов в программном пакете MATLAB, поэтому для
обучения сети его применение рационально.
Чтобы сформировать значения выходного вектора нужно выбрать
такую функцию активации, для которой диапазон выходных сигналов был бы
определен от 0 до 1. Для такого случая выберем логарифмическую
сигмоидальную функцию активации. Данная функция также подходит для
нейронов скрытого и выходного слоев.
Обучение по методу обратного распространения ошибки, требует
создания двухслойной нейронной сети прямой передачи сигнала с
сигмоидальными функциями активации. Запишем в командной строке
программы:
66
net=newf([01;01;01;01;01;01;01;01;01;01…33[0-1]],[11,6],{‘logsig’,’logsig’},’trainrp’);
Пояснение:
а) У сети есть один вектор входа с 16 элементами, для которых допустимая
граница значений одна и та же [0 1];
б) В первом скрытом
слое сеть имеет
нейронов, в выходном слое 7
нейронов;
в) Используемые функции активации: logsig- вычисляет выход слоя по его
входу, указана для каждого слоя; trainrp – функция обучения и модификации
весов и смещений сети, в соответствии с заданным алгоритмом обучения.
Настройка параметров алгоритм обучения:
net.trainparam.goal=1e-5;
net.trainparam.show=50;
net.trainparam.epochs=5000;
goal - предельное значение критерия обучения, ошибка сети;
epochs - максимальное количество циклов обучения;
show-интервал вывода информации.
inputs=[0…1; 0…1; 0…1; 0…1; 0…1; 0…1; 0…1; 0…1; 0…1; 0…1];
targets=[0…1; 0…0; 0…0; 1…0];
Итог:
выполнена
настройка
сети,
сформирована
последовательность, выбран алгоритм обучения.
Процесс обучения сети:
В командную строку MATLAB введем следующее выражение:
net=train(inputs,targets);
Запуск процесса обучения нейронной сети (рисунок 23):
67
обучающая
Рисунок 26 – Запуск процесса обучения в MATLAB9
Выбор файла с данными данных для входа и выхода (рисунок 24):
Рисунок 27 – Выбор данных из сформированного файла10
Выбор количества нейронных слоев (рисунок 25):
9
Составлено автором по: [58].
Составлено автором по:[59].
10
68
Рисунок 28 – Выбор слоев нейронной сети11
Выбор алгоритма обучения нейронной сети (рисунок 26):
Рисунок 29 – Алгоритм обучения нейронной сети12
Процесс обучения нейронной сети (рисунок 27):
11
12
Составлено автором по: [59].
Составлено автором по: [58].
69
Рисунок 30 –Обучение нейронной сети
Окно с обучающими способностями сети (рисунок 28):
Рисунок 31– Графики обучения нейросети 13
В ходе эксперимента эмоция считалась распознанной, если на выходе
нейронной сети имела наибольшее значение.
13
Составлено автором по: [60].
70
В результате моделирования двухслойной нейронной сети были
получены две матрицы весовых коэффициентов IW- для скрытого слоя, LWдля выходного слоя и два вектора смещений b1 и b2 соответственно [15]. Для
нейросети необходимо построить математическую модель и провести анализ
ее функционирования (представлено на рисунках.32, 33).
Рисунок 32 – Матрицы коэффициентов слоев нейронов14
Рисунок 33 – Вектора смещений нейронной сети15
14
15
Составлено автором по: [62].
Составлено автором по: [62].
71
Расчет
вектора
аргументов
для
функций
активации
нейронов
представлен на рисунке 34:
Рисунок 34 – Расчет вектора аргументов16
Результат: в процессе моделирования нейронной сети в программной
среде MathCAD и подаче на вход вектор, который соответствует эмоции
«удивление»,
сеть
сгенерировала
правильный
выходной
сигнал.
Интенсивность эмоции имела наибольшее значение. Итог анализа можно
записать в следующем виде (рис.24):
Рисунок 35 – Модель определения эмоции «удивление»17
Обозначения:
P- вектор входа из 11 элементов;
16
17
Составлено автором по:[62].
Составлено автором по:[62].
72
IW- матрица весовых коэффициентов синапсов (связей первого слоя со
входами);
b1- вектор смещений первого слоя нейронов;
b2- вектор смещений выходного слоя;
f(x)-логарифмическая сигмоидальная функция активации для всех нейронов
сети;
Y- выходной вектор сигналов нейронной сети (состоит из 6 элементов);
S1,S2- аргумент для функций активации 1 и 2 слоя соответственно.
Выводы по третьей главе:
1) Задача распознавания с использованием модели многослойного
персептрона может иметь корректное решение. Сложности реализации и
обучения нейронной сети могут возникнуть при формировании начальных
данных. Для запуска процедуры распознавания необходима предварительная
обработка изображения и разложения каждого элемента лица на отдельные
составляющие.
2) Модель многослойного персептрона оказалась адекватной для
выбранной системы тестирования. Кроме того, многослойный персептрон
может использовать разные алгоритмы обучения, благодаря гибкой
структуре и высокой способности к обучению.
3) Решение задачи распознавания эмоций производилось по заданному
алгоритму.
4) Программные пакеты MATLAB и MathCAD имеют широкий набор
инструментов, которые помогают реализовать математическую модель
задачи, а также помогают обучить и настроить нейронную сеть. Данные
программные продукты быстро вычисляют громоздкие выражения, что
позволяет ускорить процесс получения ответа.
73
ЗАКЛЮЧЕНИЕ
Реализация
интеллектуальной
системы,
способной
распознавать
эмоции человека – это решение технически и математически сложной задачи,
требующей углубленного изучения предметной области, собственного
анализа, умения и навыков при обработке и выборе экспериментальных
данных, глубокие знания в области дискретной математики, геометрии,
программировании, а также психологии и многих других областях науки.
Использование
нейронных
сетей,
при
разработке
систем
распознавания, позволяет структурировать плохоформализованные данные,
ускорить процесс обработки данных, оценить адекватность среды, в которую
помещена информационная модель нейронной сети.
Метрическая система позволяет создать прототипы эмоций, благодаря
которым у разработчика появляется возможность «взаимодействия» с
нейронной сетью, т.е. обучения на основе выявленных прототипов эмоций.
Основная цель магистерской диссертации заключалась в выборе
информационной модели нейронной сети, а
также описании алгоритма
распознавания для решения практической задачи.
Была выбрана информационная модель на основе многослойного
персептрона. Данная модель оптимальна по внутренней структуре и способу
управления информационными потоками между нейронами. Кроме того,
такая модель способна минимизировать число входных элементов. Модель
на основе многослойного персептрона является универсальной моделью и
подходит для решения задач разного уровня сложности, в том числе и для
решения задачи распознавания эмоций.
Основные выводы и результаты исследования:
1)На
основании
изученного
материала
по
искусственным
интеллектуальным системам были выявлены наиболее эффективные системы
и точные методы распознавания, отмечены успешные примеры реализации.
74
Система,
которая
использовалась
в
данной
работе
являлась
самообучающейся.
2) Обзор основных видов информационных моделей нейронных сетей
позволил выделить две универсальные модели, применимые для широкого
круга задач: радиальные нейронные сети прямого распространения и
однонаправленные многослойные сети. Выбор информационной модели для
решения практической задачи был сделан в пользу однонаправленных
многослойных сетей (модель многослойного персептрона). Данная модель
подходит по внутренней структуре и математическому описанию и
предусматривает разные подходы к решению задачи.
3) Существующие методы распознавания эмоций в магистерской
диссертации были рассмотрены теоретически. Среди изученных методов
распознавания был выделен метод с использованием искусственных
нейронных сетей.
4) В практической части работы был рассмотрен математический
аппарат реализации алгоритма распознавания: выбор инвариантов лица,
адекватной метрики, распознавание образов нейронной сетью. Также была
представлена методика распознавания двигательной активности лица и
решена задача распознавания эмоций в программных продуктах анализа и
обработки данных MATLAB и MathCAD.
На основании полученных результатов можно сделать вывод о том, что
выбранная
информационная
модель
искусственной
нейронной
сети
соответствует модели реальной системы и учитывает все ее характеристики.
Все поставленные задачи были выполнены в полном объеме,
следовательно, главная цель была достигнута.
75
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Головко В.А. Нейронные сети: обучения, организация и применение / М.:
ИПРЖР. 2008
2. Градосельская Г.В. Сетевые измерения в социологии: Учебное пособие /М.:
Издательский дом «Новый учебник», 2004. 248 с.
3. Гундырев К.В. Искусственные нейронные сети в задачах диагностирования
рельсовых цепей// Науч.-иссл.лабор. «Компьютерные системы автоматики».
2005.
4. Ефремова
Е.А.,
Дунаев,
Е.В.
Применение
нейронных
сетей
для
прогнозирования финансовых временных рядов.//Доклады ТУСУР. 2004.
5. Заенцев И.В. Нейронные сети: основные модели/Учебное пособие физ. ф-та.
Воронеж. 1999.
6. Иванов А.И. Нейросетевые алгоритмы биометрической идентификации / Издво: Радиотехника. 2006. 144 с.
7. Каллан Р. Основные концепции нейронных сетей/ Изд-во: Вильямс. 2002. 287
с.
8. Кальченко Д.А. Нейронные сети на пороге будущего. / КомпьютПресс, 2005.
9. Каширина И. Л. Нейросетевые технологии: Учебно-методическое пособие для
вузов / Изд-во ВГУ. 2008. 72 с.
10.Князев Б.А., Гапанюк Ю.Е. Распознавание аномального поведения человека/
Инженерный журнал.2013 г. 512 с.
11. Козин Н. Е., Фурсов В. А Поэтапное обучение радиальных нейронных сетей /
РФФИ. амер. фонд гражд. иссл. 2003.
12.Кочеткова А.С. Применение нейронных сетей для мониторинга безопасности //
Серия 9: Исследования молодых ученых. 2007.
13.Крисилов В.А. Представление исходных данных в задачах нейросетевого
программирования / Одесса: ОНПУ. 2003.
14.Круг П.Г. Нейронные сети и нейрокомпьютеры: Учебное пособие по курсу
«Микропроцессоры» / Издательство МЭИ, 2009.176 с.
15.Круглов В.В. Нечеткая логика и искусственные нейронные сети / ФИЗМАЛИТ.
2001.
16.Леван Д.Н., Феоктистов Н.А. Особенности использования многослойного
персептрона/ Науковедени. вып. 2. 2014.
17.Лоскутов А.Ю. Анализ временных рядов. Курс лекций / МГУ. 2013.
18. Луценко А. В. Функция Грина и ее применение: методическое пособие по
курсу «Дифференциальные уравнения» / ХНУ имени В.Н. Каразина. 2013. 28с.
19. Медведев В.С., Потемкин В.Г. Нейронные сети в MATLAB / М.:ДИАЛОГМИФИ. 2002. 496 с.
20. Местерский Л. М. Математические методы распознавания образов / МГУ, курс
лекций. 2004.
21. Минский М., Пейперт С. Персептроны / М.:Мир. 1971.
22. Назаров А.В., Лоскутов А.И. Нейросетевые алгоритмы прогнозирования и
оптимизации систем / СПб: Наука и техника. 2005. 384 с.
23. Нгуен Д. Комплексное исследование задачи классификации с применением
нечетких моделей и распределенных вычислений: дисс канд.тех. наук. Иркутск.
2014.
24.Осовский С. Нейронные сети для обработки информации / М.: Вильямс. 2006.
25. Осовский С. Нейронные сети для обработки информации / пер. с польск. И.Д.
Рудинского. 2002. 344 с.
26.Осовский С. Распознавание образов Обзорная лекция./М.: Вильямс. 2007.
27.Остроух
А.В.
Интеллектуальные
системы
Учебное
пособие/
Научно-
инновационный центр. 2015 г
28. Рассел С., Норвиг П. Искусственный интеллект: современный подход / Изд-во:
Вильямс. 2006. 1424 с.
29. Розенблатт Ф. Принципы нейродинамики. Персептроны и теория механизмов
мозга / М.: Мир. 1992.
77
30. Рудаков А.С. Подходы к решению задачи прогнозирования временных рядов с
помощью нейронных сетей // Анализ данных и интеллектуальные системы.
№.4. 2008.
31. Рутковская Д., Пилиньский, М., Нейронные сети, генетические алгоритмы и
нечеткие системы / М., 2004. 452 с.
32. Семейкин В. Д., Скупченко А.В. Моделирование искуссвенных нейронных
сетей в среде MATLAB // Сист. телекоммуникаций. 2008.
33. Сойфер В.А. Методы компьютерной обработки изображений / М.: Физматлит.
2001. 784 с.
34. Солдатова О.П., Семенов В. В. Применение нейронных сетей для решения
задач прогнозирования / СГАУ им. ак. С.П. Королева. 2010.
35. Тархов Д. А. Нейронные сети. Модели и алгоритмы / Изд-во: Радиотехника.
2007. 256 с.
36. Татаренков
Д.А.
Анализ
методов
обнаружения
лиц
на
изображении//Технические науки. Молодой ученый. 2015. №4(84).
37.Уоссермен Ф. Нейрокомпьютерная техника: теория и практика / пер. с англ.
Ю.А.Зуев, В.А. Точенов.1992.
38. Хайкин С. Нейронные сети. Полный курс / М.: Вильямс, 2006.
39. Халафян А.А. Статистический анализ данных. 3-е изд. учеб./ Бином – Пресс.
2007. 512 с.
40. Царегородцев В. Г. Вычислительные технологии// Вестник КазНУ. ч 3. 2008. с.
308-315.
41. Шамис
А.Л.
Поведение,
восприятие,
мышление:
проблемы
создания
искусственного интеллекта / Изд-во: Наука. 2005. 224 с.
42. Шахнов В.А., Власов А.И., Кузнецов А.С. Нейрокомпьютеры: архитектура и
схемотехника / М.: Изд-во Машиностроение. 2000. 64 с.
43. Шитиков
В.К.,
Розенберг
Г.С.,
Зинченко
идентификации / Тольятти: ИЭВБ РАН. 2003. 463 с.
78
Т.Д.
Методы
системной
44.IT Galaxy [Электронный ресурс]// URL: https://ru.intel.com (дата обращения
15.02.2016).
45. Аналитические
технологии
НейроПроект.
для
прогнозирования
и
анализа
1999-2005.[Электронный
данных//
ресурс]/URL:
http://www.neuroproject.ru/neuro.php (дата обращения 11.02.2016).
46. База и генератор образовательных ресурсов [Электронный ресурс]// МГТУ им.
Н.Э.
Баумана,
кафедра
САПР.
2003-2015.
URL:
http://bigor.bmstu.ru/?cnt/?doc=NN/base.cou (дата обращения 11.03.2016).
47. Введение в теорию нейронных сетей [Электронный ресурс]//Основные понятия
нейросетей/ URL: http://www.orc.ru (дата обращения 12.04.2017)
48. Исследование рынка систем распознавания эмоций сетям [Электронный
ресурс]/ URL: https://habrahabr.ru/post/133686/ (дата обращения 2.02.2017).
49.Области
применения
искусственных
нейронных
сетей
[Электронный
ресурс]//Основные направления использования/ URL: http://www.neuropro.ru/
(дата обращения 9.03.2017)
50.Понятие информации [Электронный ресурс]./ URL: http://cde.osu.ru/ (дата
обращения 12.03.2017)
51.Портал искусственного интеллекта [Электронный ресурс]// Искусственные
нейронные сети /URL: http://www.aiportal.ru (дата обращения 1.04.2017)
52.Применение нейронных сетей в робототехнике [Электронный ресурс]/URL:
http://geektimes.ru/ (дата обращения 3.04.2017)
53.Применение нейронных сетей для задач классификации [Электронный
ресурс]/URL: http://www.basegroup.ru/ (дата обращения 5.04.2017)
54.Профайлинг
[Электронный
ресурс]//
Классификации
эмоций/
URL:https://ru.wikipedia.org/wiki/ (дата обращения 15.04.2017)
55.Разработка и использование интеллектуальных систем [Электронный ресурс]/
URL: http://www.studfiles.ru/preview/5809976/ (дата обращения 14.01.2017)
79
56.Система кодирования лицевых движений [Электронный ресурс]// основные
мимические выражения/ URL: http://dic.academic.ru/dic.nsf/ruwiki/1628394 (дата
обращения 16.04.17)
57.Эмоциональная
напряженность
методика
определения
[Электронный
ресурс]/URL: http://pandia.ru/text/80/079/8545.php (дата обращения 19.04.2017)
58.MATLAB
[Электронный
ресурс]//введение
в
программу/
URL:
http://matlab.ru/products/MATLAB (дата обращения 29.04.2017)
59.MATLAB.
[Электронный
ресурс]//
Лабораторный
практикум/URL:
http://elib.rshu.ru/files_books/pdf/img-503135146.pdf (дата обращения 2.05.2017)
60.MATLAB. [Электронный ресурс]// Инфоурок /URL :https://infourok.ru (дата
обращения 10.05.2017)
61.Microsoft Excel [Электронный ресурс:]// Редактирование таблиц /URL:
https://office.live.com/start/Excel.aspx?omkt=ru-RU (дата обращения 17.05.2017)
62. MathCad
[Электронный
ресурс:]//
Руководство
http://old.exponenta.ru/soft/Mathcad/UsersGuide/0.asp
18.05.2017)
80
пользователя
(дата
/URL:
обращения
Скачать