swampの忘備録

エンジニアが、情報系のイベント行ったときとかプログラミングなどの情報工学について忘備録として書くつもりです。

JOI夏季セミナー2017に参加した。

 なんかずいぶん前の話のような気がしますが、日本情報オリンピック委員会が開催する夏季セミナーに参加したのでなんか書きます。

 ダラダラとどうでもいいこと書くのは許してください。

 

 なんか5日間ずっと体調がすぐれなかったような思い出がします。

 

 1日目(8月26日)

 家を出る。

 自宅近くのローカル線遅延しててあせる。

 やっとのことで新幹線の発着する駅に来るが特急券の日にちが間違っててまたあせる。

 というわけで教訓

  富士山また見えないなあとか思いながら、新幹線と電車に5時間ぐらいゆられて八王子まで行く。

  そんな中、駅でふと気が付いた。

  貸してくださった@pazzle1230さん本当にありがとうございました。

  まだ集合時間まで余裕があったので駅にあったデパートでドリアを食べる。

  バスで大学セミナーセンターまで行く。

  しばらく待って、4時ぐらいに始まる。

  参加者とチューターの自己紹介(スーツケースで盛大にこけた人が僕)のあと本選び。

  他の本もおもしろそうだったけど、僕は深層学習と決めていたので迷わずホワイトボードに名前を書く。

 人数が多かったけどじゃんけんに勝てたのでこの本を学ぶことになった。 

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

 

  (すごく難しかったのは言うまでもない)

 各部屋に分かれてセミナーが開始。

 第1章を読む。深層学習すごいなあって感じ。

 夜ご飯食べる。この辺から体調が悪いなあって感じだった。

 第2章を読み始める。なるほどおもしろいなあって感じ。

 この日は、AGCがあるのでセミナーが早く終わった。

 僕は、競プロ勢じゃないし、前日まで某で福岡に3日間いたこともあり、

 連日の疲れで本当に早々に寝ていた。

 (某Hackのことは、気が向いたら書くかもしれません)

 

 2日目(8月27日)

 朝ごはん食べて、本読んで、昼ごはん食べて、講義があって、本読んで、夜ご飯食べて、本読んで、寝るという流れ。

 本は、2章と3章の途中まで読んだ。

 二値分類とか多クラス分類で確率でるんだけど、こんなことを思ったり、

 習ったことが身についてないことが判明する。(教科書復習しないとなあ)

 講義は、ランダムサンプリングの話。

 すごい難しい話でなんだそりゃってなってた。

 でも、マルコフ過程とかモンテカルロとかおもしろそうではあった。

 これを機会に勉強してみたい。

 この日も、すごい体調が悪かったのでさっさと寝る。

 

 3日目(8月28日) 

 この日は、常時おそってくる腹痛に耐えながら、

 朝ごはん食べて、本読んで、昼ごはん食べて、本読んで、夜ご飯食べて、カードゲームして、寝るという流れ。

 本は、3章の終わりと4章を読む。

 誤差逆伝播法のアルゴリズム楽しい。

 4章の微分計算は、分かればすごい面白いしすごい感動したし気持ちがよかった。

 はじめて微分をやって感動したと思う。

 でも、理解するのに時間かかったし第一難しかった。

 夜は、交流の時間ということで、コードネームピクチャーズというカードゲームをする。

 チューターの皆さんを含め、みんなでわいわいできてすごい楽しかった。

 @maroon_kuriさん理不尽な負け方ですごいかわいそうだった。

 

 4日目(8月29日) 

  この日も常時襲ってくる腹痛に耐えながら、

 朝ごはん食べて、プレゼン資料を作り、昼ごはん食べて、講義があって、引き続き作り、夜ご飯食べて、また作り、やっとのことで寝るという流れ。

 5章からも読みたかったけど、4章までをまとめることにした。(悔しい)

 というわけで、いろいろなWebページを参照しながら誰でも書けるコードを少しだけ書いたりしながら、プレゼン資料を作っていくという日だった。

 講義は、とてもおもしろい話だった。

 コンピューターグラフィックスと折り紙とプラレール

 どれも全く関係がなさそうで実は結びついてると意外に思った。

 日頃からあちこちに目を配っていくいき、いろいろなことに興味をもってそれを全力で探求してみるっていうことは大変そうだけで大切なことなのだろう。

  それが「プログラムの楽しさと可能性」につながるのだろうなあ。

 そんなことを思う講義でした。

 (ぜひスライドをもう1度見直してみたいと強く思っています。)

  

 その後はひたすらスライドづくり。

 パワーポイントの数式機能を使ってひたすら数式書いてたら、

 チューターさんが「latex2png」http://latex2png.com/

 を教えてくださり、式書くのがすごい楽になった。

 本当にありがとうございます。

 初めてLatexに愛着を持った。(言い過ぎかもしれないが)

 

 5日目(8月30日)

 朝ごはん食べて、発表聞いて、発表して、発表聞いて、昼ご飯食べて、発表聞いて、帰るという一日。

 発表をひたすら聞く。

 ① 組み合わせゲーム理論 

 全然わかんなかった。強そうだった。

 ゲーム理論、触れたこともないから勉強しなければ!

組合せゲーム理論入門 ?勝利の方程式?

組合せゲーム理論入門 ?勝利の方程式?

 

 ② 劣モジュラ最適化と機械学習 

  機械学習だから少しは分かるかなあと思ったら機械学習の話してなかった。

 劣モジュラっておもしろそうだけど難しそう。

劣モジュラ最適化と機械学習 (機械学習プロフェッショナルシリーズ)

劣モジュラ最適化と機械学習 (機械学習プロフェッショナルシリーズ)

 

  ③ 深層学習

 みんなすごい進捗出てて発表もうまくて、僕みたいな雑魚は恥ずかしくなる。

 3番目に発表した。「深層学習入門」という雑魚な内容。

 スライドはこちら。

www.slideshare.net

 プレゼンなれしてなくて、練習不足で、時々つまってしまい全発表者の中で最も分かりにくい発表になってしまった。(反省しなければ)

 誤差逆伝播法はすばらしいということを覚えておいてください。

 (もちろん弱点もあるが…)

 

 ④ HTML5 Canvas

 ゲームとかすごーい。楽しいー

 5日間でこんなクオリティのもの作れるってホントすごい。

 どの作品もやりがいがあって楽しかった。

 僕も時間があったらCanvasやってみたいなあ。

HTML5 Canvas

HTML5 Canvas

 

  ⑤ 純粋関数型データ構造

 Haskellの話。Javaとかと全く書き方違って驚いた。

 芸術だそうだ… 時間があればやってみたい。

純粋関数型データ構造

純粋関数型データ構造

 

  

 発表聞いたらチューター、理事長から講評があって解散。

 バス停で雨に打たれながら夏季セミ勢でいっぱいのバスに乗り、

 八王子駅まで行く。そこから新横浜まで行って…

 

 いくらのおにぎり探してた。

 すごいおいしかった。

 

 感想

 僕みたいな競技プログラミングやってない人でも応募用紙を書けば、夏季セミナーには参加できます。(競プロ勢でなくてもチャンスはある!)

 学習した本は、持ち帰ることができてビックリ。(ありがとうございます)

 そして、体調管理をちゃんとしないと十分な力が発揮できません。

 あと、もっとプレゼン能力を鍛えなければいけないですね。はい。

 

 こんな高度な「理論」を学ぶのは初めてで大変ではあったが、とても良い経験になりました。

 初めて数式がたくさんある本をきちんと理解しながら読みました。

 (数式がたくさんある本から逃げていた節もある)

 自分の興味のあることを学ぶって数式があっても楽しいんだなあと思いました。

 ここでの学習を基礎にして更に学習していきたいです。

 

 夏季セミナーに関わってくださった全ての方々、今回は貴重な機会をありがとうございました。