Client-Side Deep Learning (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-13 聞き起こし

twitter.com

iOS 10よりMetal Performance Shadersフレームワークに畳み込みニューラルネットワーク(CNN)のAPIが追加され、iOSバイスGPUを利用して高速にCNNの計算を行えるようになりました。つまり「ユーザの手元で」「オフラインでも」昨今の進化がめざましいディープラーニングの成果を利用できるようになったのです!本LTでは実装のオーバービューと、デモをお見せしたいと思います。

Client-Side Deep Learning

f:id:niwatako:20170303172041j:plain

f:id:niwatako:20170303172042j:plain

f:id:niwatako:20170303172046j:plain

f:id:niwatako:20170303172053j:plain

f:id:niwatako:20170303172055j:plain

f:id:niwatako:20170303172059j:plain

強力なコンピューターでやるとイメージされるかもしれません。モバイルデバイスは貧弱だと思うかもしれません。

それはその通りです。学習は強力なマシンで行い、そこで作った学習パラメータをiPhoneに私、MPSCNNで実行できるようになったということが、iOS10で出来るようになったことです。

学習はTensorFlowでもChainerでも良いし、ファイルフォーマットはなんでも良いです。

f:id:niwatako:20170303172232j:plain

クライアントサイドでやると何が嬉しいのか?

60fpsでやりたければ負荷がかかるのでクライアントサイドで処理できることはメリット。

f:id:niwatako:20170303172305j:plain

4分ぐらい話したが、ここまで来て、CNNが何かとか、Deep Learningとはなにかとか、そういう話はLightningTalkなのでできないが、自動運転ができているとか、AlphaGoが囲碁チャンピオンに勝ったとか、医者より精度を高くガンを見つけられるとか、そういう画期的な話を皆さんも聞いたことがあると思います。

f:id:niwatako:20170303172442j:plain

f:id:niwatako:20170303172444j:plain

f:id:niwatako:20170303172446j:plain

f:id:niwatako:20170303172448j:plain

f:id:niwatako:20170303172450j:plain

とにかく、何かすごいものがiOSで動くようになったんです!!!

デモを作って来ました。

f:id:niwatako:20170303172540j:plain

f:id:niwatako:20170303172542j:plain

去年の try! Swiftの名札があるのですが、、、

f:id:niwatako:20170303172617j:plain

おっと。。。手が震えて認識できません。。。。。

f:id:niwatako:20170303172619j:plain

(会場歓声)

以上です。ありがとうございました!