Введение 6
Мотивация 6
Постановка задачи 6
Обзор существующих решений 8
Поиск оптимального решения. Метод градиентного спуска 8
Стандартный градиентный спуск 8
Стохастический градиентный спуск 8
Метод сопряженных градиентов 9
Многослойный персептрон 11
Автоэнкодеры 12
Стандартный автоэнкодер 12
Шумоподавляющий автоэнкодер 13
Стековый шумоподавляющий автоэнкодер 14
Классификаторы 15
Логистическая регрессия 15
HMM 16
Часть 1. Задача распознавания активностей 22
Использование описанных сетей 22
Подходы к использованию HMM 22
Распознавание отдельных слов (word recognition) 22
Распознавание речи (speech recognition) 23
Использование HMM в данной работе 23
Связь автоэнкодера и классификатора 24
Реализация 24
Эксперименты 25
Исходные данные 25
Подбор параметров стекового шумоподавляющего автоэнкодера 25
Сравнение стохастического градиентного спуска и метода сопряженных градиентов 25
Анализ влияния размера окна на результат 28
Логистическая регрессия 32
Модель классификатора 32
Модель стекового шумоподавляющего автоэнкодера с классификатором на вернем слое 34
HMM 35
Подготовка данных 35
Подбор параметров и результаты экспериментов 36
Выводы по задаче распознавания активностей 42
Часть 2. Задача распознавания речи 44
Постановка задачи 44
Модель нейросети и методы ее обучения 44
Подходы к обучению нейросетей 44
Стандартный подход 44
Соревновательный подход 45
Гибрид 46
Модель нейронной сети 47
Реализация 49
Эксперименты 49
Исходные данные 49
Сравнение подходов 49
Стадия pre-training 50
Стадия fine-tuning 52
Обучение модели после стандартного pre-training 52
Обучение модели после соревновательного pre-training 53
Стандартный подход на стадии fine-tuning 54
Соревновательный подход на стадии fine-tuning 55
Сравнение размеров mini-batches 55
Выводы по задаче распознавания речи 55
Заключение 57
Список литературы 5
В задачах выявления некоторых зависимостей между входными и выходными данными хорошо себя зарекомендовали нейронные сети. Чтобы достичь наилучших результатов, нужно найти подходящий для задачи тип сети и обучить ее наиболее оптимальным способом.
Для выявления различных закономерностей в данных используется множество различных сетей. Области применения некоторых из них изучены довольно обширно, области применения других - повод для новых исследований. Актуальны задачи анализа потоковых данных. К такому типу задач относятся: распознавание речи, распознавание слов, распознавание типа активности, определение фаз сна и другие задачи. В частности, для решения задач распознавания речи и отдельных слов успешно применяются Скрытые Марковские Модели (Hidden Markov Model, HMM). В связи с этим возникает вопрос о применимости данного типа сетей к другим задачам анализа потоковых данных.
Данная работа направлена на изучение HMM, анализа применимости данного типа сетей к задаче анализа потока данных, а также выборе наиболее оптимального способа ее обучения. Поставлена задача распознавания фаз сна человека по имеющемуся размеченному набору данных. Ожидается, что после обучения нейронная сеть сможет определять фазы сна по данным, представленным в таком же формате.
Выбор наиболее оптимального способа обучения сети, в данном контексте может быть сформулирован следующим образом: “Как наиболее быстро найти параметры модели, при которых нейросеть будет решать поставленную задачу с необходимой точностью?”.
Постановка задачи
Имеется размеченный набор данных об активности человека (замеры показаний сенсоров в последовательные моменты времени и метки, характеризующие фазы сна). Необходимо создать модель классификатора, которая по аналогичным данным сможет распознавать фазы сна человека в каждый момент времени. В качестве классификатора в модели (одной или нескольких) должна быть использована HMM.
Также нужно рассмотреть различные способы обучения нейронной сети, сравнить их с точки зрения качества и скорости обучения (на той же или другой модели и входных данных).
В данной работе изучены основные понятия, связанные с нейросетями. Более детально исследованы следующие модели: логистическая регрессия, многослойный персептрон, стандартный автоэнкодер, шумоподавляющий автоэнкодер, стековый шумоподавляющий автоэнкодер, скрытые марковские модели. Для проведения экспериментов реализованы модели стекового шумоподавляющего автоэнкодера с тремя классификаторами: логистическая регрессия и два типа скрытых марковских моделей (подход “распознавание слов” и подход “распознавание речи”). Каждая из этих моделей обучалась с целью подбора оптимальных параметров для анализа потоковых данных.
В первой части работы проанализированы возможности применения скрытых марковских моделей для анализа потоковых данных. Эксперименты проводились для задачи распознавания фаз сна. Однако высокой точности достичь не удалось. Причина такого результата может заключаться в том, что функция стоимости останавливается в локальном минимуме, так и не достигнув глобального. В связи с этим встает вопрос о выборе альтернативного подхода к обучению.
Во второй части работы сравнивался стандартный подход к обучению нейросетей с соревновательным. Эксперименты проводились на модели стекового шумоподавляющего автоэнкодера с логистической регрессией в качестве классификатора. Лучшие результаты были получены при обучении стандартным pre-training и стандартным fine-tuning. Однако это и наиболее затратный по времени подход. Применение менее затратного по времени соревновательного подхода на обеих стадиях обучения ухудшает классификации на 2-3%. Использование разных подходов к обучению на стадиях pre-training и fine-tuning не дает лучших результатов по сравнению с одинаковыми подходами на обеих стадиях обучения.
[1] M. Borazio, E. Berlin, N. Kucukyildiz, P. Scholl and K. V. Laerhoven, “Towards Benchmarked Sleep Detection with Inertial Wrist-worn Sensing Units”, IEEE International Conference on Healthcare Informatics, IEEE Press, Sep. 2014.
[2] Lawrence R. Rabiner, “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition”, Proceeding of the IEEE, Feb. 1989, pp. 257-286.
[3] N. Oakley, “Validation with Polysomnography of the Sleepwatch Sleep/Wake Scoring Algorithm used by the Actiwatch Activity Monitoring System,” Technical Report, 1997.
[4] R. J. Cole, D. Kripke F, D. Mullaney, and C. Gillin, “Automatic Sleep/wake Identification from Wrist Activity,” Sleep, vol. 15, no. 5, 1992, pp. 461-469.
[5] Y. Bengio and P. Frasconi, “An input output HMM architecture”, Advances in Neural Information Processing Systems, vol. 7, MIT Press, 1995.
[6] E. Hsu, K. Pulli, J. Popovic, “Style Translation for Human Motion”, ACM Transactions on Graphics, vol. 24 n.3, July 2005.
[7] N. Sukhorukova, A. Stranieri, B. Ofoghi, P. Vamplew, M. Saleem, L.
Ma, A. Ugon, J. Ugon, N. Muecke, H. Amiel, C. Philippe, A. Bani- Mustafa, S. Huda, M. Bertoli, P. Levy, J.-G. Ganascia,
“Automatic sleep stage identification: difficulties and possible solutions”, Proceedings of the Fourth Australasian Workshop on Health Informatics and Knowledge Management, vol. 108, Jan. 2010, pp. 39-44.
[8] James Howard, William Hoff, “Forecasting Building Occupancy Using Sensor Network Data”, Proceedings of the 2nd International Workshop on Big Data, Streams and Heterogeneous Source Mining: Algorithms, Systems, Programming Models and Applications, Aug. 2013, pp. 87-94.
[9] Johannes Stigler, Fabian Ziegler, Anja Gieseke, J.Christof M.Gebhardt, Matthias Rief, “The Complex Folding Network of Single Calmodulin Molecules”, Science, vol. 334, 28 Oct. 2011, pp. 512-516.
[10] Wing Wong, Mark Stamp. “Hunting for metamorphic engines”, Journal in Computer Virology, vol. 2, Issue 3, Dec. 2006, pp. 211-229.
[11] Ka-Chun Wong, Tak-Ming Chan, Chengbin Peng, Yue Li and Zhaolei Zhang, “DNA Motif Elucidation using Belief Propagation”, Nucleic Acids Research, vol. 41, Issue 16, 2013, pp. e153.
[12] Christopher Nicolai and Frederick Sachs, “Solving ION Channel Kinetics with the QuB Software”, Biophysical Reviews and Letters, Available Issues, vol. 08, Issue 03n04, Dec. 2013.
[13] Miguel A. Carreira-Perpinan, Weiran Wang, “Fast algorithms for learning deep neural networks”, Bay Area Machine Learning Symposium, 30 August 2012.
[14] Geoffrey E. Hinton, Simon Osindero, Yee-Whye Teh, “A fast learning algorithm for deep belief nets”, Neural Computation, vol.18, Issue 7, July 2006, pp. 1527-1554.
[15] Ronan Collobert, Jason Weston, “A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning”, Proceedings of the 25th International Conference on Machine Learning (ICML), 2008, pp. 160-167.
[16] James Martens, “Deep learning via Hessian-free optimization”, Proceedings of the 27th International Conference on Machine Learning (ICML), 2010.
[17] Quoc V. Le, Jiquan Ngiam, Adam Coates, Abhik Lahiri, Bobby Prochnow, Andrew Y. Ng, “On Optimization Methods for Deep Learning”, Proceedings of the 28th International Conference on Machine Learning (ICML), 2011.
[18] С. В. Траньков, В. А. Яворский, М. Бородовский, “Анализ эффективности использования семейства алгоритмов GeneMark при аннотации геномов”, Труды МФТИ, том 4, №2 (14), 2012, стр. 202-209.
[19] Р. Каллан, “Основные концепции нейронных сетей”, Вильямс, 2001.
[20] И.Р.Двойной, И.И.Сальников, “Сравнительный анализ структур скрытых марковских моделей, используемых в задаче установления личности человека по изображению лица”, Современные проблемы науки и образования, №6, 2013.
[21] И.В.Заенцев, “Нейронные сети: основные модели”, Учебное пособие к курсу “Нейронные сети”, 1999.
[22] Ф. Уоссермен, “Нейрокомпьютерная техника: Теория и
практика”. Перевод на русский язык, Ю. А. Зуев, В. оченов, 1992, гл. 1, 2, URL: http://neuroschool.narod.ru/books/nntech.html (дата
обращения: 10.03.2014).
[23] Unsupervised Feature Learning and Deep Learning Tutorial, URL: http: //ufldl .stanford.edu/wiki/index.php/UFLDL_T utorial (дата обращения: 15.03.2015).
[24] DeepLearning 0.1 Documentation URL:
http://deeplearning.net/tutorial/contents.html (дата обращения:
20.03.2015).