書籍『ゼロから作る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だそうです。NumSharpPythonで書かれた機械学習コードをC#に書き直すのは大変ですよね? その理由は、Pythonで使われている関数に対...


スポンサーリンク

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

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

Neural Network 3D Simulation

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


スポンサーリンク

関連記事

今年もSSII
OpenCVの顔検出過程を可視化した動画
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
Kinect for Windows v2の日本価格決定
Mean Stack開発の最初の一歩
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
顔追跡による擬似3D表示『Dynamic Perspective』
まだまだ続く空想科学読本
網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した
UnityのuGUIチュートリアル
書籍『クラッシャー上司 平気で部下を追い詰める人たち』読了
OpenCV 3.1のsfmモジュールを試す
インタラクティブにComputer Visionコーディングができるツール『Live CV』
AfterEffectsプラグイン開発
クリエイターのための機械学習ツール『Runway ML』
3Dボリュームデータ処理ライブラリ『OpenVDB』
WordPressのテーマを自作する
CGレンダラ研究開発のためのフレームワーク『Lightmetrica (ライトメトリカ)』
Linuxでテレビの視聴・録画ができるオープンソースプロジェクト『Myth TV』
プロシージャル手法に特化した本が出てるみたい(まだ買わないけど)
Unityで学ぶC#
全脳アーキテクチャ勉強会
ROSの薄い本
クラスの基本
PSPNet (Pyramid Scene Parsing Network):ディープラーニングによ...
OpenCV 3.1のsfmモジュールのビルド再び
pythonの機械学習ライブラリ『scikit-learn』
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』
Point Cloud Consortiumのセミナー「3D点群の未来」に行ってきたよ
ブラウザ操作自動化ツール『Selenium』を試す
書籍『鈴木さんにも分かるネットの未来』読了
FCN (Fully Convolutional Network):ディープラーニングによるSema...
Unity ARKitプラグインサンプルのドキュメントを読む
第25回コンピュータビジョン勉強会@関東に行って来た
ZBrush キャラクター&クリーチャー
ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
Webスクレイピングの勉強会に行ってきた
書籍『グラビアアイドルの仕事論』読了
写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』
3DCG Meetup #4に行ってきた
UnityでShaderの入力パラメータとして行列を渡す

コメント