書籍『ゼロから作るDeep Learning』で自分なりに学ぶ

もう1年以上前になりますが、書籍イラストで学ぶ ディープラーニング」を購入して少しずつ読み進めていたのです。↓



ところが、読み進めている途中で壁にぶち当たりました。この書籍、途中からどんどん数式率が上がって行き、あんまりイラストで教えてくれなくなるんですよ(笑)

数式が苦手だから「イラストで学ぶ」に期待していたのですが、考えが甘かったようです。
載っているサンプルコードは各種Deep Learningライブラリの使い方なので、肝心の仕組みは当然隠蔽されていて、そこから仕組みを理解するのは難しい。(ライブラリの使い方を覚えられる分実践的なんだけどね)

なので、実装しながら仕組みを理解していく方針に切り替えることにした。
ということで、こちらの書籍に頼ることにしました↓ (すぐ書籍買っちゃう)

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

Pythonのサンプルコードと、書籍の正誤表はGitHubにある↓
https://github.com/oreilly-japan/deep-learning-from-scratch
https://github.com/oreilly-japan/deep-learning-from-scratch/wiki/errata

これでディープラーニングを作れる(笑)


スポンサーリンク


書籍のサンプルコードはPythonですが、そこは慣れたUnity(というかC#)環境に置き換えて学ぼうと思い、PythonのNumPyに代わる数値計算ライブラリを探していたのでした。
Unityで使える数値計算ライブラリ『Math.NET Numerics』
立て続けにUnityの話題ですが。数学的なことをUnityで勉強しようかなという気分になってきた。お勉強用途だと最近はPython、というかPythonのNumPyが手軽で良く使われてるイメージ。Unityでも使える数値計算ライブラ...


で、Math.NET Numerics導入後に少し調べたら、似た発想の人がいた↓
http://tnakamura.hatenablog.com/entry/2016/12/05/perceptron
http://tnakamura.hatenablog.com/entry/2016/12/08/sigmoid-relu-softmax
http://tnakamura.hatenablog.com/entry/2016/12/15/mnist
http://tnakamura.hatenablog.com/entry/2016/12/16/three-layer-neural-network
http://tnakamura.hatenablog.com/entry/2017/01/30/loss-function
http://tnakamura.hatenablog.com/entry/2017/02/08/numerical-differentiation
http://tnakamura.hatenablog.com/entry/2017/02/10/numeric-gradient
http://tnakamura.hatenablog.com/entry/2017/02/15/gradient-descent
http://tnakamura.hatenablog.com/entry/2017/02/20/gradient-simplenet
https://github.com/snaga/DeepLearning_C_Sharp

せっかくなので実装の参考にさせていただこう。Math.NET Numericsの使い方を知るのに良いサンプルだ。
Unity上で動作の仕組みを可視化できたら最高なんだが、そこまで行けるだろうか。

2019年 追記:今ならMath.NET Numericsじゃなくて、このNumSharpを使った方が良いと思う↓
C#で使えるNumPyライクな数値計算ライブラリ『NumSharp』
C#で書かれたNumPy風の数値計算ライブラリ。Apache License 2.0だそうです。NumSharpNumSharpは.NET StandardをターゲットとしたNumPyのC#ポートです。NumSharpはC#で...


スポンサーリンク

パーセプトロン、ニューラルネットワークのイメージ

書籍とは関係ないけど、パーセプトロン、ニューラルネットワークの働きをビジュアル化するとこんなイメージらしい↓

Neural Network 3D Simulation

色んなアルゴリズムをこんな感じで可視化できると理解が捗るだろうなぁ。


スポンサーリンク

関連記事

インタラクティブにComputer Visionコーディングができるツール『Live CV』
書籍『医師のつくった「頭のよさ」テスト 認知特性から見た6つのパターン』読了
Google App Engine上のWordPressでFlickrの画像を貼る
Unityをレンダラとして活用する
takminさんが機械学習・画像認識の便利ツールを公開しています
オープンソースのSLAMライブラリ『Cartographer』
この本読むよ
OpenCV
3Dボリュームデータ処理ライブラリ『OpenVDB』
Unite 2014の動画
すてる英語学習本『ずるいえいご』
Iterator
機械学習について理解するための可視化ツール『MLDemos』
書籍『ゴジラの工房 若狭新一造形写真集』
自分のスキルセット
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
Maya LTのQuick Rigを試す
書籍『自分の強みを見つけよう』読了
iPadをハンディ3Dスキャナにするガジェット『iSense 3D Scanner』
FCN (Fully Convolutional Network):ディープラーニングによるSema...
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
線画を遠近法で描く
SONYの自律型エンタテインメントロボット『aibo』
Faster R-CNN:ディープラーニングによる一般物体検出手法
Active Appearance Models(AAM)
小説『仮面ライダーエグゼイド ~マイティノベルX~』読了
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う
OpenCV 3.1から追加されたSfMモジュール
iOSデバイスと接続して連携するガジェットの開発方法
疑似3D写真が撮れるiPhoneアプリ『Seene』がアップデートでついにフル3Dモデルが撮影できる...
書籍『The Art of Mystical Beasts』を購入
UnityプロジェクトをGitHubで管理する
書籍『グラビアアイドルの仕事論』読了
複数視点画像から3次元形状を復元するライブラリ『openMVG』
Houdiniのライセンスの種類
小説『GODZILLA プロジェクト・メカゴジラ』読了(ネタバレ無し)
書籍『絵はすぐに上手くならない』読了
軽量なジオメトリ処理ライブラリ『libigl』
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
透明標本
オープンソースのStructure from Motionツール『Regard3D』

コメント