人工ニューラル ネットワーク (ANN) の完全な概要

公開: 2020-07-17

データ サイエンスやソフトウェア エンジニアリングの分野で働いていなくても、人工ニューラル ネットワークという用語の前に出ないようにするのは困難です。

人工ニューラル ネットワーク (ANN) はどこにでもあります。 チャットボット、医用画像、メディア プランニングなど、さまざまな分野で使用されています。 しかし、私たちは強い好奇心を持って尋ねたことがありますか? 人工ニューラル ネットワークとは何ですか? そして、それは実際に何を達成できるのでしょうか?

私たちは皆、人工ニューラル ネットワークが人間の神経系の機能を複製するという共通の定義に出くわしました。 これで動作原理は説明できますが、私たちのほとんどは、ANN が特別な理由や、どのような問題セットに最適なのかをまだ知りません。 空気をきれいにするために、人工ニューラルネットワークに関する最も包括的でありながらアクセスしやすいガイドを次に示します.

人工ニューラル ネットワークとは

人工知能、機械学習、深層学習、ニューラル ネットワークなどの用語がたくさんあると、混乱しがちです。 これらのバーティカル間の実際の分岐はそれほど複雑ではありません。

AI は、目の前の主題である普遍的なセットです。 これは、インテリジェントなプログラムがどのように動作し、作成されるかについての体系的な研究です。 機械学習は、機械が自ら学習する方法に焦点を当てた AI のサブセットです。 ディープ ラーニングは、ニューラル ネットワークのレイヤーを使用して出力を生成する方法に焦点を当てた、ML のさらなるサブセットです。 この視覚化を使用して、階層をナビゲートできます。

ANN 階層


人工ニューラルネットワークとは? 答えは、人気のあるメディアがそれを宣伝する方法とまったく同じです. これは、ニューラル システムを複製して大規模なデータセット内の非線形関係を解明する、データ処理と出力生成のシステムです。 データは感覚経路から得られる場合があり、テキスト、画像、または音声の形式である場合があります。

人工ニューラル ネットワークがどのように機能するかを理解する最善の方法は、脳内の自然なニューラル ネットワークがどのように機能するかを理解し、それらを比較することです。 ニューロンは人間の脳の基本的な構成要素であり、私たちが知っているように、知識と情報の学習と保持を担っています。 それらは脳内の処理ユニットと見なすことができます。 それらは感覚データを入力として受け取り、それを処理し、他のニューロンによって使用される出力データを提供します。 決定的な結果が得られるまで、情報は処理され、渡されます。

脳内の基本的なニューラル ネットワークは、シナプスによって接続されています。 それらは、2 つのニューロンを接続するブリッジのエンドノードとして視覚化できます。 つまり、シナプスは 2 つのニューロンの合流点です。 シナプスの強さが理解の深さと情報の保持を決定するため、シナプスはこのシステムの重要な部分です。

あなたが活動を実践しているとき、あなたはこれらのシナプス関係を強化しています. これは、脳内のニューラル ネットワークを視覚化する方法です。

神経網

脳がリアルタイムで収集しているすべての感覚データは、これらのニューラル ネットワークを通じて処理されます。 それらは、システム内に起点があります。 そして、それらが最初のニューロンによって処理されると、1 つのニューロンから出てくる電気信号の処理された形式が、別のニューロンの入力になります。 ニューロンの各層でのこの微細な情報処理が、このネットワークを効果的かつ効率的なものにしています。 ニューラルネットワーク全体でデータを処理するというこの繰り返しのテーマを複製することにより、ANN は優れた出力を生成することができます。

ANN では、すべてがまさにこのプロセスを再現するように設計されています。 数式は気にしないでください。 それは、今理解すべき重要なアイデアではありません。 システムに「X」というラベルを付けて入力されるすべてのデータは、重み付けされた信号を生成するために「W」の重みを持っています。 これは、脳におけるシナプス信号の強度の役割を複製します。 バイアス変数は、関数からの出力の結果を制御するために添付されます。

したがって、このデータはすべて関数で処理され、出力が得られます。 これが、1 層のニューラル ネットワークまたはパーセプトロンの外観です。 人工ニューラル ネットワークのアイデアは、そのような人工ニューロンのいくつかの組み合わせを接続して、より強力な出力を得ることを中心に展開しています。 そのため、典型的な人工ニューラル ネットワークの概念的なフレームワークは次のようになります。

ANN 可視化チャート

人工ニューラルネットワークがどのように機能するかを深く掘り下げながら、すぐに隠れ層を定義します. しかし、人工ニューラル ネットワークの基本的な理解に関する限り、これで第一原理はわかりました。

このメカニズムは、大規模なデータセットを解読するために使用されます。 出力は一般に、予測に使用できる入力として入力された変数間の因果関係の確立になる傾向があります。 プロセスがわかったので、ここで技術的な定義を十分に理解できます。

「感覚データから学習、解釈、分類するパターン認識コンピューター アルゴリズムを介して人工ニューラル システムを作成することにより、人間の脳をモデルにしたネットワーク。」

人工ニューラル ネットワークはどのように機能し、学習しますか?

気を引き締めてください、ここで物事が面白くなろうとしています。 心配する必要はありません。今すぐ大量の計算を行う必要はありません。

魔法は、アクティベーション関数で最初に発生します。 活性化関数は、ニューロンが活性化されるかどうかを判断するための初期処理を行います。 ニューロンが活性化されていない場合、出力は入力と同じになります。 その後は何も起こりません。 これは、ニューラル ネットワークに含めることが重要です。そうしないと、システムは、出力に影響を与えない大量の情報を処理することを余儀なくされます。 ご存知のように、脳の容量は限られていますが、最大限に活用できるように最適化されています。

すべての人工ニューラル ネットワークに共通する中心的な特性の 1 つは、非線形性の概念です。 研究されているほとんどの変数は、実際の生活では非線形の関係を持っています。

たとえば、チョコレートの価格とチョコレートの数を考えてみましょう。 チョコレート 1 個の価格が 1 ドルであるとします。 チョコレート100個でいくら? おそらく100ドル。 10,000 個のチョコレートの価格はいくらですか? 10,000ドルではありません。 売り手は、すべてのチョコレートを一緒に入れるために余分なパッケージを使用するコストを追加するか、在庫の多くを一度に手から移動することでコストを削減するためです. それが非線形性の概念です。

アクティベーション関数は、基本的な数学的原理を使用して、情報を処理するかどうかを決定します。 活性化関数の最も一般的な形式は、バイナリ ステップ関数、ロジスティック関数、双曲線正接関数、および整流線形単位です。 これらのそれぞれの基本的な定義は次のとおりです。

  • バイナリ ステップ関数:この関数は、しきい値に基づいてニューロンをアクティブにします。 関数の最終結果がベンチマーク値より上または下である場合、ニューロンがアクティブ化されます。
  • ロジスティック関数:この関数は、「S」曲線の形状の数学的な最終結果を持ち、ニューロンを活性化する必要があるかどうかを決定するための重要な基準が確率である場合に使用されます。 したがって、いつでもこの曲線の傾きを計算できます。 この関数の値は 0 から 1 の間です。

    勾配は、微分関数を使用して計算されます。 この概念は、2 つの変数に線形関係がない場合に使用されます。 勾配は、非線形性が発生する正確なポイントで曲線に接する接線の値です。ロジスティック関数の問題は、負の値の情報を処理するのに適していないことです。
  • 双曲線正接関数:値が -1 と +1 の間であることを除けば、ロジスティック関数と非常によく似ています。 したがって、負の値がネットワークで処理されないという問題は解消されます。
  • ReLu (Rectified linear units):この関数の値は、0 と正の無限大の間にあります。 ReLu はいくつかのことを簡素化します。入力が正の場合、値 'x' が得られます。 他のすべての入力の場合、値は「0」になります。 負の無限大と正の無限大の間の値を持つ Leaky ReLu を使用できます。 処理される変数間の関係が非常に弱く、アクティベーション関数によって完全に省略される可能性がある場合に使用されます。

これで、パーセプトロンとニューラル ネットワークの同じ 2 つの図を参照できます。 ニューロンの数以外の違いは何ですか? 主な違いは隠れ層です。 隠れ層は、ニューラル ネットワークの入力層と出力層の間にあります。 隠れ層の仕事は、処理を改良し、出力に大きな影響を与えない変数を排除することです。

入力変数の値の変化の影響が出力変数に顕著に現れるデータセット内のインスタンスの数があれば、隠れ層はその関係を示します。 隠れ層により、ANN はより強力な信号を次の処理層に簡単に送信できます。

このような計算をすべて行い、隠れ層がどのように機能するかを理解した後でも、人工ニューラル ネットワークが実際にどのように学習するのか疑問に思うかもしれません。 学習とは何かという基本的な質問から始めましょう。 学習とは、簡単に言えば、2 つのこと (活動、プロセス、変数など) の間の因果関係を確立することです。 カーブボールの投げ方を「学ぶ」ということは、ボールを特定の方向に投げるという物理的な動作と、ボールの軌道を特定の方向に曲げるという物理的な動作との間に因果関係を確立していることになります。

さて、この因果関係を立証することは非常に困難です。 相関関係は因果関係に等しくないということわざを覚えていますか? 2 つの変数が同じ方向に動いているかどうかを判断するのはかなり簡単です。 どの変数がどの変数の動きを引き起こしているかを完全に確実に言うことは非常に困難です。 明らかに、これを直感的に確立できることがよくあります。 しかし、アルゴリズムに直感を理解させるにはどうすればよいでしょうか?

コスト関数を使用します。 数学的には、データセットの実際の値とデータセットの出力値の差の 2 乗です。 エラーの程度も考慮することができます。 差がマイナスになる場合があるため、二乗します。

コスト関数を使用して、入力から出力への処理の各サイクルをブランド化できます。 あなたと ANN の仕事は、コスト関数を可能な限り低い値に最小化することです。 これは、ANN の重みを調整することで達成できます。 (シナプス関係、別名重みを覚えていますか? それが私たちが話していることです)。 これを行うにはいくつかの方法がありますが、原則を理解している限り、さまざまなツールを使用して実行するだけです。

各サイクルで、コスト関数を最小化することを目指します。 入力から出力へのプロセスは、順伝播と呼ばれます。 そして、出力データを使用して、最後の隠れ層から入力層へと逆の順序で重みを調整することによってコスト関数を最小化するプロセスは、逆伝播と呼ばれます。

データセットが大きすぎると非効率的にレンダリングされる総当り法、または最適化アルゴリズムであるバッチ勾配降下法のいずれかを使用して、これらの重みを調整し続けることができます。 これで、人工ニューラル ネットワークがどのように学習するかを直感的に理解できました。

再帰型ニューラル ネットワーク (RNN) と畳み込みニューラル ネットワーク (CNN) の比較

これら 2 つの形式のニューラル ネットワークを理解することは、AI アプリケーションの 2 つの異なる側面 (コンピューター ビジョンと自然言語処理) への入門にもなります。 最も単純な形では、AI のこれら 2 つのブランチは、機械がオブジェクトを視覚的に識別し、言語データのコンテキストを理解するのに役立ちます。 ご想像のとおり、自動運転車や Siri などの仮想アシスタントでは、これらのブランチのアプリケーションがすでに使用されています。

現在、これらの各ブランチには、独自の確立されたニューラル ネットワークがあります。 NLP は、リカレント ニューラル ネットワークに大きく依存しています。 RNN と ANN の違いは、ANN では、各入力信号が次の入力信号から独立していると見なされることです。 そのため、2 つのノード間に存在する入力データ自体には関係がありません。

実際にはそうではありません。 私たちがコミュニケーションを取っているとき、各単語は次の単語の文脈上の道をクリアします。 したがって、言語の基本的な性質は、先に入力された情報と後で入力された情報の間に相互依存関係を作成することです。 RNN は、これらの入力間の関係を確立してコンテキストをクリアする並列メモリを実行することにより、これに敏感です。

畳み込みニューラル ネットワークは、コンピューター ビジョンに理想的に使用されます。 一般的に使用されるアクティベーション関数とは別に、プーリング関数と畳み込み関数が追加されています。 簡単に言えば、畳み込み関数は、1 つの画像の入力と 2 番目の画像 (フィルター) の入力がどのように 3 番目の画像 (結果) になるかを示します。 入力画像 (ピクセル値の元のセット) の上にフィルター処理された画像 (ピクセル値の新しいセット) を配置して結果の画像 (変更されたピクセル値) を取得することで、これを視覚化することで想像できます。

プーリング関数は、追加された関数に応じて最大値または最小値を取り、この一連の情報を簡単に処理できるようにします。 それらを視覚化する方法は次のとおりです。

畳み込み関数
畳み込み関数
プーリング機能

プーリング機能

人工ニューラル ネットワークの 5 つのアプリケーション

これまでお話ししてきたことは、すべてボンネットの下で起こっていたことです。 これで、ズームアウトしてこれらの ANN の動作を確認し、進化する世界との絆を十分に理解することができます。

1. e コマース プラットフォームでのレコメンデーションをパーソナライズする

ANN の最も初期のアプリケーションの 1 つは、各ユーザーの e コマース プラットフォーム エクスペリエンスをパーソナライズすることでした。 Netflix で本当に効果的なおすすめを覚えていますか? またはちょうどいい製品の提案Amazon? それらはANNの結果です。

ここでは、過去の購入、人口統計データ、地理データ、同じ製品を購入した人が次に何を購入したかを示すデータなど、大量のデータが使用されています。 これらはすべて、あなたにとって何が効果的かを判断するための入力として機能します。 同時に、実際に購入したものは、アルゴリズムが最適化されるのに役立ちます。 購入するたびに、会社と ANN を強化するアルゴリズムを豊かにしています。 同時に、プラットフォームで新たに購入するたびに、適切な製品を推奨するアルゴリズムの能力も向上します。

2. 会話型チャットボットの自然言語処理の利用

少し前に、チャットボックスが Web サイトで勢いを増し始めました。 エージェントが片側に座って、ボックスに入力されたクエリをサポートします. その後、自然言語処理 (NLP) と呼ばれる現象がチャットボットに導入され、すべてが変わりました。

NLP は通常、統計規則を使用して人間の言語能力を複製し、他の ANN アプリケーションと同様に、時間の経過とともに改善されます。 句読点、イントネーションと発音、文法上の選択、構文上の選択、単語と文の順序、選択した言語でさえ、NLP アルゴリズムをトレーニングするための入力として機能します。

チャットボットは、これらの入力を使用してクエリのコンテキストを理解し、スタイルに最適な方法で回答を作成することで会話型になります。 同じ NLP は、音楽のオーディオ編集やセキュリティ検証の目的でも使用されています。

3. 注目を集めるイベントの結果を予測する

私たちのほとんどは、大統領選挙や FIFA ワールド カップの際に、AI を活用したアルゴリズムによって行われる結果予測に従っています。 両方のイベントが段階的に行われるため、アルゴリズムがその有効性を迅速に理解し、チームと候補者が排除される際のコスト関数を最小限に抑えるのに役立ちます。 このような状況での真の課題は、入力変数の次数です。 候補者から選手の統計、人口統計、解剖学的能力まで、すべてを組み込む必要があります。

株式市場では、ANN を使用する予測アルゴリズムがしばらく前から使用されています。 ニュースの更新と財務指標は、使用される主要な入力変数です。 このおかげで、ほとんどの取引所や銀行は、人間の能力をはるかに超える速度で、高頻度の取引イニシアチブの下で簡単に資産を取引することができます。

株式市場の問題は、データに常にノイズがあることです。 有価証券の価格に影響を与える可能性のある主観的な判断の程度が非常に高いため、ランダム性は非常に高くなります。 それにもかかわらず、ANN は最近、すべての大手銀行によってマーケット メイク活動に使用されています。

4. 信用制裁

保険数理表は、各保険申請者に関連するリスク要因を決定するためにすでに使用されていました。 ANN は、そのすべてのデータを 1 ランク上に引き上げました。

すべての貸し手は、システムで確立された重み付けを使用して所有する何十年にもわたるデータを実行し、あなたの情報を入力として使用して、ローン申請に関連する適切なリスクプロファイルを決定できます. 年齢、性別、居住都市、卒業学校、従事する業界、給与、および貯蓄率はすべて、信用リスク スコアを決定するための入力として使用されます。

以前は個人のクレジット スコアに大きく依存していたものが、今ではより包括的なメカニズムになっています。 これが、複数の民間フィンテック企業が個人ローンの分野に飛び込んで、同じ ANN を運営し、銀行からリスクが高すぎると見なされているプロファイルを持つ人々に融資を行っている理由です。

5. 自動運転車

Tesla、Waymo、Uber も同様の ANN を使用しています。 インプットと製品エンジニアリングは異なっていたかもしれませんが、自動運転車を実現するために洗練されたビジュアル コンピューティングを導入していました。

自動運転の多くは、近くの車両、道路標識、自然光と人工光、歩行者、建物などの形で現実世界から得られる情報の処理に関係しています。 明らかに、これらの自動運転車を駆動するニューラル ネットワークは、ここで説明したものよりも複雑ですが、説明したのと同じ原理で動作します。

結論

ANN は日々高度化しています。 現在、NLP はメンタルヘルスの問題の早期診断に役立っており、コンピューター ビジョンは医用画像処理に使用されており、ANN はドローン配達を強化しています。 ANN がより複雑になり、階層化されるにつれて、このシステムに人間の知性が必要になることは少なくなります。 デザインのような分野でさえ、ジェネレーティブ デザインを使用した AI ソリューションの展開を開始しています。

統合されたすべての ANN の最終的な進化は、汎用知能 (General Intelligence) になります。これは、人類が知っている情報と知らない情報をすべて学習し、認識することができるほど洗練された知能の一形態です。 それは非常に遠い現実ですが、可能であれば、ANN が広く採用されたおかげで考えられる概念になりました。