Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37
Warning: file_put_contents(aCache/aDaily/post/optozorax_dev/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50 dev optozorax@optozorax_dev P.717
Теперь я научился почти гарантированно обучать нейронку управлять машинкой при сложной физике. Ради чего я и написал два прошлых поста.
В двух прошлых постах шло обсуждение обучения при простой физике, когда нет сил, колёс, инерции итд, а машинка просто безусловно двигается вперёд и безусловно поворачивается по воле нейронки. Даже для такой простой задачи обучение толком не сходится, как можете видеть (уж слишком сложные трассы я наделал видимо).
Ну и я начал исследовать как же добиться того чтобы можно было начинать обучение с простой физики, а заканчивать сложной. Сравнил три разных подхода: 1. Начинать обучение сразу со сложной физики (x = 0.0). 2. Встроить сложность физики в параметр оптимизации и давать очень большую награду за его увеличение. 3. Начинать с простой (x = 1.0), а потом постепенно увеличивать сложность в цикле (x -= 0.02).
Первый вариант изображён синим цветом, по нему видно что он очень плохой, в среднем не проходит трассу, не может научиться быстро ездить, много врезается в стену. Поэтому какое-то сведение к простой физике жизненно необходимо, иначе ничего никогда обучить нельзя. Именно это я и видел в одном из прошлых постов.
Второй вариант изображён зелёным цветом, и его суть в том что сложность физики эволюционируется рядом с параметрами нейросети, и награда за сложную физику даётся очень большая, больше чем прохождение конкретных уровней. Сделал награду такой: если все трассы пройдены, то давать награду за сложность физики, иначе штрафовать за сложность физики, чтобы она была максимально простой. Идея была в том что сначала нейронка обучается проходить все трассы на простой физике, и только как этого достигает, она начинает проходить по сложной физике, причём ей запрещено разучиваться проходить хотя бы одну трассу, иначе она теряет очень много награды.
Этот вариант был самым перспективным, и как мне казалось, гениальным. Я думал что смогу просто встроить в метрику любые подобные параметры, и не надо будет писать ручные циклы, а можно будет делать всё в рамках одного обучения. Но как оказалось, это обучалось очень плохо, доходило до простоты физики около 0.2, и дальше никак не эволюционировало. Как я посмотрел, машинка стала вилять, и из-за медленного прохождения трассы ей перестало хватать квоты на число шагов и поэтому она не могла дальше уменьшать простоту физики, ведь у неё есть требование что все трассы должны проходиться.
Я перепробовал очень много модификаций к этой идее, но ничего не смогло заставить её нормально сходиться.
То как эта метрика работает можно видеть на графике: количество пройденных треков у неё очень хорошее, потому что на оптимизирует до тех пор, пока все треки не пройдутся, но сложность физики она оптимзириует очень плохо, а штраф не в нуле.
Ну и третий вариант, изображён красным цветом, самый тупой: сначала тупо запускаем 100 поколений эволюции на простой физике, затем усложняем физику с шагом 0.02, и эволюционируем максимум 10 поколений, или пока новый скор не будет больше или равен старому. Затем снова эволюционируем 100 поколений чтобы машикна стала лучше ездить.
И это показывает себя лучше всего. Правда видно большую вариацию в скорости сходимости простой физики и в других параметрах (закрашенная красная область), потому что довольно много запусков, которые за первые 100 поколений не научились проходить все трассы, и затем для таких плохих машинок мы начинаем упрощать физику, и им становится всё сложнее и сложнее.
Проблема нестабильности обучения даже при простой физике - задача, которую ещё предстоит решить. Ведь если я её не решу, то не смогу создать агентов, которые обучаются без эволюции, онлайн, как люди и животные. Да, именно такая у меня конечная цель.
Пока у меня гипотеза что основной компьют тратится на обучение зрения, поэтому простая физика так легко дообучается до сложной, поэтому здесь есть идея добавить автокодировщик на зрение. Может тогда стабильность улучшится.
Теперь я научился почти гарантированно обучать нейронку управлять машинкой при сложной физике. Ради чего я и написал два прошлых поста.
В двух прошлых постах шло обсуждение обучения при простой физике, когда нет сил, колёс, инерции итд, а машинка просто безусловно двигается вперёд и безусловно поворачивается по воле нейронки. Даже для такой простой задачи обучение толком не сходится, как можете видеть (уж слишком сложные трассы я наделал видимо).
Ну и я начал исследовать как же добиться того чтобы можно было начинать обучение с простой физики, а заканчивать сложной. Сравнил три разных подхода: 1. Начинать обучение сразу со сложной физики (x = 0.0). 2. Встроить сложность физики в параметр оптимизации и давать очень большую награду за его увеличение. 3. Начинать с простой (x = 1.0), а потом постепенно увеличивать сложность в цикле (x -= 0.02).
Первый вариант изображён синим цветом, по нему видно что он очень плохой, в среднем не проходит трассу, не может научиться быстро ездить, много врезается в стену. Поэтому какое-то сведение к простой физике жизненно необходимо, иначе ничего никогда обучить нельзя. Именно это я и видел в одном из прошлых постов.
Второй вариант изображён зелёным цветом, и его суть в том что сложность физики эволюционируется рядом с параметрами нейросети, и награда за сложную физику даётся очень большая, больше чем прохождение конкретных уровней. Сделал награду такой: если все трассы пройдены, то давать награду за сложность физики, иначе штрафовать за сложность физики, чтобы она была максимально простой. Идея была в том что сначала нейронка обучается проходить все трассы на простой физике, и только как этого достигает, она начинает проходить по сложной физике, причём ей запрещено разучиваться проходить хотя бы одну трассу, иначе она теряет очень много награды.
Этот вариант был самым перспективным, и как мне казалось, гениальным. Я думал что смогу просто встроить в метрику любые подобные параметры, и не надо будет писать ручные циклы, а можно будет делать всё в рамках одного обучения. Но как оказалось, это обучалось очень плохо, доходило до простоты физики около 0.2, и дальше никак не эволюционировало. Как я посмотрел, машинка стала вилять, и из-за медленного прохождения трассы ей перестало хватать квоты на число шагов и поэтому она не могла дальше уменьшать простоту физики, ведь у неё есть требование что все трассы должны проходиться.
Я перепробовал очень много модификаций к этой идее, но ничего не смогло заставить её нормально сходиться.
То как эта метрика работает можно видеть на графике: количество пройденных треков у неё очень хорошее, потому что на оптимизирует до тех пор, пока все треки не пройдутся, но сложность физики она оптимзириует очень плохо, а штраф не в нуле.
Ну и третий вариант, изображён красным цветом, самый тупой: сначала тупо запускаем 100 поколений эволюции на простой физике, затем усложняем физику с шагом 0.02, и эволюционируем максимум 10 поколений, или пока новый скор не будет больше или равен старому. Затем снова эволюционируем 100 поколений чтобы машикна стала лучше ездить.
И это показывает себя лучше всего. Правда видно большую вариацию в скорости сходимости простой физики и в других параметрах (закрашенная красная область), потому что довольно много запусков, которые за первые 100 поколений не научились проходить все трассы, и затем для таких плохих машинок мы начинаем упрощать физику, и им становится всё сложнее и сложнее.
Проблема нестабильности обучения даже при простой физике - задача, которую ещё предстоит решить. Ведь если я её не решу, то не смогу создать агентов, которые обучаются без эволюции, онлайн, как люди и животные. Да, именно такая у меня конечная цель.
Пока у меня гипотеза что основной компьют тратится на обучение зрения, поэтому простая физика так легко дообучается до сложной, поэтому здесь есть идея добавить автокодировщик на зрение. Может тогда стабильность улучшится.
The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon.
from us