ニューラルネットワークの構成要素:ニューラルネットワークのコンポーネントの説明
公開: 2020-12-16目次
序章
近年、ディープラーニングの人気は、業界のあらゆるセクターでの使用法とアプリケーションの面で急激な傾向を示しています。 画像認識、音声生成、翻訳、その他多くのそのようなアプリケーションであるかどうかにかかわらず、ほとんどすべての企業は、このテクノロジーを自社が構築している製品のいずれかに統合したいと考えています。 従来の機械学習アルゴリズムに対するこの優位性の理由は、これらの深層学習モデルによって提供される精度と効率的なパフォーマンスです。
インフラストラクチャはこれらの結果を提供する上で重要な役割を果たしますが、コアコードはニューラルネットワークに含まれるすべての処理を実行します。 このネットワークのさまざまなコンポーネントを調べてから、これらのコンポーネントを使用するいくつかの基本単位を見ていきましょう。
必読:ニューラルネットワークモデルの紹介
ニューラルネットワークのさまざまなコンポーネント
ニューロン
ニューラルネットワークの基本的な構成要素はニューロンです。 この概念は、人間の脳の実際のニューラルネットワークと非常によく似ています。 この人工ニューロンは、すべての入力を受け取り、それらを集約してから、関数に基づいてニューロンの出力を提供します。
ニューラルネットワークは、入力層、隠れ層、出力層と呼ばれる層の形で相互に接続された多くのそのようなニューロンで構成されています。 このネットワークにより、あらゆる種類の複雑なデータパターンを数学関数にマッピングできます。これは、普遍近似定理を使用して数学的に検証できます。
ウェイト
モデルには重みを付けることができるため、負の値を使用して高い値を抑制することができます。 これは、スマートフォンの購入を例にとると解釈できます。 価格が高ければ高いほど、そのスマートフォンを購入する可能性は低くなりますが、モデルがすべての値を合計してしきい値と比較すると、誤った予測が行われる可能性があります。 この効果を無効にするには、負の重みで合計を減らし、正しい予測を取得する必要があります。

活性化関数
ニューロンの定義には、関数に基づいて、ニューロンが結果を入力層または非表示層の一部である場合は次の層に出力するか、出力層でのさらなる処理に使用されるという言及がありました。
この関数は活性化関数と呼ばれ、ニューロンの状態を定義します。 市場にはその仕事をすることができる多くの活性化関数がありますが、それはすべてユースケースに依存します。 例としては、シグモイド関数、tanh関数、softmax関数、Relu(正規化線形ユニット)、リーキーReluなどがあります。
学習率
体重の更新のペースを制御できます。 学習率が重要な要素として機能する2つのケースを考えてみましょう。 入力フィーチャの値がスパースである場合は、重みをより頻繁に更新する必要があります。そのため、より高い学習率が望まれます。 同様に、低い学習率は高密度データで機能します。
より大きなニューラルネットワークでこれらのコンポーネントを利用するいくつかの基本単位を見てみましょう。
MPニューロン
これは、入力合計を計算し、それを活性化関数に渡して最終出力を取得する人工ニューロンの最も基本的な形式です。 これのビジュアルは次のとおりです。
これに対する制限要因は、入力が2進数であり、実数が許可されていないことです。 つまり、異なる値のデータセットを使用する場合は、モデルに渡すためにバイナリにスケーリングする必要があります。
このモデルの出力もバイナリであるため、結果の品質を解釈するのは困難です。 入力には重みがないため、機能が結果にどの程度貢献するかを制御することはできません。
パーセプトロンニューロン
MPニューロンの重大な欠点の1つは、入力として実数を受け入れることができないことでした。これは、望ましくない結果につながる可能性があります。 これは、入力特徴を実数でこのニューロンに渡したい場合は、1または0にダウンスケールする必要があることを意味します。 このニューロンモデルでは、入力にそのような制限はありませんが、標準化された入力を渡すと、入力の集約がすべての特徴値に対して公平になるため、より短い時間でより良い結果が得られます。

学習アルゴリズムも導入されており、このモデルは新しい入力に対してさらに堅牢になっています。 アルゴリズムは、損失関数に基づいて各入力に適用される重みを更新します。 損失関数は、モデルによる実際の値と予測値の差を決定します。 二乗誤差損失は、深層学習モデルで使用されるそのような一般的な関数の1つです。
知覚ニューロンもバイナリ出力を出力するため、損失は0または1になる可能性があります。 これは、このタイプの損失関数をよりコンパクトな方法で定義できることを意味します。「予測が真の値と等しくない場合、損失は1であり、重みを更新する必要があります。それ以外の場合、損失はゼロであり、更新は必要ありません」。 重みの更新は次の方法で行われます。
wx <0の場合、w = w + x
w = w – x(wx> = 0の場合)
読む:初心者向けのTensorFlowオブジェクト検出チュートリアル
シグモイドニューロン
パーセプトロンニューロンはMPニューロンと比較して有望であるように見えますが、対処する必要のあるいくつかの問題がまだあります。 それらの両方の1つの大きな欠陥は、それらが二項分類のみをサポートすることです。 もう1つの問題は、特定のケースが可能かどうかだけを出力する厳しい分類境界です。 バイナリ出力よりも解釈しやすい確率の形での予測に柔軟性を持たせることはできません。
これらすべての問題を解決するために、Sigmoidニューロンが導入されました。これは、複数の分類と回帰タスクの実行に使用できます。 このモデルは、シグモイド関数ファミリーまたは対数を使用します。
y = 1 /(1 + e ^(-wx + b))
この関数をプロットすると、この曲線の切片である「b」のさまざまな値を使用して位置を調整できる「S」字型になります。 この関数の出力は、渡される入力の数に関係なく、常に0から1の間にあります。 これにより、クラスの確率が得られます。これは、厳密な出力よりも優れています。 これは、複数の分類を行ったり、回帰を実行したりできることも意味します。

このための学習アルゴリズムは、以前のものとは異なります。 ここで、重みとバイアスは、損失関数の導関数に従って更新されます。
このアルゴリズムは、一般に最急降下法として知られています。 これの導出と詳細な説明は非常に長く数学的なものであるため、現在この記事から外れています。 簡単に言えば、損失関数の導関数の最適な最小値を取得するには、勾配と反対の方向に移動する必要があると述べています。
結論
これはニューラルネットワークの簡単な紹介でした。 ミニブレインとして機能し、入力を処理するニューロン、値のバランスをとることができる重み、重みのペースを更新する方法を制御する学習率、ニューロンを起動する活性化関数など、さまざまな基本コンポーネントを見ました。
また、タスクの複雑さを増す上で、基本的なビルディングブロックニューロンがさまざまな形をとることができることもわかりました。 MPニューロンの最も基本的な形式から始め、次にパーセプトロンニューロンのいくつかの問題を排除し、その後、シグモイドニューロンの回帰およびマルチクラス分類タスクのサポートを追加しました。
機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
AIのニューラルネットワークとは何ですか?
ニューラルネットワークまたは人工ニューラルネットワーク(ANN)は、生物学に触発された計算ネットワーク、つまり人間の脳に存在するニューラルネットワークを指します。 人間の脳が相互接続されたネットワークを形成する数十億のニューロンで構成されているように、人工ニューラルネットワークもさまざまな層で相互接続されたニューロンで構成されています。 これらのニューロンは、人工知能の領域ではノードとしても知られています。 人工ニューラルネットワークの概念は、コンピューターに物事を理解して決定を下す人間のような能力を与えるために開発されました。 ここのノードまたはコンピューターは、脳の相互接続された細胞のように機能するようにプログラムされています。
AIで仕事をするために必要なスキルは何ですか?
AIはコンピュータサイエンスの高度に専門化された分野であるため、AIでのキャリアを築くことを目指す人は、分析的思考、設計能力、問題解決能力などのスキルとは別に、特定の教育資格を持っている必要があります。 非常に成功しているAIの専門家は、競合他社に先んじるのに必要な費用効果が高く効率的なソフトウェアソリューションを備えた現代のビジネスを可能にする、テクノロジーの革新の先見性も持っています。 言うまでもなく、口頭および書面での優れたコミュニケーション能力は必須です。 AIプロジェクトの論理的、工学的、および技術的な視点を理解するには、技術的な学歴が必要です。
ニューラルネットワークを学習するための一般的な前提条件は何ですか?
大規模な人工知能プロジェクトに取り組むには、人工ニューラルネットワークの基礎を明確に理解していることが求められます。 ニューラルネットワークの基本的な概念を構築するには、何よりもまず、十分な本、記事、ニュース記事を読む必要があります。 一般的に言えば、ニューラルネットワークの概念を研究するための前提条件の中で、数学は、特に統計、線形代数、微積分、確率などの重要な役割を果たします。 それとは別に、Python、Java、R、C++などの言語でのコンピュータープログラミングスキルも必要になります。 中級のプログラミングスキルもここで非常に役立ちます。