За последнее десятилетие у мобильных устройств появилось множество миниатюрных датчиков, позволяющих распознавать контекст (условия) использования гаджетов. Распознавание контекста еще недавно определяли как способность мобильных приложений обнаруживать изменения окружающей среды и реагировать на них [1], но затем определение стало более общим: «получение любой информации, которую можно использовать для оценки состояния человека, места, физического или цифрового объекта [2]». Программисты могут разрабатывать сложные приложения для распознавания контекста, способные идентифицировать характер деятельности пользователя или их групп. Такие приложения поощряют пользователей делиться показаниями датчиков своих мобильных устройств и тем самым создавать когнитивные социальные сети.
Анализ закономерностей, относящихся к человеку, позволит улучшить его качество жизни, а изучение закономерностей, относящихся к коллективу, например к социальной сети, дает возможность на основе полученных знаний делать выводы и принимать решения во имя общего блага. Например, внезапное изменение движения группы (если находящиеся вблизи друг друга люди внезапно начинают бежать) может указывать на опасную ситуацию, такую как террористический акт. Подобного рода информация уже извлекается из записей в социальных сетях.
Мобильные приложения, распознающие контекст, можно разделить на две категории: персональные (человекоцентричные) и коллективные, в том числе основанные на участии и автономные [3].
Человекоцентричные приложения анализируют поведение конкретного пользователя — например, приложение для распознавания активности выясняет закономерности в перемещении человека, анализируя показания датчиков (акселерометров и др.) за прошедшее время и классифицируя его текущую активность. А системы мониторинга групп, полагаясь на сведения от множества носимых устройств, собирают, передают и анализирует данные, позволяющие отслеживать активность участников этих групп и их взаимодействие с окружающей средой. Так, сведения о местонахождении и скорости движения водителей могут помочь в составлении отчетов о дорожных заторах, а автономные средства распознавания осуществляют сбор данных без активного взаимодействия с пользователем.
В зависимости от объектов и ресурсов информация о контексте делится на четыре категории: личность, местонахождение, состояние (активность) и время. Разберем наиболее распространенные мобильные приложения для распознавания состояния и классический метод анализа мобильных данных. Рассмотрим также перспективы методов машинного обучения для анализа мобильных данных на примере распознавания активности человека.
Мобильные приложения для распознавания контекста
Информацию о физической активности людей можно использовать для улучшения качества жизни или выдачи предупреждений (например, медицинских), позволяющих быстрее реагировать в критических ситуациях. Соответствующие приложения занимаются обработкой и классификацией данных, предоставляемых мобильными и носимыми датчиками, для выяснения физической активности индивидуума (ходьба, бег и т. д.). Чаще всего для этого используются трехкомпонентные акселерометры.
Идентификация жестов позволяет распознать действия, недоступные системам анализа человеческой активности, такие как прощальный взмах руки или курение. Средства распознавания падений и соответствующие приложения чаще всего используются в сфере ухода за престарелыми: падения пожилых могут приводить к госпитализации, а предупреждение, мгновенно отправленное приложением, может спасти человеку жизнь.
Средства распознавания столкновений главным образом предназначены для обнаружения ДТП: быстрое оповещение служб спасения об авариях позволяет снизить смертность. По сравнению с внутриавтомобильными системами, реагирующими на ДТП, у мобильных устройств есть преимущества с учетом их распространенности и независимости от автомобиля.
Средства распознавания условий окружающей среды предоставляют контекстные сведения о температуре, влажности, интенсивности освещения и по отдельности не дают большого объема информации, но, например, сведения об атмосферном давлении в сочетании с данными об освещении позволят понять, находится человек в помещении или на открытом воздухе.
Средства распознавания стресса используются для выяснения эмоционального состояния человека, но, поскольку стресс — индивидуальная реакция, вопрос о возможности применения моделей распознавания стресса для групп людей пока открыт. В рамках недавнего исследования проводился анализ данных носимого кардиографа, позволивший достичь 50-процентной точности распознавания эмоций четырех типов («грусть», «счастье», «страх» и «гнев»), однако истинно положительные результаты для состояния страха достигались лишь с точностью 25%, что равносильно обычному угадыванию.
В таблице перечислены приложения по распознаванию контекста, а также мобильные или носимые датчики, на которых они основаны. Хотя приведенные примеры касаются ситуаций с участием индивидуумов, сочетания собранных сведений позволяют при групповом анализе выяснять дополнительную информацию об общественных событиях и ситуациях. Например, высокий уровень стресса отдельного человека может свидетельствовать о том, что он в опасности, а если аналогичные показания получены о нескольких людях в том же районе, это может указывать на событие, угрожающее общественной безопасности.
Датчики, используемые приложениями для распознавания контекста |
Стандартный процесс анализа мобильных данных
Типичный процесс обработки сигналов мобильных датчиков состоит из нескольких этапов (рис. 1).
- Сбор сырых данных. Показания мобильных датчиков собираются в исходном формате — в виде временных рядов, и для обеспечения их анализа необходима предварительная обработка.
- Предварительная обработка. Сырые данные синхронизируются и размечаются, дополняются недостающими данными, например, с помощью линейной интерполяции.
- Сегментация. Срез данных делится на меньшие интервалы, требуемые для анализа, однако, как показали исследования, при распознавании человеческой активности нет универсального оптимального значения временного промежутка.
- Выделение признаков. Попытки классификации сигнальных данных без выделения признаков ведут к неточностям, поэтому, чтобы алгоритмы машинного обучения могли находить полезные контекстные сведения, добавляется этап выделения признаков. На нем выполняется преобразование входных сигналов — например, временные интервалы могут быть преобразованы в диапазоны частот. Для каждой репрезентации используются свои методы абстрагирования преобразованных данных и представления признаков (например, после преобразования Фурье это минимум, максимум и среднее значение), что позволяет затем применять более сложные алгоритмы распознавания контекста.
- Классификация. На входе алгоритмы получают признаки, выделенные вручную. Стандартные алгоритмы обучения, такие как метод k-ближайших соседей, решающие деревья и нейронные сети, используются для обучения модели, которая наилучшим образом подходит для обучающей выборки и верно выводит контекстную информацию, например, распознает вид физической активности.
Рис. 1. Типичная система обработки сигналов. Обработка происходит в несколько этапов; на вход подаются сырые данные, на выходе предоставляются классифицированные |
Глубинное обучение
Самое слабое звено обычной обработки сигналов — этап выделения признаков. Независимо от мощности алгоритма классификации его точность в большой степени зависит от выбранных признаков. Кроме того, выделение признаков занимает много времени, и в большинстве случаев выбранные признаки не отражают всю сложность взаимосвязей и закономерностей, присутствующих в данных. При анализе изображений методы глубинного обучения дают более качественные результаты, чем другие подходы, основанные на признаках, выделенных вручную. Наиболее распространенный алгоритм глубинного обучения — сверточные нейронные сети.
В математике свертка — это операция над двумя функциями, порождающая третью. В сверточных нейронных сетях две объединяемые функции — это входные данные (например, пикселы изображения) и фильтры (веса), которые обучаются находить признаки, наиболее похожие на имеющиеся в обучающей выборке (скажем, границы различных объектов на изображении). В результате обработки входных данных каждым фильтром формируется карта признаков, которые накладываются друг на друга и обрабатываются с помощью нелинейной функции активации, как в обычных нейронных сетях. Результат, в свою очередь, обрабатывается функцией субдискретизации, которая заменяет выходные данные сети в определенной области на сводную статистику по соседним областям. Многослойная обработка посредством таких операций и представляет собой глубинное обучение, и в отличие от обычных нейронных сетей здесь используются семантика и сетеобразная топология входных данных. В сверточных сетях нейроны на каждом слое размещены в трех измерениях. Например, при обработке образов входные изображения характеризуются шириной, высотой и глубиной (скажем, цветное RGB-изображение имеет глубину 3, а полутоновое — 1). Нейроны на каждом слое соединены с небольшим регионом предыдущего слоя, а не со всеми нейронами, благодаря чему уменьшаются потребности алгоритма в памяти и вычислительной мощности.
При распознавании активности человека данные с отметками времени (например, показания акселерометра) рассматриваются как одномерная сеть из выборочных совокупностей, полученных через равные интервалы времени. Как показали исследования, сверточные нейросети также можно использовать в обработке сигналов, что позволяет отказаться от этапа выделения признаков (рис. 2), поскольку он уже является частью алгоритма глубинного обучения. Показано, что с помощью сверточных нейросетей можно добиться более высокой точности классификации, чем посредством традиционной обработки сигналов.
Рис. 2. Архитектура глубокой сверточной нейронной сети, использующей данные трехкомпонентного акселерометра для распознавания человеческой активности |
На рис. 2 приведена архитектура глубинной сверточной нейросети. Входной слой состоит из показаний акселерометра по осям x, y и z, объединенных в общую матрицу, которые обрабатываются серией операций свертки и субдискретизации. При свертках am — это число карт активации (глубины признаков), а fh и fw — высота и ширина сверточного фильтра соответственно. При субдискретизации ph — высота, pw — ширина. Нейроны на последнем слое плоские (представлены в виде вектора) и полностью соединены с плотным слоем, как в многослойном перцептроне. На плотном слое происходит собственно распознавание классов активности (например, бег, сидение и ходьба) путем сопоставления наиболее вероятных классов входным данным.
Нерешенные проблемы
Несмотря на многообещающие результаты, полученные при использовании глубинного обучения в мобильных приложениях анализа показаний датчиков, имеется ряд нерешенных проблем, преодоление которых позволило бы полностью реализовать потенциал метода. В частности, плохая калибровка датчиков в большинстве мобильных устройств приводит к тому, что показания датчиков разных устройств при одних и тех же измерениях различаются. Также есть проблема различия частоты дискретизации датчиков — для разных временных интервалов нужны разные архитектуры глубинного обучения. Например, сверточная нейросеть, обученная на выборочных совокупностях, собранных с частотой дискретизации 200 Гц, не может использоваться для классификации совокупностей, собранных с частотой дискретизации 50 Гц. Чтобы можно было создавать архитектуры сверточных нейросетей со способностью к обобщению, потребуются методы кластеризации и статистической обработки.
В компьютерном зрении существует метод передачи знаний, который дает возможность многократного использования признаков и весов, полученных путем проведенного ранее обучения. Обучение всей сверточной сети с нуля отнимает много времени и требует большого среза данных, поэтому прибегают к использованию готовых признаков, которые корректируются с помощью имеющегося среза данных меньшего размера. Стоит рассмотреть возможность использования передачи знаний и в мобильных приложениях для распознавания контекста.
При реализации сложных мобильных приложений нередко приходится сталкиваться с ограничениями по энергопотреблению и мощности обработки. Приложения для распознавания контекста, особенно на основе глубинного обучения, используют сложные, требующие большой вычислительной мощности алгоритмы, которые быстро сажают батарею. Одно из возможных решений — выполнять такие приложения в облаке, что не всегда приемлемо, особенно когда нужно передавать и обрабатывать информацию в реальном времени.
Существует также проблема применимости глубинного обучения для различных приложений. Показано, что для распознавания человеческой активности глубинное обучение — оптимальный вариант, и этот алгоритм, вероятно, подойдет для любых приложений, связанных с обработкой показаний акселерометра или гироскопа, но он необязательно будет лучшим для анализа показаний других датчиков. В частности, показания акустических датчиков обязательно должны проходить этап выделения признаков, так как при классификации звуков точность результатов выше, если аудиоданные переводятся из временного в частотный домен.
***
Возможность получения контекстных сведений по сырым показаниям датчиков имеет большое значение, а в связи с ростом количества устройств Интернета вещей такие данные будут генерироваться в гигантских объемах. Но пока эта область не привлекла достаточного внимания исследователей — достижения здесь не столь значительны, как на других направлениях машинного обучения, таких как компьютерное зрение, распознавание речи и обработка естественного языка. Таким образом, применение и поиск новых архитектур глубинного обучения — перспективная область исследований.
Литература
- B.N. Schilit, M.M. Theimer. Disseminating Active Map Information to Mobile Hosts // IEEE Networks. — 1994. Vol. 8, N. 5. — P. 22–32.
- G.D. Abowd et al. Towards a Better Understanding of Context and Context-Awareness. Handheld and Ubiquitous Computing, Springer, 1999. — P. 304–307.
- O. Yurur et al. Context-Awareness for Mobile Sensing: A Survey and Future Directions // IEEE Communications Surveys & Tutorials. — 2016. Vol. 18, N. 1. — P. 68–93.
Панагиотис Каснесис (pkasnesis@icbnet.ece.ntua.gr) — аспирант, Иаковос Веньерис (venieris@cs.ntua.gr) — профессор, Афинский национальный технический университет. Харалампос Патрикакис (bpatr@puas.gr) — доцент, Пирейский университет прикладных наук (Греция).