ソフトウェア開発者であれば、拡張性のあるAI搭載アルゴリズムを構築したい場合、構築ツールの使い方を理解する必要があります。この講座は今後学んでいく「TensorFlow in Practice 専門講座」の一部であり、機械学習用の人気のオープンソースフレームワークであるTensorFlowのベストプラクティスを学習します。
deeplearning.ai が提供する「TensorFlow in Practice 専門講座」の講座2では、講座1で構築したコンピュータビジョンモデルを改善するための高度な技法を学習します。現実世界の様々な形状とサイズがある画像の扱い方を探求し、畳み込みを通過する画像がたどる行程を視覚化して、コンピューターがどのようにして情報を「見る」かを理解し、損失と精度をプロットし、拡張とDropoutなど、過学習を防ぐための戦略を探求します。最後に、講座2では転移学習を紹介し、学習した特徴をモデルから抽出する方法を学びます。
アンドリュー・エンの「 The Machine Learning(機械学習)」と「Deep Learning Specialization(ディープラーニング専門講座)」では、機械学習とディープラーニングの最も重要かつ基本的な原理を学習します。deeplearning.aiが提供する新しい「TensorFlow in Practice 専門講座」では、TensorFlowを使用してそれらの原理を実装し、拡張性のあるモデルを構築して現実世界の問題に適用する方法を学びます。ニューラルネットワークの仕組みについての理解を深めるには、「ディープラーニング専門講座」を受講することをお勧めします。
Overview
Syllabus
- より大きなデータセットを探求する
- 本専門講座の 1 つ目の講座では、TensorFlowを紹介し、そのハイレベルAPIで基本的な画像分類を行い、畳み込みニューラルネットワーク(ConvNet)についても少し学びました。本講座では、ConvNetによる現実世界のデータの使用をより詳しく学び、特に画像分類を行う際にConvNetの性能を高める技法について学びます。1週目では、まず、今まで使用してきたものよりはるかに大きなデータセット、すなわち、画像分類のKaggle チャレンジだった「猫と犬」のデータセットより大きなデータセットを見ていきます。
- 拡張:過学習を回避する技法
- これまでに過学習という用語を何度も耳にしていると思います。過学習とは、簡単に言うと、訓練における特殊化の行き過ぎを表す概念です。つまり、モデルは訓練したものの分類においては非常に優秀でも、見たことがないものの分類はあまり上手にできないということです。モデルをより効果的に汎用化するためには、当然、より幅広い訓練サンプルが必要になります。しかし、いつも入手できるわけではありません。そこで近道となり得るのが画像拡張です。訓練セットに手を加えて、被写体の多様性を高めることができます。今週は、それを詳しく学びます。
- 転移学習
- 自分でモデルを構築するのは素晴らしいことであり、大きな強みです。しかし、これまで見てきたように、手持ちのデータに制限されることがあります。誰でも大量のデータセットやそれらを効果的に訓練するために必要な計算能力を入手できるわけではありません。転移学習は、この解決に役立ちます。大きなデータセットで訓練したモデルがある場合、それを直接利用するか、または学習した特徴を利用して、自分のシナリオに適用することができます。これを転移学習といい、今週はこれについて学びます。
- 多クラス分類
- お疲れ様でした。ConvNetから次のモジュールへ進む前に必要なことがもう一つあります。それは2値分類の先へ進むことです。今まで見てきた例は、「これか、あれか」つまり、馬と人間、猫と犬、という分類でした。2値分類からカテゴリー分類へ進む際には、考慮する必要があるコーディング上の事項がいくつかあります。今週は、それらを見ていきます。
Taught by
Laurence Moroney