畳み込みニューラルネットワーク (CNN:Convolutional Neural Network)

例の書籍「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」を一通り読み終わりました。

もう1年以上前になりますが、書籍「イラストで学ぶ ディープラーニング」を購入して少しずつ読み進めていたのです。↓ ところが、読み進めている途中で壁にぶち当たりました。この書籍、途中からどんどん数式率が上がって行き、あんまりイラストで教え...

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

「あえてPythonを使わずにUnity C#で実装しながら勉強する」とか言っておきながら、結局途中でコーディングを断念。意外と面倒だったので。。。
書籍のPythonコードをUnity C#で再現しようとしてMNISTデータセットをUnityのテクスチャとして読み込むコードとかも書いたりしたんだけど、lambda式や抽象クラス、インターフェイスあたりで混乱して躓いた。改めてPythonとNumPyの記述の手軽さを理解しましたとさ。抽象度が高い代わりに読みづらくもあるんだけど。


スポンサーリンク



さて、書籍でCNNの仕組みまでは分かったところで、ちょっとYouTubeで調べてみたら、動作の様子を可視化してくれてる人がチラホラいる。

畳み込み層 (Convolution Layer)

こちらは畳み込み層の動作を可視化した動画↓


プーリング層 (Pooling Layer)

こちらはプーリング層の動作を可視化した動画。(最大値を取るMax-Poolingの例)


3D Visualization of a Convolutional Neural Network

こちらはWeb上でインタラクティブにCNNの動作を見れるデモ。定番のMNISTデータセットを使った手書き数字認識。



3Blue1Brown

そして、数学をアニメーションで視覚的に解説するYouTubeチャンネルを発見。

3Blue1Brown, by Grant Sanderson, is some combination of math and entertainment, depending on your disposition. The goal is for explanations to be driven by a...

今月ちょうどニューラルネットワーク(畳み込みではないけど)の動画が公開されたところ。









仕組みを理解してからだとネット上の記事も読めるようになるけど、初見だとなかなか。
Deep Learningの本命CNN。画像認識で圧倒的な成果を上げたのもこの畳み込みニューラルネットワークと呼ばれる手法です。位置不変性と合成性を併せ持つそのアルゴリズムとは?そして、TensorFlowによる実装も紹介しました。

ところで、探してみると、ニューラルネットワークを可視化している人が結構いることに気づいた↓
物理、機械学習、複雑系の実験。いつかは本館と統合。 LEGOとかおもちゃも扱う。



アルゴリズムを物理的な機械構造へ落とし込むスキルがすごい。。。



以前見つけたお勉強ツールのMLDemosは、各機械学習手法による処理結果の違いを可視化するツールだったけど、動作の仕組みそのものを可視化して眺めるともう一段踏み込んで理解ができるね。(MLDemosにDeepLearningは入ってなかったけど)
たまたま面白いツールを見つけた。機械学習のパラメータをいじるとインタラクティブに学習結果が可視化して見れるお勉強アプリ。 MLDemos - A visualization tool for machine learning MLD...

読書再開

ということで、再びこちらの書籍に戻る。

イラストで学ぶ ディープラーニング (KS情報科学専門書)

畳み込みニューラルネットワークまでは分かったので、ホップフィールドネットワークから再開。
ホップフィールドネットワークの可視化動画も見つけたけど、ちょっと理解できない。。。



スポンサーリンク

関連記事


Also published on Medium.