1

Я работаю над проектом для uni, который требует оценки без маркера без оценки. Для этого я беру два изображения и сопоставляю n функций в определенных местах изображения. Из этих точек я могу найти векторы между этими точками, которые при включении с расстоянием могут быть использованы для оценки нового постулата камеры.Приблизительность искусственной нейронной сети в оценке позы

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

Вопрос у меня есть, если NN может быть подходящим для этой ситуации, если достаточно обучен? и если да, то как бы я вычислил количество скрытых единиц, которые мне нужны, и какова будет лучшая функция активации?

ответ

2

Использование нейронной сети для приложения может очень хорошо работать, однако, я чувствую, вы будете нуждаться в большом количестве обучающих выборок, чтобы позволить сети обобщать. Конечно, это также зависит от типа и количества позы, с которыми вы имеете дело. Мне кажется, что с некоторыми умными математиками можно было бы получить вектор движения непосредственно из входного вектора - если вы случайно придумаете способ сделать это (или предоставить больше информации, чтобы другие могли подумать об этом тоже), это было бы очень предпочтительным, так как в этом случае вы включили бы предварительные знания, которые у вас есть о задаче, вместо того, чтобы полагаться на NN, чтобы узнать это из данных.

Если вы решили идти вперед с подходом Н.Н., держать в виду следующее:

  1. Разделите ваши данные в обучении и проверке обоснованности. Это позволяет вам убедиться, что сеть не перегружена. Вы тренируетесь с использованием набора тренировок и определяете качество конкретной сети, используя ошибку в наборе проверки. Соотношение обучения/валидации зависит от количества данных, которые у вас есть. Большой набор валидаций (например, 50% ваших данных) позволит сделать более точные выводы о качестве обучаемой сети, но часто у вас слишком мало данных для этого. Однако в любом случае я бы предложил использовать не менее 10% ваших данных для проверки.
  2. Что касается количества скрытых единиц, то правило, должно иметь по меньшей мере 10 примеров обучения для каждого свободного параметра, то есть каждого веса. Предположим, что у вас есть трехслойная сеть с 4 входами, 10 скрытыми единицами и 3 выводами, где каждый скрытый блок и выходные единицы дополнительно имеют смещающий вес, у вас будет (4 + 1) * 10 + (10+ 1) * 3 = 83 свободных параметра/веса. В общем, вы должны поэкспериментировать с количеством скрытых единиц, а также количеством скрытых слоев. По моему опыту, 4-слойные сети (т. Е. 2 ​​скрытых слоя) работают лучше, чем трехслойная сеть, но это зависит от проблемы. Поскольку у вас также есть набор валидаций, вы можете узнать, какая архитектура и размер сети работают, не опасаясь переобучения.
  3. Для активации функции вы должны использовать некоторые sigmoid function для обеспечения нелинейного поведения. Мне нравится гиперболический тангенс для его симметрии, но из моего опыта вы можете просто использовать логистическую функцию.
+0

Благодаря это очень хорошо письменный ответ. Причина, по которой я думал, что NN будет полезной, была связана с тем, что она должна быть способна хорошо обобщаться в случае возможных выбросов в данных. Также просто интересно, сколько вы считаете _lots_ с точки зрения наборов для обучения/валидации? –

+0

Как я уже сказал, это зависит от сложности вашей проблемы, т. Е. С какими позами вы имеете дело с и т. Д. В общем, чем больше входных измерений у вас больше, тем больше образцов вам нужно, но трудно дать конкретное число без больше информации о вашей проблеме. Повторяя свое описание, мне кажется, что вы перемещаете камеру внутри статической сцены и хотите получить движение камеры.В этом случае подход, который непосредственно выводит движение, будет более уместным, например, структура из подхода движения. – ahans

+0

Правильно, спасибо большое. Это очень полезно и дает мне много о чем подумать и поиграть. –