Artificial-intelligence-neural-networks

提供:Dev Guides
移動先:案内検索

人工知能-ニューラルネットワーク

AIのさらに別の研究分野であるニューラルネットワークは、人間の神経系の自然なニューラルネットワークから着想を得ています。

人工ニューラルネットワーク(ANN)とは何ですか?

最初のニューロコンピューターの発明者、博士。 ロバート・ヘクト・ニールセンは、ニューラルネットワークを次のように定義します-

'_「…​シンプルで高度に相互接続された多数の処理要素で構成されるコンピューティングシステム。外部入力に対する動的な状態応答によって情報を処理します。」_

ANNの基本構造

ANNのアイデアは、適切な接続を行うことによる人間の脳の働きは、生きている*ニューロン*および*樹状突起*としてシリコンとワイヤを使用して模倣できるという信念に基づいています。

人間の脳は neurons と呼ばれる860億個の神経細胞で構成されています。それらは Axons によって他の1000個の細胞に接続されています。 これらの入力は、電気的インパルスを作成し、それがニューラルネットワークをすばやく移動します。 ニューロンは、メッセージを他のニューロンに送信して問題を処理するか、またはメッセージを転送しません。

ニューロンの構造

ANNは、人間の脳の生物​​学的な*ニューロン*を模倣する複数の*ノード*で構成されています。 ニューロンはリンクで接続されており、相互作用します。 ノードは入力データを取得し、そのデータに対して簡単な操作を実行できます。 これらの操作の結果は、他のニューロンに渡されます。 各ノードでの出力は、*アクティベーション*または*ノード値*と呼ばれます。

各リンクは* weight。*に関連付けられています。ANNは学習が可能であり、これは重みの値を変更することで行われます。 次の図は、単純なANNを示しています-

A Typical ANN

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

*FeedForward* および* Feedback。*の2つの人工ニューラルネットワークトポロジがあります。

FeedForward ANN

このANNでは、情報の流れは単方向です。 ユニットは、情報を受信しない他のユニットに情報を送信します。 フィードバックループはありません。 これらは、パターンの生成/認識/分類に使用されます。 入力と出力が固定されています。

FeedForward ANN

フィードバックANN

ここでは、フィードバックループが許可されています。 連想メモリで使用されます。

フィードバックANN

ANNの働き

示されているトポロジ図では、各矢印は2つのニューロン間の接続を表し、情報の流れの経路を示しています。 各接続には、2つのニューロン間の信号を制御する整数である重みがあります。

ネットワークが「良好または望ましい」出力を生成する場合、重みを調整する必要はありません。 ただし、ネットワークが「不良または望ましくない」出力またはエラーを生成する場合、システムは、後続の結果を改善するために重みを変更します。

ANNの機械学習

ANNは学習が可能であり、訓練を受ける必要があります。 いくつかの学習戦略があります-

  • 教師あり学習-ANN自体よりも学者である教師が関与します。 たとえば、教師は、教師が既に回答を知っているサンプルデータをフィードします。 +たとえば、パターン認識。 ANNは認識しながら推測を行います。 次に、教師がANNに回答を提供します。 次に、ネットワークは推測を教師の「正しい」回答と比較し、エラーに応じて調整します。
  • 教師なし学習-既知の回答を持つサンプルデータセットがない場合に必要です。 たとえば、非表示のパターンを検索します。 この場合、クラスタリング、つまり 未知のパターンに従って要素のセットをグループに分割することは、存在する既存のデータセットに基づいて実行されます。
  • 強化学習-この戦略は観察に基づいています。 ANNは、その環境を観察して決定を下します。 観測値が負の場合、ネットワークは重みを調整して、次回に別の必要な決定を行えるようにします。

逆伝播アルゴリズム

これは、トレーニングまたは学習アルゴリズムです。 例によって学習します。 ネットワークに何をさせたいかの例をアルゴリズムに送信すると、トレーニングの終了時に特定の入力に対して望ましい出力を生成できるように、ネットワークの重みが変更されます。

バックプロパゲーションネットワークは、単純なパターン認識およびマッピングタスクに最適です。

ベイジアンネットワーク(BN)

これらは、一連のランダム変数間の確率的関係を表すために使用されるグラフィカル構造です。 ベイジアンネットワークは、 Belief Networks または Bayes Nets とも呼ばれます。BNは不確実なドメインに関する理由です。

これらのネットワークでは、各ノードは特定の命題を持つランダム変数を表します。 たとえば、医療診断ドメインでは、ノードCancerは、患者にがんがあるという命題を表します。

ノードを接続するエッジは、これらのランダム変数間の確率的依存関係を表します。 2つのノードのうち、一方が他方に影響している場合は、効果の方向に直接接続する必要があります。 変数間の関係の強さは、各ノードに関連付けられた確率によって定量化されます。

BNのアークには、単純に有向アークに従うだけではノードに戻ることができない唯一の制約があります。 したがって、BNは有向非巡回グラフ(DAG)と呼ばれます。

BNは、複数値の変数を同時に処理できます。 BN変数は2つの次元で構成されています-

  • 前置詞の範囲
  • 各前置詞に割り当てられた確率。

離散確率変数の有限集合X = \ {X〜1〜、X〜2〜、…、X〜n〜}を考えます。各変数_X〜i〜_は、_Val( X〜i〜)._変数_X〜i〜_から変数_X〜j〜、_への有向リンクがある場合、変数_X〜i〜_は直接の依存関係を示す変数_X〜j〜_の親になります変数間。

BNの構造は、事前知識と観測データを組み合わせるのに理想的です。 BNを使用して、データが欠落している場合でも、因果関係を学習し、さまざまな問題領域を理解し、将来のイベントを予測できます。

ベイジアンネットワークの構築

ナレッジエンジニアは、ベイジアンネットワークを構築できます。 ナレッジエンジニアが構築中に実行する必要があるステップがいくつかあります。

問題の例-_肺癌。_患者が息切れに苦しんでいる。 彼は医者を訪ね、彼は肺癌にかかっていると疑っています。 医師は、肺がんを除けば、結核や気管支炎など、患者が持つ可能性のある他のさまざまな病気があることを知っています。

問題の関連情報を収集

  • 患者は喫煙者ですか? はいの場合、がんと気管支炎の可能性が高くなります。
  • 患者は大気汚染にさらされていますか? はいの場合、どのような大気汚染ですか?
  • X線を撮る正のX線は結核または肺がんのいずれかを示します。

興味深い変数を特定する

ナレッジエンジニアは質問に答えようとします-

  • どのノードを表すか?
  • 彼らはどんな価値を取ることができますか どの状態になりますか?

とりあえず、離散値のみを持つノードを考えてみましょう。 変数は、一度にこれらの値のいずれか1つだけを引き継ぐ必要があります。

離散ノードの一般的なタイプは-

  • ブールノード-命題を表し、バイナリ値TRUE(T)およびFALSE(F)を取ります。
  • 順序付けられた値-ノード_Pollution_は、患者の汚染への暴露の程度を表す\ {low、medium、high}の値を表し、その値を取る場合があります。
  • 積分値-_Age_と呼ばれるノードは、1〜120の可能な値で患者の年齢を表すことがあります。 この初期段階でさえ、モデリングの選択が行われています。

肺がんの例で考えられるノードと値-

ノード名

Type

ノード作成

汚染

バイナリ

\ {低、高、中}

BNNノード作成

喫煙者

ブール値

\ {TRUE、FASLE}

肺がん

ブール値

\ {TRUE、FASLE}

X線

バイナリ

\ {正、負}

ノード間にアークを作成

ネットワークのトポロジは、変数間の定性的な関係をキャプチャする必要があります。

たとえば、患者が肺がんを起こす原因は何ですか? -汚染と喫煙。 次に、ノード_Pollution_およびノー​​ド_Smoker_からノード_Lung-Cancer._にアークを追加します

同様に、患者が肺がんの場合、X線の結果は陽性になります。 次に、ノード_Lung-Cancer_からノード_X-Ray._にアークを追加します

BNN Arc Creation

トポロジの指定

従来、BNは、アークが上から下を向くようにレイアウトされていました。 ノードXの親ノードのセットは、Parents(X)によって与えられます。

Lung-Cancer_ノードには2つの親(理由または原因)があります:_Pollution_および_Smoker、ノード_Smoker_はノード_X-Ray_の*祖先*です。 同様に、_X-Ray_は、ノード_Lung-Cancer_の子(結果または効果)であり、ノード_Smoker_および_Pollution._の*後継者*です。

条件付き確率

次に、接続されたノード間の関係を定量化します。これは、各ノードの条件付き確率分布を指定することにより行われます。 ここでは離散変数のみが考慮されるため、これは* Conditional Probability Table(CPT)*の形式を取ります。

まず、各ノードについて、それらの親ノードの値の可能なすべての組み合わせを調べる必要があります。 このような各組み合わせは、親セットの*インスタンス化*と呼ばれます。 親ノード値の個別のインスタンス化ごとに、子が取る確率を指定する必要があります。

たとえば、_Lung-Cancer_ノードの親は_Pollution_および_Smokingです。_は、可能な値= \ {(H、T)、(H、F)、(L、T)、(L、F)}を取ります。 CPTは、これらの各ケースの癌の確率をそれぞれ<0.05、0.02、0.03、0.001>と指定しています。

各ノードには、次のように関連付けられた条件付き確率があります-

確率

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

彼らは人間には簡単ですが、マシンには難しいタスクを実行できます-

  • 航空宇宙-自動操縦航空機、航空機の故障検出。
  • 自動車-自動車案内システム。
  • 軍事-武器の方向とステアリング、ターゲットの追跡、オブジェクトの識別、顔の認識、信号/画像の識別。
  • エレクトロニクス-コードシーケンス予測、ICチップレイアウト、チップ故障解析、マシンビジョン、音声合成。
  • 金融-不動産鑑定、ローンアドバイザー、住宅ローン審査、社債格付け、ポートフォリオ取引プログラム、企業財務分析、通貨価値予測、ドキュメントリーダー、クレジットアプリケーション評価者。
  • 産業-製造プロセス制御、製品設計と分析、品質検査システム、溶接品質分析、紙品質予測、化学製品設計分析、化学プロセスシステムの動的モデリング、機械保守分析、プロジェクト入札、計画、管理
  • 医療-がん細胞分析、EEGおよびECG分析、補綴設計、移植時間オプティマイザー。
  • 音声-音声認識、音声分類、テキストから音声への変換。
  • 通信-画像とデータの圧縮、自動化された情報サービス、リアルタイムの音声言語翻訳。
  • 輸送-トラックブレーキシステムの診断、車両のスケジューリング、ルーティングシステム。
  • ソフトウェア-顔認識、光学式文字認識などのパターン認識
  • 時系列予測-ANNは、在庫と自然災害の予測に使用されます。
  • 信号処理-ニューラルネットワークを訓練して、音声信号を処理し、補聴器で適切にフィルタリングすることができます。
  • コントロール-ANNは、物理的な車両のステアリングの決定によく使用されます。
  • 異常検出-ANNはパターンの認識に精通しているため、パターンに合わない異常が発生した場合に出力を生成するようにトレーニングすることもできます。