Raspberry Pi で Deep Learning

Raspberry Pi で Deep Learning 用のライブラリの TensofFlow をインストールする話。 Deep Learning というと、GPU 演算したりとか、もの凄く重い処理というイメージだし、実際重い。 なので、あまり Raspberry Pi 向きの話ではないが、学習済みのデータを読み込んで、予測を走らせたりするくらいならば十分出来る印象。 実際、学習の処理を走らせてみても 4コアの Raspberry Pi 3B ならば、GPU 無しで、ちょっと古めの i7 との性能比で 1/2~1/4 くらいの性能。 遅いといっても、3倍くらいで、10倍とかそういう話ではないので、低電力でのんびり走らせるのであれば、使えなくはない。 大昔 UNIX ワークステーションで、glibc のコンパイルを始めたら、半日かかったとか、そういう時代からすれば、5000円でスーパーコンピューターが買えているようなもので、凄い時代だよなあと。。。(歳バレネタ) で、インストール手順なのだが、正直、このサイトにバッチリ書いてあるので、あえて、語るほどでもない(笑) https://github.com/samjabrahams/tensorflow-on-raspberry-pi しかし、深層学習。 なかなか難しい。正直、中身に関しては、よくわからない。 細かいところは正直、理解できる気がしないので、回帰分析の一種という大雑把なとらえ方で考えている。 でも、色々なアルゴリズムを組み合わせて、階層をつくって、データーを食わせてやると、確かに重みとバイアスの学習が行われて、値が収束していくのが分かる。 この、値の収束の仕方とか、学習結果から予想されるデータをグラフで見たりとかで、感覚に近いかどうか? で判断してみたりしている。 まあ、遊びだからこんな感じでいいのだ。 TensorFlow はそのまま使うと、結構頭を使うというか、解析モデルが分かってないと出来ないので、実際はラッパーライブラリを使っている。 最初は tflearn というのを使っていたが、今は Keras というライブラリを使っている。 Keras の方が全然早いしわかりやすかった。 あー、ネット上でも、こんなにフワフワな深層学習ネタはあまりなさそう(笑) 大体、数式を真面目に読まずにやってるんだから、こんな感じにしか書けない。 偏微分とか、思い出せないよ… デタラメなニュース記事よりかはマシかなと思っていただければ幸い。 Deep Learning のとっかかりとしては、下の2冊がお勧め。 実際動かす話だと、詳解~の方が早いが、オライリーの方が理論については読みやすい。