visual-learning

ディープラーニング インタラクティブ可視化

ニューラルネットの中核概念を、ブラウザでパラメータを動かして体感する POC 集。

基礎概念

ニューロン

パーセプトロン

2 クラスを 1 本の直線で分ける境界を「間違えたら直す」で学習。

開く →
学習

活性化関数と勾配消失

sigmoid・tanh・ReLU の形と微分。深い層で勾配が消える理由。

開く →
DL

損失関数(MSE と交差エントロピー)

回帰モードでは予測点をドラッグすると残差²の面積バーが伸び縮みしMSEが更新

開く →
学習

勾配降下法

損失曲線を下るボール。学習率の大小と局所最適への落ち込みを体感。

開く →

CNN

CNN

畳み込み演算

カーネルが画像をスライドし特徴マップを作る。エッジ検出など。

開く →
DL

プーリング(max / average の動作とダウンサンプリング)

特徴マップ上をプーリング窓がスライドし

開く →

学習の仕組み

DL

誤差逆伝播(計算グラフを勾配が逆流する)

入力値や重みのスライダーを動かすと順伝播の各ノード値が更新

開く →
DL

多層パーセプトロン(隠れ層を増やすと表現力が変わる)

データ形状(XOR/円/スパイラル/市松)を選び

開く →
DL

重みの初期化(Xavier / He と勾配の伝わり方)

層数と初期化方式(一様小/大・Xavier・He)を選ぶと

開く →
DL

ドロップアウト(ニューロンをランダムに落として汎化)

小さなネットワーク図で

開く →
DL

バッチ正規化(分布を揃えて学習を安定させる)

ヒストグラムで入力分布を表示し

開く →
DL

過学習と正則化(訓練/検証の損失曲線)

多項式の次数(モデル複雑さ)・正則化強度λ・訓練データ数・ノイズをスライダー設定

開く →
DL

Optimizer 比較(SGD / Momentum / Adam の軌跡)

細長い谷や鞍点を持つ2D損失曲面上で出発点をクリック指定し

開く →
DL

学習率スケジューリング(warmup と減衰)

warmupステップ数・減衰方式(step/cosine/指数)・初期学習率をスライ…

開く →

系列モデル

DL

RNN の時系列展開(隠れ状態が時間方向に流れる)

入力系列(文字や数値列)を与えると

開く →
DL

LSTM のゲート機構(忘却・入力・出力ゲート)

各ゲートの開度(0〜1)をスライダーで動かすと

開く →

埋め込みと言語

DL

単語埋め込み(king - man + woman ≈ queen を2D投影で)

2D散布図に単語ベクトルを配置し

開く →
DL

トークン化(BPE で部分語に分割される過程)

テキストを入力し「マージ」ボタンを押すたびに

開く →
DL

Softmax と温度(次トークン確率分布の鋭さ)

複数候補のロジットをスライダーで設定し

開く →
DL

位置エンコーディング(sin/cos の位置埋め込み波形)

位置インデックスのスライダーを動かすと

開く →

Transformer / Attention

Attention

Self-Attention(視線メタファー版)

各単語がどこを「見ている」かで Attention を素人向けに表現。

開く →
Attention

Self-Attention(二部グラフ版)

Query と Key を二部グラフで結び、注目の強さを線の太さで表現。

開く →
Attention

Self-Attention(Matrix 版)

Q・K・V の内積と softmax で重みが決まる過程を行列で表示。

開く →
Attention

Multi-Head Attention

4 つのヘッドがそれぞれ異なる関係を捉える様子。

開く →

生成モデル

DL

オートエンコーダ(潜在空間への圧縮と復元)

手描き風の数字や2D形状を入力すると

開く →
DL

拡散モデル(ノイズ付加と段階的ノイズ除去)

2D点群や簡易グリッド画像を対象に

開く →