3行で
https://www.coursera.org/learn/image-understanding-tensorflow-gcp
Advanced Machine Learning with TensorFlow on Google Cloud Platform Specializationという一連のコースの3番目
画像認識のモデル構築に関する講義
どんな人におすすめか
必須
・英語字幕で動画が理解できる
・クラウドサービスと機械学習に興味がある(触ったことがなくてもOK)
・画像認識のモデル構築に興味がある
推奨)
・オンプレの計算資源に依存しない機械学習システムを構築したい問題意識がある
・GCPの基本的な機能を使える
(不足を感じたらGoogle Cloud Platform Fundamentals: Core Infrastructureを受講するぐらいで大丈夫そう)
・画像認識への機械学習のアプローチに関する知識がある(CNN、augmentation、transfer learningなど聞いたことがあるけど実装したことない程度でOK)
不適
・どうしてもAWSしか使いたくないマン
・tensorflowで作ったResNetの転移学習コードをCMLEで学習、推論できる人
どんなコースか
MNIST(手書き数字認識)のタスクを最初の題材として、どうしたらより精度の高いモデルを構築できるか考えていくコースです。
MNISTは28ピクセル四方の画像なので、各ピクセルの画素値をfeatureにした28*28=784次元のベクトルを入力として
最初はシンプルに線形回帰、次に多層パーセプトロン、次にCNNとなぜそうしなければならないかを説明しながらモデルの説明力を増していきます。
説明力の高いモデルを使ったときにしばしば遭遇するoverfittingの問題にも触れられます。
また、説明力を高くしようと思ってネットワークを深くした際に発生する問題に対しての処方箋(batch normalization, transfer learning, Residual Network, TPU)の効力についても解説されます。
もっと言えば、それらを考慮した上でどういうアーキテクチャを取るのが最適かをgoogleは常に考えてるので結果をシェアしますという話もされる。
感想など
これまで相当の時間をかけて学んだり考えたりしてきたことが、わずか十数時間にまとめられていた・・・・!!!!!!
いやまじで、僕も一回で覚えられない方だというのもあるけど、何度も困難にぶち当たって乗り越えてきたことが簡潔に説明されてて本当によい。ふりかえるとなおよい。
画像認識に興味を持って論文を読んでるそうな層にとっては多分既知の概念ばかりだろう。
だけど、それを実際なんらかのアプリケーションに実装してる人でないと、どういうAPIの使い方をしたらいいかわからないもんだ。このコースはそこをカバーしてる。
概念は知ってるけど実装したことない人にはおすすめできる。
伝統的な画像に対してのfeature engineeringのアプローチからはじまるので、CNNが生まれた理由を自然と受け入れられるんじゃないだろうか。