ニューラルネットワークとは、ニューロンまたはノードと呼ばれる単純な計算単位の層で構成され、重みと呼ばれる調整可能な強さで相互に接続された機械学習モデルの一種です。各ニューロンは数値を入力として受け取り、重みを掛け、バイアスを加え、その結果を非線形関数に通します。多くの層を重ねることで、ニューラルネットワークはピクセルや単語、音声波形などの複雑な入力を、クラスラベルや翻訳文、生成画像などの出力に対応付けることを学習できます。
ニューラルネットワークの仕組み
学習中、ネットワークにはサンプル(たとえば「猫」や「犬」とラベル付けされた何千枚もの写真)が与えられ、予測を出力します。損失関数がその予測の誤り度を測定し、誤差逆伝播法(バックプロパゲーション)と呼ばれるアルゴリズムが、ネットワーク内のそれぞれの重みがその誤差にどの程度寄与したかを計算します。 optimizer(最適化手法)は、通常は勾配降下法の変種を用い、各重みをわずかに動かして誤差を小さくします。多くのサンプルに対してこのプロセスを繰り返すことで、ネットワークの重みはデータ内の有用な統計的規則性を捉えた値に落ち着きます。
ネットワークの「深さ」は重要です。最初の層はエッジや文字の線のような単純な特徴を学習する傾向があり、深い層になるにつれて、それらの特徴を組み合わせて形状、単語、オブジェクトなどのより豊かな概念を構成します。この表現の階層性こそが、深いニューラルネットワークを知覚系のタスクで非常に強力にしている理由です。アーキテクチャと学習アルゴリズムに関する広く引用されている概観として、LeCun、Bengio、Hintonによる2015年のNatureのディープラーニングレビュー論文があります。
なぜ重要なのか
ニューラルネットワークは、2020年代に主流となったほとんどのAI機能の基盤となっています。画像分類、音声認識、機械翻訳、レコメンドシステム、対話アシスタントの背後にあるモデルをはじめとする大規模言語モデルなどが含まれます。手書きのルールではもろい問題でも、ラベル付きまたはラベルなしの大規模なデータが存在する問題で優れた性能を発揮します。なぜなら、同じアーキテクチャをわずかなコード変更で新しいドメイン向けに再学習できるためです。
主な種類
- フィードフォワードニューラルネットワーク(FNN):最もシンプルな形式で、信号は入力から出力へと一方向に流れます。多層パーセプトロンが典型的な例です。
- 畳み込みニューラルネットワーク(CNN):共有重みのフィルタを使用し、画像や動画に適しています。
- 再帰型ニューラルネットワーク(RNN):前のステップの記憶を保持するループを備え、テキストやセンサーデータなどのシーケンスに適しています。言語処理では現在ではTransformerにほぼ置き換えられています。
- Transformer:再帰ではなく注意機構(attention)に基づく現代的なアーキテクチャです。現在の大規模言語モデルや多くのビジョンシステムのバックボーンとなっています。
- 敵対的生成ネットワーク(GAN):生成器と、本物と偽物のサンプルを識別する識別器を対にしたもので、画像合成などに使われます。
いずれの派生も、特定の種類のデータに合わせて基本的なニューロンと重みのレシピを再構成または特化させていますが、根底にある原理 ― 損失に対する勾配降下法によって重みを学習する ― は変わりません。