✅
入力層設計
はじめに
概要
- シラバス:E資格2024#2
- ニューラルネットワークの入力層を勉強します
モデル訓練のステップ
- アーキテクチャの設計
- 入力層設計
- 中間層設計
- 出力層設計
- 誤差計算
- モデルに誤差を反映する
- 重みの更新の設定をする
- 最適なモデルを手に入れる
キーワード
Min-Max正規化, バッチ学習, オンライン学習, ミニバッチ学習,
バッチサイズ, エポック, イテレーション
学習内容
正規化
効果
- 学習の高速化
- 過学習の抑制
- 勾配消失の抑制
データの正規化(前処理時)
- 学習前に入力データに行う処理
- 目的:入力スケールの統一
- 例:Min-Max正規化
ネットワーク内部の正規化
- 学習中に各層の出力や中間表現を正規化します
- 目的:学習の安定化・効率化
Min-Max正規化(Min-Max normalizer)
- データ正規化の手法
- 値を0~1にスケーリング
- ある程度連続性があり、一様分布が想定されているデータに使用します
- 数式:
Y=\frac{X-x_{min}}{x_{max}-x_{min}}
X: データ
Y:正規化した結果
身長(100cm~190cm)、体重(30kg~90kg)のように数字の単位によって数値に開きがある場合、数値が大きい方に重要度が偏ってしまうので、0~1の値に正規化して数値を均します。
バッチ学習(batch learning)
- ネットワーク内部の正規化の手法
- オフライン学習とも呼ばれます
- 全データをまとめて使ってモデルを一括で訓練する方法です
オンライン学習(online learning)
- ネットワーク内部の正規化の手法
- データが来るたびに少しずつ学習する方式
ミニバッチ学習(mini-batch learning)
- ネットワーク内部の正規化の手法
- バッチ学習のバリエーション
- 全データを少しずつ使って、複数回に分けて学習する方法です
バッチに関する3つの学習の比較
比較項目 | オンライン学習 | バッチ学習 |
---|---|---|
学習方式 | データを1件ずつ処理しながら更新 | 全データを使ってまとめて学習 |
データサイズ | 無限や非常に大きいデータでも対応可 | メモリに収まるデータが前提 |
学習速度 | データ1件ごとにすぐ反映される | 1エポック毎に更新される |
柔軟性 | 新しいデータにもすぐ対応 | モデルの再学習が必要 |
ノイズ耐性 | 高いノイズに弱い傾向あり | 平均化により安定しやすい |
学習スタイル | 特徴 | 使用データ数 | 長所・短所 |
---|---|---|---|
バッチ学習 | 全データを一度に使って学習 | 全データ | 精度が高いが重い |
オンライン学習 | 1件ずつ順番に学習 | 1データ | 軽いが不安定 |
ミニバッチ学習 | 少数のデータごとに学習 | 数十~数百件 | 安定性と効率のバランスが良い(よく使う) |
イテレーション数
- ミニバッチ1つでモデルを更新する1回の処理です
- イテレーション数 = データ数 ÷ バッチサイズ × エポック数
用語 | 意味 |
---|---|
エポック | 全データを1回学習に使う |
バッチサイズ | 1回の学習に使うデータ数 |
イテレーション | 1バッチごとの重み更新 |
例:1000件のデータをモデルに3回を学習させます。毎回の学習はデータを200件ずつでモデルに渡せます。
バッチサイズ:200
イテレーション:5
エポック数:3
こちらの記事も参考になれると思います
Discussion