スライド 1: dn-2. ニューラルネットワークの学習不足と過学習
スライド 2: 人工知能による画像の分類
スライド 3: 画像分類
スライド 4: ここで行う画像の分類
スライド 5: 前準備
スライド 6: 手順
スライド 7
スライド 8: ニューラルネットワークの例
スライド 9: ニューラルネットワークを作成するプログラム
スライド 10: ニューラルネットワークの学習の様子
スライド 11: ニューラルネットワークによる予測の様子
スライド 12: 学習不足と過学習
スライド 13: ニューラルネットワークの学習で気を付けること
スライド 14: ニューラルネットワークの学習
スライド 15: 学習不足
スライド 16: 過学習
スライド 17: 過学習なし
スライド 18: 過学習あり
スライド 19
スライド 20: 手順
スライド 21
スライド 22: 考察の例
スライド 23: 過学習の防止に役立つ技術
スライド 24
dn
-2.
ニューラルネットワーク
の学習不足と過学習
(ディープラーニング入門演習)
URL:
https://www
.kkaneko.jp/ai/dn/index
.html
1
金子邦彦
人工知能による画像の分類
2
画像分類
•
画像分類は,
与えられた画像
に対して,次を
得ること
ラベルごとの確率
3
画像
ラベルごとの確率
(ラベルが10個あれば,
確率は10個求まる)
画像分類
システム
ここで行う画像の分類
4
•
画像を
10
種類に自動分類。
たくさんの画像
前準備
Google
アカウントの取得が必要
•
次のページを使用
https://
accounts.g
oogle.com
/SignUp
•
次の情報を登録する
氏名
自分が希望するメールアドレス
<ユーザー名>
@gmail.com
パスワード
生年月日,性別
5
手順
①
パソコンの
W
eb
ブラウザで,次のページを開く
https://www
.tens
orflow
.org/t
utorials
②
左側のメニューの「
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
手順
①
パソコンの
W
eb
ブラウザで,次のページを開く
https://www
.tens
orflow
.org/t
utorials
②
左側のメニューの「
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
青:ドロップアウト等
なし
オレンジ:ドロップアウト等
あり
学習の繰り返し
実線は
学習データ
点線は
検証データ