ニューラルネットワークモデル:簡単な紹介、用語集、バックプロパゲーション
公開: 2020-05-22ニューラルネットワークがどのように機能するかを理解しようとしているソフトウェアエンジニアリング愛好家であれば、あなたは正しい場所にいます。
このガイドでは、初心者がニューラルネットワークの意味を学び、ニューラルネットワークモデルとは何かを紹介し、知識をこの分野の新しい分野に拡大するのに役立ちます。
目次
ニューラルネットワークとは何ですか?
計算用語に入る前に、私たちの日常生活におけるニューラルネットワークの存在を理解しましょう。
「神経」という用語は、単一の神経細胞に使用される用語である「ニューロン」に由来します。 そうです–ニューラルネットワークとは、本質的に、私たちの日常生活の中で単純な行動をとるニューロンのネットワークを意味します。
パターン認識、オブジェクト検出、およびインテリジェンスは、私たちが毎日直面する問題の主要な側面です。 それらは私たちが気付かないほど簡単に実行されますが、真実はこれらの反応を自動化するのは難しいということです。
例:

- リンゴがどのように見えるかを覚えている子供たち
- 母親または飼い主を認識する動物
- 何かが暑いか寒いかを認識する
私たちのニューラルネットワークは、これらの複雑な計算を実行します。
人間は今、私たちの神経系と同じように実行できる計算システムを構築することができました。 これらは人工ニューラルネットワーク(ANN)と呼ばれます。
最初はANNを使用して単純な機能を実行していましたが、計算能力の向上により、ますます複雑になる問題を解決するためのかなり強力なニューラルネットワークアーキテクチャを構築できるようになりました。
次のセクションでは、ANNについて詳しく学びましょう。
読む:初心者向けのTensorFlowオブジェクト検出チュートリアル
人工ニューラルネットワークモデルとは何ですか?
入力層、隠れ層、および出力層を含む多層の完全に接続されたニューラルネットワークは、人工ニューラルネットワークまたはANNと呼ばれます。
下の画像はANNを表しています。
ソース
注意深く見ると、1つのレイヤーの各ノードが、その隣のレイヤーのすべてのノードに接続されていることがわかります。
隠れ層の数を増やすと、ネットワークはより深くなります。
出力層または非表示層の個々のノードがどのように見えるかを見てみましょう。
ソース
ご覧のとおり、ノードは多くの入力を取得します。 すべての重みを合計し、非線形活性化関数を介して出力として渡します。
このノードの出力は、次のレイヤーのノードの入力になります。
ここで注意すべき重要なことは、信号は常に左から右に移動するということです。 すべてのノードが手順を実行すると、最終的な出力が表示されます。
ノードの方程式は次のようになります。
ソース
上記の式で、bはバイアスです。 これはすべてのノードへの入力であり、常に値1を持ちます。
バイアスは、活性化関数の結果を左または右に移動するのに役立ちます。
人工ニューラルネットワークモデルの用語集
人工ニューラルネットワークモデルに関して知っておくべき基本的な用語を見てみましょう。
入力
ソースからニューラルネットワークに最初に供給されるデータは、入力と呼ばれます。 その目標は、ネットワークデータを提供して、そこに入力された情報について決定または予測を行うことです。 ニューラルネットワークモデルは通常、入力の実際の値のセットを受け入れ、入力層のニューロンに供給される必要があります。

トレーニングセット
正しい出力がすでにわかっている入力は、トレーニングセットと呼ばれます。 これらは、ニューラルネットワークのトレーニングを支援し、特定の入力セットの結果を記憶するために使用されます。
出力
すべてのニューラルネットワークは、入力されたデータに関する予測または決定として出力を生成します。 この出力は、実際の値セットまたはブール決定の形式です。 出力層のニューロンのみが出力値を生成します。
ニューロン
パーセプトロンとも呼ばれるニューロンは、ニューラルネットワークの基本単位です。 入力値を受け取り、それに基づいて出力を生成します。
前に説明したように、すべてのニューロンは入力の一部を受け取り、それを非線形活性化関数を介して次の層のノードに渡します。 これらの活性化関数は、TanH、sigmoid、またはReLuです。 これらの関数の非線形機能は、ネットワークのトレーニングに役立ちます。
ウェイトスペース
すべてのニューロンには数値の重みがあります。 別のノートに入力を配信すると、その重みが他のノートと合計されて出力が生成されます。 これらの重みに小さな変更を加えることで、ニューラルネットワークのトレーニング方法が決まります。 重みの微調整は、最良の結果を生成する正しい重みとバイアスのセットを決定するのに役立ちます。 これがバックプロパゲーションの出番です。

ニューラルネットワークモデルのバックプロパゲーションとは何ですか?
ネットワーク全体の損失を最小限に抑えるために重みに加える必要のある小さな変更をうまく見つける方法の1つは、バックプロパゲーションです。
- 最初に、アクティベーションは上向きまたはフィードフォワード方向に伝播されます。
- ここで、コスト関数の導関数を下方向または逆方向に伝播する必要があります。
このようにして、各重みに対する部分コストの導関数を決定できます。 次に、調整を行うことで削減されるコストを計算できます。
結論
多くのソフトウェアエンジニアは、最も費用効果の高いソリューションを考え出すために数回の反復が必要であることを考えると、ニューラルネットワークモデルはかなり非効率的であると感じているため、推奨していません。
ただし、ヒントンのカプセルネットワーク、カプセルニューラルネットワークなどの多くの新しいアルゴリズムでは、正確なモデルに到達するために必要な調整のインスタンスがはるかに少なくなります。 ですから、確かにニューラルネットワーキングは将来的に多くの可能性を秘めています。
機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
なぜあなたは人工知能のために数学を勉強する必要があるのですか?
私たちの多くが考えることに反して、人工知能は数学に大きく依存しています。 人間と同じように考え、行動するように機械を教えるという概念全体は、いくつか例を挙げると、確率や統計など、数学のさまざまな分野に属する概念に基づいています。 データサイエンスには、微積分、線形代数、ゲーム理論から高度な回帰、分類、統計、確率、最急降下法など、さまざまな数学的概念に関連する基盤もあります。 数学の強力な基礎は、AIの概念を効果的に理解するために不可欠であり、この分野で成功するキャリアを築くのに役立ちます。
ニューラルネットワークは機械学習のアルゴリズムですか?
人工ニューラルネットワーク、または単にニューラルネットワークは、人間の脳に似せて設計され、高度なパターン認識用に作成された機械学習アルゴリズムのセットとして定義できます。 ニューラルネットワークは、蓄積されたすべてのデータが変換されるベクトル内の数値パターンを識別するように設計されています。 非構造化データまたは不正確なデータ内のパターンを検出することにより、ニューラルネットワークはデータの保存と管理を改善するためにクラスターを分類および形成するのに役立ちます。 ニューラルネットワークに供給される感覚データは、入力データにラベルを付けるかクラスター化する機械知覚を介して解釈されます。
ニューラルネットワークでバックプロパゲーションが必要なのはなぜですか?
人工ニューラルネットワークの領域では、バックプロパゲーション法は実際にはエラーのバックプロパゲーションを指します。 これは、人工ニューラルネットワークをトレーニングするために使用される標準化された手法であり、反復によって実行されます。 バックプロパゲーションは、人工ニューラルネットワークの重みを微調整し、エラーを最小限に抑え、システムをより正確で信頼性の高いものにするために使用されます。 この方法はすばやく機能し、簡単にプログラムすることもできます。 これは柔軟な手法です。 ニューラルネットワークに関する事前の知識は必要ありません。 追加のパラメータは含まれませんが、システムに入力される数値を調整するだけです。