「iOSとディープラーニング」というタイトルで登壇させていただきました。大層なタイトルですが、僕はディープラーニングや機械学習について詳しいわけではなく、「これから勉強したい」だけの素人です。iOSDCのCFPではLT枠の場合はトーク概要を書く必要がなかったので、タイトルは大きめにしておいて、内容は勉強の進捗に応じて、という算段でした。Qiitaこの次に「自分でモデルをつくる」というステップに進みたかったのですが、次から次へとわからないことがでてきて、結局「誰かがつくったサンプルを動かす」「拾ってきたモデルを使う」止まりの発表になってしまいました。そこは引き続き精進してまいります、ということで、以下補足を。iPhoneでInception-v3モデルによるリアルタイム物体認識を動かすTensorFlowのInception-v3を使った一般物体認識のデモをiPhoneで動かしたときの動画がこちらです。候補の上に上がってきます。*1パフォーマンスもなかなかではないでしょうか。6sなので、ちょっとずるいですが。)サンプルを試す手順の詳細は下記記事にあります。10では2つのフレームワークにニューラルネットワークを高速計算するための機能群が追加されました。CPUで高速計算を行うためのフレームワークです。Frameworkに新規追加されました。GPUで高速計算を行うためのフレームワークです。どちらも同じような用途の機能が用意されていて、素人からするとGPUで処理するほうが良さそう、と思うのですが、わざわざ2種類出してきたからにはきっと一長一短あるのでしょう。詳しい方が書いた記事があり、その記事ではこれらの比較についてこう述べられています。AccelerateとMetalは、非常によく似たニューラルネットワーク関数群を提供しているので、どちらを選択するかは、各アプリケーションに依存します。BNNSバージョンより劣る場合があります。GPUにロードされた画像上でニューラルネットワークを動かす場合、例えば、MPSImageと新しいMPSTemporaryImageを使うと、Metalの方が明らかにパフォーマンスが上です。X用のものしかありません。MPSCNNの方はメリットやパフォーマンスを把握するのに最適なiOS向け公式サンプルが2つ出ています。プレフィックスで、CNN関連の機能にはMPSCNNというプレフィックスが付いています。上の手書き文字認識の方(MPSCNNHelloWorld)がシンプルで非常に理解しやすく、最初の一歩にすごく良いです。ベータ期間中につきサンプルのスクショは控えます。上の画像(発表資料p35)はWWDC16のセッションスライド内にあった多層ネットワークの概念図に、該当するMPSCNNのクラス名を書いたものですが、わりとそのまんまで、CNNの概念を理解していれば非常に使いやすそうです。GitHub検索するとOSSがざくざく出てきます。そのうち、100スター以上ついているものをピックアップしてみました。Acceleratedフレームワークで高速化してあるものも多く、充実している印象です。いざ試してみようとすると、サンプルもなかったり、最近はメンテされてなさそうだったりで、実際に使えるのは実はあまり多くないのかも、とも思いました。スターが多くついている「Swift-AI」については下記記事で紹介しています。発表内では触れてないのですが、ディープラーニングというか人工知能というかそういう系の話はWebに解説記事も多く、逆にどこから手を付けていいかわからない、という状態に長らく陥っていました。6,089Amazon.co.jpで詳細を見る人間の脳のしくみから読みやすい文章で紹介してあって、いきなり数式ベースの解説があると「また今度にしよう」となってしまう自分には入り口として最適でした。今後の展望TensorFlowにしろiOSのBNNS/CNNにしろ、学習済みモデルの中身というかフォーマットがよくわかってないので、次はそのあたりを調べたいと思ってます。#WWDC17今年はWWDC会場よりお送りしております。10でも大量のAPIが追加されました。(22)月別アーカイブリンクWishlist検索はてなブログをはじめよう!shu223さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。