grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2018年1月31日水曜日

Bayesian Deep Learningの図解

事前確率や事後確率、そして確率分布を用いるBayesian Deep Learningは文章で説明されると理解しにくく、以前Variational Autoencoderを学んだとき(確率分布が登場してくる)もイメージとして把握するのが困難でした。一行ずつコーディングしていくことで、なんとかその仕組み/手順はわかったものの、GANなどのように構造が複雑になっていくとイメージが追いつかず、また分かりにくくなっていました。
そこで、以下の動画を見たら非常に分かりやすかったので、参考としてメモ。


ここでは確率分布を使わない通常の方法と確率分布を使う方法とを図で比較しながら説明してくれます。動画途中にでてくるスライド(イメージ)がわかりやすかったです。

線型回帰の場合、

X*w+b=Y

X:データ
w:ウェイト
b:バイアス
Y:予測値
 通常(非ベイズ)は、上図のそれぞれのマスに固有の数値が入りますが、

ベイズ推定を用いると(上図)、Xはデータなのでそれぞれ固有の数値ですが、w、bには正規分布などの確率分布が入り、その結果出力されるYも確率分布となります。
単に、固有の値であったwとbを正規分布に置き換えればいいというわけです。


Logistic Regressionの場合であっても、

ベイジアンでは以下のようになるだけ。
たしかに分かりやすい図解となっています。
さらに、多層のDeep Learningであったとしても、


という仕組みが、ベイジアンでは以下のようになるだけ。



Deep Learningを勉強していくと、ただですら複雑なマトリクス計算や数多くの層を計算しなければいけないので、コーディングする手順や仕組みを理解するにも一苦労です。さらには、確率分布をつかった式も途中に出てくるので、なおさら仕組みが難解になりがちですが、このようなイメージをつかむことができると理解しやすくなります。

以下の本も読んでベイズ推定を勉強していますが、文章や式だけでの表現だと頭の中にイメージするのが徐々に困難になってきて、理解するにはどうしても時間がかかっていました。やはり、イメージしやすい図解があると頭の中にも入ってきやすいという感じです。


また、Udemyには「ベイズ推定とグラフィカルモデル」という無料のコースもあります。動画内に登場する図解がわかりやすいかもしれません。覚えなければいけない式などかなりありますが、初心者にとっては難しい専門書で勉強するよりはいいかもしれません。
Youtubeでも動画は公開されており、日本語なので試しに見てみてもいいかもしれません。

0 件のコメント:

コメントを投稿