Войти
tikkaФорум

Размышления на тему процедурной анимации (комментарии)

Страницы: 1 2 Следующая »
#0
10:26, 11 июня 2010

Размышления на тему процедурной анимации (комментарии)

Это сообщение сгенерировано автоматически.


#1
0:57, 12 июня 2010

Ты хочешь изобрести инверсную кинематику? :)

#2
6:08, 12 июня 2010

ну ты почти успел

#3
12:42, 12 июня 2010

Sergio
>>Ты хочешь изобрести инверсную кинематику? :)
Ну, инверсная кинематика все же немного о другом:) И сложное движение там нужно представлять набором кейфреймов. Я хочу сделать "динамический" метод. Что-бы система могла адаптироваться к условиям среды и поставленным целям, и сама строила оптимальную(с точки зрения энергозатрат) траекторию.

Suslik
Видел этот топик. Согласен, подход более практичен, но хочется чего-то более общего. Если я провильно понял, у тебя тело пытается двигать лапы заданной траектории. Вот хотелось бы, что бы животное само выбирало траекторию, оптимальную для конкретной цели. Там в топике еще было предложение раскладываеть функцию сил в ряд фурье по времени (частный случай, по косинусам?), пользуясь ее периодичностью и оптимизировать по коэффициентам. Покатит только для константной среды и условий, и много неясностей (например, нужно животное изначально поставить на правильную траекторию, которая неизвестна).
Ваш подход ГА + НС мне нравится больше, и думаю из него можно кое-что выжать.

#4
13:34, 12 июня 2010

tikka
Ну так любая задача минимизации энергии в данном случае сводится к схеме: внести рандомную вариацию в движения, посчитать вариацию энергии, подумать ещё раз об оптимальной последовательности движений. очевидно, первая же проблема в том, как вносить эту самую вариацию. по фурье как-то тупенько, имхо. вносить вариацию в нейросеть не выглядит так тупенько просто потому что бог знает, что там при этом происходит, по крайней мере не очевидно, что это совсем плохо :)

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

а вообще постараюсь следить за темой. если ты придумаешь что-то умное и сможешь мне это объяснить, за реализацией дело не встанет, я быстренько накатаю.

#5
14:35, 12 июня 2010

>>некоторые функции просто совершенно не информативны, просто потому что считаются только численно, для некоторых(например, для мощности) ты почему-то делаешь достаточно резкие замечания, что пространство функций выделяемой при стоянии существом мощности образуют гильбертово пространство, откуда-то вводишь в этом пространстве скалярное произведение как свёртку, в общем, подобные вещи либо должны вести к каким-то очевидно полезным мыслям, либо их логика должна быть прозрачна, либо их надо пояснить, либо не высказывать вообще.
Я рассматриваю не функцию мощности, а отображение (Положение, Скорость, Среда) -> Силы_в_сочленениях
Суть такая, наше искомое отображение, пусть и разрывно, но с достаточной точностью может быть аппроксимированно непрерывном отображением F. Введем скалярное произведение и норму порожденную им, из непрерывности следует полнота пространства по норме -> получим гильбертово пространство. Тот факт что наше пространство гильбертово позволяет приближать отображение рядом Фурье с произвольным ортонормированным базисом. И, возможно, позволит заюзать свойства ряда Фурье.

>>вносить вариацию в нейросеть не выглядит так тупенько просто потому что бог знает, что там при этом происходит, по крайней мере не очевидно, что это совсем плохо :)
Ну почему бог знает. Искомое F принадлежит пространству непрерывных C. Множество функций, которые можно построить нейронной сетью, замкнуто относительно взвешенного суммирования (т.е. это линейное пространство) и относительно нелинейного преобразования. В пейпере, что я привел, даказывается что такое множество совпадает с пространсвом C. То есть существует сеть (возможно бесконечная) задающая F. Варируя сеть, мы как бы подбираем преобразование, то есть делаем нечто похожее на подбор коэффициентов ряда. Но интуитвно кажется, что для аппросимации нужно меньше нейронов, чем членов в ряду.

#6
16:33, 12 июня 2010

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

tikka
> Суть такая, наше искомое отображение, пусть и разрывно, но с достаточной
> точностью может быть аппроксимированно непрерывном отображением F. Введем
> скалярное произведение и норму порожденную им, из непрерывности следует полнота
> пространства по норме -> получим гильбертово пространство.
к чему это всё? то, что это отображение можно раскладывать по гармоникам, вроде, никто под сомнение и не ставил. проблема мне видится в том, что брать первую попавшуюся ортогональную систему функция для разложения - неэффективно.

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

#7
16:37, 12 июня 2010

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

#8
17:14, 12 июня 2010

tikka
> Я люблю так подходить к вопросу, потому что так яснее с чем именно имею дело.
обычно такой подход используется, либо когда хочется отвести внимание от сути, либо на последнем этапе, когда всё уже нужно строго оформлять. ну дело твоё, конечно, но на форуме достаточно много людей, кто мог бы подкинуть идею на качественном уровне, но с таким подходом они просто ничего не поймут. у меня-то эти знания ещё пока свежие, мне нормально.

#9
17:17, 12 июня 2010

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

#10
17:20, 12 июня 2010

tikka
> В принципе уже сейчас можно сделать вывод что для решения задачи достаточно НС прямого распространения, а не абсолютно произвольной.
"достаточно"? достаточно было бы просто по многочленам целевую функцию разложить. достаточно также НС с бесконечным количество нейронов. с прямым распространением, угу. математически многие методы будут сходиться в пределе. если хочешь одной математикой дойти до рабочего метода, вводи дополнительный критерий оптимальности схемы и пошёл фигачить многокритериальный анализ. уверен, что оно тебе надо?

а до вормстартинга я так и дошёл. у меня сначала был реализован PGS, только потом SI.

#11
17:31, 12 июня 2010

>>НС с бесконечным количество нейронов
ну блин. Эта формулировка как раз размыта. Сюда попадают, например, строго слоистые схемы с преобразователями поверх сумматоров, и они гаранитий не дают.
А так у нас есть вполне конкретные требования: замкнутость относительно суммирования, замкнутость относительно нелинейной функции.

#12
17:36, 12 июня 2010

>>и пошёл фигачить многокритериальный анализ. уверен, что оно тебе надо?
А зачем фигачить. вот щас от учебы немного освобожусь и попробую забацать ГА+НС и посмотреть че выдет.
Во всяком случае буковки мои наработанные НС читать умеют, а ГА умеют коммивояжера решать:)

#13
18:25, 12 июня 2010

tikka
я бы советовал поступить примерно как мы с Alexander K тогда решили:

вместо того, чтобы сразу бросаться обучать НС реальной задаче, сначала поучи её каким-нибудь простым, но более-менее реальным функциям - синус, константа, хевисайда. просто задавай минимум энергии именно на таких функциях, например, просто по норме L2 : integral((f(x) - sin(x))2). если их нормально будет аппроксимировать, с реальной задачей будет больше шансов справиться.

#14
19:34, 12 июня 2010

Suslik
Спасибо за совет.

Еще немного позанудствую:) И отмечу что твоя формула - не норма, т.к. не выполняется ||a*f|| = |a|*||f||. Нужно еще взять корень. Но для минимизации пойдет и без корня.

Страницы: 1 2 Следующая »
tikkaФорум

Тема в архиве.