こんにちは!
現役パラレルワーカー フクコです。
前回の記事↓に続き
www.fukuko-parallel-work.com
来年の2月の試験に向けてE資格試験勉強中のため
E資格とは?の記事はコチラ↓
ゼロつくシリーズでおなじみ
オーライリーから出版されている
ディープラーニングの本格的な入門書でよくおススメされる
「ゼロからつくる Deep Learning」本
この本↑を毎日5ページずつコツコツこなすと
約2か月間で今年中に終了するので
来年のE資格試験までにこれで基礎力をつけることにしました。(^^)
ついつい私は何もないとだらけてしまうので(笑)
毎日5ページ終わった後の記録とまとめを書いていこうと思います。
と、まとめに入る前に…
やる気を出すためのコトバをシェアします!!(主に私のやる気を出すために 笑)
「強い者は弱い者を助け守る。
そして弱い者は強くなり、また自分より弱い者を助け守る。
これが自然の摂理だ。」
by炭治郎
私の大好きな「鬼滅の刃」から
炭治郎の名言です。
またまた、優等生、炭治郎の発言。
キミはホントにいったい何歳サバを読んでいるのか?笑
10年ちょいしか生きていない少年が言うコトバじゃないですよね。
全てを見通してます。笑
ですが、ホントそのとおり!
初めてだと、できるまでみんなに迷惑かけちゃうもの。
それでも、いいのです!!(^0^)
だって、
できるようになったら
その分まだできないヒトを助けてあげればいいのだから。
なので…
たとえまだまだプログラミングができなくて、
今はセンパイ達のコードをググり、
コピペで切り抜けていたとしても
そのうちできるようになったら恩返しすればいいのです!!(なんのこっちゃ 笑)
炭治郎、どうもありがとう! (^0^)
今日もやる気が出てきました!
よし!! 今日も頑張るぞ~! お~!!
というコトで、
プログラミングができるようになる日を夢見て、今日もコツコツ、私はノルマをゼッタイこなしますよ!笑
ではでは、いい加減まとめに入ります。笑
その前に本の目次の紹介です。
ゼロつくディープラーニングは、下記↓の合計8章で構成されています。
本の目次
- 1章 Python入門
- 2章 パーセプトロン
- 3章 ニューラルネットワーク
- 4章 ニューラルネットワークの学習
- 5章 誤差伝播法
- 6章 学習に関するテクニック
- 7章 畳み込みニューラルネットワーク
- 8章 ディープラーニング
ちなみに…
ゼロつくディープラーニングの第1章はPython入門のセクション(20ページ分)なので、
とりあえず今回私は飛ばし、第2章からまとめています。
現在は最終章! 第8章 ディープラーニングで~す。
第8章 ディープラーニング のつづき
層を深くしたディープなニューラルネットワーク。
ディープラーニングの性質と課題、そして、可能性についてみていく。
8.3.3 分散学習
しかし
ディープラーニングには多くの試行錯誤が伴う。
ディープラーニングの学習をスケールアウトさせようとする「分散学習」が重要になる。
ディープラーニングに必要な計算をさらに高速化するために
複数のGPUや複数のマシンで分散して計算を行うことが考えられる。
EX. GoogleのTensorflow、MicrosoftのCNTK
たとえば
1個のGPUに比べて56倍!の高速化が可能となる。
EX. 7日かかった学習がたった3時間で終了
分散学習は、マシン間での通信やデータの同期などとても難しい問題。
なので
難しい問題は、Tensorflowなどすでにある優れたフレームワークにお任せしよう!!
8.3.4 演算精度のビット削減
ディープラーニングの高速化で
計算量も大切だが、
メモリ容量やバス帯域などもボトルネックになる。
したがって
ネットワークに流れるデータのビット数は、できるだけ小さくすることが望まれる。
コンピュータ上で小数を表現するには
32ビットの単精度浮動小数点数や
64ビットの倍精度浮動小数点数などのフォーマットがある。
16ビットの半精度浮動小数点数(half float)でも問題なく学習できる。
ちなみに
8.4.1 物体検出
「物体検出」は
画像中から物体の位置の特定を含めてクラス分類を行う問題。
「物体認識」は、画像全体が対象だが
「物体検出」では、画像中から、クラスの位置まで特定しないといけない。
「物体検出」の手法として
CNNをベースとした方法である「R-CNN」(Regions with CNN features) という手法が有名。
「R-CNN」では、
入力画像からオブジェクトらしき領域を 2,000 領域を抽出し、
それぞれの領域に対して、特徴を抽出し物体認識(画像分類)を行う。
「R-CNN」の構造は↓のとおり。