Getting started with TensorFlow 2を受けた (Coursera / Imperial College London)

TensorFlowのチュートリアルがてらCertificationまで取得しました。
しかしCourseraのピアレビュー方式採点は謎が多い。。

f:id:aoki-shiraki21:20210327164250p:plain

リンク

www.coursera.org

概要

「TensorFlow 2 for Deep Learning」の中の1つの講座です。主にSequential型の書き方について解説されています。

シラバス

  • Introduction to TensorFlow
  • The Sequential model API
  • Validation, regularisation and callbacks
  • Saving and loading models
  • Capstone Project

受講目的

珍しく最初から受けようと決めていたものではなく、その場で受けてみようと決めたタイプの講座です。
TensorFlowのテキストを探していたのですが、出版されているものの多くがバージョン2.x系に対応しておらずまとまった情報で学習するとっかかりが難しい状況だなと感じました。新しい言語やフレームワークに触れるときはまとまった情報をガッとインプットしてしまいたいタイプなので、書籍学習の代替となるものを探していてこの講座を見つけました。

受講期間

2021年3月~3月
業務でTensorFlowを使用することになるため、まとまった時間を設けて一気に受け切りました。

副読本

目的にも記載した通り、副読本と言える本はなかったのが実情です。

深層学習そのものの確認という意味では、ベタですがこの2冊を確認しながら進めました。ゼロから作る〜の内容くらいはわかっていた方が有意義(というか、わからないと何をしているかわからない?)と思います。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)

感想

  • 書籍でTensorFlowのバージョン2.x系に対応しているものが少ないので、チュートリアルだと思えば貴重な講座。課題のたびにモデルの設計から書かせるので、最終課題も終わる頃には基本的なSequentialモデルは記述できるようになっていると思います。
  • 注意点としては、「よし深層学習の勉強をするぞ!」と思っていきなりこの講座から始めても意味がわからない気がします。ニューラルネットワークがなんだ、畳み込みとはなんだ、みたいな説明はほぼありません。あくまで基本的な理論は学習済みで、それをTensorFlowで記述するとどうなるのかの「Getting started」だと思ってもらえると。
  • モデルそのものの構築、学習、保存、読み込みの一連はもちろん、early stoppingやdropout、正則化など、学習を速くしたり過学習を抑制するための機能も基本的な実装方法は説明してくれます。これは地味にありがたいポイント。
  • 最近よくよく実感しますが、Pythonでデータ分析系の処理を行おうとすると基本Numpyがベースになるので、Numpyのデータ構造をよく学習してあるかがその他多くのフレームの学習効率に結構影響してくるんじゃないかと感じています。
  • 実際に単純なMPLに比べてCNNだと画像分類において少ないパラメータで速く正確に学習が進むことを見ると、純粋にすご、おもしろっ、って思えます。実装がさくっとできることの良さは、字面だけではなくて自分で実験して実感値を持って考えることができるようになることだなと感じます。

余談

課題の提出に若干クセがあるので受ける人は気をつけた方が良いかもです。

  • 最後の課題のpdf出力がうまくいかない場合はipynbで出力をしてしまい、直接拡張子を.pdfに書き換える力技でいきましょう
  • ピアレビューは待っていると、場合によってはいつまで経っても評価されません。(ディスカッションフォーラムには「1ヶ月くらい経ったけどまだ評価されないよ。。」みたいな投稿もありました)さっさと終わらせるにはフォーラムでアピールをしていった方が良いですね。まあそれをしないといけない仕組みはどうなんだってツッコミはあるんですが。

今後

  • もう少しまとまった学習ができたら、GoogleのTensorFlow Certificationを受けてみようかなと考えています。受験時間5時間で当然選択式ではなくコードを書かせる、それなりに重そうなCertificationですが。。

www.tensorflow.org

  • 上記のCertificationの事前学習として参考にされている以下の講座もバージョンが2.x系対応であれば受けてみようと思います。

www.coursera.org