スマホ関連の海外ニュースです。
アップルを機械学習自社製品で長い時間使用している: シリは私たちの質問に答えるし、私たちを楽しま、iPhoto の写真の顔を認識して、メール アプリは、スパム メッセージを検出します。アプリ開発者は、顔検出などのアップル社の Api によって公開されるいくつかの機能へのアクセスがあること、iOS 10 にはじまって、音声認識のための高レベル API とシリキットを得るでしょう私たち。 時にプラットフォームに組み込まれ、独特な何かを作成する Api の狭い境界を越えて行きたい場合があります。何回も、私たちは私たち自身のマシン学習機能、市販ライブラリの番号のいずれかを使用または加速や金属の高速演算機能の上に直接建物をロールバックします。 たとえば、私の同僚は、顔を検出する iPad を使用することで、余裕で gif を投稿し、カスタム コマンドを使ってドアロックを解除することができます私たちのオフィスのエントリ システムを構築しました。 今すぐニューラル ネットワークの最初党サポート: 2016 年 WWDC でアップルを導入ものではないが、2 つのニューラル ネットワーク Api と呼ばれる基本的なニューラル ネットワークのサブルーチン (BNN) と畳み込みニューラル ネットワーク (CNN)。 AI パイオニア アーサーサムエル定義「コンピューター プログラム明示的に与えることなく学習することができます研究の場」として機械学習機械学習システムは伝統的なモデルを使用して簡単に説明できないデータの意味は、頻繁に。 たとえば、我々 は簡単に寸法や形状の全客室と他のスペースを与え、家の正方形長さ (エリア) を計算するプログラムを書くことができますが、家の価値を計算する数式で出来るものではありません。機械学習システムは、その一方で、このような問題に適してです。家、寝室等の数、サイズ、市場価値など、システムに知られている実際のデータを提供することによって我々 は価格を予測することであることをトレーニングできます。 ニューラル ネットワークは、機械学習システムを構築する最も一般的なモデルの一つです。ニューラル ネットワークの数学的基盤は、半世紀以上前、1940 年代に開発されている、作ったそれら 1980年年代より現実的に並列コンピューティング、深い学習への関心が 2000 年代のニューラル ネットワークの復活を引き起こした。 ニューラル ネットワークは、1 つまたは複数のノードから成りそれぞれの層の数で構成されます。最も単純なニューラル ネットワークは 3 つの層: 入力、非表示し、出力します。入力層のノードは、イメージまたはその他のパラメーターの個々 のピクセルを表します。我々 は、写真の内容を自動的に検出しようとしている場合、出力層のノードは「犬」や「猫」などの分類の結果を多い。非表示層ノードは、入力に対して操作を実行または活性化関数を適用する構成されます。 レイヤーの 3 つの一般的なタイプは、プーリング、畳み込みと完全に接続されています。 プーリング レイヤーは、通常入力の最大値または平均値を使用して、そのサイズを削減、データを集計します。畳み込みとレイヤーをプーリングのシリーズは徐々 にますます高度な機能のコレクションの写真を蒸留する一緒に弦楽器にできます。 畳み込み層は、コンボリューション行列を画像の各ピクセルに適用することによってイメージを変換します。Pixelmator または Photoshop のフィルターを使用した、コンボリューション行列を使った可能性が高い。コンボリューション行列は、出力イメージの新しいピクセル値を計算するために入力画像のピクセルに適用される 3 x 3 または 5 x 5 のマトリックスです。出力ピクセルの値を取得するには、元のイメージのピクセルの値を乗算し、平均値を計算します。 たとえば、このコンボリューション行列ぼかし画像: この 1 つは画像をシャープに対し: ニューラル ネットワークの畳み込み層コンボリューション行列を使用して、入力を処理し、たとえば、次のレイヤーのデータが生成される、エッジなどのイメージで新しい特徴を抽出します。 完全に接続されている層と考えられますの畳み込み層フィルターが元の画像と同じサイズを持っています。つまり、個々 のピクセルに重み関数結果の平均値を単一の出力値を与えると、完全に接続された層の考えることができます。 各レイヤーは、適切なパラメーターを設定する必要があります。たとえば、畳み込み層畳み込み層パラメーター (カーネル サイズ、マトリックスなど) だけでなく、入力と出力のイメージ (寸法、チャンネル数など) に関する情報が必要です。完全に接続されている層は、入力および出力ベクトル, 活性化関数と重みで定義されます。 これらのパラメーターを得るためには、ニューラル ネットワークは、訓練を受けるが。ニューラル ネットワークによる入力を渡し、出力を決定する、測定 (すなわち、どのように遠く離れて実際の結果が予測結果から)、誤差逆伝搬による重みを調整する、これは。ニューラル ネットワークの学習は、数百、数千、または数百万例の必要があります。 現時点では、推論を行うニューラル ネットワークの構築が、訓練ではない Api を学習 Apple の新しいマシンを使用できます。オタクに大きな牧場が良いこと。 最初の新しい API 加速フレームワークの一部であり BNN、基本的なニューラル ネットワーク サブルーチンの略と呼びます。BNN では、学習アプリケーションいくつかのサードパーティ製のマシンに使われていたブラス (基本線形代数サブルーチン) を補完するもの。 BNN では、クラスのレイヤーを定義します。サポートしている 3 種類のレイヤーを加速: (関数によって作成される) 畳み込み層、完全に接続された層 ()、およびプール層 ()。 MNIST データベースは、スキャンと 20 が 20 ピクセルのイメージに合うようにサイズ変更された手書きの数字の数万人を含む既知のデータ セットです。 イメージ データの処理方法の 1 つは、ベクトル画像に変換し、完全に接続層を通過することです。MNIST データ 1 つ 20 x 20 の画像は 400 の値のベクトルになります。ここでは、手書きの数字「1」がベクトルに変換を得る方法: 入力として 400 サイズのベクトルを受け取り、s 状結腸の活性化関数を使用して、サイズ 25 のベクトルを出力する完全接続層を構成するためのサンプル コードは、以下: それはこれより以上の金属を取得?実際には、それは 2 番目のニューラル ネットワーク API 金属パフォーマンス シェーダー (MPS) フレームワークの一部であるため。加速は CPU の高速計算を実行するために、フレームワークが、金属は GPU を限界にプッシュします。金属の味は、CNN、畳み込みニューラル ネットワークと呼ばれます。 MPS は、同様の Api のセットが付属します。畳み込みのレイヤーを作成するを使用して関数が必要です。プーリング レイヤーのパラメーターを供給でしょう。関数によっては、完全に接続されているレイヤーが作成されます。サブクラスによって活性化関数が定義されます:、、、。 次の表は、加速と金属における活性化関数の一覧を示します: 各アプリケーションには 1 つまたは他の選択が異なりますので加速と金属ニューラル ネットワークの機能の非常に同じようなセットを提供します。Gpu は通常最寄りの機械学習で必要な計算の種類が、データの局所性が加速する BNN のバージョンよりも貧しい実行する金属 CNN を引き起こす可能性があります。ニューラル ネットワークは、GPU に読み込まれている画像を動作する場合たとえばを使用してと、新しい金属の明確な勝者です。
続きを読む…
Neural Networks in iOS 10 and macOS
Apple has been using machine learning in their products for a long time: Siri answers our questions and entertains us, iPhoto recognizes faces in our photos, Mail app detects spam messages. As app developers, we have access to some capabilities exposed by Apple’s APIs such as face detection, and starting with iOS 10, we’ll gain a high-level API for speech recognition and SiriKit. Sometimes we may want to go beyond the narrow confines of the APIs that are built into the platform and create something unique.
Read more…