ニューラルネットワークとは?

ニューラルネットワークは、人工知能(AI)モデルの重要な構成要素です。人間の脳のニューロンを模倣したアーキテクチャに基づいて動作します。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ニューラルネットワークとは何かを説明する
  • ニューラルネットワークの種類
  • ニューラルネットワークの仕組みを理解する

記事のリンクをコピーする

ニューラルネットワークとは?

ニューラルネットワーク(人工神経回路網)は、人間の脳の働きをモデル化したコンピューティングアーキテクチャの一種であり、それゆえ「ニューラル」と呼ばれています。ニューラルネットワークは、「ノード」と呼ばれる処理ユニットの集合で構成されています。これらのノードは、脳内でニューロンが互いに電気信号を伝達し合うように、互いにデータを伝達し合います。

ニューラルネットワークは、機械学習(明確な命令なしに学習するコンピュータプログラムの一種)で使用されます。具体的には、ディープラーニング(ラベル付けされていないデータから人間の手を介さずに結論を導き出すことができる高度な機械学習)で使用されます。例えば、ニューラルネットワーク上に構築され、十分なトレーニングデータを与えられたディープラーニングモデルは、これまで見たことのない写真の中の要素を識別することができます。

入力層、複数の隠れ層、および出力層に分割されたノードで構成されるニューラルネットワークによる猫の写真の識別

ニューラルネットワークは、様々な種類の人工知能(AI)を可能にします。ChatGPTのような大規模言語モデル(LLM)、DALL-EのようなAI画像ジェネレーター、予測AIモデルはすべて、ニューラルネットワークにある程度依存しています。

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

ニューラルネットワークはノードの集合で構成されます。ノードは少なくとも3つの層に分散しています。その3つの層は次の通り:

  • 入力層
  • "隠れ" 層
  • 出力層

この3つの層が最小構成となります。ニューラルネットワークは、「入力層」と「出力層」に加えて、複数の「隠れ層」で構成されます。

どのレイヤーに属しているノードも、前のノードから(あるいは入力層から)伝達された入力に対して、何らかの処理タスクや機能を実行します。基本的に、各ノードは数式を含み、数式内の各変数は異なる重み付けがされています。その数式を入力に適用した出力がある閾値を超えると、ノードはニューラルネットワークの次の層にデータを渡します。出力が閾値を下回る場合、次の層にデータは渡されません。

アクメ社に厳格な階層を持つ経理部門があるとします。アクメ社の経理部門では、1,000ドル以下の経費は管理職レベルの社員が承認し、10,000ドル以下の経費は取締役が承認し、10,000ドルを超える経費はCFOが承認します。アクメ社の経理部以外の従業員が経費を提出する場合、まず経理部長に提出します。1,000ドルを超える経費は取締役に回され、1,000ドル以下の出費は管理職レベルに留まる、といった処理が行われます。

アクメ社の経理部門はニューラルネットワークのように機能しています。従業員による経費報告書の提出は、ニューラルネットワークの「入力層」に相当します。各管理職や取締役は、ニューラルネットワーク内のノードに相当します。

また、経理部長が取締役に回す前に、別の部長職に経費報告書の解釈について助力を求めることがあるように、ニューラルネットワークはさまざまな方法で構築することができます。ノードは多方向に通信が可能です。

ニューラルネットワークにはどのような種類があるか?

ニューラルネットワークに参加できるノードと層の数に制限はなく、これらのノードはほぼすべての方法で相互に伝達し合うことが可能です。そのため、ニューラルネットワークの種類は増え続けています。しかし、大まかに次のカテゴリに分類することができます:

  • 通常、隠れ層を1つしか持たない浅層ニューラルネットワーク
  • 複数の隠れ層を持つ深層ニューラルネットワーク

「浅層ニューラルネットワーク」は高速で、「深層ニューラルネットワークよりも少ない処理能力で実行できますが、深層ニューラルネットワークほど多くの複雑なタスクをこなすことはできません。

以下は、現在使用されているニューラルネットワークの一覧(一部)です:

パーセプトロンニューラルネットワークは、入力層と出力層を持つシンプルで浅いネットワークです。

入力層に2ノード、出力層に1ノード

多層パーセプトロンニューラルネットワークは、パーセプトロンネットワークに複雑さを加え、隠れ層を持ちます。

入力層に2ノード、隠れ層に2ノード、出力層に1ノード

フィードフォワードニューラルネットワークは、ノードがフォワードノードに情報を渡すことだけを許可します。

データはノード間で渡されます。入力層、隠れ層、出力層。

回帰型ニューラルネットワークは後方に進むことができ、一部のノードからの出力が先行するノードの入力に影響を与えることができます。

入力層、2つの隠れ層、出力層。データはある隠れ層から前の隠れ層へと逆行します。

モジュール型ニューラルネットワークは、2つ以上のニューラルネットワークを組み合わせて出力します。

2つのニューラルネットワーク、ネットワーク1とネットワーク2は、同じ出力層に接続します。

放射基底関数ニューラルネットワークノードでは、放射基底関数と呼ばれる特定の種類の数学関数を用います。

ニューラルネットワークの隠れ層ノードは放射基底関数です。

Liquid state machineニューラルネットワークは、ノードがランダムに接続される特徴を持ちます。

データは入力層から隠れ層のランダムに接続されたノードのリザーバーに送られます。

残差ニューラルネットワークは、初期層の出力を後期層の出力と組み合わせるアイデンティティマッピングと呼ばれるプロセスによって、データを先に飛ばすことができます。

IDマッピングは、複数のレイヤーにわたって先行ノードからデータをスキップします。

Transformerニューラルネットワークとは?

Transformerニューラルネットワークは、現在広く使われているAIモデルの中で非常に重要な位置を占めているため、一見する価値があります。

2017年に初めて提唱されたTransformerモデルは、「Self-Attention」(自己注意機構)と呼ばれる技術を使用したもので、要素そのものだけでなく、シーケンス内の要素のコンテキストを考慮するニューラルネットワークです。Self-Attention機構を使用することで、データセットの一部が互いに関係する微妙なものも検出することが可能になります。

この機能は、個々の単語やフレーズだけでなく、(たとえば)文章のセンテンスや段落の分析に最適です。Transformerモデルが開発される以前は、テキストを処理するAIモデルは、文末に到達するまでに文頭を「忘れてしまう」ことが多く、その結果、人間の読者には意味をなさないような方法で、フレーズやアイデアを組み合わせてしまうことがありました。ですが、Transformerモデルを使用することで、より自然な形で人間の言葉を処理・生成することが可能です。

Transformerモデルは生成AI、特に人間が自由に入力した文章に応答してテキストを生成できる大規模言語モデル(LLM)にとって、欠かすことができない構成要素です。

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

ニューラルネットワークは実はかなり古くから存在します。ニューラルネットワークの概念は、脳の働きをモデル化した1943年の数学論文にまで遡ることができます。コンピューター科学者たちは1950年代から1960年代にかけて、単純なニューラルネットワークの構築を試み始めましたが、最終的にこの概念は支持されなくなりました。1980年代にこの概念が復活し、1990年代にはAI研究でニューラルネットワークが広く使われるようになりました。

しかし、ニューラルネットワークはその影を潜めており、現在のように超高速処理、膨大なデータストレージ機能、演算リソースが利用できるようになったことで、人間の認知能力を模倣し、あるいはそれを凌駕することができる現在の地点にまで進歩することができたのです。この分野では現在も開発が続けられており、現在使用されているニューラルネットワークの最も重要なタイプの1つであるTransformerは、2017年に誕生したものです。

Cloudflareはどのようにニューラルネットワークに対応しているか?

Cloudflareは世界中の320以上の都市に拠点を持ち、AI開発者に最小限の遅延でどこでも計算能力を提供できる独自の立場を築いています。Cloudflare for AIを利用することで、開発者は追加のセットアップなしに、画像処理ユニット(GPU)で構成されたグローバルネットワーク上でAIタスクを実行することができます。また、Cloudflareはニューラルネットワークのトレーニングに必要な膨大なデータのために、コスト効率の高いクラウドストレージオプションも提供しています。Cloudflare for AIについての詳細をご覧ください。