Решетневские чтения. 2018
УДК 519.87
ОБ ЭФФЕКТИВНОСТИ АВТОМАТИЧЕСКОЙ НАСТРОЙКИ НЕЙРОННЫХ СЕТЕЙ САМОНАСТРАИВАЮЩИМСЯ ГЕНЕТИЧЕСКИМ АЛГОРИТМОМ В ЗАДАЧАХ ОБРАБОТКИ ВИДЕОИНФОРМАЦИИ*
Я. С. Полонская
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Е-mail: [email protected]
Представлено решение задачи распознавания боли у респондентов при помощи нейросетевого классификатора. При помощи самонастраивающегося генетического алгоритма были выбраны наиболее эффективные нейросетевые модели для решения данной задачи.
Ключевые слова: распознавание боли, генетический алгоритм, нейронные сети, классификация, обработка видео.
ON THE EFFECTIVENESS OF NEURAL NETWORKS AUTOMATIC SETTING WITH SELF-CONFIGURING GENETIC ALGORITHM IN VIDEO PROCESSING PROBLEMS
Y. S. Polonskaya
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation
E-mail: [email protected]
The paper presents the solution ofpain recognition problem of respondents using a neural network classifier. With the help of evolutionary algorithms, the most effective neural network models for solving this problem were chosen.
Keywords: pain recognition, genetic algorithm, neural networks, classification, video processing.
Для эффективного использования нейронной сети необходимо оптимизировать ее структуру и весовые коэффициенты. Сетевые структуры обычно выбираются на основе предшествующих знаний разработчика, или же методом проб и ошибок. Автоматизация процесса проектирования с помощью эволюционных подходов принесет пользу разработчикам интеллектуальных систем и упростит работу специалистов. В данной работе предлагается методология выбора нейросетевых моделей прямого распространения при помощи самонастраивающегося генетического алгоритма (СГА). СГА используется для определения оптимального количества скрытых слоев, количества нейронов на каждом слое и активационных функций каждого слоя. Предлагаемая технология была применена к задаче распознавания интенсивности боли.
В данном исследовании использовались нейронные сети из библиотеки Keras [1] языка Python. Была создана интеграция СГА реализованного на C++, и реализации нейронной сети в Python. Работа с модулем Python, который содержит функцию параллельного вычисления нейронных сетей, была реализована с использованием библиотеки C-API [2]. В данной работе были использованы следующие типы слоев
нейронной сети: 1) Dense (обычный полносвязный слой), у которого можно оптимизировать количество нейронов и функцию активации; 2) Dropout (слой, исключающий определенную долю выходов следующего перед ним слоя). Полезность данного слоя в том, что он позволяет предотвратить переобучение. Можно оптимизировать число, определяющее долю выходов предыдущего слоя, которые будут исключены. Виды функций активации, которые были использованы: softmax, elu, selu, softplus, softsign, relu, tanh, sigmoid, hard_sigmoid, linear.
Хромосома, которая описывает одну часть сети (слой Dense + слой Dropout), делится на четыре части, представляющие собой бинарные строки различной длины. Первая часть представляет собой тип функции активации на слое Dense, вторая представляет количество нейронов слоя Dense, третья наличие или отсутствие слоя Dropout после Dense, а затем, четвертая -это доля выходов предыдущего слоя, которые будут исключены. Если третья часть хромосомы содержит 0, то слой Dropout не выражается в фенотипе.
Данные, использованные в настоящей работе, были собраны в Ульмском Университете специально для исследований в области распознавания боли [3-5].
Исследование выполнено при поддержке Красноярского краевого фонда науки в рамках прохождения стажировки «Рекуррентные нейронные сети глубинного обучения для интеллектуального анализа видеоизображений».
Математические методы моделирования, управления и анализа данных
В базе содержится информация по 40 участникам (20 мужчин, 20 женщин), каждый был подвержен двум сериям экспериментов длительностью около 40 минут каждый, во время которого предплечья были стимулированы путем нагревания до определенных температур (несколько уровней боли). Поведение каждого участника записывали с помощью аудио, видео и биофизиологических датчиков. Всего было определено четыре уровня боли, от базового (отсутствие боли) до крайнего четвертого (максимальная боль). Одной из главных задач является отделение 1 уровня от 4-го, поэтому решалась задача бинарной классификации. Отдельный участник представлен двумя наборами данных - эксперименты на правом и левом предплечье. В данной работе был произведен анализ данных на таких наборах признаков как видео и КГР (кожно-гальваническая реакция). КГР содержит 77 признака, а видео 714.
Финальная лучшая структура, найденная при помощи СГА, тестировалась на всех 40 пациентах с использованием кросс-валидации, на основе чего, рассчитывался средняя точность классификации. После этого вычислялся t-критерий Стьюдента для определения статистически значимых различий в результатах. Для группы признаков КГР, наилучший результат составил 81,6 % для левого предплечья и 82,29 % для правого. Между данными результатами нет статистически значимых различий. При использовании видео, были получен результат 65,6 % для левого предплечья и 65,4 % для правого. В данном случае также не наблюдается статистически значимых различий между результатами.
Далее, приведена структура нейронной сети, найденная самонастратвающимся ГА, для группы признаков КГР, на данных правого предплечья.
1 слой - Dense (23 нейрона, активационная функ-ция-'elu' )
2 слой - Dense (29 нейронов, активационная функ-ция-'tanh' )
3 слой - Dense (13 нейронов, активационная функ-ция-'selu' )
Структура, найденная самонастратвающимся ГА, для группы видеопризнаков, с использованием данных левого предплечья:
1 слой - Dense (9 нейронов, активационная функ-ция-'linear' )
2 слой - Dropout (0.281250)
3 слой - Dense (16 нейронов, активационная функ-ция-linear' )
4 слой - Dropout(0.210938)
5 слой - Dense (16 нейронов, активационная функ-ция-'linear' )
6 слой - Dropout(0.398438)
7 слой - Dense (11 нейронов, активационная функция-linear' )
8 слой - Dropout(0.078125))
9 слой - Dense (8 нейронов, активационная функ-ция-'sigmoid' )
10 слой - Dropout(0.296875))
11 слой - Dense (18 нейронов, активационная функция-'softsign' )
12 слой - Dense (9 нейронов, активационная функ-ция-'selu' )
13 слой - Dense (2 нейрона, активационная функ-ция=' softsign ' )
14 слой - Dense (17 нейронов, активационная функция-'tanh' )
15 слой - Dense (16 нейронов, активационная функция=' softsign ' )
Взглянув на сети, найденные СГА, можно заметить, что размер сети значительно зависит от количества признаков. Большие сети, лучше работают с большим набором признаков, и чем меньше признаков мы имеем, тем меньше смысла использовать большую сеть. Не смотря на то, что автоматическая настройка структуры не позволила значимо повысить результат Ученых Ульмского Университета, данная технология является полезной для исследователей, так как позволяет экономить временные ресурсы, которые затрачиваются на подбор структуры вручную, путем экспериментов.
References
1. Keras library. Available at: https://keras.io/ (accessed: 15.05.2018).
2. C-API library. Available at: https://docs.python. org/3/c-api/index.html (accessed: 10.06.2018).
3. Thiam P. et al. Audio-Visual Recognition of Pain Intensity // IAPR Workshop on Multimodal Pattern Recognition of Social Signals in Human-Computer Interaction. Springer, Cham, 2016. Р. 110-126.
4. Velana, M., Gruss, S., Layher, G., Thiam, P., Zhang, Y., Schork, D., ... & Schwenker, F. (2016, December). The SenseEmotion Database: A Multimodal Database for the Development and Systematic Validation of an Automatic Pain-and Emotion-Recognition System. In IAPR Workshop on Multimodal Pattern Recognition of Social Signals in Human-Computer Interaction. Springer, Cham. P. 127-139.
5. Veer K., Sharma T. A novel feature extraction for robust EMG pattern recognition // Journal of medical engineering & technology. 2016. Vol. 40, №. 4. Р. 149-154.
© Полонская Я. С., 2018