ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

ゴールデンウィークにやったこと

スポンサードリンク

雑なまとめ。メモしないと忘れると思うのでメモ。

旅行行きましたかって? 散歩以外していないです。

やりたかったこと

マリオカート64のゲームで強化学習したかった

案件で強化学習とか使う場合があるとかないとかで、勉強しないとやべぇってなったので、自分的に遊びで覚えるのが一番早い。

www.udacity.com

udacity(ゆだしてぃ?)の自動運転エンジニア養成の授業を受けたかったんだけど、なんと8万円!これがterm1から3まであるらしく、合計24万円とのこと。

qiita.com

多分金額的には安いんだと思うんだけど、しかし今は金がない。ので、mac上で動くエミュレーターでゲームを動かし、それをopencvで環境から情報を取得しアクションするってことができるんじゃないかなと、勉強できるんじゃないかなと思ったわけです。

ところが問屋はおろしてくれない

まず、udacityの授業を受けている人たちはgithubにソースを上げてくれているので、それを見てマリオカートに最適化?しようと考えました。

んで、ソースを見ているんだけど、全くとは言わないが難しい。

車線を描画するところでギブアップ寸前ですよ。なんじゃこりゃ。

なんとなーく流れは掴めているはずなので、やろうとしていることは理解できていると思いますが、どうしてこれがこうなるという流れが全くわかりません。特に数式!

opencvとかのドキュメントみると、これはこういう原理(数式)で値を求めることができます。それを描画しています。なんてことしか書いていないのですね。それだけみれば、「はーい」なんて、そのままやればいいんだけど、多分チューニングで死ぬのでそうはいかない。

「いやいやソースみればわかるでしょ?」って思うじゃないですか? 実装されているのであればいいのですが、例えばnumpyにある関数で「arctan()」という関数があります。「なんじゃこりゃ?」てドキュメント見に行くでしょ?「tanθの逆関数ですね」だって。意味不明。

numpyの実装を見に行けばなんとかなんて思うかもしれませんが、そうすると時間があっという間に過ぎていきますね。oss読むのは必要な箇所だけでいいのです。これを全部網羅すると大変です。

数式を全部覚える必要はないと過去ある人から伺ったことがあります。フレームワークとして利用するのでおkって感じですね。しかし、私は基礎がボロボロなので、すぐイメージがつかめないのです。辛い。

この世界の面白い(?)ところは、数式スタートなんですよね。「こういう数式があるよね? これはね。Opencvのこのメソッドできますよ!」なんて説明みても、数式がわからないとわからないのです。

書籍読んでも数式。深層学習の本を読んでも数式。画像処理も数式。

このとき既に2日立っていますが、全く進まないわけですえね。ヤバイ。このままじゃダメだ。

ということで、行き先チェンジ。一旦体系的な学習は諦める。

数式の苦手意識は何なのか探す

そもそも、中学や高校前半は数学って結構好きだった覚えがあります。少なくとも英語や国語よりはモチベーションが高かったです。

なんでこんなにわからなくなっているんだっけ? 多分サボっていただけなんじゃないかなと思うけど。

はじめはプログラミングと一緒にやっているうちに覚えるでしょ?と考えていましたが、機械学習の本を読むと数式で説明する書籍が多く、そこで積みます。

ということは私は数式を見ると頭に入らないマンになっているということ。ならば、それを潰していきましょう。

で、色々ググってみると

qiita.com

数学に関しては、微分線形代数、統計の知識が必要になります。

ということらしいです。

じゃあそのあたりを勉強しようと思いました。

統計は会社の研修で一通り勉強したのと、復習で下記本で4月は勉強していました。ので、多分大丈夫なはず。。。(半分ウソですね)

こちらの本はRで書いてあるんだけど、あえてPythonに書き直し中です。一旦全部読んで、いまちまちまPythonで実装しています。

これはわかりやすかった。計算の流れをわかりやすく書いてくれています。レビュー書いている途中。

↑の続きです。これは書いた人が変わった?ぐらいわかりづらくなっていました。怒りを覚えるレベル。

で、次のステップアップで。と、同僚さんにオススメされまして、購入しましたが、無事死亡。sin?cos?tan?なんだっけ?それ?

とまぁこんなレベルなので、どうしよどうしよ。本をまた購入しなければいけない?とおろおろしてたら、こんな動画がYoutubeにあがっていました。

www.youtube.com

これはすごくわかりやすい。

説明の動画のあとに演習の動画で2本で1セットずつ進むんだけど、だいたい説明が基礎で演習が応用の解き方しないと解けないので、基礎をしっかり勉強しないと積むような流れになっています。記憶が新しい人は動画を流し見するだけでいいと思うけど、高校通っていたけど、まったく記憶にない私みたいな人はノートとペンが必須です。書かないと理解できん。

自分で解くと時間がかかるので、中々前に進みませんが、いまんところ、数ⅠAの三角比が終了したのと、数ⅡBの指数対数の半分まできましたねー。やああっとあの意味不明な「log a」と書いてある記号?文字の意味が理解できました。これ機械学習の書籍によくでてくるので、きつかったんですが、いまはもう大丈夫b

この調子で5月中までにはなんとか高校を網羅できればなと思います。

解けないときはイライラ(#^ω^)しますが、解けたらすごくスッキリするね。

英語覚えないといけない

↑で数学でハマった。という話しをしましたが、他にも問題が。。。

機械学習の有益な情報。だいたい論文。んで、ほぼ英語なんですね。読めん。

一回アメリカ行ったことがあるので、数式よりはモチベーション高い英語ですが、これこそペン以外で覚えたいです。

いつか勉強はするんでしょうが、これは体系的に覚えたほうが絶対はやい!と思っています。

別に試験するわけじゃないので、これが一番速いでしょ。

机の上で勉強 < 英会話にかわる < 友達探す

みたいな条件が頭の中に浮かんだので、さっさと友達を探すことしました。

www.japan-guide.com

素晴らしいサイトです。海外にいて、日本に興味がある人が登録しているらしいです。日本語を覚えたいって人が多く、日本人からすると、日本語教えるから○○語教えて?ってことができるってわけですね。

以前後輩から教えてもらっていたサイトがこちらだったので、そのこと思い出して早速登録しました。

ちなみに「プログラミング好き」って書くとその通の人達からメッセージがきました。お前ら日本に興味ないんかい。

そういえば返事返していない(´・ω・)。これも少しずつ進めていきましょう。早く友達にならなければ。。。

あと他にやったこと

なんと!予定もなかったので、お金おろすことを忘れていて、財布に5000円しかありませんでした。

ラーメン2杯食べました。

その他はバナナとキャベツで過ごしました。運動も散歩でカバー。順調に痩せている感じがします。

頭空っぽにするためにB級映画みました。まぁまぁいいんじゃないかな。

感想

沖縄にいても東京にいても引きこもりは引きこもりでした。

1日ぐらいはどっかホロホロすべきかね。秋葉原はもう行き尽くした感あるし、お台場のガンダムは今年3月の終わっちゃったし。。。

うーん。スカイツリーは見に行くべきかな。暇ができたら考える。