人工知能特論 10.ニューラルネットワーク 北陸先端科学技術大学院大学 鶴岡 慶雅 今日の講義内容 • 回帰 – 線形回帰 – 最急降下法 • ニューラルネットワーク – 誤差逆伝搬法(Back propagation) • 講義資料 • http://www.jaist.ac.jp/~tsuruoka/lectures/ 線形回帰(linear regression) • 入力: ベクトル • 出力: 実数値 yx wT x • 例 – 馬力と車重からゼロヨンのタイムを予測 馬力(ps) 車重(kg) ゼロヨン(秒) 280 1600 13.7 280 1500 13.3 280 1300 12.8 380 1400 12.7 重みベクトルの最適化 • 誤差(正解と予測の差の2乗)の和を最小化 1 x1 0.28 1.6 1 x2 0.28 1.5 1 x3 0.28 1.3 1 x4 0.38 1.4 t1 13.7 t2 13.3 t3 12.8 t4 12.7 誤差の和 1 T Ew w xn tn 2 n 2 最急降下法 • 適当な初期値から出発して勾配(gradient)の 反対方向に進むことを繰り返す Ew w2 w1 重みベクトルの最適化 • 学習データ全体での誤差 1 Ew wT xn tn 2 n • あるサンプル n に関する誤差 1 T En w w xn tn 2 • サンプル n に関する勾配(gradient) En w wT xn tn xi wi yn tn xi 2 2 最急降下法 繰り返し回数 重みベクトル wT 誤差の和 0 (0, 0, 0) 689.7 1 (5.3, 1.6, 7.6) 55.1 2 (3.8, 1.1, 5.5) 4.8 3 (4.2, 1.3, 6.1) 0.84 : : : 100 (4.6, 1.2, 5.6) 0.41 : : : 10000 (10.0, -3.7, 2.9) 0.006 220馬力、1500kg の車のゼロヨンタイムは? 10.0 (3.7) 0.22 2.9 1.5 13.5 13.5秒? ニューラルネットワーク • 2層ニューラルネットワーク 隠れ層 1 wMD zM xD 入力が線形に重み付け D 1 ji i j i 0 a w x 2 wKM yK 隠れ層で非線形に活性化 出力 入力 y1 x1 x0 z1 z0 z j tanha j 線形に出力を合成 M 2 kj j k j 0 y w z 活性化関数 • 隠れユニットの出力を決める – 微分形が簡単に計算できる関数だと便利 ha tanha e a e a tanha a a e e 2 h a 1 h a 重みベクトルの最適化 • あるサンプル n に関する誤差 1 K 2 En w yk tk 2 k 1 • 勾配 第1層 En 1 ? wji 第2層 En 2 ? wkj 勾配 • 2層目の重みに関しては簡単 En yk 2 yk tk wkj wkj2 M 2 yk tk 2 wkm zm wkj m0 yk tk z j k2 z j D a j wji1 xi i 0 z j tanha j M yk wkj2 z j j 0 エラー 勾配 • 1層目の重みに関しては K En yk 1 yk tk w ji k 1 wji1 D a j wji1 xi i 0 yk z j a j yk tk 1 z a w k 1 j j ji K K yk tk wkj2 1 z 2j xi k 1 xi 1 z 2j w K 2 k 1 k z j tanha j 2 kj M yk wkj2 z j j 0 勾配 • まとめると En 2 x 1 z i j wji1 j1 xi w K 2 k 1 k 2 kj j1 1 z 2j k2wkj2 K k 1 第1層でのエラー En 2 k zj 2 wkj Back propagation • エラーを後ろから計算していけばよい 1 wMD zM xD 2 wKM yK k2 yk tk j1 1 z 2j k2wkj2 K y1 x1 x0 z1 z0 k 1 隠れ層が複数あっても同様に計算する ことで勾配を求めることができる ニューラルネットワーク • 非線形の隠れユニットを使うことで任意の関 数を近似することができる • 過学習に注意 • 最急降下法で求まるのは局所最適解 アンケート • 講義コード I2152
© Copyright 2024 ExpyDoc