人工知能は多くの空想をかきたてますが、スマートフォン上での人工知能の操作は実際には非常に簡単です。新しいトレンドをよりよく理解するために、デバイス上でそのような操作がどのように実行されるかを説明しましょう。

人工知能。今日、テクノロジーの世界で人気のテーマですが、以前は何よりも重要でしたSFのファンタジーの主題。共通点があまりないにもかかわらず、必然的にこの 2 つは混合することになりました。

この想像上の表現は、理解できる人がほとんどいないことを意味しますスマホに搭載されたAIとは一体何なのか最近では。だからこそ今日は、物事をわかりやすく説明する時間です。そのためには、ポートレート写真を撮影するときにスマートフォンで何が起こるかを例で説明すること以上に良いことはありません。

スマートフォンAIとは何か、どのように機能するのかを具体的に理解できるよう、難しい言葉をあまり使わずにステップバイステップでご案内します。スマートフォンの奥深くに飛び込む準備はできていますか?

モデルをトレーニングする

まず第一に、私たちが「」と呼んでいるものは何かということを理解する必要があります。人工知能» 最近では実際に「」が求められています。機械学習」。私たちのスマートフォンは実際には「知的»: それは、彼らが提供する体験がどのように構成されているかということです。

あらゆるコンピューター プログラムには、「アルゴリズム」と呼ばれる数学的概念が使用されます。これにより、開発者は異なる結果をもたらす複数のシナリオを提案できるようになります。ただし、古典的なフレームワークでは、エクスペリエンスを制御するには、ユーザーまたはオブジェクトの動作が事前にわかっている必要があります。

«機械学習» 現代AIの基礎となる(機械学習)は違う。ここで、ユーザーや製品が何をするかを事前に知る必要はありません。マシンはそれが何であるかを自ら理解し、結果を終了できる完全なツリー構造を作成できます。

画像クレジット: Microsoft

これをプログラムするために、開発者は「モデルこれは、送信されたすべてのデータ間で類似のパターンを見つけることができる特別なアルゴリズムです。このプログラムの唯一の目的は、探している情報を見つけることです。この例では、写真の残りの部分から人物を分離しようとします。モデルが作成されたら、大量のデータ (多ければ多いほど良い) を送信し、モデル自身で学習させます。

ここでは、いくつかの情報 (鼻、口、眉毛、肌など) を分析して、写真の被写体をうまく分離し、その輪郭がどこにあるのかを理解します。しかし、これはトレーニングです。モデルを取得し、大量のデータを送信し、エラーを伝えて、再度開始します。これは、精度がさらに高まり、エラーができるだけ少なくなるまで続きます。

だからそれは実際には「」についてではありません知性» 厳密に言えば、自律的な動作でさえありません。本当に変わるのは、プログラミングの考え方です。ザ」機械学習» は、新しい用途を可能にするプログラムを作成する新しい方法ですが、マシンの蜂起には程遠いです。私たちができるのは、単一の具体的な目標を持った分類アルゴリズムを作成し、時間の経過と受信するデータ量の経過とともに確実に改良されることだけです。

誰もが理解できるモデル

これですよ」訓練されたモデル» その後、スマートフォンに配信され、特定の機能が有効になります。ただし、古典的なプログラミング (またはより一般的な言語) と同様に、すべての言語がすべてのプラットフォームで理解できるわけではありません。

確かに聞いたことがあるでしょうGoogle の TensorFlow、あるいはフェイスブックコーヒー。これらを私たちは「」と呼んでいます。フレームワーク」。すべてを最初からプログラミングするのではなく、開発者はこれらを開発の基礎として使用し、その上に構築することができます。したがって、作成者がすでにセットアップしたいくつかのツールにアクセスでき、より簡単に作業を開始できます。それはこれらを通してです」フレームワーク» その大多数は「モデル» が作成されます。

これらのツールは既知でグローバルであるため、デバイスはアプリケーションが使用したいモデルを理解できるようにそれらをサポートするだけで済みます。ただし、その数は増え続けているため、すべてがどのマシンでも動作するという保証はありません。それを補う取り組みとしては、ONNXのような(オープンニューラルネットワーク交換) が存在し、次のようなテクノロジー業界の大手によって推進されています。マイクロソフトなどフェイスブック

これは、なじみのない言語を自動的に理解できる言語に変換できるプラットフォームで、いわば自動翻訳機のようなものです。したがって、異なるもの間の相互運用性が可能になります。フレームワーク開発者によって使用されており、新興の人工知能産業をさらに推進しています。

したがって、この例では、写真の被写体を背景から分離するためのモデルは、それが起動されるプラットフォームについて必ずしも考慮する必要はありません。翻訳者は、どこに翻訳されたとしても、それを理解する責任があります。

チップがすべての計算を処理します

私たちのモデルはトレーニングされており、どのデバイスでも理解できます。そこで、スマホアプリで具体的に活用するときが来ました。スマートフォンを手に取り、写真アプリケーションを開き、ポートレート モードに切り替えます。あなたはそれを目の前に立っている友人に向けます。

さぁ行こう。スマートフォンのチップが活性化し、すべてが並行して起こります。 SoC (またはシステムオンチップ)では、CPU と GPU についてよく話します。 CPU は最も一般的な計算の処理を担当する部分ですが、GPU は通常、グラフィック要素に関連する計算を担当します。ただし、SoC にはこれら 2 つよりも多くのチップが統合されていることがよくあることを理解しておく必要があります。これが、SoC をプラットフォームとして説明する理由です。

すでに、CPU (一般的なものとみなされます) には複数のコアがあり、それぞれに独自の特性があることがよくあります。一般的に、小規模なタスクを処理し、あまり消費しないコアと、より大規模な計算を実行するためにより多くの消費を行う強力なコアがあります。ただし、特定の計算は非常に特殊であるため、さらに最適化することができます。

このため、ほとんどの SoC には特定のタスク専用のチップが搭載されています。たとえば、写真撮影の場合、多くの SoC にはいわゆる「」機能が統合されています。ISP» (イメージセンサープロセッサー): これは、光センサーからのデータを解釈して処理するために必要な計算のみを行う専用のチップです。 DSP など、デジタル信号処理専用のものもあります。

写真を撮るときは、すべてが並行して行われます。数行の方程式から人工知能を削除してみましょう。写真を撮るとき、CPU はアプリケーション自体の実行を担当し、GPU はアプリケーションのアニメーションに確実に使用され、ISP は受信したデータを記録して変換します。信号をわかりやすいファイルに変換すると、写真が完成します。これに AI を追加すると、別の部分が計算を実行して目的の結果を見つける責任を負います。

ただし、各 SoC には独自の特定の方法があります。

クアルコム スナップドラゴンのケース

最新のクアルコム SoC の動作原理を説明するために、人工知能を専門とするクアルコムのシニア プロダクト ディレクターであるゲイリー ブロットマン氏に話を聞くことができました。

彼は私たちに、この種の作戦に対するクアルコムのアプローチは次のとおりであると説明しました。異質な」。 Snapdragon SoC は、各用途を特定のチップに統合することを目的とするのではなく、要求される各タイプの操作を調べ、それを CPU、GPU、および「Hexagon」を含む多数の DSP 全体に比較的公平に分散することを目的としています。 3 世代にわたり、AI 計算のためにいくつかの最適化が行われてきました。

からスナップドラゴン 855Hexagon 690 チップには依然として「」が統合されています。テンソル アクセラレータ» は、人工知能に特有の行列乗算と畳み込み積専用のエンジンです。これは多かれ少なかれ、ファーウェイが言うところの「NPU」であることを理解してください。ただし、クアルコムはそのような名前を付けたくないため、製造パートナーに任せています。 Snapdragon SoC がこのタイプのリクエストを受信すると、多くの部分を並行してアニメーション化できます。

例に戻りましょう。ポートレート モードで写真を撮影すると、写真とモデルの両方が SoC 全体によって処理されます。特定の非常にフォトタイプの操作は主に ISP に送られ、AI モデルの特定の計算は Hexagon Tensor Accelerator に送られますが、絶対的な意味では制限はありません。SoC のすべての部分、CPU および CPU が使用できます。 GPUが含まれています。プラットフォーム自体は、その時点でどの部分が最良の結果を提供できるかを決定する責任を負います。

ただし、クアルコムはこれらの決定を完全に支配することを望んでいません。 SDK (プログラマーがさまざまな追加ツールを提供するために使用する開発キット) を使用すると、誰でも SoC の動作を調整して、特定のチップ上で非常に正確に計算を実行できるようになります。これらは、希望する人にとって可能な徹底的な最適化です。

今はファーウェイキリン

私たちは、HiSilicon によって作成された Huawei の Kirin SoC がどのように動作するかについて詳しく学ぼうとしましたが、残念ながらメーカーは答えを提供できませんでした。

ファーウェイは明らかに、より専門的なアプローチを持っています。 CPU、GPU、ISP へNPUが追加される(またはニューラルプロセッシングユニット)、AI 計算に完全に特化したチップです。クアルコムとは異なり、同社は何よりもAIプロセスを残りの計算から分離してさらに最適化したいと考えているようだ。

この例では、写真を撮影すると、画像のすべての生の情報 (色、シャープネス、ISO など) が ISP によって処理され、NPU が目的のモデル (人物の被写体の検索) を計算します。写真を分離して)、結果を提供します。

Samsung の Exynos SoC の場合、韓国の巨人から正確な情報は得られていませんが、最新モデルに NPU が搭載されていることから、多かれ少なかれ Huawei と同じように動作すると思われがちです。

データはそこにあります、結果は次のとおりです

このモデルを使用すると、人間の被写体をその背景から分離することができます。このモデルは、フレームワーク、SoC は、このモデルを他のタスクと並行して使用できるように最適化されています。スマートフォンには必要なデータがすべて入っています。

あとは人物と背景に分かれた美しい写真を楽しむだけです。スマートフォンは、モデルによって定義されたカットアウトを使用して人物の被写体をそのままにし、単純に背景にぼかし効果を適用します。ポートレートモードの写真が完成しました!

もちろん、これは、私たちが「人工知能» スマートフォンで。見た目ほど賢くないので、潜在的に恐ろしいですよね?

私たちが今日理解している AI は、新しい可能性を開く新しいプログラミング方法にすぎないことを理解する必要があります。写真であれ、自律性やスマートフォン自体の機能などのその他の最適化分野であれ、開発者は、使用方法を事前に決めるのではなく、モデルをいじることができるようになりました。

そして私たちはまだ始まりにすぎません機械学習。この意味でスマートフォンの未来が私たちに何を待ち受けているのか誰にも分かりません。唯一の制限は、この状況における開発者の想像力です。

さらに進むには
私たちは人工知能を恐れるべきでしょうか?