pollenJP 〜花粉に悩まされる日本〜

情報工学系の学科に属しながら俄(にわか)知識しか持っていない自分の知識獲得やまとめの場

2018年度DeepLearningサマースクール 強化学習編 第1回 に参加しました

いま眠いので表現とかの統一性がなかったりするかと思いますがそのときはごめんなさい。

2018年度DeepLearningサマースクール とは

 最初は東大生限定の講座だったと思ったのですが、その後、他大の学生にも募集範囲を広げていただいたので自分も申し込むことができました。 選考基準の記述については受講者に対して先生が口を滑らしたようです(ここでは控えます)。 倍率は約2倍とか言ってた気がします。

まずは圧倒的感謝!!!!

 今回のような「講義+プログラミング+実行環境」を無料で提供してくださるDeep Learning JP関係者の方々には本当に感謝しています。ありがとうございます。

本記事の趣旨

 普段、日記のようなものを書かない僕ですが、全6回の講義の雰囲気や内容、感想などをメモのような形で書き残そうと思います。

  • [x] 第1回 2018/9/12(水)13〜15時
  • [ ] 第2回 2018/9/14 (金)13〜15時
  • [ ] 第3回 2018/9/18 (火)13〜15時
  • [ ] 第4回 2018/9/20(木)13〜15時
  • [ ] 第5回 2018/9/21(金)13〜15時
  • [ ] 第6回 2018/9/22(土)13〜15時

感想

 初日である今日は講座の趣旨や深層学習の概要についての説明とilectというシステムを使ったコードの実装方法を学びました。

 ilectシステムは事前に登録してもらっているGitHubアカウントで認証しログインします。ブラウザ上でGitLabのような画面が立ち上がります。Python3のコンソール・Terminal・ipynbなどを立ち上げてコードを実装することができます。

 強化学習の勉強題材はFightingICEというゲームを使ったプレイヤーの学習です。

 これは立命館大学の Intelligent Computer Entertainment Lab. で開発されている格闘ゲームであり、Fighting Game AI Competitionの開発環境とされています(にわか知識)。

 本講座ではチームごとにキャラクターを学習させ、最終日にトーナメント形式で戦わせ優勝を競います。この形式になった理由として「勉強するためでなく、どんな手段を用いてでも、勝つためのAIを作り出すことが大切!」的なことを言っていました。確かにそのとおりだと思いますし、格闘ゲームのほうがモチベも上がります。 そしてなんと今回のトーナメントにはYouTuberの方が人間代表(?)として参加してくださるようですw 誰が来るのでしょうか。

 受講者はilect上でコードを実行させ、vncサーバ画面で、実際に行われている対戦を見ることができます。

 しかし、今日は初日ということもあり上手く表示されないという方が結構いる様子でした。自分も最初は接続されなかったのですが一度止めてから再度開始したところ上手く表示できました。 以前、受けたDL4USという講座でもilectを使っていたので比較的扱いには慣れていました。

 講義としてはキックをし続けるサンプルコードを実装するだけで終わりましたが、ipynbの形でEx1-Ex6まで用意されているので自分のペースで進めていけると思います。

f:id:pollenjp:20180913010029g:plain

 今回はすでに構築済みの環境を提供してもらっていますが、個人でもDocker等で同様の環境を作れないか模索しようと思ってるところです。

追記

 そういえば、早速コードのミスを発見したので修正してコミュニティサイトの方で投下したりして

次回

 次回はチームとの顔合わせや本格的な強化学習の講義になると思うので振り落とされないように頑張りたいです。

ツイート

Ubuntu16.04でDockerを使う個人的設定

Install

インストール方法は一応こちら。

docs.docker.com

docker user を作成

 Ubuntuでdockerコマンドを使う際はroot権限を必要とするので今までいちいちsudoで実行していたが面倒になってきた。そこでdockerグループに加えることでsudoを打ち込まなくてもよくした。ただ、普段使うuserをdockerグループに入れるのは嫌だったのでdockerコマンドを扱う時だけ使うuserを新たに作った。

新たなuser作成(username : dockeruser)からdockerグループに割当

[user1] : $ adduser -m dockeruser
[user1] : $ sudo groupadd docker
[user1] : $ sudo usermod -aG docker dockeruser

これでdockeruserからのdockerコマンドは通るようになった。

普段使う際はいつものユーザーでログインしている状態のまま別ターミナルでdockeruserに入る。

[user1] : $ sudo su dockeruser
[dockeruser] : $ docker image ls

参照