【AI入門その4】ニューラルネットワークの基本イメージ

この記事では、ニューラルネットワークの仕組みをニューロン・重み・活性化関数から解説します。
「AIが学習する」とはどういう状態なのか、具体的なイメージが掴めるようになります。

目次

ニューロンとは何か ― 最小単位の計算器

ニューラルネットワークの基本単位の動きを把握しましょう。

神経細胞を数式で模倣する

ニューラルネットワークの最小単位をニューロン(ノード)と呼びます。人間の脳には約860億個の神経細胞(ニューロン)があり、電気信号を受け取り別の神経細胞に伝えることで思考・行動が生まれます。AIのニューロンはこの仕組みを数式で模倣したものです。

入力・重み・活性化・出力の流れ

各ニューロンは「複数の入力値を受け取り → それぞれに重みを掛けて合算し → 活性化関数を通して → 出力する」という処理を行います。

入力1 入力2 入力3 ×重み1 ×重み2 ×重み3 合計 +活性化関数 ReLU・シグモイドなど 出力
1つのニューロンが行う計算

重みとバイアス ― パラメータの実体

重みとバイアスの調整が学習の実体です。

重みが「重要度」を表す

重み(Weight)は、各入力がどれだけ出力に影響するかを表す数値です。初期値はランダムに設定され、学習によって適切な値に調整されます。重みが大きい入力ほど、その出力への影響が強くなります。

売上予測モデルを例にとると、「気温・曜日・広告費・競合価格」の4入力があるとします。学習後に「広告費の重みが最大、競合価格の重みが最小」という状態になれば、モデルは「広告費が売上に最も影響する」という規則性をデータから自動的に発見したことを意味します。

バイアスとは「下駄をはかせる」値

バイアス(Bias)とは、重みに加えてニューロンが持つもう一つのパラメータです。入力に依存しない「オフセット(底上げ)」として機能します。「入力がすべてゼロでも出力を調整できる自由度」を与えるもので、回帰で言う切片(y=ax+bのb)に相当します。

パラメータ数とモデルの規模感

モデル全体の重みとバイアスの総数がパラメータ数です。層が多く・各層のニューロン数が多いほどパラメータ数は増えます。

モデルパラメータ数用途
シンプルな回帰モデル数十〜数百需要予測・売上予測
BERT(2018年)1億1,000万テキスト分類・感情分析
GPT-3(2020年)1,750億文章生成・要約・翻訳
GPT-4以降非公開(数千億規模とされる)マルチモーダル・推論

活性化関数 ― 非線形性を加える

活性化関数があることで複雑なパターンが学習できます。

なぜ非線形変換が必要か

活性化関数(Activation Function)がなければ、いくら層を深くしても線形な計算の繰り返しにすぎず、複雑なパターンを学習できません。数学的には「線形変換を何回重ねても線形変換になる」ため、層を深くする意味がなくなります。活性化関数が非線形な変換を加えることで、層を重ねる意義が生まれます。

ReLU・シグモイド・ソフトマックス

代表的な活性化関数には次のものがあります。

  • ReLU(Rectified Linear Unit):入力が0以下なら0を、0より大きければそのままの値を出力。計算が軽く勾配消失問題が起きにくいため、中間層の標準的な選択肢
  • シグモイド関数:出力を0〜1に変換。「確率」として解釈できるため、2クラス分類の出力層で使用
  • ソフトマックス関数:複数クラスの出力を「確率の合計が1になる」よう正規化。多クラス分類の出力層で使用
ReLUf(x) = max(0, x)
シグモイドf(x) = 1 / (1 + e-x)
ソフトマックスfi(x) = exi / Σj exj

出力層と中間層で異なる選択

中間層では一般にReLUを使い、出力層は問題の種類によって使い分けます。数値予測(回帰)では活性化関数なし(線形)、2クラス分類ではシグモイド、多クラス分類ではソフトマックスが標準です。この使い分けを理解しておくことで、AIシステムの設計を見たときに「どのような出力を想定しているか」を正しく把握できます。

なお、実務では問題の種類に応じてこれらの選択はある程度自動化されており、損失関数やフレームワーク側の設定によって適切な活性化関数が内部的に扱われることも多くなっています。

バックプロパゲーション ― 誤差の逆伝播

誤差を逆方向に伝えることでパラメータを効率的に更新します。

誤差逆伝播法とは何か

バックプロパゲーション(誤差逆伝播法)とは、出力層で計算した誤差(損失)を出力側から入力側へ逆向きに伝播させ、各層の重みの勾配を計算するアルゴリズムです。「どのパラメータをどれだけ変えれば損失が減るか」を、ネットワーク全体の全パラメータについて効率よく計算できます。

計算グラフという考え方

バックプロパゲーションは計算グラフという概念で整理できます。計算グラフとは、計算の流れをノードと矢印で表現したものです。入力から出力への計算(順伝播)を記録しておき、出力の誤差を逆向きに伝播させることで、各ノードの「出力に対する貢献度(勾配)」を連鎖律(Chain Rule)で効率よく計算します。

自動微分が実用化を可能にした

現代の深層学習フレームワーク(PyTorch・TensorFlowなど)は自動微分(Automatic Differentiation)を提供しています。これにより、研究者・エンジニアは手計算で微分式を導く必要がなく、ネットワーク構造を定義するだけでバックプロパゲーションが自動実行されます。自動微分の実用化がディープラーニング研究の速度を劇的に加速させました。

まとめ

この記事では、ニューラルネットワークの基本的な仕組みを解説しました。

  • ニューロンは「入力×重み → 合計 → 活性化関数 → 出力」という計算単位
  • 重みとバイアスがパラメータの実体で、学習によって最適な値に調整される
  • 活性化関数が非線形性を加えることで、深いネットワークの意味が生まれる。中間層はReLU、出力層は問題に応じて使い分ける
  • バックプロパゲーションにより出力側から逆向きに各パラメータの勾配を効率よく計算できる
  • 自動微分フレームワーク(PyTorch等)がこれらを自動化し、ディープラーニング研究を加速させた

これらを理解することで、AIシステムの「学習」とは何かを正しく説明でき、開発チームや外部ベンダーとの技術的な対話に参加できるようになります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次