ホーム Topics neural networks ニューラル・ネットワークとは
IBMのニューラル・ネットワーク・ソリューションはこちら AI関連の最新情報の購読
AIが情報を処理し、人間を模倣することを学習している顔。
ニューラル・ネットワークとは

ニューラル・ネットワークとは、人間の脳に似た方法で意思決定を行う機械学習プログラムまたはモデルのことで、生物学的なニューロンが連携して現象を特定し、選択肢を検討し、結論を導き出す方法を模倣したプロセスを使用します。

すべてのニューラル・ネットワークは、1つの入力層、1つ以上の隠れ層、1つの出力層を含むノードの層、つまり人工ニューロンで構成されます。各ノードは他のノードに接続し、関連する重みとしきい値を持ちます。個々のノードのいずれかの出力が、指定されたしきい値を超えると、そのノードがアクティブ化されて、ネットワークの次の層にデータが送信されます。しきい値を超えなければ、データはネットワークの次の層に渡されることはありません。

ニューラル・ネットワークはトレーニング・データによって徐々に学習し、時間の経過とともに精度を高めていきます。 そして、精度を高めるために微調整が行われると、コンピューター・サイエンスおよび人工知能における強力なツールとなって、データの高速な分類とクラスター化を可能にします。人間の専門家が手動で識別すると何時間もかかる音声認識や画像認識のタスクを、数分で完了することができます。最も有名なニューラル・ネットワークの1つが、Googleの検索アルゴリズムです。

ニューラル・ネットワークは、人工ニューラル・ネットワーク(ANN)または模倣ニューラル・ネットワーク(SNN)と呼ばれることもあります。これらは機械学習のサブセットで、ディープラーニング・モデルの中枢をなします。

AIガバナンスの活用で責任あるAIワークフローを構築

チームが責任あるAIを加速するのに役立つ構成要素とベスト・プラクティスについて説明します。

関連コンテンツ

生成AIに関する電子ブックに登録する

ニューラル・ネットワークの仕組み

個々のノードは、入力データ、重み、バイアス(またはしきい値)、および出力で構成される、固有の線形回帰モデルと考えることができます。これを数式で表すと次のようになります。

∑wixi + バイアス = w1x1 + w2x2 + w3x3 + バイアス

出力 = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0

入力層が決定されると、重みが割り当てられます。これらの重みは、ある変数の重要度を判断するのに役立ち、重みが大きい入力ほど、出力に大きな影響を及ぼします。次いで、すべての入力が、それぞれの重みで乗算されたうえで合算されます。そこから、活性化関数を通じて、出力が決定されます。この出力が所定のしきい値を超えた場合、そのノードは「起動」(アクティブ化)し、データがネットワーク内の次の層に渡されます。これにより、1つのノードの出力が次のノードの入力になります。このように、ある層から次の層にデータが渡されるプロセスから、このニューラル・ネットワークはフィードフォワード・ネットワークであると言えます。

バイナリー値を使用して、ある単一ノードがどのような仕組みになっているかを分析してみましょう。この概念は、サーフィンに行くかどうか(はい:1、いいえ:2)など、より具体的な例に適用することができます。行くかどうかの決定が、予測される結果、すなわちyハットとなります。ここで、意思決定に影響する要因として以下の3点が挙げられると仮定します。

  1. 波の状態は良好ですか。(はい:1、いいえ:0)
  2. 列は空いてますか。(はい:1、いいえ:0)
  3. 最近、サメによる襲撃がありましたか。(はい: 0、いいえ: 1)

次に、それぞれの前提に沿って、入力値を以下のように決定します。

  • X1 = 1(良い波がコンスタントに来ているため)
  • X2 = 0(人出が多いため)
  • X3 = 1(最近はサメによる襲撃が発生していないため)

ここで、重みを割り当てて、重要度を決定する必要があります。重みが大きいほど、特定の変数が意思決定または結果にとって、より重要であることを意味します。

  • W1 = 5(大きなうねりは頻繁には起きないため)
  • W2 = 2(人混みに慣れているため)
  • W3 = 4(サメに対する恐怖心があるため)

最後に、しきい値を3と仮定します。これは、-3のバイアス値に変換されます。すべての入力が揃ったら、値を数式に当てはめて、目的の出力値を算出します。

Yハット = (1*5) + (0*2) + (1*4) – 3 = 6

このセクションの冒頭で紹介した活性化関数を使用する場合、6は0より大きいため、このノードの出力は1になると判断できます。この場合、サーフィンに行くことになりますが、重みまたはしきい値を調整すると、このモデルから異なる結果が導き出される場合があります。上記の例のように1つの決定に注目すると、ニューラル・ネットワークが、その前の決定あるいは層の出力に応じて、より一層複雑な決定を行えることがわかります。

上記の例では、パーセプトロンを使用してここに登場する数学の一部を説明していますが、ニューラル・ネットワークではシグモイド・ニューロンを活用します。シグモイド・ニューロンは、0から1の間の連続な値をとれることを特徴とします。ニューラル・ネットワークは決定木と同じように動作し、あるノードから別のノードにデータを伝達します。そのため、0と1の間にあるx値をとることで、単一の変数の変化が任意のノードの出力、そしてニューラル・ネットワークの出力に及ぼす影響は軽減されます。

画像認識や分類など、ニューラル・ネットワークのより実用的なユースケースを視野に入れる場合は、教師あり学習(つまりラベル付きデータ・セット)を活用して、アルゴリズムをトレーニングしていきます。モデルをトレーニングする際には、コスト(または損失)関数を使用して、モデルの精度を評価します。これは、一般的に平均二乗誤差(MSE)と呼ばれることもあります。以下の数式では、

  • iは、何番目のサンプルであるかを表し、
  • yハットは予測される結果、
  • y は実際の値、
  • mはサンプル数です。

= =1/2 ∑129_(=1)^▒( ̂^(() )−^(() ) )^2

最終的な目標は、コスト関数を最小化して、あらゆる観測に適合する精度を確保することです。このモデルはその重みとバイアスを調整する際に、コスト関数と強化学習を使って、収束点(極小値)に到達します。アルゴリズムがその重みを調整するプロセスでは最急降下法が使用されるため、モデルは誤差を減らす(またはコスト関数を最小化する)ための方向を判別することができます。モデルのパラメーターはそれぞれのトレーニング例を使い、最小値に段階的に収束するように調整されます。

ニューラル・ネットワークにおける量的概念の詳しい説明については、このIBM Developerの記事を参照してください。

ほとんどのディープ・ニューラル・ネットワークはフィードフォワードであり、これは入力から出力へと1方向のみに流れることを意味します。ただし、バック・プロパゲーションを通じてモデルをトレーニングすることもできます。これは、出力から入力への反対方向の移動となります。バック・プロパゲーションにより、各ニューロンに関連する誤差を計算し、属性化することができるため、モデルのパラメーターを適切に調整して適合させることが可能になります。

watsonx.aiをご利用いただけます

従来の機械学習と、基盤モデルによる新しい生成AI機能を統合した、まったく新しいエンタープライズ・スタジオです。

ニューラル・ネットワークのタイプ

ニューラル・ネットワークは、各種の目的に使用されるさまざまなタイプに分類することができます。以下に示すのは、すべてのタイプを網羅したリストではないものの、一般的なユースケースで使用される最も代表的なタイプのニューラル・ネットワークです。

パーセプトロンは、1958年にFrank Rosenblatt氏が考案した最古のニューラル・ネットワークです。

この記事で主に取り上げているのは、フィードフォワード・ニューラル・ネットワーク、または多層パーセプトロン(MLP)と呼ばれるものです。これらは入力層、隠れ層(複数可)、出力層で構成されています。 これらのニューラル・ネットワークは一般的にはMLPとも呼ばれますが、重要なのは、こうしたネットワークが実際にはパーセプトロンではなくシグモイド・ニューロンで構成されている点です。これは、現実世界の問題の大部分は非線形であるためです。通常、これらのモデルをトレーニングするためにデータが取り込まれ、こうしたモデルがコンピューター・ビジョン、自然言語処理、およびその他のニューラル・ネットワークの基盤となります。

畳み込みニューラル・ネットワーク(CNN)はフィードフォワード・ネットワークに似ていますが、通常は画像認識、パターン認識、コンピューター・ビジョンなどに利用されています。これらのネットワークは線形代数、特に行列の乗法の原理を利用して、画像内のパターンを識別しています。

回帰ニューラル・ネットワーク(RNN)は、そのフィードバック・ループによって識別されます。 これらの学習アルゴリズムは主に、時系列データを使用して、株式市場の予測や売上予測など、将来の成果について予測する際に活用されます。

 

ニューラル・ネットワークとディープラーニング

ディープ・ラーニングとニューラル・ネットワークは同じものとして語られる傾向がありますが、これは混乱を招くおそれがあります。ここで、ディープラーニングの「ディープ」とは、単にニューラル・ネットワークにおける層の深さを指すということに留意してください。4層以上で構成されるニューラル・ネットワーク(入力層と出力層を含む)は、 ディープラーニング・アルゴリズムと考えることができます。2層または3層しかないニューラル・ネットワークは、単なる基本的なニューラル・ネットワークです。

ニューラル・ネットワークと、機械学習など他の形態の人工知能との違いについてさらに詳しく知りたい方は、ブログ記事「AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?」を参照してください。

ニューラル・ネットワークの歴史

ニューラル・ネットワークは、多くの人々が考えるよりも長い歴史を持っています。「考える機械」というアイデアは古代ギリシャ時代にまで遡ることができますが、ここでは長い年月の間に盛衰を繰り返してきた、ニューラル・ネットワークを巡る思考の進化につながった重要な出来事に焦点を当てます。

1943年:Warren S. McCulloch氏とWalter Pitts氏は『A logical calculus of the ideas immanent in nervous activity』(ibm.com外部へのリンク)を発行しました。この研究は、人間の脳が、互いにつながった脳細胞、つまりニューロンを通じて、複雑なパターンをどのように生成できるのかを理解しようとするものでした。この研究から生まれた主なアイデアの1つは、2値化しきい値を持つニューロンを、ブール論理(すなわち、0か1、または真偽式の問題)と比較するというものでした。

1958年:Frank Rosenblatt氏は、パーセプトロンの発展における功績が評価されており、その論理は自身の研究『The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain』(ibm.com外部へのリンク)にまとめられています。彼は方程式に重みという概念を導入することで、McCulloch氏とPitt氏の研究を一歩前進させています。Rosenblatt氏はIBM 704を活用することで、左側に印を付けられたカードと、右側に印を付けられたカードを区別する方法を、コンピューターに学習させることに成功しました。

1974年:バックプロパゲーションのアイデアには数多くの研究者が貢献しましたが、Paul Werbos氏は自身の博士論文(ibm.com外部へのリンク)の中で、米国で初めて、ニューラル・ネットワークにおけるバックプロパゲーションの応用について言及しました。

1989年:Yann LeCun氏は、発表した論文(ibm.com外部へのリンク)の中で、バックプロパゲーションにおける制約事項の活用と、ニューラル・ネットワーク・アーキテクチャーへの統合が、アルゴリズムのトレーニングにどのように利用できるかを明らかにしました。この研究では、ニューラル・ネットワークを活用して、米国の郵便局から提供された、手書きの郵便番号の数字を認識させることに成功しました。

関連ソリューション
ディープラーニング・ソリューション

複雑なニューラル・ネットワークを設計するIBM Watson Studio内で最適化された学習モデルをデプロイするための大規模な実験をする

ディープラーニング・ソリューションはこちら
IBM Watson Studio

信頼性の高いAIを、あらゆるクラウド上で構築、拡張します。ModelOpsのためのAIライフサイクルを自動化します。

IBM Watson Studioの詳細はこちら
watsonx.ai

ビジネス向けの生成AIと機械学習の運用化と拡張を推進します。

watsonx.aiの詳細はこちら
参考情報 企業におけるAI、2021年:データで機会を解き放つ

電子ブックに登録して、AI をビジネスに導入することで得られる機会、課題、教訓についての洞察を得てください。

AI、機械学習対ディープラーニング、ニューラル・ネットワーク:その違いは?

これらの用語はしばしば同じ意味で使用されますが、どのような違いがそれぞれを独自のテクノロジーにしているのでしょうか。

ゼロから始めるニューラル・ネットワーク

ニューラル・ネットワークとその基本機能および構築の基礎について深く理解します。

次のステップ

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、デプロイしましょう。わずかなデータ、わずかな時間でAIアプリケーションを構築できます。

watsonx.aiの詳細はこちら デモの予約