FC2ブログ

Entries

François Chollet, "Deep Learning with Python"


深層学習のフレームワークとして有名なKerasの作者による入門書。原著を読んでいるうちに翻訳も出た。数式はほとんど登場せず、pythonのコードのみで話が進む。数学的レベルは抑えつつ、ニューラルネットワークの基本的な構成要素を扱う。IMDBデータセットによる二値分類や、ボストン住宅価格など有名なデータセットを使いながら、そのコーディングの実際を解説。

深層学習については、CNNによる画像分析、RNNによるテキスト分析と時系列分析。さらに発展としてLSTMによる文書生成、DeepDream、StyleTransfer、変分オートエンコーダーとGANによる画像生成がある。記述は英語のレベルも含めてとても分かりやすい。内容についてはほぼ申し分ない。ただし、注意メカニズムはほとんど扱われていない。CNNの発展のところでdepthwise separable convolutionの話がある。これは通常のCNNと等価で高速、表現が効率よいと(p.321)。これを扱うなら注意メカニズムを入れてほしかっと思うところ。まぁ、depthwiseは著者の顕著な業績なので扱いたい気持ちはわかる。

冒頭と最後にある一般論はかなりよく書けていて、深層学習やAIというものについてどう考えるべきか、とても参考になる議論がある。まず、機械学習における学習とは、入力データを意味ある形で変換することだという。この変換されたものが表現representationと呼ばれる(p.6-8)。潜在表現を得るのが学習するということ。機械学習による問題の解決は現在、主に二つの方法でなされる。データが大きくなければ勾配ブースティングがよい。知覚的(perceptual)問題ならディープラーニングがよい。技術的にはそれぞれXGBoostとKerasを使えば良い(p.19)。深層学習のモデルは連続的な幾何学変形の連鎖なので、連続的な幾何学変形として表現できないタスクは学習できない(p.325)。

機械学習は4つの分野に分かれるという。教師あり学習、教師なし学習、自己教師あり学習(Self-supervised Learning)、強化学習の4つ。自己教師あり学習というのがあまり他では聞かない分類だ。これは人間のアノテーションによらないラベルによる教師あり学習のことを言うとしている。具体的には、オートエンコーダーや次時点を予測する学習などがそれにあたる。ただ、注目の仕方によって教師あり学習や教師なし学習とも解釈されるとしていて、あまりポイントがないようにも見える(p.112-114)。

ニューラルネットワークは脳についての理解にインスピレーションを受けていることは確か。だが、ディープラーニングは脳のモデルではない。ディープラーニングと生物学につながりがあるかどうかという話は忘れてよい(p.8)。このニューラルネットワークという名前は歴史的経緯からついているだけで、ニューラルでもネットワークでもない。脳とも全然関係ない。層別表現モデル(layered representations models)とかのほうが適切な名前だという(p.317)。これは大賛成。深層学習のモデルはレゴブロックでの遊びみたいもので、その組み合わせからなる可能性の空間は無限だという(p.322)。去年のNIPS講演でもこうしたレゴブロックとしての深層学習という見方を提示していた人もいたし、こうした見方は共通理解になっているのだろう。

深層学習の今後の方向について。現在の深層学習はサイエンスというよりアートになっている(さすがに錬金術とまでは言わないが)。問題がどうしたらうまく解決できるか、現在の理論は前もって教えてくれない。試行錯誤で最適なネットワーク構成やハイパーパラメータを見出していくしかない(p.223)。また、現在の深層学習では抽象と推論ができない。抽象と推論を用いるものとして、今後はプログラム生成が注目を集めるだろう。単にコードの生成ではなく、ニューラルネットワークの構造を出力するものも考えられる。幾何学的なものとアルゴリズム的なものが融合した領域となる(p.330f)。さらなる将来の方向としては、微分可能性を超えることがある。バックプロパゲーションはend-to-endの学習方法で、これは計算的には非効率。なぜなら、モジュラリティや階層を無視しているから。こうしたやり方はDeepMindがsynthtic gradientsでやろうとしていることだとして、著者はこの方向に期待しているようだ(p.332)。
スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://exphenomenologist.blog100.fc2.com/tb.php/975-fd468d7a

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する