最新のIT技術やAI技術(機械学習)を学ぶ上で非常に優れたUdacityの講座の中で、特におすすめする講座を詳しく解説していきます。
今回は、中級者向け講座である『Deep Learning Nanodegree』について徹底解説していきます。
Udacity とは
Udacity(ユダシティ)とは、世界190カ国の合計16万人以上に利用されているMOOCs(Massive open online course)です。
特に、最新のIT技術やAI技術に強みを持っており、分かりやすく質の高いコンテンツによりアメリカでは非常に人気があります。
質の高いサービスであるにも関わらず、日本語の情報があまりありませんでした。詳細についてはこちらの記事でまとめましたので、興味のある方はぜひご覧ください。
Deep Learning Nanodegree とは
習得可能な分野:『人工知能(Artificial Intelligence)』
Deep Learning Nanodegree の講座は、9つある分野のうち、人工知能(Artificial Intelligence)に属します。近年、人工知能の分野の発展はめまぐるしく、まさに日進月歩の世界です。
AIを使いこなせるエンジニアの需要は増える一方であり、エンジニアの中でも機械学習エンジニアは高給な求人が多いというのが特徴です。
特に、第三次AIブームで登場したDeepLearningの技術は今までの第一次/二次では実現しなかった、人が状況判断を行う際の要素すらも学習して習得する技術により、多くのサービスや商品に活用されるようになりました。
DeepLearningの特徴は、人が得る情報と同じ情報をもとに、認識/判断を行うことができることです。従来手法とDeepLearningでの認識の違いについて、画像認識を例に詳しくご説明します。
Deep Learning とは
■特徴量の設計が必要
特徴量とは、人が画像のどこを見てどのように判断しているかを数値化したものです。
例えば、りんごの画像とぶどうの画像を判断したい時を例にします。
ものすごく簡略化すれば、人が判断するときは画像の中で赤い領域が多いのか、紫の領域が多いのかで判断することができます。
よって、この時の特徴量は『画像の中の赤いピクセルの領域数』と『画像の中の紫のピクセルの領域数』という2つの特徴量を使うことで りんご と ぶどう の分類を行うことが出来ると分かります。
人が考えて特徴量を設計。
① 赤ピクセル数が300以上あれば、りんご
② 紫ピクセル数が300以上あれば、ぶどう
といった風にルールを決めていきます。
ただ、この方法では少し違う物体があった時や、同じ赤い物体が来た時に全てりんごと判定してしまいます。
■特徴量の設計が不要
今までは、人がどこをどのように見て判断するかを教える必要がありました。DeepLearningによって、特徴量の設計が不要になりました。
特徴量の定義が不要という理由こそが、DeepLearningがここまで発展した理由であり、従来の手法との最も大きな違いになります。
では、DeepLearningではどのように判断をしているのでしょうか。
DeepLearningでは、多くの画像を入力として教えてあげることで、自ら特徴量を設計してくれます。
りんごとぶどうの各画像10枚を入力として使うことで、AIは自動的に りんご と ぶどう を分類するには、色のピクセル数で判断すれば良いんだな、ということを『自ら』学習します。
さらに、DeepLearningのすごいところは、ピクセル数だけではなく形なども含めて学習してくれるのです。
りんごであれば、1つの楕円に小さい棒のようなものがくっついてる。
ぶどうであれば、複数の球形状の物体が三角錐のようになっている。
といった風に、形をもとに学習をしてくれるのです。
DeepLearningのこれらのメリットは非常に大きく、正解が分かる沢山の画像があればAIモデルを作ることが可能です。
人が何をもとに判断しているかすらも学習してしまう。これがDeepLearningを使う大きなメリットとなります。
上記画像を学習することで、以下のような判定が可能になります。
ここまでがDeepLearningのざっくりとした説明になります。DeepLearningのすごさが少しでも伝わっていれば幸いです。
今回ご紹介するのは、様々な分野で活躍するDeepLearnigの手法を体系的/網羅的に学ぶことが出来る講座です。
画像認識、言語処理、時系列処理、GANなどの最新のDeepLearning手法を習得しましょう。
Deep Learning Nanodegreeをおすすめする理由
DeepLearningを学ぶことで、データサイエンティストやデータアナリストなど、高度な専門職への道が開けます。
市場の需要も高いため、自らの市場価値を高めることが可能です。終身雇用制が終わりを迎えている中、自らの市場価値を高めることは非常に重要です。
私がシリコンバレーで働いていた際も、周りの同僚は自分のキャリアを築くためにどのような企業で働き、どのようなポジションで働くかを考えながらキャリアを構築していました。
シリコンバレーでは3年間勤めていましたが、3年いると古株になっているくらい人材の流動性が高いです。
今後は日本でも転職が一般的になり、自分のキャリアを高めるために企業を選びジョブホップする時代が来ると思います。
新しい時代に備え、技術を身に着けるなら今です。
概要
概要
Deep Learning Nanodegreeでは、人工知能の世界への確かな入門を提供します。
このプログラムでは、あなたがフィールドでさらに行くことを可能にする基礎を習得し、キャリアをスタートするか、またはキャリアステップすることができるでしょう。
そして、次世代のディープラーニング人材の一員となり、有益で新しいディープラーニングを定義する手助けをします。
AIを駆使したニューラル・ネットワーク、畳み込み型ネットワーク、GAN技術など、最先端のトピックを学びます。
(ニューラルネットワーク、リカレントニューラルネットワーク、Generative Adversarial Networks、ネットワークデプロイメント)
プロジェクトには、PyTorchとNumPyを活用します。
このプログラムは、5つのコースと5つのプロジェクトから構成されています。
自分のスキルを証明し、レッスンで学んだことを発揮してください。
期間と必要な時間
コースに必要な期間は4か月で、1週間あたり約12時間の勉強時間を見込んでいます。
ボリュームも多いですが、コンテンツの質が非常に高いです。そのため、私の場合は自分の成長を毎日感じることができ、受講が楽しみでた。
難易度
Udacityは全講義を3つの難易度に分けています。
Deep Learning Nanodegreeは、中級者向けの難易度である『★★☆:Intermediate』です。
価格
2つの購入方法があります。
- 月あたり$399(自分のペースで学習することができ、いつでもキャンセル可能です)
- 3か月間の代金として、$1356(平均的な修了期間は4か月です。4か月分をまとめることで15%の割引になります。月あたりに変更可能)
4か月で間やりきるんだという覚悟を持って進められる方は、2つ目のプランがおすすめです。
一方、まずは手始めにどのようなレベルか、やり切れるか試してみたいという方は1か月間のプランがおすすめです。
値段は高額ではありますが、それに見合うコンテンツの質と量です。今後の自分の人生を豊かにするため、自己投資と考えて受講をおすすめいたします。
講義 詳細
Deep Learning Nanodegreeは、大きく5つのコースから構成されます。
- Neural Networks(ニューラルネットワーク)
- Convolutional Neural Networks(畳み込みニューラルネットワーク)
- Recurrent Neural Networks(リカレントニューラルネットワーク)
- Generative Adversarial Networks(敵対的生成ネットワーク)
- Updating a Model(アップデートモデル)
機械学習を学ぶ上で基本となるニューラルネットワークから始まり、CNN・RNN・GANと幅を広げていきます。
基本的にDeepLearningと呼ばれる技術で活用されているのはこの4つの技術をベースとした技術です。(DNN、CNN、RNN、GAN)
今回の講義で、DeepLearningを体系的に学ぶことが可能です。
内容については、下記URLのシラバスをまとめた内容となりますので、さらに詳細を知りたい方はこちらからダウンロードをお願いいたします。
Neural Networks(ニューラルネットワーク)
ニューラルネットワークの基本を学び、PythonとNumPyで最初のネットワークを構築します。
最新のディープラーニングフレームワークであるPyTorchを使用し、多層ニューラルネットワークを構築し、実際のデータを分析します。
コンテンツは以下の通りです。
- ニューラルネットワークの紹介
- 最急降下法の実装
- ニューラルネットワークの学習
- 感情分析
- Pytorchを用いたDeepLearning
Convolutional Neural Networks(畳み込みニューラルネットワーク)
畳み込みネットワークを構築し、それを使って画像(顔、メラノーマなど)を分類する方法について学びます。
画像に現れるパターンやオブジェクトに基づいて、画像(顔、腫瘍など)を分類する方法を学びます。
これらのネットワークを使用して、データ圧縮と画像 ノイズ除去を行います。
コンテンツは以下の通りです。
- クラウドコンピューティング
- Convolutional Neural Networks(畳み込みニューラルネットワーク)
- PytorchでのCNNの実装
- 重みの初期化
- Autoencoders(オートエンコーダー)
- PytorchでのTransfer Learning
- DeepLearningを用いたガン検出
Recurrent Neural Networks(リカレントニューラルネットワーク)
PyTorchで独自のリカレントネットワークと長期短期記憶ネットワークを構築します。
リカレントネットワークを使って、テレビの台本から新しいテキストを生成にチャレンジします。
コンテンツは以下の通りです。
- Recurrent Neural Networks(リカレントニューラルネットワーク)
- Long Short-Term Memory Network(LSTM)
- RNNとLSTMの実装
- EmbeddingとWord2vec
- RNNを用いた感情分析
Generative Adversarial Networks(敵対的生成ネットワーク)
ディープコンボリューショナルGAN(生成敵対ネットワーク)を理解し実装することでGANの発明者であるIan Goodfellow氏と、CycleGANの開発者であるJun-Yan Zhu氏と共に、リアルな画像を生成するためのGANを理解し、実装します。
コンテンツは以下の通りです。
- Generative Adversarial Networks(敵対的生成ネットワーク)
- Deep Convolutional GANs
- PIX2PIX & Cyclegan
Updating a Model(アップデートモデル)
このプロジェクトでは、Amazonを使用して、独自のPyTorchセンチメント分析モデルをトレーニングし、デプロイします。
SageMaker on AWS を使用して、独自の PyTorch センチメント分析モデルの学習とデプロイを行います。
このモデルは、映画のレビュー(肯定的または否定的なレビュー)のセンチメント分析を行うために訓練されます。
モデルを構築し、それをデプロイし、ウェブサイトからこのモデルにアクセスするためのゲートウェイを作成します。
ウェブサイトからこのモデルにアクセスするためのゲートウェイを作成します。
コンテンツは以下の通り。
- デプロイメントのイントロ(Introduction to Deployment)
- モデルのデプロイ
- カスタムモデルとウェブホスティング(Custom Models & Web Hosting)
- モデルのモニタリング(Model Monitoring)
- モデルの更新(Updating a Model)
以上が、講義の内容となります。
講義の進め方や様子についてはこちらの記事でまとめておりますので、ぜひご覧ください。
講義を終えた時の自分
非常に盛り沢山の内容で、この講義を終えた時にはあなたはDeepLearningのプロフェッショナルになっていることでしょう。
DeepLearningを活用して何が出来て、何が出来ないかを理解し、ビジネスシーンにおいてもDeepLearningを活用したサービスや商品を提案できるようになっていると思います。
セクションごとに課題があり、セクションの内容をしっかりと理解しているかをテストすることができます。
プロフェッショナルが添削をしてくだり、自分のコードに対して書き方などをアドバイスしてくれます。(赤ペン先生のようなもの)
最後に
以上でAI Programming with Pythonの紹介を終わります。非常に質が高く、ボリュームもある講義なのでお試しで1か月間だけでもやってみるのはいかがでしょうか。