簡単に言えば、人工ニューラル ネットワーク (ANN) とは、人間の脳 (自然なニューラル ネットワーク) の機能を模倣した機械学習用に設計されたコンピュータ システムです。「コンピュータ ニューラル ネットワーク」の略称であるCNNと呼ばれることもあるこれらのシステムは、人間の学習プロセスをモデル化して学習します。つまり、データを取得し、パターンを探し、そのパターンを吸収して、データを処理したり、物事を識別したりするための論理ルールを作成します。
たとえば、ニューラル ネットワークに2つのデータセットを与えることができます。
1.データセット1は「猫」と呼ばれ、猫の写真が含まれています
2.データセット2は「no cat」と呼ばれ、猫のいない画像で構成されています。
これらのデータセットに基づいて、ANNは猫が何であるかを知らされなくても猫の写真を識別することを学習できます。各画像セットがすべての画像間で共通している点と、画像セットが互いにどのように異なるかを理解するためのルールを作成します。
もちろん、最も単純な用語では、このような複雑なシステムとプロセスを十分に説明することはできません。実際には、ANNは非常に複雑なシステムであり、機械学習を理解して活用することに関しては、科学者にはやるべきことが山ほどあります。人間の学習や記憶と同様に、ニューラル ネットワークは、次のような、直接プログラムして完了させることができない、または直接プログラミングすることが現実的ではないタスクを実行します。
- 株式市場の動向を予測する
- 単語の選択とスタイルに基づいて原稿の著者を特定する
ANNとそれに伴う機械学習は複雑で特殊であり、まだ学ぶべきことがたくさんありますが、このテクノロジーはすでに多くの実用的なアプリケーションで使用されています。ANNの最も一般的な設定の1つは、コンピューター ビジョンの領域です。
コンピュータビジョンと機械学習
コンピューター ビジョンは、人間の視覚システムが自動的に実行する種類の情報収集タスクを自動化するという、一見単純な定義を持つ、非常に複雑な分野です。実際には、これは、次のような画像から情報を抽出できるようにコンピューターをトレーニングすることを意味します。
- デジタル画像
- ストリーミングまたは保存されたビデオ
- ビデオカメラからのライブ映像
この種の技術の用途には次のようなものがあります。
- 顔認識
- 物体認識
- 動きの検出と分析
- 画像の復元
より単純なタスクのいくつかは、すでに馴染みがあるはずです ― Facebookが写真に自分や友達をタグ付けすることを提案するときに、コンピューター ビジョンが機能しているのを目にしたことがあるでしょう。
ニューラルネットワークはどのように機能するのでしょうか?人工ニューラルネットワークの応用
猫の写真の例は馬鹿げているように思えるかもしれませんが、これは、コンピューターがコンピューター ビジョンを使用して、かつては人間が行っていたタスクを引き継ぐ基本的なプロセスを示しています。データセットが大きくなるにつれて、ニューラル ネットワークはアルゴリズムを改良し、精度を高めて、より困難なテストでも正しく実行できるようになります。
おそらく、より実用的な例は手書き認識です。文字「A」を識別することは人間の観察者にとっては簡単な作業かもしれませんが、「A」の形状を伝えるために必要なプログラミングは、特に実際の手書きサンプルで考えられるすべての変数を考慮すると、かなり複雑になります。
- 身長
- 幅
- 比率
- 間隔
- 清潔さ
それでも、多種多様な手書きサンプルでトレーニングされたニューラル ネットワークは、各文字の無限のバリエーションを認識することを学習できるため、手書きのメモをデジタル化したり、下手な書き方や部分的に破損した手書きを解読したりすることが可能になります。
コンピューター ビジョンの可能性を解き放つ作業はまだ完了にはほど遠いですが、近年、特に洗練度という点で大きな進歩を遂げています。これらの進歩は主にANNと機械学習の発展によるもので、どちらもコンピューター ビジョンの成長と発展を可能にします。詳細については、FPGAがニューラル ネットワークにどのように適合するかについて、 こちらで学んでください。