機械学習エンジニアを目指す

【勉強法】機械学習入門ならcourseraのディープラーニングを絶対やるべき3つの理由

こんにちは、Web エンジニアをやっているとだ(cohki0305)です!

最近、僕は Web エンジニアから機械学習エンジニアを目指しています。理由は機械学習めっちゃかっこいいし、すごく金のニオイがするからという単純なものですw

ただ、実は機械学習勉強するのは今回が 3 回目でして…2 回挫折してきました…

というのも機械学習って普通のプログラミングと違って、数学的な知識がいったりアルゴリズムの理解がしっかりしていけなくて難しい…なので、プログラマーでも結構挫折する人多いです。

しかし、3 回目のチャレンジで僕はめっちゃいい授業に出会いました!おかげで、今のところめっちゃ勉強進められています。cousera という動画サービスの Neural Networks and Deep Learning という授業です!
※ 音声は英語ですが、日本語字幕ついてるので英語が得意でなくても大丈夫

今回はこの Neural Networks and Deep Learning の魅力を紹介します。

機械学習の勉強挫折してきた人やこれから始めようかなと思っている人はぜひ読んでいってください!

日本語で機械学習を学ぶことができるプログラミングスクールの紹介もしています。未経験からプロの機械学習エンジニアになりたい方にはこちらのほうが圧倒的に近道ですよ。

あわせて読みたい
Python で機械学習が学べるおすすめプログラミングスクールTOP4【入門】こんにちは、機械学習エンジニアを目指しているとだ(cohki0305)です! 実は今ってPython エンジニアってエンジニアの中で一...

coursera とは?

Neural Networks and Deep Learning は、coursera というサービスで提供されている授業です。
coursera というのはプリンストン大学(Princeton)、スタンフォード大学(Stanford)などといった外国の超一流大学の授業をオンラインの動画で受講できるサービスです。

授業は様々なジャンルが提供されており、芸術、プログラミング、生物学、データサイエンスまでまでなんでもあります。

coursera がすごいのは一流大学の授業を基本的に無料で授業で受けられることです。スタンフォード大学とか学費、年間 500 万くらいするのに無料って凄すぎですよね!
無料な理由は、修了証を発行するのが有料というビジネスモデルだからなんですよ。
※ 授業によっては月額制

修了証は、正式に大学に認められた修了証なので履歴書とかにもちゃんとかけるものです。スタンフォード大学の修了証とかもっていたらめっちゃかっこいいと思う!海外の方だと Linkedin に貼り付けたりしていますね。

Neural Networks and Deep Learning とは

coursera の中でもめっちゃ人気なのが、Neural Networks and Deep Learning というスタンフォード大学の授業です。Neural Networks and Deep Learning は Deep Learning Specialization というコースの一つ目の授業です。授業はこれの他に 3 つあります。

Course 1 Neural Networks and Deep Learning
Course 2 Improving Deep Neural Networks
Course 3 Structured Machine Learning Projects
Course 4 Convolutional Neural Networks

スタンフォード大学の授業と聞くと結構ビビるかもしれませんが、この授業は初心者向けで尚且つ先生がめっちゃ説明上手なので心配しなくて大丈夫です!

講師:Andrew Ng

講師の方は、Andrew Ng というスタンフォード大学の教授です。

機械学習やディープラーニングといった知識を広めるために、deeplearnig.aiという組織を作って coursera で授業を公開しています。

ちなみに coursera では他にも Machine Learning の授業の教鞭をとられていたりもします。

この方の授業は本当にわかりやすいです。本当に感動します。難しいことを簡単に説明する天才です。machine learning に関するレビューがいろいろあるのですが、みんな絶賛しています。

授業の概要

授業では以下のことを 4 週間で学ぶことを目標にしています!

  • ディープラーニングに必要な技術を理解する
  • ニューラルネットワークを構築・教育・利用できるようになる
  • ニューラルネットワークを効率的に実行する方法を学ぶ

要は、ニューラルネットワークの基本的な知識は身につけましょうってことです!

僕は今 3 週目ですが、ほぼ自力で簡単なニューラルネットワークを構築しましたよ!!写真を読み込んで、ネコか否かを判断するというニューラルネットワークです。たしかに、最後までやればニューラルネットワーク一通り理解できそうです。

事前知識が全くいらない

この Neural Networks and Deep Learning がめっちゃ良いなと僕が思うポイントは、事前知識が全然なくてもちゃんとついていけるということ!

プログラミングの知識は少しあったほうがいいですが、数学の知識は中学生レベルでもおk、Python の知識もなくて大丈夫。これが他の教材と違うところかなと思います。僕が書籍で勉強したときは、ほとんどの本で数学の知識や Python の知識が前提になっていたため、結構辛かったです…

ディープラーニング勉強しようとして、数学や Python わからないから挫折するとかもったいないので、基礎の基礎から教えてくれるところがめっちゃ良いと思います。

数学苦手な人でも本当に大丈夫で、難しい概念とかを図や詳しい説明をしてくれるので安心ですよ。下の画像のように図や数式を書きながら説明してくれるので理解がさらに深まります。動画の特徴を上手く活かして説明しているなという印象を受けます。

まあそしてなにより Andrew 先生ほんとうにね、説明が上手なのですよ!何回も言うけど感動です!彼について行けばまじで間違いないから!神だよ。

プログラミング課題とクイズで知識が定着する

動画学習しているとわかった気にあって全然身についていないということがあるのですが、Neural Networks and Deep Learning にはプログラミング課題とクイズがあるので、ちゃんと知識が身につきますよ。動画みて終了とはならないです、ちゃんと勉強してもらいます!

クイズは、週ごとに出されます。4 択式で 10 問制なのですが、ちゃんと理解していないと正解しないようになっています。なので自分がどれくらい知識が身についているのか確認しながら勉強すすめることが出来ますよ。

クイズに加えて、プログラミングの課題の提出義務もあります。課題はオンライン上でコードを書いて提出する仕組みになっています。下の画像のように問題と回答を書く欄が表示されています。こういうのが 10 問くらいあります。

この課題がすごいよく出来ていて、授業の内容を理解していないともちろん出来ないですし、課題やるとどんどん理解が進まるようになっています。

僕は動画で学習してなんとなくニューラルネットワークわかった気になっていたのですが、この課題やって自分が理解していないことに気がつけました…課題の中には学習を手助けするようなコンテンツが含まれているので、やることで絶対理解深まります。

※ 残念ながら、課題とクイズは全部英語なので英語が読めない方には少しむずかしいかもしれない

Python と tensorflow という主流言語で学べる

Neural Networks and Deep Learning では、Python で実装を進めていきます。Deep Learning Specialization の他の授業では Google 製のフレームワーク tensorflow も利用します。

Python でディープラーニングは今の主流なので、仕事にも活かしやすいでしょう。Python は機械学習にて最先端の研究・実績を残している Google さんも使っているので、これからも地位を維持し続けることになるでしょう。

まあそれから一番大事ですが、めっちゃ実装しやすいです。安心してください!

ちなみに coursera の machine learning をあまりオススメしない理由は、octave とかいう訳わからん言語を使っているからです。

こちらもめっちゃわかりやすい授業なので、機械学習のアルゴリズムを理解するためにはめっちゃいいのですが、変な言語で実装してもあまり役に立たないです…機械学習エンジニアの方に聞いたところ、「今時そんなの使ってる人いない」とおっしゃっていましたよ…

やっぱり流行りに乗るべきです!

まとめ:ディープラーニング勉強するなら coursera

というわけで、ディープラーニング勉強するなら Neural Networks and Deep Learning しかないです!

費用は、月額 49 ドルで他の動画サービスに比べたら安くはないのですが、サービスの質を考えるとめっちゃ安いと僕は思っています。これで機械学習身につくなら全然安いと思いますよ。月5000円か6000円くらい自分に投資できなきゃ駄目でしょーと僕は思ってすぐに契約しましたよ!

2 週間無料でトライアルできるのでぜひ試してみてください。

登録すると Deep Learning Specialization すべての授業が受講できるようになりますが、はじめは基礎の Neural Networks and Deep Learning からはじめましょう。

あわせて読みたい
Python で機械学習が学べるおすすめプログラミングスクールTOP4【入門】こんにちは、機械学習エンジニアを目指しているとだ(cohki0305)です! 実は今ってPython エンジニアってエンジニアの中で一...
ABOUT ME
cohki0305
25 歳にして実務経験 1 年でフリーランスエンジニアになり月収 3 倍になった男。独学のみで営業からエンジニアになった経験あり。 未経験からでもエンジニアになる術を多くの人に伝えたいと思ってます!
プログラマーになって年収1000万目指そう

学歴・職歴関係なく、数年間で年収 1000 万円を目指せる職業って何が思いつきますか??

僕はソフトウェアエンジニア(プログラマー)しか思いつかないです。

僕は実務一年でフリーランスになって年収1000万稼げるようになりましたが、別にこの業界なら普通です。学歴も職歴も関係ないです。

プログラマーを目指して稼ぎたい方は、僕が紹介している「プログラマーになるための最短ステップ 3」を是非読んでチャレンジしてください。

未経験からプログラマーになるための方法を知る