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

ところが、読み進めている途中で壁にぶち当たりました。この書籍、途中からどんどん数式率が上がって行き、あんまりイラストで教えてくれなくなるんですよ(笑)
数式が苦手だから「イラストで学ぶ」に期待していたのですが、考えが甘かったようです。
載っているサンプルコードは各種Deep Learningライブラリの使い方なので、肝心の仕組みは当然隠蔽されていて、そこから仕組みを理解するのは難しい。(ライブラリの使い方を覚えられる分実践的なんだけどね)
なので、実装しながら仕組みを理解していく方針に切り替えることにした。
ということで、こちらの書籍に頼ることにしました↓ (すぐ書籍買っちゃう)

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に代わる数値計算ライブラリを探していたのでした。

で、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を使った方が良いと思う↓

パーセプトロン、ニューラルネットワークのイメージ
書籍とは関係ないけど、パーセプトロン、ニューラルネットワークの働きをビジュアル化するとこんなイメージらしい↓
色んなアルゴリズムをこんな感じで可視化できると理解が捗るだろうなぁ。
関連記事
Unityで360度ステレオVR動画を作る
Mitsuba 3:オープンソースの研究向けレンダラ
Super Resolution:OpenCVの超解像処理モ...
ZBrushで作った3Dモデルを立体視で確認できるVRアプリ...
Raspberry PiのGPIOを操作するPythonライ...
3D復元技術の情報リンク集
pythonもかじってみようかと
OANDAのfxTrade API
ZBrushのZScript入門
UnityユーザーがUnreal Engineの使い方を学ぶ...
書籍『鈴木さんにも分かるネットの未来』読了
書籍『具体と抽象』読了
SSD (Single Shot Multibox Dete...
Raspberry Piでセンサーの常時稼働を検討する
ブログが1日ダウンしてました
FFS理論
オープンソースの物理ベースレンダラ『Mitsuba』をMay...
adskShaderSDK
Point Cloud Libraryに動画フォーマットが追...
SDカードサイズのコンピューター『Intel Edison』
PythonのHTML・XMLパーサー『BeautifulS...
Facebookの顔認証技術『DeepFace』
AmazonEC2のインスタンスをt1.microからt2....
ストレングス・ファインダー
UnrealCV:コンピュータビジョン研究のためのUnrea...
PCA (主成分分析)
CycleGAN:ドメイン関係を学習した画像変換
Google Chromecast
SegNet:ディープラーニングによるSemantic Se...
Seleniumを使ったFXや株の自動取引
ベイズ推定とグラフィカルモデル
書籍『人生は、運よりも実力よりも「勘違いさせる力」で決まって...
ブラウザ操作自動化ツール『Selenium』を試す
読書は趣味か?
Photogrammetry (写真測量法)
PyMC:Pythonのベイズ統計ライブラリ
Googleが画像解析旅行ガイドアプリのJetpac社を買収
書籍『絵はすぐに上手くならない』読了
OpenCV 3.1のsfmモジュールのビルド再び
Kinect for Windows v2の日本価格決定
機械学習に役立つPythonライブラリ一覧
OpenCVのfindEssentialMat関数を使ったサ...


コメント