logo

ニューラルネットワークとは何ですか?

ニューラル ネットワークは、人間の脳の複雑な機能を模倣する計算モデルです。ニューラル ネットワークは、データを処理して学習する相互接続されたノードまたはニューロンで構成され、機械学習におけるパターン認識や意思決定などのタスクを可能にします。この記事では、ニューラル ネットワーク、その仕組み、アーキテクチャなどについて詳しく説明します。

カット・ティンプの純資産

目次



ニューラルネットワークの進化

1940 年代以来、ニューラル ネットワークの分野では多くの注目すべき進歩が見られました。

  • 1940 年代から 1950 年代: 初期の概念
    ニューラル ネットワークは、McCulloch と Pitts による人工ニューロンの最初の数学モデルの導入から始まりました。しかし、計算上の制約により進歩は困難でした。
  • 1960 年代から 1970 年代: パーセプトロン
    この時代はローゼンブラットのパーセプトロンの研究によって定義されました。 パーセプトロン は単層ネットワークであり、その適用可能性は線形に個別に解決できる問題に限定されていました。
  • 1980 年代: バックプロパゲーションとコネクショニズム
    多層ネットワーク トレーニングは、ルメルハート、ヒントン、ウィリアムズによる逆伝播法の発明によって可能になりました。相互接続されたノードを通じて学習することに重点を置くことで、コネクショニズムは魅力を増しました。
  • 1990年代: ブームと冬
    画像識別、金融、その他の分野での応用により、ニューラル ネットワークはブームになりました。しかし、ニューラル ネットワークの研究は、法外な計算コストと膨らんだ期待のために冬を経験しました。
  • 2000 年代: 復活とディープラーニング
    大規模なデータセット、革新的な構造、強化された処理能力が復活を促しました。 ディープラーニング は、多数のレイヤーを活用することで、多くの分野で驚くべき効果を示しています。
  • 2010 年代から現在: ディープラーニングの優位性
    畳み込みニューラル ネットワーク (CNN) とリカレント ニューラル ネットワーク (RNN) という 2 つの深層学習アーキテクチャが機械学習を支配していました。その力は、ゲーム、画像認識、自然言語処理の革新によって実証されました。

ニューラルネットワークとは何ですか?

ニューラルネットワーク データから識別特徴を抽出することができず、事前にプログラムされた理解が不足しています。ネットワーク コンポーネントには、ニューロン、接続、重み、バイアス、伝播関数、学習ルールが含まれます。ニューロンは、閾値と活性化関数によって制御される入力を受け取ります。接続には、情報転送を制御する重みとバイアスが関係します。学習、重みとバイアスの調整は、入力計算、出力生成、および反復改良という 3 つの段階で行われ、さまざまなタスクにおけるネットワークの習熟度が向上します。

これらには次のものが含まれます。



  1. ニューラル ネットワークは新しい環境によってシミュレートされます。
  2. そして、ニューラルネットワークの自由パラメータは、このシミュレーションの結果として変更されます。
  3. その後、ニューラル ネットワークは、自由パラメーターが変化するため、環境に対して新しい方法で応答します。
nn-Geeksforgeeks


ニューラルネットワークの重要性

パターンを識別し、複雑なパズルを解き、変化する環境に適応するニューラル ネットワークの能力は不可欠です。データから学習する彼らの能力は、次のような革命的なテクノロジーに至るまで、広範囲に影響を及ぼします。 自然言語処理 自動運転自動車は、多くの業界で意思決定プロセスを自動化し、効率を向上させます。人工知能の開発はニューラル ネットワークに大きく依存しており、ニューラル ネットワークもイノベーションを推進し、テクノロジーの方向性に影響を与えます。

ニューラルネットワークはどのように機能するのでしょうか?

ニューラル ネットワークがどのように機能するかを例で理解しましょう。



電子メール分類のためのニューラル ネットワークを考えてみましょう。入力層は、電子メールの内容、送信者情報、件名などの機能を受け取ります。これらの入力は、調整された重みで乗算され、隠れ層を通過します。ネットワークはトレーニングを通じて、電子メールがスパムであるかどうかを示すパターンを認識することを学習します。出力層は、バイナリ アクティベーション関数を使用して、電子メールがスパム (1) かそうでないか (0) を予測します。ネットワークがバックプロパゲーションを通じて重みを繰り返し改良するにつれて、スパムメールと正規のメールを区別することに熟達し、メールフィルタリングなどの現実世界のアプリケーションにおけるニューラルネットワークの実用性を示しています。

ニューラルネットワークの働き

ニューラル ネットワークは、人間の脳の機能のいくつかの特徴を模倣した複雑なシステムです。これは、入力層、1 つ以上の隠れ層、および結合された人工ニューロンの層で構成される出力層で構成されます。基本プロセスの 2 つの段階はバックプロパゲーションと呼ばれ、 順伝播

nn-ar-Geeksforgeeks


順伝播

  • 入力レイヤー: 入力層の各フィーチャは、入力データを受け取るネットワーク上のノードによって表されます。
  • 重量と接続: 各ニューロン接続の重みは、接続の強さを示します。トレーニング全体を通じて、これらの重みは変更されます。
  • 非表示レイヤー: 各隠れ層ニューロンは、入力に重みを掛けて加算し、活性化関数に渡すことによって入力を処理します。これにより、非線形性が導入され、ネットワークが複雑なパターンを認識できるようになります。
  • 出力: 最終結果は、出力層に到達するまでプロセスを繰り返すことによって生成されます。

誤差逆伝播法

  • 損失の計算: ネットワークの出力は実際の目標値に対して評価され、損失関数を使用して差が計算されます。回帰問題の場合、 平均二乗誤差 (MSE) はコスト関数として一般的に使用されます。
    損失関数: MSE = frac{1}{n} Sigma^{n}_{i=1} (y_{i} - hat y_{i})^2
  • 勾配降下: その後、ネットワークは損失を減らすために勾配降下法を使用します。不正確さを下げるために、各重みに対する損失の導関数に基づいて重みが変更されます。
  • ウェイトの調整: この反復プロセスを適用することにより、各接続で重みが調整されます。または 誤差逆伝播法 、ネットワーク全体で逆方向に。
  • トレーニング: さまざまなデータ サンプルを使用したトレーニング中に、順伝播、損失計算、逆伝播のプロセス全体が反復的に実行され、ネットワークがデータに適応してパターンを学習できるようになります。
  • アクティベーション関数: モデルの非線形性は、次のような活性化関数によって導入されます。 整流リニアユニット (ReLU) 時間 シグモイド 。ニューロンを起動するかどうかの決定は、重み付けされた入力全体に基づいて行われます。

ニューラルネットワークの学習

1.教師あり学習による学習

教師あり学習 、ニューラル ネットワークは、両方の入出力ペアにアクセスできる教師によって指導されます。ネットワークは、周囲を考慮することなく、入力に基づいて出力を作成します。これらの出力を教師の既知の望ましい出力と比較することによって、エラー信号が生成されます。エラーを減らすために、ネットワークのパラメータは繰り返し変更され、パフォーマンスが許容レベルに達すると停止します。

2.教師なし学習による学習

同等の出力変数が存在しない 教師なし学習 。その主な目的は、受信データ (X) の基礎となる構造を理解することです。アドバイスを提供するインストラクターはいません。データのパターンと関係をモデル化することが、意図された結果です。回帰や分類などの言葉は教師あり学習に関連しますが、教師なし学習はクラスタリングや関連付けに関連します。

3. 強化学習による学習

環境との相互作用や、報酬や罰則の形でのフィードバックを通じて、ネットワークは知識を獲得します。時間の経過とともに累積報酬を最適化するポリシーや戦略を見つけることが、ネットワークの目標です。この種類は、ゲームや意思決定アプリケーションで頻繁に利用されます。

ニューラルネットワークの種類

がある セブン 使用できるニューラル ネットワークの種類。

  • フィードフォワードネットワーク: フィードフォワード ニューラル ネットワーク は、データが入力から出力へ単一方向に移動する単純な人工ニューラル ネットワーク アーキテクチャです。入力層、隠し層、出力層があります。フィードバックループが存在しない。その単純なアーキテクチャにより、回帰やパターン認識などの多くのアプリケーションに適しています。
  • 多層パーセプトロン (MLP): MLP は、入力層、1 つ以上の隠れ層、出力層を含む 3 つ以上の層を持つフィードフォワード ニューラル ネットワークの一種です。非線形活性化関数を使用します。
  • 畳み込みニューラル ネットワーク (CNN): 畳み込みニューラル ネットワーク (CNN) は、画像処理用に設計された特殊な人工ニューラル ネットワークです。畳み込み層を採用して入力画像から階層的特徴を自動的に学習し、効果的な画像認識と分類を可能にします。 CNN はコンピューター ビジョンに革命をもたらし、物体検出や画像分析などのタスクにおいて極めて重要です。
  • リカレント ニューラル ネットワーク (RNN): 逐次的なデータ処理を目的とした人工ニューラル ネットワーク タイプは、 リカレント ニューラル ネットワーク (RNN)。情報がネットワーク内で存続できるようにするフィードバック ループを利用するため、時系列予測や自然言語処理など、コンテキスト依存性が重要なアプリケーションに適しています。
  • 長短期記憶 (LSTM): LSTM は、RNN のトレーニングにおける勾配消失問題を克服するように設計された RNN の一種です。メモリセルとゲートを使用して、情報を選択的に読み取り、書き込み、消去します。

ニューラルネットワークの簡単な実装

Python3

import> numpy as np> # array of any amount of numbers. n = m> X>=> np.array([[>1>,>2>,>3>],> >[>3>,>4>,>1>],> >[>2>,>5>,>3>]])> # multiplication> y>=> np.array([[.>5>, .>3>, .>2>]])> # transpose of y> y>=> y.T> # sigma value> sigm>=> 2> # find the delta> delt>=> np.random.random((>3>,>3>))>-> 1> for> j>in> range>(>100>):> > ># find matrix 1. 100 layers.> >m1>=> (y>-> (>1>/>(>1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt))))))>*>((>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))>*>(>1>->(>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))))> ># find matrix 2> >m2>=> m1.dot(delt.T)>*> ((>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))> >*> (>1>->(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))))> ># find delta> >delt>=> delt>+> (>1>/>(>1> +> np.exp(>->(np.dot(X, sigm))))).T.dot(m1)> ># find sigma> >sigm>=> sigm>+> (X.T.dot(m2))> # print output from the matrix> print>(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))>
>
>

出力:

[[0.99999325 0.99999375 0.99999352]  [0.99999988 0.99999989 0.99999988]  [1. 1. 1. ]]>

ニューラルネットワークの利点

ニューラル ネットワークは、次のような多くの利点があるため、さまざまなアプリケーションで広く使用されています。

  • 適応性: ニューラル ネットワークは、新しい状況に適応してデータから学習できるため、入力と出力の間のリンクが複雑であるか、明確に定義されていないアクティビティに役立ちます。
  • パターン認識: パターン認識の熟練により、音声や画像の識別、自然言語処理、その他の複雑なデータ パターンなどのタスクで効果的になります。
  • 並列処理: ニューラル ネットワークは本質的に並列処理が可能なため、多数のジョブを一度に処理でき、計算の速度が向上し、効率が向上します。
  • 非直線性: ニューラル ネットワークは、ニューロンに見られる非線形活性化関数のおかげで、データ内の複雑な関係をモデル化して理解することができ、線形モデルの欠点を克服します。

ニューラルネットワークの欠点

ニューラル ネットワークは強力ですが、欠点や困難がないわけではありません。

  • 計算量: 大規模なニューラル ネットワークのトレーニングは、多大な計算能力を必要とする、骨の折れる計算量の多いプロセスになる可能性があります。
  • ブラックボックスの性質: ニューラル ネットワークはブラック ボックス モデルであるため、どのように意思決定を行うかを理解することが難しいため、重要なアプリケーションでは問題が発生します。
  • 過学習: 過学習は、ニューラル ネットワークがデータ内のパターンを識別するのではなく、トレーニング資料をメモリに保存する現象です。正則化アプローチはこれを軽減するのに役立ちますが、問題は依然として存在します。
  • 大規模なデータセットの必要性: 効率的なトレーニングのために、ニューラル ネットワークは多くの場合、ラベル付けされた大規模なデータセットを必要とします。そうしないと、不完全なデータや偏ったデータによってパフォーマンスが低下する可能性があります。

よくある質問 (FAQ)

1. ニューラルネットワークとは何ですか?

ニューラル ネットワークは、人間の脳の構造をモデルにして、情報を処理する相互接続されたノード (ニューロン) で構成される人工システムです。データからパターンを抽出する機械学習ジョブで使用されます。

2. ニューラル ネットワークはどのように機能しますか?

接続されたニューロンの層がニューラル ネットワーク内のデータを処理します。ネットワークは入力データを処理し、トレーニング中に重みを変更し、発見したパターンに応じて出力を生成します。

3. ニューラル ネットワーク アーキテクチャの一般的なタイプは何ですか?

フィードフォワード ニューラル ネットワーク、リカレント ニューラル ネットワーク (RNN)、畳み込みニューラル ネットワーク (CNN)、および長短期記憶ネットワーク (LSTM) は、それぞれ特定のタスク用に設計された一般的なアーキテクチャの例です。

4. ニューラル ネットワークにおける教師あり学習と教師なし学習の違いは何ですか?

教師あり学習では、ラベル付きデータを使用してニューラル ネットワークをトレーニングし、入力を対応する出力にマッピングすることを学習します。教師なし学習はラベルのないデータを処理し、データ内の構造やパターンを探します。

5. ニューラル ネットワークは連続データをどのように処理しますか?

リカレント ニューラル ネットワーク (RNN) に組み込まれているフィードバック ループにより、順次データを処理し、時間の経過とともに依存関係とコンテキストをキャプチャできるようになります。