dn-2. ニューラルネットワーク
の学習不足と過学
AI演習の入門)
URL: https://www.kkaneko.jp/ai/dn/index.html
1
金子邦彦
人工知能による画像の分類
2
画像分類
画像分類は,与えられた画像に対して,次を
得ること
ラベルごとの確
3
画像 ラベルごとの確率
(ラベルが10個あれば,
確率は10個求まる)
画像分類
システム
ここで行画像の分類
4
画像を 10 種類に自動分類。
たくさんの画像
前準備
Google アカの取得が必要
次のページを使用
https://accounts.google.com/SignUp
次の情報を登録する
氏名
自分が希望するメールアドレ
<ユーザー名>@gmail.com
パスワード
生年月日,性別
5
手順
パソコンの Web ブラザで,次のページを開く
https://www.tensorflow.org/tutorials
左側のメニューの「Keras による ML の基本」を
展開,「基本な画像分類をクリック, Run
in Google Colab」をクリック
6
セルを上から順に実する.
セルの実行の終了を確認してから、次のセルに移る
こと
7
最後まで続ける
Google
アカウント
が必要
ニューラルネットワークの例
8
入力データ 出力データ
ニューロン
10
ニューロン
128
種類は relu 種類は softmax
ニューラルネットワークを作成するプログラム
9
ニューラルネットワークの学習の様子
同じ教師データを繰り返し使って学習を行
10
繰り返し回数:5回
繰り返しのたびに誤差が減少loss の右横の数値)
ニューラルネットワークによる予測の様子
11
10種類のどれに分類されたかを棒グラフで表示
(ラベルが10個あるので,確率は10個求まる
青:正解、 赤や黒:不正解
学習不足と過学習
12
ニューラルネットワークの学習で気を付けること
学習には大量のデーが必要
学習の成功のため
同じ教師データを使って学習り返
学習不足の解消
学習検証が必要
過学習が無いことの確認
13
ニューラルネットワークの学習
14
教師データ(学習のためのデータ)を使用
学習自動で行われる
教師データにより,ニューラルネットを動かし,誤差を得
ニューロン間の結合の重み上げ下げにより、誤差を減
らす (最終層の結果が,手前の層の結合の重みに伝搬する
ことから,フィードバックともいわれる)
ニューロンの数が増えたり減ったりなどではない
誤差減らなくなったら最適になったとみなす
学習不足
ニューラルネットワーク学習では,学習のた
めのデータ(教師データ)を使
教師データを1回使っただけでは,習不足
場合がある
同じ教師データを繰り返し使って学習を行
繰り返しながら,誤差の減少を確認
15
1回
2回
3回 4回
誤差の減少
過学習
教師データでの学習を終了したとき
検証データで検証すると,
学習がまくいっていないことが分かる場合がある
16
過学習なし
17
精度
エポック数
学習データ
検証データ
良くない
良い
学習の繰り返しとともに
精度が向上
過学習あり
18
精度
エポック数
学習データ
検証データ
良くない
良い
学習の繰り返しに伴い,
学習データでの精度は改善しても,
検証データでの精度が改善しない
ニューラルネットワークの学習では,
過学習が発生していないことを確認すること
19
手順
パソコンの Web ブラザで,次のページを開く
https://www.tensorflow.org/tutorials
左側のメニューの「Keras による ML の基本」を
展開,「オーバーフィットとアンダーフィット」を
クリック, Run in Google Colab」をクリック
20
3つのニューラルネットワークの学習曲線
ニューロン数
Baseline: 1層目は16個, 2層目は16
Smaller: 1層目は4個, 2層目は4
Bigger: 1層目は512個, 2層目は512
ニューロン数が多い過学習起きやすい
21
実線は学習データ
点線は検証データ
学習の繰り返し
考察の例
次のグラフから次を読み取る
学習の繰り返し回いくつがよさか?
過学は発生しているか、していないか?
22
精度
良くない
良い
1.0
0.0 実線は学習データ
点線は検証データ
学習の繰り返し
過学習の防止に役立つ技術
データの拡張
教師データの拡張(増量)と再学習による解
ドロップア
学習の途中で,ューロン間の結合をランダムに
無効化すことで解決
その他(正則化など
23
ドロップア等の技術により,過学習を緩和
24
青:ドロップアウト等なし オレンジ:ドロップアウト等あり
学習の繰り返し
実線は学習データ
点線は検証データ