Weitere ähnliche Inhalte
Ähnlich wie サルでもわかるディープラーニング入門 (2017年) (In Japanese) (20)
Mehr von Toshihiko Yamakami (20)
Kürzlich hochgeladen (12)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
- 24. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
† 交差エントロピー (Cross Entropy)
何故、交差エントロピーとかが必要なのか?
正解が z=(0,1,0,0,0,0,0,0,0,0)
2つの答えが、
y0 = (0, 0.7, 0.1, 0.1, 0.1, 0, 0, 0, 0, 0), y1 = (0, 0.8, 0.1, 0.1, 0, 0, 0, 0, 0, 0)
だとして、どちらが正解に近いか?
交差エントロピー (z, y) =
∑n
i=0
zi
log2yi
これが何なのかはわからなくていい。微妙に違うベクトル結果の
どちらが成果に近いかを選択する方法があるということを知って
いれば十分
シグモイド・ニューロンであれば交差エントロピーは一般的によ
い解
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 24 / 60
- 28. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
パラメータとハイパーパラメータ
用語 意味 決定
パラメータ モデルが持つ重み係数、バイアス 学習によって自動的に決まる
ハイパーパラメータ モデルの構造を決める・学習の設定 手動で決める
ハイパーパラメータが膨大なのがディープラーニングの課題。設定で結果は雲泥の違い
ハイパーパラメータの例:
NN の深さ、各レイヤーのパラメータ数: 増やすと精度はあがるが時間かかる
パラメータの初期値: フレームワークの初期化関数を使う
最適化アルゴリズム
活性化関数: 畳み込みなら ReLU、出力層は目的別に設定する (識別ならソフトマッ
クス、回帰ならシグモイドか tanh)
学習回数、学習率、モーメント、学習率のスケジューリング:大抵デフォルトでい
い。特定の epoch、または train loss が下がらなくなったら学習率を一定割合で下げ
る
ミニバッチサイズ: 50–250 くらいが多い
正則化 (regularization): L2 正則 (weight decay): パラメータの増加を抑制; L1 正則
(Lasso 回帰): パラメータをスパース化 (不要な箇所を 0 に)
Dropout 確率: 学習時にランダムに一部の出力を 0 にする
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 28 / 60
- 32. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
精度をあげるために
手法 利用法
学習データの前処理 学習に関係ないデータ間の差異を,学習に影響を及ぼさないように取
り除く (画像認識でアスペクト比をそろえたり、光源の影響を取り除
く。平均値から引く。)
データ拡大 (Data Aug-
mentation)
画像認識ではよく、入力画像を少しずらしたものも訓練データに加え
ることでデータを水増しする
正 則 化 (Regulariza-
tion)
過学習はパラメータが多すぎる(自由度が多すぎる)、しかし減らすわ
けにはいかないのでパラメータに制約を加える。例えば L2 正則化: コ
スト関数で正則化パラメータを増やす (より小さいウェイトを選ぶよ
う誘導); L1 正則化: 勾配降下で重み減衰でウェイトを小さくする。
正則化は過学習を抑制し、汎化性能を上げる (正則化してあればウェ
イトが小さいので個別データの影響が小さくなる)。
バッチ正規化 (Batch
Normalization)
バッチごとに平均が 0,分散が 1 になるように正規化。Learning Rate
を大きくしても大丈夫、学習を加速化できる
ド ロ ッ プ ア ウ ト
(Dropout)
過学習をさけるため層のノード (Full-connect で 50 % 程度) をランダ
ムに無視して学習。複数のネットワークを同時に試す効果。
ア ン サ ン ブ ル 学 習
(Model Ensemble)
モデルの不完全性を前提として複数モデルの結果を結合。コンペティ
ションなどで結果を改善するのに用いる。
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 32 / 60
- 39. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
素人が悩まなくていい理由
項目 悩まなくていい理由
目的関数の最適化 制御工学で 100 年前からある題目。新規性はない。
パーセプトロン 基本的概念。ディープラーニングでは使っていない。
シグモイド・ニューロン 学習を可能にするために連続的変化するようにしただけ。
確率的勾配降下法 偏微分方程式がいっぱいでてくるが、要するに、最適化をする上で計
算が大変だから省いているだけ。
畳み込みコンボリューシ
ョンネットワーク
間違った学習にはまらないようにちょっとずつずらしていろいろやっ
てみる、というだけ。
バックプロパゲーション ニューラルネットワークを伝播して計算するのが大変なので微小変化
の調整を後ろに戻る 1 パスで済ませているというだけ。
アンサンブル学習 自信がないので異なる学習の合議制にするというだけ。
プーリング 計算が大変だから圧縮するというだけ。
ミニバッチ 計算大変だから部分的に学習する。大抵ミニバッチ、考えなくていい。
ドロップアウト 使うとなったら機械がランダムに適用するので考える要素は少ない。
初期化 最初のウェイトとバイアスの影響は大きいが、ツールの初期化関数が
よしなに計らってくれるので心配いらない。
いろいろ読んでみたがほとんど関係なかった。偏微分方程式がたくさんでてくるがわから
なくてもほぼ関係ない。
適当なハイパーパラメータをいれて遅いけど少しずつ正解率があがってくれば、OK。あ
とはプロでもハイパーパラメータの試行錯誤をするのは同じ(既に解かれた問題なら論文
読んでハイパーパラメータをコピーするところが違うかも)
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 39 / 60
- 48. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
DQN(Deep Q-Network) の生い立ち
強化学習 (きょうかがくしゅう, Reinforcement Learning) とは、ある環境内におけるエー
ジェントが、現在の状態を観測し、取るべき行動を決定する問題を扱う機械学習の一種
教師あり学習でも教師なし学習でもない「学習」。目的関数を最大化させる決定論的な方策
を探す手法。
畳み込みネットワークをばりばりに使うので近くなっている
段階 内容
Q 学習 強化学習の古典的なアルゴリズム 最適行動価値関数と呼ばれる
関数を近似することで最適方策を学習。Q 学習では、最適行動価
値関数を得ることと最適方策を得ることは、ほぼ同じ意味。
Deep じゃない Q-network:
Q 学習+関数近似
非常に高次元だとテーブルにもてないので Q(s,a) に関数近似を
使う。勾配法。
Q 学習+関数近似(ニュー
ラルネットワーク)
関数近似にニューラルネットワークを使う。誤差逆伝播法が開発
された第二次ニューラルネットワークの時代。
Q 学習+関数近似(ニュー
ラルネットワーク) + Neu-
ral Fitted Q Iteration
「これ以上サンプルを追加せず、与えられたデータから最適方策を
学習する」、すなわちバッチ強化学習を行うことを考えるアルゴ
リズム。各最適化中では完全に教師あり学習になっている、安定。
DQN (Deep Q-Network) 強化学習の関数近似に深層学習の技術を適用。畳み込みニューラ
ルネットワークを利用。
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 48 / 60
- 57. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
参考文献 I
Michael Nielsen : Neural Network and Deep Learning:
http://neuralnetworksanddeeplearning.com/ (online course)
TSG Machine Learning # 学習のテクニック
http://sig.tsg.ne.jp/ml2015/ml/2015/06/29/techniques-of-learning.html (2015 年)
もちもちしている「Dropout の実装と重みの正則化」
http://olanleed.hatenablog.com/entry/2013/12/03/010945
Deep Learning の技術と未来 - SlideShare
www.slideshare.net/beam2d/deep-learning-22544096(2013 年)
ディープラーニングのサマースクールで学んだ 26 のこと
http://postd.cc/26-things-i-learned-in-the-deep-learning-summer-school/(2015 年)
アンサンブル学習の2つのメリット・利点 (回帰分析・クラス分
類)http://univprof.com/archives/16-06-15-3949163.html (2016 年)
もちもちしている「Deep Learning のハイパパラメータの調整」
http://olanleed.hatenablog.com/entry/2015/12/23/180457(2015 年)
いまさら聞けない Deep Learning 超入門(終):深層学習の判別精度を向上させるコツと
Active Learning http://www.atmarkit.co.jp/ait/articles/1512/16/news020.html (2015 年)
顔認証技術: DeepFace と Pyramid CNN | Preferred Research
https://research.preferred.jp/2014/03/face-verification-deepface-and-pyramid-cnn/ (2014
年) (data augmentation に言及)
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 57 / 60
- 58. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
参考文献 II
深層学習:ハイパーパラメータの設定に迷っている人へ
http://s0sem0y.hatenablog.com/entry/2016/11/13/035443 (2016 年)
多層ニューラルネットで Batch Normalization の検証
http://qiita.com/hogefugabar/items/4f6e3702947f7ef8f1bf (2016 年)
「ニューラルネットワーク」とは何か:「AI」「機械学習」「ディープラーニング」は、それぞ
れ何が違うのか http://www.atmarkit.co.jp/ait/articles/1608/12/news056.html(2016 年)
いまさら聞けない Deep Learning 超入門(1):ニューラルネットワーク、Deep Learning、
Convolutional Neural Net の基礎知識と活用例、主な Deep Learning フレームワーク 6 選
http://www.atmarkit.co.jp/ait/articles/1510/27/news008.html (2015 年)
画像認識のための深層学習 http://www.slideshare.net/yomoyamareiji/ss-36982686 (2014
年)
交差エントロピー (Cross Entropy)
http://neuralnet.hatenablog.jp/entry/2016/05/17/010816 (2016 年)
実装ディープラーニング http://www.slideshare.net/yurieoka37/ss-28152060 (2013 年)
エポック(epoch)について http://yutasugii.hatenablog.com/entry/2015/12/16/002617
(2015 年)
Chainer で始めるニューラルネットワーク
http://qiita.com/icoxfog417/items/96ecaff323434c8d677b (2016 年 8 月)
ゼロから Deep まで学ぶ強化学習
http://qiita.com/icoxfog417/items/242439ecd1a477ece312
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 58 / 60
- 59. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
参考文献 III
DQN の生い立ち + Deep Q-Network を Chainer で書いた
http://qiita.com/Ugo-Nama/items/08c6a5f6a571335972d5 (2016 年 3 月)
強化学習 Wkipedia
https://ja.wikipedia.org/wiki/%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92
「そのモデルの精度、高過ぎませんか?」過学習・汎化性能・交差検証のはなし
http://tjo.hatenablog.com/entry/2016/04/14/190000 (2016 年 4 月)
[DL]weight decay って何?
http://qiita.com/supersaiakujin/items/97f4c0017ef76e547976(2016 年 3 月)
出力層で使うソフトマックス関数
http://s0sem0y.hatenablog.com/entry/2016/11/30/012350 (2016 年 11 月)
機械学習ディープラーニングの用語解説まとめ http://zacodesign.net/blog/?p=2719
(2016 年 5 月)
TensorFlow で始める深層学習 (3) 機械学習から深層学習の扉を開く
http://developers.gnavi.co.jp/entry/tensorflow-deeplearning-3 (2016 年 7 月)
RBM、Deep Learning と学習 (全脳アーキテクチャ若手の会第 3 回 DL 勉強会発表資料)
www.slideshare.net/takumayagi/rbm-andlearning (2014 年)
R で L1 / L2 正則化を実践する http://tjo.hatenablog.com/entry/2015/03/03/190000
(2015 年 3 月)
山上俊彦 (ACCESS Confidential) サルでもわかるディープラーニング入門(2017 年) 2017/01 59 / 60