タクリューが気まぐれで書くブログ

気まぐれで書評だったりお気持ちだったりを書いていこうと思います。

Deep Learning基礎講座のポスター発表で最優秀賞をいただきました!

こんにちは、タクリューです。 はてなブログを開設してみました。どれぐらいの更新頻度になるのか、どのような内容の投稿をしていくのか等々、何も考えてませんがぼちぼちやっていこうと思うので以後よろしくお願いします。


さて、3/30に東大・松尾研究室が主催するDeep Learning基礎講座の成果発表会であるDeep Learning Dayというイベントがあり、僕のチームがポスター発表部門で最優秀賞をいただくことができました!

f:id:ta9ryu:20190401135608j:plain
いただいた賞状と副賞

副賞の中身は現段階では空で後日連絡をいただけるとのことだったので、分かり次第お伝えできればと思います


Deep Learning基礎講座ってなんや??という方もおられると思うので、ポスター発表の内容について触れる前に、まずDeep Learning基礎講座について書いていこうと思います。

Deep Learning基礎講座とは

東大・松尾研が社会人及び東大生を対象に開講している公開講座で、全15回の講義とチームプロジェクトという内容になっています。

募集は昨年の8月頃に

Deep Learning基礎講座 | Deep Learning JP

で行われ、抽選によって受講の可否が決まります。 受講は無料で、仮想GPU環境も貸し出されます。


この講座は数年続いているらしいので、今年もまた募集があるのではないでしょうか。 興味のある方はサイトをチェックしてみると良いと思います。

講座のカリキュラムについて

通常回のカリキュラム

まず通常回である全12回については、以下のようなカリキュラムでした

  1. 松尾先生の基調講演(Deep Learning人工知能)
  2. 機械学習の基礎(Numpy/Scipy、Logistic Reg)
  3. ニューラルネットワーク(MLP)
  4. Tensorflow&MLP(SGD、Optims)
  5. CNN1(CNN)
  6. CNN2(CNN、Trained Models)
  7. RNN(RNN&Series Data)
  8. RNN&NLP(Neural MT)
  9. 生成モデル(VAE、GAN)
  10. 強化学習(DQN、etc)
  11. 松尾先生の基調講演(最新動向と今後の展望)
  12. PyTorchの演習


毎回の講義は、講義+演習ということになっていたのですが演習の時間が短く駆け足になりがちな印象がありました。理論面ではそれほどむずかしいことはやっておらず、日本語ですでに出ている書籍等でもカバーできる内容でしたが、演習についてはライブラリに頼らずに自分で書くというのを重視されているようで、理解の手助けになったように思います。

毎回の講義にはコンペ形式の宿題が出され、他の受講者と精度等で競いランキングが公開されます。

特別講演

講義とは別で講演会が2回あり、Google Brainの方とNVIDIAの方のお話を聞くことができました。

CUDAの中でどういうアルゴリズムが動いているのか、といったようなお話が聞けて非常に面白かったです。

スプリングセミナー

そして最後にスプリングセミナーというものがあり、これは強化学習自然言語処理・生成モデルの3つのテーマから一つを選択し、全3回の講義を受けます。 選択しなかったテーマについても潜ることが許されているので3つ受けることもできました。


内容については

強化学習
  1. 強化学習の概要(ベルマン方程式やTD学習あたり)
  2. DQNなど
  3. Deep Learning Dayで行うゲーム大会について(?)

みたいな感じだと思います(めんどくさくなって行かなくなったのでスライドだけ見てテキトーに言ってます。間違ってたらすみません)。 多分そんなに最新のところまでは扱ってないと思います。


自然言語処理
  1. 前処理について(形態素解析やword2vec)
  2. Encoder-Decoderモデル
  3. Transformerモデル

みたいな感じです。こちらは2回目までは顔を出してましたが3回目は行ってません()


生成モデル
  1. VAEの基礎・発展
  2. GANの基礎・発展
  3. 自己回帰モデル(Pixel CNN、WaveNet)、flow-basedモデル(Real NVP、Glow)、深層生成モデルの応用・発展、世界モデル

生成モデルを選択していたのでこちらには全出席しました。内容は盛りだくさんでものすごく駆け足だったのですが、スライドが情報満載で式変形も詳しく書かれていたので、かなり充実した内容だったと思います。GQNなどかなり新しめのところまで扱っていました。

チームプロジェクトについて

最後にチームプロジェクトについてです。6名ずつのチームに割り振られてチームごとに何か成果物を出し、Deep Learning Dayで発表をするという流れです。 (強化学習を選択していると、発表の代わりにゲームの大会に参加するという選択肢もできます。)


僕のチームは学生が僕1人であと5人は社会人というチームだったのですが、仕事でバリバリやってるような強い人が多く、めちゃくちゃ頼ってしまいました笑

チームで開発というのはやったことがなく、Yahoo Logdeに集まって話し合ったりなど色々と新鮮な体験ができてとても楽しかったです。


チームで取り組んだ内容は、ざっくり言うと楽曲の自動生成というものです。

具体的にはMusic VAEやMelody RNNというモデルで生成したmidiファイル(楽譜だと思ってもらえれば良い)を、GANSynthというNeural Synthesizerのモデル(要するにシンセサイゼーです)に入力し音声を合成し、最後にDrums RNNというモデルでドラムの音を加えることでかなりいい感じの曲になりました。

MusicVAE: Creating a palette for musical scores with machine learning.

magenta/magenta/models/melody_rnn at master · tensorflow/magenta · GitHub

GANSynth: Making music with GANs

magenta/magenta/models/drums_rnn at master · tensorflow/magenta · GitHub


いずれも、Google AIのmagentaというプロジェクトですでに実装されたものが公開されています。

実際に完成した楽曲は以下のサイトで聞くことができます。

soundcloud.com

これで、冒頭にあるとおりポスター発表(口頭発表部門というものもあります)で最優秀賞をいただくことができました。

Colabの動かし方も最初はよく分からず、論文は読んだけど。。。みたいな状態で、チームの方に助けられた格好なので、ほんとうに感謝しかないです。

最後に

初投稿で、書き方など不慣れな部分はあったかと思いますが、最後までお読みいただきありがとうございます。

副賞は一体何がもらえるんだろう、、