継続力

IT系サラリーマンが、書籍や講座から学んだこと、効果があった勉強方法を紹介します。

【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜

前回(Machine Learning(機械学習) Week 4)は、ニューラルネットワークの概念を学びました。

今回は、ニューラルネットワークの具体的な実装方法について学びます。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

 

講義の概要

「Week 5」では、以下の内容が、約5時間程度で学べます。

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

ニューラルネットワークの目的関数の最適化アルゴリズムであるバックプロパゲーションの概念>
■Cost Function


■Backpropagation Algorithm


■Backpropagation Intuition


バックプロパゲーションの実装方法>
■Implementation Note: Unrolling Parameters

  • octave実装済みの最適化関数を使う場合の、実装上の注意点を説明。
  • 最適化関数にはベクトルを渡す必要があるため、マトリクス形式のパラメータをベクトル形式に変換する必要がある。


■Gradient Checking


■Random Initialization


■Putting It Together

  • ニューラルネットワークのトレーニング順序を説明。
  • ニューラルネットワークの隠れ層、クラス数等の構造を決める
    →重み付けバラメータの初期値にランダム値を設定
    →仮定関数を計算するためにフォワードプロパゲーションを実装
    →目的関数を計算する処理を実装
    導関数を算出するためにバックプロバゲーションを実装
    →Gradient Checkingでバックプロバゲーションの確からしさをチェック
    →確からしさがチェックできたら、Gradient Checkingはオフする
    →目的関数を最小化するために最急降下法や高度な最適化手法とバックプロバゲーションを組み合わせて使用


■Autonomous Driving

  • ニューラルネットワークを自動運転に適用した例を紹介。
  • 最初は手動で運転し、AIにハンドル操作を学習させる
    →AIの学習が終わった後は、AIに運転させる。

 

どういう人におすすめか

ニューラルネットワークを使って、どうやって予測しているのか?」と疑問を抱えている人に対して、「最適化アルゴリズムの学習を通じて、ニューラルネットワークによる予測のイメージ」を掴める良い授業だと思います。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org