Можно ли использовать набор векторов в качестве входных данных для нейронной сети?

Надеюсь, здесь есть специалисты по нейронным сетям, которые могут помочь с этим! (:

Предыстория: я использую акселерометр для рисования фигур в воздухе, и мне интересно, можно ли использовать нейронную сеть, чтобы определить, какую фигуру я нарисовал.

Предположим, у меня есть предопределенный «словарь» трех возможных форм (скажем, круг, овал, восьмерка). Я рисую много кругов, собираю полученные данные акселерометра и предварительно обрабатываю их, чтобы создать набор S из N (x, y, z) векторов. (X, y, z — значения ускорения.)

Наконец, у меня есть нейронная сеть с 3 булевыми выходами (круг, овал, рис-8).

Мой вопрос: Какими должны быть входные данные?

Единственное решение, которое я могу придумать: иметь 3N входных данных (x1, y1, z1, x2, y2, z2, ..., xN, yN, zN).

Моя проблема: такое решение не сообщает нейронной сети, что x1, y1, z1 связаны друг с другом, что у них одинаковая временная метка. Насколько я понимаю, нейронная сеть должна каким-то образом получать информацию об этих «отношениях». Это необходимо? Если да, то можно ли это сделать в данном конкретном случае и как? Является ли нейронная сеть совершенно неправильным решением проблемы определения формы по данным акселерометра?


person awreccan    schedule 30.10.2013    source источник
comment
Есть ли у вас опыт работы с рекуррентными нейронными сетями? Они относятся к классу сетей, предназначенных для обработки временных рядов, к чему вы и стремитесь.   -  person jorgenkg    schedule 30.10.2013
comment
Я читал о RNN. Похоже, что RNN были бы полезны для прогнозирования/прогнозирования временных рядов. Но моя проблема связана с идентификацией/классификацией временных рядов: это похоже на то, как NN обучается с тремя графиками цен на акции (A, B, C) и получает другой график цен на акции, и его просят классифицировать его. как наиболее похожий на акции A/B/C. Чтобы еще больше усложнить ситуацию, мои данные трехмерны. Любые идеи о том, как это можно сделать?   -  person awreccan    schedule 02.11.2013
comment
Нейронные сети, включая RNN, являются отличными классификаторами. Я полагаю, что вы намереваетесь классифицировать различные входные последовательности (обнаруженные движения) как разные шаблоны. Таким образом, сеть сможет сообщить вам, похож ли текущий поток данных на ваш набор данных (определенные шаблоны движения). Что касается 3D-данных: взгляните на рисунок ниже. Ввод (x, y, z) подается одновременно.   -  person jorgenkg    schedule 03.11.2013


Ответы (1)


Как это может быть реализовано

Рекуррентная сеть

Несколько указателей

Мы надеемся, что это поможет вам решить эту проблему с помощью нейронных сетей! Если вы решите использовать эти сети, я бы порекомендовал вам изучить, например: Long Short Time Memory (LSTM Neural Network ) и, в частности, прочитать эту дипломную работу.

Временные ряды

Сеть сможет учитывать предыдущие векторные входы сенсорных данных, но, как вы можете догадаться, мы не можем добавлять бесконечно много слоев. На самом деле рекуррентные сети начнут испытывать трудности, если мы добавим слишком много слоев. Эта проблема также обсуждается в диссертации, на которую я ссылаюсь.

ЛСТМ

Нейронная сеть LSTM специально разработана для распознавания различных шаблонов ввода. Что будет соответствовать вашему запросу о распознавании меньшего набора жестов.

person jorgenkg    schedule 30.10.2013
comment
Спасибо за ссылки! Но я не понимаю обоснования предложенной вами реализации. Означает ли это, что я должен обучать каждый слой отдельно (с входными данными при t=T и выходными данными при t=T-1)? Если да, то почему я должен позволять сети предоставлять мне, возможно, ошибочные данные для t=T-1, когда у меня готовы реальные данные? - person awreccan; 02.11.2013
comment
Нет, RNN работает не так. Вы можете смотреть на это как на обычную NN, но с входными данными, подаваемыми в виде потока вместо увеличения количества входов. - person jorgenkg; 03.11.2013
comment
Я провел небольшое исследование RNN. (На какое-то время я отложил этот проект на второй план, но сейчас вернулся к нему.) Я все еще пытаюсь понять, что именно вы рекомендуете. (Возможно, это из-за моего незнания, не имеющего отношения к вашему ответу.) Правильно ли я понимаю, что вы рекомендуете RNN, например, в этом изображение, но с несколькими уровнями контекста, например, в этом изображение? - person awreccan; 30.11.2013
comment
Если это так, разве это не скользящее окно на скрытом слое вместо входных данных? Если да, то не будут ли прошлые входные данные (известные точно) более предпочтительными, чем прошлые выходные данные скрытого слоя? - person awreccan; 30.11.2013