ディープ ニューラル ネットワーク: その概要と仕組み
ディープ ニューラル ネットワークは、ディープ ラーニング モデルで使用される主要な技術アーキテクチャを構成する概念です。 これらの構造は、人工知能の基本である人工ニューラル ネットワークの一般的な考え方を理解しないと理解できません。
ニューラル ネットワークは、ナンバー プレート、歌、顔、声、さらにはキッチンにある果物の認識など、さまざまな用途に使用されています。 それらは特に有用な技術であり、実用化されたのはごく最近ですが、人類の未来となるでしょう。
次 人工ニューラル ネットワークとディープ ネットワークのアイデアを詳しく見ていきます。、それらがどのように機能し、どのように訓練され、それらを構成するさまざまなニューロン間の相互作用がどのように発生するかを理解します。
- 関連記事: 「認知科学って何? その基本的な考え方と開発段階」
ディープ ニューラル ネットワークとは何ですか? またその特徴は何ですか?
ディープ ニューラル ネットワークは、 深層学習または深層学習で使用される最も重要な技術アーキテクチャの 1 つ. これらの特定の人工ネットワークは、あらゆる種類のパターンを認識する際に基本的な側面を構成するため、近年目まぐるしい成長を遂げています. 人工知能は、これらの特定のネットワークの運用のおかげで存在します。 本質的に、それらは私たちの脳がどのように機能するかのレプリカになります。 算数。
深層ニューラル ネットワークとは何かについて詳しく説明する前に、まず人工ニューラル ネットワークが一般的にどのように機能し、その目的が何なのかを理解する必要があります。 Lニューラル ネットワークは、近年大きな影響を与えた「機械学習」の一分野です。、プログラマーやコンピューター科学者がチャットボットのようなものを構築するのを支援し、彼らと話すと、実際の人間と話していると思わせる.
人工ニューラル ネットワークは、自動運転車にも使用されています。 私たちの顔を認識し、それを私たちが望むものなどに変換するモバイルアプリケーション 機能。 その適用範囲は非常に広く、現代の人工知能の基礎として機能し、私たちの日常に無限の有益な用途があります.
人工ニューラル ネットワーク
私たちがキッチンにいて、オレンジを探すことにしたとしましょう。これは非常に単純な作業です。. 私たちはオレンジをとても簡単に識別する方法を知っており、バナナ、リンゴ、ナシなど、キッチンで見つけた他の果物と区別する方法も知っています. として? 私たちの脳は、オレンジの典型的な特性を非常によく理解しているからです。 大きさ、形、色、匂い…これらはすべて、 オレンジ。
人間にとっては簡単な作業ですが… コンピューターでもできますか? 答えはイエスです。 原則として、同じパラメーターを定義し、ノードまたは「人工ニューロン」と呼ぶことができる何かに値を割り当てるだけで十分です。 そのニューロンに、オレンジがどのようなものであるかを伝え、オレンジのサイズ、重さ、形、色、またはこの果物に起因するその他のパラメーターを示します。 この情報があれば、ニューロンはオレンジが提示されたときにオレンジを識別する方法を知っていることが期待されます。
パラメータを適切に選択すると、それらの特性を考慮に入れるだけで、オレンジとオレンジではないものを簡単に区別できます。 果物の画像が提示されると、そのニューロンは特徴を検索します オレンジに関連付けて、それをカテゴリ「オレンジ」またはカテゴリ「その他」のどちらに含めるかを決定します フルーツ"。 統計的に言えば、現在の状況に対応するパラメータ グラフ内の領域を見つけることです。 同じサイズ、形、色、重さ、香りを共有する果物のすべての部分を含む地域を探しています。 オレンジ。
最初は、これらすべてをコーディングするのは非常に簡単に思えますが、実際にはそうです。 オレンジは色や形が異なるため、バナナやリンゴと区別するのに非常に適しています。 しかし、グレープフルーツをプレゼントしたらどうなるでしょうか。 そして非常に大きなみかん? それらはオレンジと完全に混同される可能性のある果物です。 人工ニューロンは、オレンジとグレープフルーツを自動的に区別できますか? 答えは「いいえ」であり、実際にはおそらく同じであると考えられています。
人工ニューロンの層を 1 つだけ使用することの問題、または同じことですが、最初に単純なニューロンのみを使用することの問題は、 認識できるはずのものと多くの共通点を持つものを提示されたときに、非常に不正確な決定境界を生成する、しかし実際にはそうではありません。 グレープフルーツのようにオレンジに見えるものを提示すると、それがその果物でなくても、オレンジであると識別します。
これらの決定境界は、グラフの形式で表される場合、常に線形になります。 単一の人工ニューロン、つまり統合されたパラメーターを持つ単一のノードを使用する 具体的ですが、それらを超えて学習できない場合、非常に近い決定境界が得られます。 拡散する。 その主な制限は、2 つの統計手法、特にマルチクラス回帰と ロジスティック回帰、つまり、疑わしい場合は、期待していたものとは異なるものが含まれていることを意味します。 識別します。
すべての果物を「オレンジ」と「オレンジではない」に分けるとしたら、ニューロンを 1 つだけ使用して、バナナ、ナシ、 リンゴ、スイカ、およびサイズ、色、形、香りなどがオレンジと一致しない果物は、「いいえ」のカテゴリに入れます。 オレンジ"。 ただし、グレープフルーツとみかんは「オレンジ」のカテゴリに分類され、設計された機能が不十分です。
そして、オレンジとグレープフルーツについて話すとき、犬とオオカミ、鶏と鶏、本とノートについて話すことができます...すべて これらの状況は、単純な一連の「if...」(「if...」) では、一方と他方を明確に区別するのに十分でない場合です。 他の。 より複雑な非線形システムが必要であり、異なる要素をより正確に区別できます。 類似点の間に違いがある可能性があることを考慮したもの. ここで、ニューラル ネットワークの出番です。
より多くの層、より人間の脳に似ています
人工ニューラル ネットワークは、その名前が示すように、以下に触発された計算人工モデルです。 人間の脳のニューラル ネットワークでは、この器官の機能を実際に模倣するネットワーク 生物学的。 このシステムは神経機能に着想を得ており、その主な用途は以下の認識です。 あらゆる種類のパターン: 顔識別、音声認識、指紋、手書き、 ナンバープレート… パターン認識は、ほとんどすべてに機能します。.
異なるニューロンがあるため、適用されるパラメータはさまざまで、より高い精度が得られます。 これらのニューラル ネットワークは、アイテムをカテゴリに分類できるようにするシステムです。 違いは微妙で、非線形の方法でそれらを分離することができます。これは、他の方法では不可能なことです。 方法。
単一のノード、単一のニューロンで、情報を処理するときに行われるのはマルチクラスの回帰です。 より多くのニューロンを追加することにより、それらのそれぞれが独自の非線形活性化関数を持っているため、より単純な言語に翻訳すると、決定境界が次のようになります。 より正確に、湾曲した形状でグラフィカルに表現され、「オレンジ」と「オレンジではない」を区別する際により多くの特性を考慮して、その例を続けます。
これらの決定境界の曲率は、ニューラル ネットワークに追加するニューロン層の数に直接依存します。 システムをより複雑かつ正確にするこれらのニューロンの層は、事実上、ディープ ニューラル ネットワークです。 原則として、ディープ ニューラル ネットワークの層が多いほど、プログラムは人間の脳と比較してより正確で類似したものになります。
要するに、ニューラルネットワークは単なる 人間が行うのと非常によく似た方法で、より正確な意思決定を行うことを可能にするインテリジェントなシステム. 人間は環境から学び、経験に基づいています。 たとえば、オレンジとグレープフルーツの場合、一度も見たことがない場合は、完全にオレンジと間違えます。 私たちがそれに慣れたとき、それを識別し、オレンジと区別する方法をすでに知っているときです.
最初に行われることは、ニューラル ネットワークにいくつかのパラメーターを与えることです。これにより、ニューラル ネットワークに識別を学習させたいことがどのようなものかをニューラル ネットワークに認識させることができます。 次に、学習またはトレーニング フェーズが行われるため、精度が向上し、エラーの許容範囲が徐々に小さくなります。 これは、ニューラル ネットワークにオレンジやその他の果物を提示するときです。 トレーニング段階では、オレンジ色のケースとオレンジ色でないケースが与えられ、答えが正しいかどうかを確認し、正しい答えを伝えます。
私たちは多くの試みを行い、可能な限り現実に近づけようとします。. このようにして、実際のケースが到着したときにニューラル ネットワークが動作し、人間が実生活で行うのと同じ方法で適切に識別する方法を知っているのを支援しています。 トレーニングが適切で、適切な認識パラメータを選択し、 うまく分類できれば、ニューラル ネットワークのパターン認識の成功率は非常に高くなります。 高い。
- あなたは興味があるかもしれません: 「ニューロンはどのように機能するのですか?」
それらは何であり、どのように正確に機能しますか?
ニューラルネットワークとは何かについての一般的な考え方を見たので、それらが何であり、どのように機能するかをより完全に理解するつもりです これらの人間の脳のニューロンのエミュレーターは機能し、ディープ ニューラル ネットワークはこのすべてのどこに描画しますか プロセス。
次のニューラル ネットワークがあるとします。3 層の人工ニューロンがあります。 最初の層には 4 つのニューロンまたはノードがあり、2 番目の層には 3 つ、最後の層には 2 つしかないとします。 これはすべて、非常に理解しやすい人工ニューラル ネットワークの例です。
最初のレイヤーは、データを受け取るレイヤーです。、つまり、音、画像、香り、電気的インパルスの形で来る可能性のある情報です... レイヤーは入力レイヤーであり、すべてのデータを受信して、後で次のレイヤーに送信できるようにします。 レイヤー。 ニューラル ネットワークのトレーニング中、これが最初に使用するレイヤーになります。 あなたが予測を行ったり、与えられた情報を特定したりすることがどれだけうまくいっているかを確認するために使用するデータ 与えます。
仮説モデルの 2 番目の層は、最初と最後の層のちょうど真ん中にある隠れ層です。、あたかも私たちのニューラル ネットワークがサンドイッチであるかのように。 この例では、隠れ層は 1 つしかありませんが、必要な数だけ存在する可能性があります。 50、100、1000、さらには 50,000 レイヤーについて話すことができます。 本質的に、これらの隠れ層は、ディープ ニューラル ネットワークと呼ばれるニューラル ネットワークの一部です。 深さが深いほど、ニューラル ネットワークは複雑になります。
最後に、出力層であるこの例の 3 番目の層があります。 この層は、その名の通り、 前のレイヤーから情報を受け取り、決定を下し、回答または結果を提供します。.
ニューラル ネットワークでは、各人工ニューロンが次のすべてのニューロンに接続されています。 この例では、4、3、2 ニューロンの 3 つの層があるとコメントしましたが、入力層の 4 は次のようになります。 隠れ層の 3 と接続され、隠れ層の 3 と出力の 2 が接続され、合計 18 になります。 接続。
これらのニューロンはすべて次の層のニューロンと接続され、入力→非表示→出力の方向に情報を送信します。. より多くの隠れ層があれば、出力層に到達するまで隠れ層から隠れ層へと情報を送信して、より多くの接続について話します。 出力層は、情報を受け取ると、受け取った情報とその処理方法に基づいて結果を返します。
アルゴリズム、つまりニューラル ネットワークをトレーニングするとき、今説明したこのプロセスは何度も実行されます。 いくつかのデータをネットワークに配信し、その結果が何をもたらすかを確認し、それを分析して、予想される結果と比較します。 期待されるものと得られるものとの間に大きな違いがある場合は、誤差の範囲が大きいことを意味し、したがって、いくつかの変更を加える必要があります。
人工ニューロンはどのように機能しますか?
ここで、ニューラル ネットワーク内で機能するニューロンの個々の機能を理解します。 ニューロンは、前のニューロンから情報の入力を受け取ります。 このニューロンが 3 つの情報入力を受け取り、それぞれが前の層の 3 つのニューロンから来るとしましょう。 次に、このニューロンは出力を生成します。この場合、次の層のニューロンにのみ接続されているとしましょう。
このニューロンが前の層の 3 つのニューロンと持っている各接続は、前のニューロンが送信している値である "x" 値をもたらします。; また、この接続の重みである値「w」も持っています。 重みは、あるつながりを他のつながりよりも重要視するのに役立つ値です。 つまり、前のニューロンとの各接続には「x」と「w」の値があり、これらの値が乗算されます (x·w)。
また、 「バイアス」と呼ばれる値または「b」で表されるバイアスは、特定のニューロンが他のニューロンよりも容易に活性化するように促すエラーの数です. さらに、ニューロン内に活性化機能があり、それがさまざまな要素の分類の程度を決定します (p. たとえば、オレンジ) は線形ではありません。 それぞれのニューロンには考慮すべきさまざまなパラメータがあります。これにより、システム全体 (ニューラル ネットワーク) が非線形の方法で分類されます。
ニューロンは、活性化する必要があるかどうかをどのように判断しますか? つまり、次のレイヤーに情報を送信する必要があるかどうかはいつわかりますか? さて、この決定は次の方程式によって管理されます。
この式は、ニューロンが前の層から受け取ったすべての値 "x" を乗じたすべての重み "w" の合計を作成する必要があることを意味します。 これに加えて、バイアス「b」が追加されます。
この方程式の結果はアクティベーション関数に送られます、これは単純に、この方程式の結果が 一定の数になると、ニューロンは次の層に信号を送信し、それよりも少ない場合は信号を送信しません。 それを送るために したがって、これは人工ニューロンが次のようにニューロンに情報を送信するかどうかを決定する方法です。 出力を「y」と呼びます。この出力は、次の入力「x」です。 ニューロン。
また、ネットワーク全体をどのようにトレーニングしますか?
最初に行われることは、以前にコメントしたように、データを最初のレイヤーに配信することです。 この層は、隠れ層またはディープ ニューラル ネットワークである次の層に情報を送信します。 これらの層のニューロンは、受け取った情報に応じてアクティブになるかどうかに依存します。 最後に、出力レイヤーから結果が返されます。これを待っていた値と比較して、ニューラル ネットワークが正しく学習したかどうかを確認します。
彼がよく学習しなかった場合は、別のやり取りを行います。つまり、 再び情報を提示し、ニューラル ネットワークがどのように動作するかを確認します. 得られた結果に応じて、「b」値、つまり各ニューロンのバイアスが調整されます。「w」は、エラーを減らすための各ニューロンとの各接続の重みです。 その誤差の大きさを調べるために、次の別の方程式を使用します。
この方程式は二乗平均平方根誤差です。 ネットワークが相互作用で私たちに与えた値である y (x) の合計から、ネットワークが私たちに与えると期待していた値である「a」を引いて、2 乗します。 最後に、この合計に 1/2n を掛けます。この「n」は、ニューラル ネットワークをトレーニングするために送信したインタラクションの数です。
たとえば、次の値があるとします。
最初の列「y (x)」は、テストした 4 つの相互作用のそれぞれで、ネットワークが私たちに与えたものを表します。 ご覧のとおり、得られた値は、テストされた各相互作用の目的の値である 2 番目の列「a」の値に対応していません。 最後の列は、各インタラクションのエラーを表します。
前述の式を適用し、これらのデータをここで使用します。この場合、n = 4 (4 相互作用) は 3.87 の値を与えます。これは、ニューラル ネットワークがこれらで持つ平均二乗誤差です。 瞬間。 エラーを知って、今しなければならないことは、前にコメントしたように、バイアスと ニューロンのそれぞれの重みと、このようにして誤差が 減らす。
この時点で、エンジニアとコンピューター サイエンティストが応募します。 勾配降下法と呼ばれるアルゴリズム これにより、各人工ニューロンのバイアスと重みをテストおよび変更するための値を取得できます このようにして、ますます低いエラーが得られ、予測または結果に近づきます 欲しかった。 これはテストの問題であり、より多くの対話が行われるほど、より多くのトレーニングが行われ、ネットワークはより多くのことを学習します。
ニューラル ネットワークが適切にトレーニングされると、正確で信頼性の高い予測と識別ができるようになります。 この時点で、各ニューロンに次の値を持つネットワークを作成します。 制御されたバイアスとシステムを作る決定能力を備えた、定義された重み 仕事。
参考文献:
- プイグ、A. [AMP テック] (2017 年 7 月 28 日)。 ニューラルネットワークはどのように機能しますか? 【動画ファイル】 から回復 https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
- サンタオララ、J. [Vlog を作成する] (2017 年 4 月 11 日) CienciaClip チャレンジ - ニューラル ネットワークとは? 【動画ファイル】 https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
- シュミットフーバー、J. (2015). 「ニューラル ネットワークの深層学習: 概要」。 ニューラル ネットワーク。 61: 85–117. arXiv: 1404.7828. ドイ: 10.1016/j.neunet.2014.09.003. PMID 25462637。 S2CID 11715509