東京MOOCer

東京MOOCer

オンライン学習サイトで独学する人のブログ

Coursera・Udacityオススメの講座集〜AI・機械学習系〜

こちらの記事を読んで興味を持ってくださった方に向けて、私の印象に残る講座をピックアップしました。私はCourseraとUdacityを利用しているので、その2つからの選定になります。

本題の前に、私が最初に受けた「Android基礎講座」のイントロダクションビデオをご紹介します。「ソフトウェア・エンジニアになるにはスクールに通うしかないのか」と悩んでいたときに、「こんなに良い講座があるなら独学でもなんとかなるかもしれない」と思わせてくれた講座です。学校での勉強とは雰囲気も違っていて、とてもワクワクしたことを覚えています。

今回のご紹介にあたり久しぶりに視聴しましたが、「よくもまぁ英語の教材に手を出したもんだ」という印象で、当時一時停止しながら観て遅々として進まない様子を思い出しました。この動画に関しては日本語字幕があるので、英語が苦手な方も雰囲気を感じて頂けると嬉しいです。

www.youtube.com

 本格的に視聴しようとするとユーザー登録をしなくてはなりません。もちろん進捗管理ができるのでその方が望ましいでしょう。本記事では雰囲気を掴んで頂くため、Courseraは登録なしでアクセスできるページを、Udacityは旧版の動画を貼っておきました。なのでUdacityに関しては現在の講座内容とは多少異なりますので、ご了承ください。

目次

 

Coursera編

第1位:Machine Learning(機械学習)

機械学習に関して、世界で最も有名で支持されている講義と言って良いはずです。Courseraの創設者アンドリュー・ング先生による講義で、この講座なしに今の私のキャリアはありません。数学が好きな人は「数学は美しい」としばしば発言しますが、私もその気持ちが分かったような気がして、高校のときには役に立たないと思っていたのに。ゆったりと優しい語り口により非英語圏の学生でも学びやすいと思います。

古い講座であるためOctiveという言語を使うと思うのですが、この学習期間中だけOctiveを使ってもさほど負担にはならないと思います。ツールを学ぶのではなくアルゴリズムの理論を学ぶので、古くても問題ないと思っています。

coursera.org

 

第2位:Deep Learning Specialization(深層学習専門講座)

こちらもアンドリュー先生による講座で、機械学習の一分野である深層学習に特化した専門講座です。深層学習を解説する講座でひとつオススメをと言われたらこちらになります。

coursera.org

 

第3位:Mathematics for Machine Learning(機械学習のための数学専門講座)

インペリアルカレッジ・ロンドンによる講座で、英国イングリッシュによる講義です。私は数学ⅠAで止まっているので数学を随時補足しているのですが、こちらの講義は非常に良かった印象があります。数学の素養がなく強化していきたい方は是非一度ご覧いただければと思います。

coursera.org

 

番外編:Generative Adversarial Networks Specialization(敵対的生成ネットワーク専門講座)

深層学習の一分野に敵対的生成ネットワーク(GAN:ギャン)というものがあり、そちらの理論をひと通り学べる専門講座です。応用的な内容なので番外編に入れましたが、GANの全体像が掴めるような講座になっていて非常に良かったです。

coursera.org

 

Udacity編

第1位: Self Driving Car Engineer(自動運転エンジニア)

Udacityならやはりコチラが一番でしょう。Udacityの創始者であるセバスチャン・スランさん*1は自動運転の父と呼ばれ、Googleの自動運転チームを立ち上げたレジェンドですが、彼が直々に講義をしてくれます。講座は継続的にアップデートされているので、全てではありませんが、今も彼が指導する箇所が残されていて非常に味わい深いです。

現在は1講座として扱われているようですが、以前は前半と後半の2講座に分割されていたので、分量は他の講座の2倍に相当します。私にとっては得体の知れない自動運転の中身を素人ながらに想像できるようになった点で大変意義のある講座でした。何より他のどの講座よりも濃密でした。

www.youtube.com

 

第2位: Artificial Intelligence(人工知能)

Udacityの初めの講義はセバスチャンさんがスタンフォード大学で教授をしていた時に、同僚のピーター・ノーヴィグさんと無償公開した、「人工知能入門(Introduction to Artificial Intelligence)」です。おそらくですが、こちらの講座はそのときの動画が基礎になっていて、今も部分的に使われています。ピーターさんもまたレジェンド級に有名な方で、こちらも非常に味わい深い講義で、私は印象に残っています。データサイエンスよりはロボティクス寄りになってしまいますが、探索や計画のアルゴリズムの勉強ができて面白いです。

www.youtube.com

 

第3位:Become a C++ Developer(C++開発)

C++の講座です。処理速度が重要なシステムを作る場合にC++は役立ちます。こちらは開発者のビヤーネさんが登場します。講義自体は別な方がされますが、ビヤーネさんが間奏のように思想的な話をしてくれます。高級言語を使い慣れている人が、より低レベルなところに手を出したいという場合に最適だと思います。

私はメモリ管理や並列処理の中身を知らずにいましたが、C++における挙動を理解できたのは他の言語を扱ううえでも為になりました。

www.youtube.com

 

番外編:Learn Computer Science from Georgia Tech(ジョージア工科大学によるコンピュータ・サイエンス講義)

ジョージア工科大学とのコラボ講座で、無償公開されている講義群です。マニアックなページですぐには見つからないだろうということで紹介しました。なかなかレベルが高いのと、理論重視なので重たいですが、価値のある内容だと私は感じました。講師の方々がアメリカらしいジョークを交えながら説明してくださるので、非常に面白いです。

 

番外編(初学者向け):Introduction to Python Programming(Pythonプログラミング入門)

最後に、”機械学習やデータサイエンス領域に興味を持っているもののプログラミングは0からスタートする”という方に良さそうな講座です。機械学習・データサイエンス領域ではPythonという言語が一般的に使われているので*2、無償講座のこちらをピックアップしました。他にも良い講座があるかもしれないですが、手始めに見てみるのも良いかと思います。

www.youtube.com

 

おわりに

機械学習をこれから学ぼうという方へは、
①Courseraの第一位のMachine Learning
②Courseraの第二位のDeep Learning Specialization(深層学習専門講座)
この二つを順に取り組むことをお勧めします。

初学者だと英語の壁もあり、一度で頭に入れることはなかなか難しいと思いますし、深層学習専門講座の方は後半に進むに従い、難しく感じられるかも知れません。しかし分からないなりに一周することでも力は付くので、修了して1年後くらいにもう一度復習して固めるように取り組むと良いのではないでしょうか。

Udacityは応用レベルの講座を紹介してしまったので、色々勉強した先にいつかやって頂きたい講座という位置づけで捉えて頂ければと思います。非常に優しい基礎レベルの講座からあるので、番外編で紹介したような無償講座も使いながら徐々にステップアップしていくと良いでしょう。とはいえ第二位のArtificial Intelligience(人工知能)はCourseraの深層学習専門講座の修了後にやっても良いかも知れません。 

以上、私の印象に残っている講座をご紹介しました。学習時の知識水準によって価値の感じ方は変わってしまうので他に優れた講座があったかもしれませんし、何より受けたことがない講座の方が多いので、皆さんご自身でお気に入りの講座をぜひ見つけて頂けたらと思います。

*1:セバスチャンさんのTED

*2:データサイエンス領域だとRもありますが