memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

donkey car シミュレーションだけど、やっと1周走れるようになった

以下の続き。

memorandums.hatenablog.com

何も調べずにとりあえず学習用データは1周分でいいやと思って学習した結果、コースは全く無視して走りだす様子でした。強化学習とか勉強しないと始まらないな。。。と思って、いくつか本を読み始めているところでした。

これは本当に超初心者向けの本で、キーワードの意味がまずわかるというところです。これって意外と大事だと思うんです。ワードに慣れる。10分もあれば読めます。

もともと強化学習は興味があったのでかなり前ですがKindle本を買っていたものがありました。研究室ではVRコンテンツやゲームを制作するときにUnityを使うのでこれいつか使えないかなと積読していました。どういう風に学習するのか?学習するポイントとか歴史とか、専門書ではないので気楽に読めます。以下は新しい版が出ています。

これはチラッとしか読んでいません。C言語で実装となると理解が捗るのだと思います。いずれ読みたいところですが、いまからやるのはコスパが悪そうです。。。そこまでやりたいというわけではないので。

あと大学の図書館で電子ブック(maruzen)が読めるのがいくつかありました。以下も良さそうです。AWSを使う行もありました(AWS Academyを使っているので行けるのかな?という打算です)ただ、2018年の本なので6年も経てば世の中ずいぶんと変わっているのかもです。とりあえずざーっと目を通して流れを理解したいと思います。

あと、お馴染みの以下のシリーズにも強化学習がありました。昨年、(今さらですが)1をゼミでやったのですが中盤以降がなかなか難しく、うーん。。。微妙です。でも、どうせやるなら仕組みも理解したいところです。こちらはACM会員で契約しているので読めるオライリー本にありましたので、こちらも読んでいこうと思います。

他にも5,6冊見つけましたが、省略します。周辺をうろついているうちに何となくわかっていくものだという感じです。

さて、本を読みながら「なぜコースアウトするのかな?」と思い、ネットを調べているとそもそも学習データは1周どころではなく10周以上(コースをはみ出さずに)走る必要があるようでした。そして得られた画像データは10,000枚程度であること、らしいです。

とりあえず10周走って学習させたのですがこれもコースアウト。画像枚数をみると6,000枚でした。

では、ということでまた走りデータを集めた結果、9,200枚くらいになりました。これで学習した結果が以下になります👍 ああ、こういうことなのか。。。と体感しました。

youtu.be

学習アルゴリズムや各種パラメタの調整もあるけど、やはり、データが命ですね。。。異常データもクリーニングする必要があるでしょうし。とりあえずそれもなしにデータ数を増やしただけで成功したのは嬉しかったですねぇ。。。やっていることは何も変わっていません。量だけ変化したんですね。。。劇的に変化しました。

シミュレータの画像はキレイな画像ですし、同じ場所は同じ絵として取得できます。これが実車であれば映像も変化するでしょうし、当然、実機の制御や車体の状況も変化するので制御内容が同じではうまく走らないと想像します。

とはいえ、勉強だけしててもモチベあがりませんし。やっぱり手を動かして何か課題にぶつかって初めてやる気がでるんだろうなと思うわけです。そうして得られた知識やスキルは(どんなに忘れっぽい私でも)確実に身につきますしね。いい年してそんなこと言っていることが恥ずかしい限りですが。単純に面白いです。