dn
-
2.
ニュ
ーラルネットワーク
の学習不
足と過学
習
(
AI
演習の入門)
URL:
https://www
.kkaneko.jp/ai/dn/index.html
1
金子邦彦
人工知能による画
像の分類
2
画像分類
•
画像分類は,
与えら
れた画像
に対して,次を
得ること
ラベ
ルご
との確
率
3
画像
ラベルごとの確率
(ラベルが10個あれば,
確率は10個求まる)
画像分類
システム
ここで行
う
画像の分類
4
•
画像を
10
種類に自動分類。
たくさんの画像
前準備
Google
アカ
ウ
ン
ト
の取
得が
必要
•
次のページを使用
https://
accoun
ts.google
.com
/SignUp
•
次の情報を登録する
氏名
自分が希望
するメールアドレ
ス
<ユーザー名>
@gmail.com
パスワード
生年月日,
性別
5
手順
①
パソコンの
W
eb
ブラ
ウ
ザで,
次のページを開く
https://www
.tensorflo
w
.org/tuto
rials
②
左側のメニューの「
Keras
による
ML
の基本
」を
展開
,「
基本
的
な画像
分類
」
をクリック,
「
Run
in Google Colab
」をクリック
6
③
セルを
上か
ら順
に実
行
する.
セルの実行の終了を
確認してから、次のセルに移る
こと
7
最後まで続ける
Google
アカウント
が必要
ニューラルネットワークの例
8
入力データ
出力データ
ニューロン
10
個
ニューロン
128
個
種類は
relu
種類は
soft
max
ニューラルネットワークを
作成するプログラム
9
ニューラルネットワークの
学習の様子
同じ
教師データ
を繰り返し使
って学習を行
う
10
繰り返し回数:
5回
繰り返しのたびに
誤差が減少
(
lo
ss
の右横の数値)
ニューラルネットワークに
よる予測の様子
11
10種類のどれに分類されたかを棒グラフで表示
(ラベルが10個あるので,
確率は10個求まる
)
青:正解、
赤や黒:不正解
学習不足と過学習
12
ニューラルネットワークの
学習で気を付けること
•
学習
には
大量の
デー
タ
が必要
学習の成功のため
•
同じ教師デ
ータ
を使
って
学習
を
繰
り返
す
学習不足の
解消
•
学習
の
検証
が必要
過学習が無
いことの確認
13
ニューラルネットワークの学習
14
•
教師データ
(学習のためのデータ)を使用
•
学習
は
自動
で行われる
①
教師データ
により,
ニューラルネット
を動かし,誤差を得
る
②
ニューロン間の結合の重み
の
上げ下げ
により、
誤差
を減
らす
(最終層の結果が,手前の層の結合の重みに伝搬する
ことから,フィードバックともいわれる)
•
ニューロンの数が増えたり減ったりなどではない
•
誤差
が
減らなくなったら
、
最適
になったとみなす
学習不足
•
ニューラル
ネットワーク
の
学習
では,学習のた
めのデータ(
教師デ
ータ
)を
使
う
•
教師データ
を1回使っただけ
では,
学
習不足
の
場合がある
→
同じ
教師データ
を繰り返し使って学習を行
う
.
繰り返
しながら,誤差の
減少を確認
15
1回
2回
3回
4回
誤差の減少
過学習
•
教師データ
での学習を終了し
たとき
•
検証データで
検証
すると,
学習が
う
まくいっていないことが分か
る場合がある
16
過学習なし
17
精度
エポック数
学習データ
検証データ
良くない
良い
学習の繰り返しとともに
精度が向上
過学習あり
18
精度
エポック数
学習データ
検証データ
良くない
良い
学習の繰り返しに伴い,
学習データでの精度は改善しても,
検証データでの精度が改善しない
ニューラルネットワ
ークの学習では,
過学習が発
生していない
こと
を確認すること
19
手順
①
パソコンの
W
eb
ブラ
ウ
ザで,
次のページを開く
https://www
.te
nsorflow
.org/tuto
rials
②
左側のメニューの「
Keras
による
ML
の基本
」を
展開
,「
オーバーフィットと
アンダーフィット
」を
クリック,
「
Run in Google Cola
b
」をクリック
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
青:ドロップアウト等
なし
オレンジ:ドロップアウト等あり
学習の繰り返し
実線は
学習データ
点線は
検証データ