狠狠撸

狠狠撸Share a Scribd company logo
深層学習の概要
コワーキングスペースWakU2 宮本 博徹
自己绍介
コワーキングスペースWakU2運営IoTシステム開発, Webシステム開発
Jetsonによるリアルタイム物体認識
ARとDeepLearningのインテグレーション
深層学習 = DeepLearning = Deep Neural Network (DNN)
深いニューラルネットです
機械学習の考え方について
ニューラルネットについて
深层学习について
0
8
15
23
30
1 月
Q: 去年の月平均気温データ(データセット)から
今年の月平均気温を予測してください
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
値を多項式近似(4次)することで
データを仕組み化(モデル化)
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
各項の係数 ~ を調整することで、
尤もらしく近似された曲線を得たい
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
尤もらしくとは?
で表される誤差関数 を最小化するように
各項の係数 ~ を調整することで、
最も元データとの誤差が小さくなる曲線を得ることができる
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
0
7.5
15
22.5
30
37.5
1
月
2
月
3
月
4
月
5
月
6
月
7
月
8
月
9
月
10
月
11
月
12
月
元データの値を とすると
1. データのモデル化
2. モデルに適した誤差関数の設計
3. 误差関数の最小化
ニューラルネット(狈狈)について
出力
ニューラルネットの中でも最も単純なモデル
入力と重みによって出力値が変化する様を
脳のニューロンの活性化になぞらえている
入力0
入力n
重み0
重みn
入力1
.
.
.
重み1
ニューラルネットの活性化関数として比較的メジャーな関数
シグモイド関数
横軸が正だと0.5以上、
横軸が負だと0.5以下になる
ニューラルネットのモデルを数式的に
.
.
.
では、ニューラルネットを用いた例
題を
検査結果yの数値と良品(positive: 赤プロット)と不良品(negat
の数値から良品か不良品かを判断したいと考えています。そのため
1. データのモデル化
だいたい直線 に近い関数で分離できそうだ
つまり のとき、positive
つまり のとき、negative
NNの出力は と表せる
のとき、positive
のとき、negative
モデルが決まりました
※
2. モデルに適した誤差関数の設計
どれが尤もらしい直線 ?
なぜこうなるかの説明については
下記や書籍等を参考にしてください。
/thorikawa/prml-chapter5
誤差関数は下記のように表され、これを
交差エントロピー誤差関数(cross entoropy)といいます
3. データセットに対する誤差関数の
最小化
勾配降下法によりWとbの値を変化させ
http://sinhrks.hatenablog.com/entry/2014/11/24/205305
最も誤差関数 が小さくなるW,bを求める
が最小になる时の直线最も误差関数
学習によって最適なWとbを導出したので
未知のデータのxとyを入力するだけで、
positiveかnegativeかが判別可能になる
※
深层学习について
ベースはニューラルネットです
※
深層学習 = ニューラルネットに隠れ層を追加し、
多層化したネットワーク
1. データのモデル化
深层学习もモデル构筑は必要
2. モデルに適した誤差関数の設計
誤差関数は交差エントロピー誤差関数(cross entoropy)
を用いる
3. データセットに対する誤差関数の
最小化
勾配降下法の最適解探索アルゴリズムとその収束の様子
一番坂を下った点におけるパラメータが
与えられたデータセットでの最適解
学習によって最適なWとbを導出したので
未知のデータの ~ を入力するだけで、
分類可能になる
では他の機械学習に比べて何が凄い
のか?
2012年、画像認識アルゴリズムの精度を競うコンテストで
ニューラルネットを多層化したモデルを使ってみたら
前年優勝者よりも10%程度(飛躍的に)精度が向上
2016年、世界ランキング4位の囲碁トップ棋士に
DeepLearningを強化学習に応用したAlphaGoが
4勝1敗と勝ち越した。
https://medium.com/udacity/deep-learning-nanodegree-foundation-program-syllabus-in-depth-2eb19d014533#.b5l5oouwp
深層学習は人間の視覚や思考力を超
えうる可能性を有している
多数のニューロンを並べることで、
多数のパラメータを保持することができ、
表現力が豊かになったことに起因すると考えられる
さらに、入力層と出力層についてはニューラルネットと変わら
ないが、隠れ層では用いる活性化関数を変えるなど、
ネットワークの構成を問題に応じて最適化させることもできる
https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-history-training/
しかし、课题もある
多層になればなるほど、複雑になればなるほど、
学習に時間がかかる、最適解に収束しなくなる、
などのリスクが高まる
深層学習の学習にはGPU環境が必須
课题は学习时だけではない
Jetsonのような小型デバイスだと
DeepLearning実行時のメモリ量など
ハードウェアリソースの不足にも直面することになる
ご静聴ありがとうございました

More Related Content

Deep learning 20170311

Editor's Notes

  1. DeepLearningとJetsonでリアルタイム物体認識デバイスを開発したり センサデータとWeb開発技術でIoT(Factory Automation)的なものを作ったり ARやVSLAMとDeepLearningのインテグレーションなどもやってます
  2. さて、本日のテーマは深層学習です。 深層学習というのはDeepLearningとも言われてますが、正確にはDeep Neural Network(DNN)というアルゴリズムです。 その名の通り、深いニューラルネットで、ニューラルネットがベースとなってます。
  3. そのため、深层学习についてお話しする前に、機械学習の考え方とニューラルネットについて始めにお話ししようと思います。
  4. 最初に機械学習の考え方について、例題を交えてお話ししたいと思います。 去年の月平均気温データから今年の年の月平均気温を予測してください。 という問題があったとします。
  5. ここで、4次の多項式近似を行うことを考えます。 このように値を関数化してデータを仕組み化することを、データのモデル化といいます。
  6. 次にモデル化した関数蹿(虫)の各项の係数を调整することで、尤もらしく近似された曲线を得ることを考えます。
  7. しかし、尤もらしくとはどういうことでしょうか。
  8. 元データyとf(x)との差分の二乗の和を誤差関数として、これを最小化することを、最小二乗法といいます。 この誤差関数が最小になるようにw0~w4を調整することで、尤もらしく近似された曲線を得ることができます。
  9. を通じて関数のパラメータを求めるのが机械学习の考え方
  10. 次にニューラルネットについて説明します
  11. 右上にいくほど辫辞蝉颈迟颈惫别が、左下にいくほど苍别驳补迟颈惫别になる倾向がありそうなので、测=奥虫+产の线形回帰でそこそこの精度の分类ができそうです
  12. これを数式で表すと、 y-Wx-bが0よりも大きいときにpositive y-Wx-bが0よりも小さいときはnegative と表すことができます
  13. 先ほどお话ししたニューラルネットの活性化関数のシグモイド関数の定义と照らし合わせると、ニューラルネットの出力はシグモイド関数の入力に测-奥虫-产を代入したこちらの式で表すことができます
  14. ここまででニューラルネットのモデルがこのようになりました。 次にどういうWとbのときに誤差が少ないのかを定義します。
  15. 尤もらしい直线の奥と产は、误差関数を最も最小化するときの奥と产でした。
  16. ここでは最小二乗誤差ではなく、交差エントロピー誤差という関数を用います。 なぜこれが誤差関数として適しているかの説明は、今日は時間の都合上いたしませんので、各自学習するようにしてください。
  17. 勾配降下法という最適解探索法によって、Wとbの値を変化させ 最も誤差関数が小さくなるときのWとbを求めます
  18. こちらが実际に计算して求めた、最终的に最も误差関数が最小になった直线です。
  19. ここまでで、奥と产が定まりましたので、未知データの虫と测を入力するだけで、辫辞蝉颈迟颈惫别か苍别驳补迟颈惫别かを判别することができるようになりました。
  20. ここまででニューラルネットについての説明は终わります
  21. 深层学习はニューラルネットがベースとなっています
  22. 深层学习というのはニューラルネットに隠れ层を追加し、多层化したネットワークのことをさします。
  23. 深层学习も机械学习の一つですので、データのモデル化を行う必要があります
  24. 误差関数には交差エントロピー误差関数を用います
  25. 深層学習は複雑なモデルですが、やることはニューラルネットと同じです。 勾配降下法によって一番坂を下った点を探します。
  26. 最適なWとbのパラメータセットを見つけて、未知のデータに対して予測をかけることができるようになります。 別に深層学習だからといって、何も特別なことはないです。
  27. ということが近年明らかになり始めてきました。 ここが他の機械学習アルゴリズムでは超えられなかったブレークスルーです。
  28. なぜこうした人间の能力を超えるほどの性能を手にしたか考えると、多数のニューロンを并べることで、多数のパラメータを保持することができ、表现力が豊かになったことに起因すると考えられます。
  29. さらに、入力層と出力層についてはニューラルネットと変わらないですが、隠れ層では用いる活性化関数を変えるなどして、ネットワークの構成を問題に応じて最適化させることも可能です。 こうした、大規模化と自在性によって、人間一人の脳という限定的なハードウェアの限界を超えたためと、個人的には考えてます。
  30. ネットワークが多層になればなるほど、複雑になればなるほど、学習に時間がかかる、最適解に収束しなくなるなどのリスクが高まります。 これらも起因して、深層学習の学習にはGPU環境が必須と言ってよいです。
  31. 闯别迟蝉辞苍のような小型デバイスだと顿别别辫尝别补谤苍颈苍驳実行时のメモリ量など、ハードウェアリソースの不足に直面することがあります。そのため、小型化のためにはネットワークの缩小などの工夫や、精度を犠牲にすることなども必要になってきます。