隠れ層に適用されます。出力層は2値分類(XOR)のため常にSigmoidです。
損失曲線
決定境界 (XOR)
誤差逆伝播法では、損失 L の重み w に対する勾配を連鎖律で計算します:
∂L/∂w = ∂L/∂a · ∂a/∂z · ∂z/∂w
XORは線形分離不可能であり、隠れ層を持つ多層ネットワークでのみ解けます。
ニューラルネットワークの構造・順伝播・逆伝播をリアルタイムで可視化。XOR問題を学習しながらニューラルネットの仕組みを直感的に理解。
隠れ層に適用されます。出力層は2値分類(XOR)のため常にSigmoidです。
誤差逆伝播法では、損失 L の重み w に対する勾配を連鎖律で計算します:
∂L/∂w = ∂L/∂a · ∂a/∂z · ∂z/∂w
XORは線形分離不可能であり、隠れ層を持つ多層ネットワークでのみ解けます。
CAEにおけるサロゲートモデル:自動車の衝突シミュレーションや翼型の空力解析は、1回のFEM/CFD計算に何時間もかかります。ニューラルネットワークに様々な設計パラメータとその結果を学習させると、瞬時に近似結果を予測する「代理モデル」として活用でき、設計探索のスピードが劇的に向上します。
Physics-Informed Neural Networks (PINN):従来のデータ駆動型だけでなく、物理法則(ナビエ-ストークス方程式など)そのものを損失関数に組み込みます。これにより、少ない実験データでも物理的に整合性のある予測が可能になり、流体解析や材料開発での新しいシミュレーション手法として注目されています。
画像認識・異常検知:製造現場では、製品の外観画像から欠陥を自動検出するためにニューラルネットワークが使われます。正常品の画像のみで学習させ、それから外れるものを「異常」として検知する仕組みは、CAEのシミュレーション結果の異常検証にも応用可能です。
強化学習による最適制御:ロボットアームの動きや、建物のエネルギー消費を最小化する空調制御など、複雑なシステムの最適な動作パターンをニューラルネットワークが学習します。これは、CAEで得られたモデルを実際の制御系に組み込む際の基盤技術となります。
このツールで遊んでいると、いくつか勘違いしやすいポイントがあるよ。まず、「学習率ηは大きいほど早く学習する」と思いがちだけど、これは半分正解で半分間違い。確かに値を大きくすると重みの更新幅が大きくなるけど、例えばηを0.5とか1.0にすると、損失曲線が上下に激しく振動して、最適解に収束しなくなることがある。これは、谷底を飛び越えて反対側の斜面に着地し、また飛び越える…を繰り返している状態だ。実務では、最初は0.01や0.001といった小さな値から始めて、様子を見ながら調整するのが鉄則だね。
次に、「隠れ層とノードは多ければ多いほど性能が上がる」という誤解。このXOR問題では、隠れ層1層・ノード2つで十分解ける。でも、ツールでわざと層を5層、ノードを各層10個とかの巨大ネットワークにしてみて。すると、損失は一見ゼロに近づくけど、決定境界が複雑すぎて、訓練データの4点に「過剰適合」しただけの状態になる。これが過学習だ。実問題では、未知のデータに対してロバストなシンプルなモデルを目指すことが大事で、層の深さや幅はハイパーパラメータとして慎重に決める必要がある。
最後に、「シグモイド関数は何でも使える万能の活性化関数」という考え。確かに歴史的に使われてきたけど、深い層では大きな弱点がある。シグモイドの出力は0から1の間に押し込められるため、勾配が層を遡るにつれてどんどん小さくなってしまう勾配消失問題が起きやすいんだ。このツールで層を深くして学習が遅くなるのを感じたら、それが勾配消失の初歩的な体験だ。今の実務では、深層学習ではReLU($f(x)=max(0, x)$)のような関数が主流になっている理由の一つだよ。
隠れ層4ノード、学習率η=0.5、シグモイド活性化関数でXOR問題を学習した場合:初期エポック1では損失0.693、正解率50%だが、エポック100時点で損失0.012、正解率100%に到達。決定境界の可視化では、非線形な曲線が段階的に入力空間を正確に分割する様子が確認でき、隠れ層が学習を進むにつれてニューロン間の接続重みが[-2.5, 3.1, -1.8, 2.9]から[-4.2, 5.7, -4.1, 5.6]へ大幅に更新される