ポイント:ニューラルネットワークは、ランダムな重みから始めて「間違えたら、間違いが減る方向に重みを少し動かす」を何万回も繰り返すだけで、渦巻きのような複雑な境界を自力で見つけます。賢さは設計者が教えたのではなく、データと誤差から“育った”ものです。
この画面の中で起きていること
| ステップ | 内容 |
|---|---|
| 1. 順伝播 | 入力(x, y座標)に重みを掛けて足し、活性化関数(tanh)を通す。これを層の数だけ繰り返して「赤か青か」を出力 |
| 2. 誤差の計算 | 出力と正解のずれ(交差エントロピー)を計算 |
| 3. 誤差逆伝播 | 各重みが誤差にどれだけ影響したか(勾配)を出力側から逆にたどって計算 |
| 4. 更新 | 勾配と逆方向に、学習率の分だけ重みを動かす |
1986年にラメルハート、ヒントン、ウィリアムズが広めたこの「誤差逆伝播法」は、現在のあらゆる深層学習の中核です。本ページのネットワークは数百パラメータですが、ChatGPTのようなモデルは同じ原理を数千億〜数兆パラメータで動かしています。
スライダーで分かる「AIの性格」
| 操作 | 起きること |
|---|---|
| ニューロンを減らす(2〜3個) | 直線に近い境界しか引けず、渦巻きは学べない(表現力不足) |
| ニューロンを増やす(16〜32個) | 複雑な境界を学べるが、ノイズまで覚えてしまうことがある(過学習) |
| 学習率を上げすぎる | 重みが振動して正解率が上下に暴れる、または発散する |
| 学習率を下げすぎる | 正しい方向に進むが、いつまでも到達しない |
| 層を増やす | 少ないニューロンでも複雑な形を表現できる=“深層”学習の利点 |
右側の小さな図の見方
右側は最初の隠れ層の各ニューロンが「入力空間のどこで発火するか」を示しています。1つ1つは単純な直線的なパターンですが、それらを重ね合わせることで、出力層は渦巻きのような複雑な形を作ります。ニューラルネットワークが「特徴を分担して覚える」様子です。
引用・転載について
本ページのシミュレーション結果・数値は、出典を明記いただければブログ・ニュース記事・SNS・授業や社内資料への引用を歓迎します。事前連絡は不要です。
推奨クレジット表記:
出典:シミュラボ「ニューラルネットが学ぶ瞬間 シミュレーター」 https://shimulabo.com/sims/neural-play/よくある質問
- これは本当にAI? 見せかけではない?
- 本物です。JavaScriptで多層パーセプトロンを実装し、誤差逆伝播で毎フレーム重みを更新しています。ライブラリも通信も使っていません。ページのソースコードを見れば数十行の学習ループが確認できます。
- 渦巻きが学べないときは?
- ニューロン数を16以上・層を2〜3にして、学習率0.05〜0.1でしばらく待ってください。乱数の初期値によっては局所解にはまるので、リセットして再挑戦するのも本物の機械学習と同じ流儀です。
- 正解率100%にならないのは?
- ノイズがあるとデータ自体に矛盾(赤の領域に混ざった青点)があるため、100%は原理的に不可能です。ノイズを0にすれば、十分なニューロンで100%近くに達します。