ニューラルネットワークツールの使い方と学習内容

ニューラルネットワークツールの使い方と学習内容

■このツールについて

2層パーセプトロンを拡張し,入力を2個(x, y)から3個(x, y, z)に増やしたニューラルネットワークの教材である. 3つの入力の組み合わせ全パターン(2³ = 8通り)に対して目標値 t が設定されており,このネットワークがそれをどこまで正しく分類できるようになるかを確認できる.

使い方

  1. 初期値を設定する
    隠れ層h1・h2・出力層それぞれの重みとバイアス(合計11個)を数値入力欄で指定する.「初期値をランダム生成」でランダムな出発点を試すこともできる.
  2. 訓練データを確認・編集する
    8パターンの入力 (x, y, z) と目標値 t が表に並んでいる.数値やtを直接編集でき,「データを初期値に戻す」でいつでも元の8パターンに戻せる.
  3. 1ステップずつ確認する
    「1ステップ実行」(または「5ステップ実行」)を押すと,11個のパラメータすべてが誤差逆伝播法の勾配にもとづいて同時に更新される.
  4. 自動で学習させる
    「自動実行」を押すと,誤差2乗和が0.001未満になるか200回に達するまで自動的に更新が続く.
  5. 構造図でテストする
    テスト入力 x, y, z を自由に設定すると,隠れ層h1・h2・出力層それぞれの計算結果がその場で確認できる.
  6. 分類結果を確認する
    「分類結果」の表では,8パターンそれぞれの出力値と判定(1/0/あいまい?)が色分け表示される.「分類結果のグラフ」では,目標値と出力の近さを一目で比較できる.

各コントロールの役割

初期値 (11個)隠れ層h1(w211, w212, w213, b21),隠れ層h2(w221, w222, w223, b22),出力層(w311, w312, b31)の出発値であす.入力が3個になった分,h1・h2それぞれの重みも3個ずつになっている.
学習率 η1回の更新でどれだけ大きくパラメータを動かすかを決める(既定値5).
データ点 (x, y, z, t)8パターンの訓練データを編集できる.変更すると学習は自動的にリセットされる.
1ステップ実行 / 自動実行誤差逆伝播法による更新を実行します.自動実行は誤差が十分小さくなるか200回で停止する.
分類結果テーブル各パターンの出力値と判定結果を表示する.判定が目標値と一致していれば緑,不一致なら赤,あいまいならオレンジで表示される.

学習できる内容

① 入力の数が増えても仕組みは同じ

z21 = w211・x + w212・y + w213・z + b21, a21 = σ(z21)
z22 = w221・x + w222・y + w223・z + b22, a22 = σ(z22)
z31 = w311・a21 + w312・a22 + b31, a31 = σ(z31)

2層パーセプトロンでは入力が x, y の2個であった,ここでは x, y, z の3個に増えている.増えたのは各隠れ層ユニットに入る重みの本数(w213, w223 が追加)だけで,「重み付き和をとってシグモイド関数に通す」という計算の仕組み自体はまったく同じである. このことから,ニューラルネットワークは入力の次元が増えても(画像のピクセル数のように何百・何千個になっても)同じ考え方で扱えることがわかる.

② なぜ「入力空間と決定境界」のグラフがないのか

単層・2層パーセプトロンのページでは,2次元の入力 (x, y) をそのまま散布図に描き,決定境界を直線や曲線として重ねて表示できた. しかしこのツールでは入力が x, y, z の3次元になっているため,境界を2次元のグラフに直接描くことができない. そこで代わりに,8パターンすべての「目標値」と「実際の出力」を一覧表とグラフで並べて比較する方法で,学習の進み具合を確認できるようにしている.

③ 「判定」列の意味としきい値

出力 a31 は 0〜1 の連続的な値であるが,最終的に「0か1か」を判断するために,このツールでは次のようなしきい値を使っている.

出力 a31 > 0.8 → 判定「1」
出力 a31 < 0.2 → 判定「0」
それ以外(0.2 〜 0.8) → 判定「?」(あいまい・まだ自信を持って判断できない)

学習が進んで誤差が小さくなるほど,出力は目標値である0または1に近づき,「?」判定の割合が減っていく.分類結果テーブルのオレンジ色の「?」がどれだけ緑色の確定判定に変わっていくかを,学習の進み具合の目安として見ることができる.

④ 誤差逆伝播法:δの計算はパラメータの数によらず同じ形

δ31 = (a31 − t)・a31・(1 − a31)
δ21 = δ31・w311・a21・(1 − a21)  δ22 = δ31・w312・a22・(1 − a22)
∂C/∂w211 = Σ δ21・x  ∂C/∂w212 = Σ δ21・y  ∂C/∂w213 = Σ δ21・z  ∂C/∂b21 = Σ δ21

δ21, δ22 の計算式は2層パーセプトロンのときとまったく同じである.違うのは,δ21 から w211, w212, w213 の3つの勾配を計算するときに,x, y, z の3つの入力それぞれを掛け合わせる点だけである.入力の数だけ勾配の計算式が増えるが,計算のパターンそのものは変わらない——これが誤差逆伝播法の汎用性である.

⑤ 11個のパラメータと重みグラフ

「重みとバイアスの推移」グラフには11本の折れ線が表示される.本数が多く見えにくいときは,上部の凡例で色と名前を確認しながら,特定のパラメータ(例えば出力層の3つ:w311, w312, b31)の動きに注目して見てみると,隠れ層と出力層で収束の速さが違う様子なども観察できる.

 

ホーム>>カテゴリー別分類>>データ分析>>ニューラルネットワークツールの使い方と学習内容

最終更新日:2026年9月15日