残りあと2週。ここからはもうPrograming課題はありません。
##Week10
Week10のテーマはLarge Scale Machine Learning
大きなデータを扱う時はgradient dedcentそのままでは効率が悪いのでStochastic Gradient DecentとMini-Batch Gradient Descentの例。
Tensor Flowなどを使ったDeep Learningのサンプルを動かすことから始めた人にはおなじみだと思いますが私はその仕組みを知らなかったので説明を聞いて納得というか合点が行きました。
ここでも学習曲線を見てHigh BiasなのかHigh varianceなのかを見極めて次に何をするか決めるのが重要。
後半はOnlineで逐次学習する方法と学習を複数のCPU/COREをつかって分散処理する方法。
##Week11
Photo OCRの例
Photo OCRの方法というよりは Photo OCRを例題に複数の処理をつないで処理するPipline処理を行うシステムをどのように開発するかという説明。
基本的なPhoto OCRの手法の説明としては
- Windowをずらしてサーチ
- 文字がある領域を見つけるとき白をつないで領域を見つける方法
- 文字の区切りを見つける方法
認識率がうまく上がらないとき次にどうするかということを考えるときどうするか?
- 学習データを増やす
- フォントを用意して様々な背景に張り付けてデータを作る
- 文字を歪ませる
- オーディオの場合はバックグラウンドノイズを加える
- データのラベル付けを手作業で頑張る
- Crowd sourceを使う
といった方法を紹介
ceiling analysisという手法でどこを改善すると一番効果的かを見極めてリソースを投入しましょうという話。
この辺りは実際のシステム開発で起きた時の話に基づいていると思われ、なるほどなあと思いました。
とりあえず最後までたどり着けました。
1か月かかりませんでしたので、予定より早く終わった分もう少し復習をしてみようと思っています。