" 最近はAIブームと言われているけど、自分もAI・機械学習エンジニアになりたい。
今年こそはPythonの勉強をして、絶対AIや機械学習の勉強をしよう。
とはいえ、独学で勉強するべきか、プログラミングスクールに通うべきか‥。悩む。。
独学で勉強した人もいるというし、コストもかからないだろうし、なんとかなるかもしれない。
よし、とりあえず〔機械学習 独学〕でググってみよう。"
この様な感じの方に向けた記事になります。
現状でもし当てはまったら読んでみてください。もし当てはまらなかったとしても、2-3分で流し読み出来るので、是非読んでみてください。
この記事の信頼性
- 実際に機械学習エンジニアの研究者が執筆しています。
- 独学をしていた時期もあれば、プログラミング スクールに通っていた時期もあり、両方のメリットを理解しています。
- 医師歴が長いですが、メディカルAI学会の公認資格を保持しています。
- 今後機械学習のメンターとして始動予定です。(2020年4月以降より)
お前誰やねん、とならない様に自分の立場を記載しました。
という訳で、早速見ていきましょう。
機械学習には独学は必要
🔽機械学習を独学かスクールに通うか迷っている方へ
— 産婦人科医とみー (@obgyntommy) January 29, 2020
結論:「独学」の姿勢は常に必要。
仕事受注の際の流れは以下で(一部略)
①仕事の依頼を受ける
②過去の同様の解析を調べる
③最新の論文を調べる
④設計する
⑤エラーが出たらググる
⑥精度が悪ければ再度②③に戻る
常に独学で学ぶ姿勢が必要。
独学か、プログラミングスクールか。どっちにするべきか迷っている方へ。
結論:「独学力」は必須です。
プログラミングスクールに通っていたとしても、自主学習は必須です。
理由は機械学習エンジニアになっても、「常に自分で学び続けないといかないから」。例えば、機械学習を用いて解析するある仕事を受注したとします。受注した途端、急にコードをガリガリ書き出す人なんていませんよね。
まず初めに行うことは、これまで同じような画像解析でどれほどの精度が出ているのか、またコンペで優勝した最新のモジュールなどを調べたり文献検索を行うはずです。
Twitterでもつぶやきましたが、まとめるとこの様な流れです。
- 仕事の依頼を受ける
- 過去の同様の解析を調べる
- 最新の論文・知見をを調べる
- プログラムを設計する
- エラーが出たらググりつつ、、
- 精度が悪ければ再度②③に戻る
どんなに優秀な機械学習エンジニアでも常に「勉強」しています。機械学習だけではなく、プログラミング全般に言えるのは、常に最新の知見をアップデートし、勉強するという姿勢が重要です。
「ずっと勉強し続けるとかムリ」という方へ
仕事をナメてはいけません。常に学ぶ姿勢は重要でして、これは仕事全体に言える事です。
- 手術が上手な先生は常に努力・勉強をしている。
- 著名な機械学習エンジニアは常に新しい論文をアップデートしている。
- 敏腕プログラマーは常に良いプログラミングを書く為に勉強し努力している。
「こんなのムリ、。」と思った方でも大丈夫です。まず、この記事を読んでいる時点でそれなりに学習しようとする気持ちがあっての事ですよね。
また、そもそも機械学習エンジニアになろうという気持ちがある時点で「学ぶ」という素質があります。
家族の時間を犠牲にしたり、土日休日も常に勉強するべき、とまではいいませんが、機械学習を学ぶ上で、常に学習し知識をアップデートする努力=独学力は必要です。
「完全初心者が機械学習を完全に独学しようとすると挫折率が高い」という話
とはいえ完全初心者が一から機械学習を独学で習得しようとしても、挫折率は高いです。
僕は機械学習にしろ、プログラミングにしろ効率の良い勉強には以下の3点が重要だと考えています。
機械学習を効率よく学習する為の必須条件
- 本人の努力
- 良質な環境
- 良質な教材
良質な環境というのは良質な指導者がいるという事も含めます。
また、更に深掘りしていきます。僕は今までに身近な友人数名に機械学習を指導してきたことがありますが、経験上挫折しやすい人の特徴は以下です。
機械学習で挫折しやすい方の特徴
- 効率よく学習する環境にいない
- 数学が大の苦手(文系出身)
- 努力の継続が苦手
- 常に受け身の姿勢
当てはまりそうではない方は独学オッケイです。一つでも当てはまりそうな方は「効率よく習得するための必須項目」の見直しを行うべきかと。
じゃあお前はどーなんだ?と聞かれそうですが、僕はわりと努力の継続は得意な方でして、また理系出身なのでこれらの特徴には当てはまりません。
しかし、決定的なビハインドがありました。「年齢」と「時間」です。僕の場合は、機械学習の勉強を始めたのが30を超えており、また勤務医をしながらの独学です。圧倒的に「時間不足」で「環境」が悪かったです。
挫折する可能性しか見えませんでした。その為「機械学習を効率よく学習する為の必須条件」のうち「良質な環境」を見つめ直し、まずは独学から行い、スクールでの挫折の為のセーフティーネットを敷きました。
挫折しやすい人の特徴に当てはまらない方
素晴らしいですね。早速独学を始めましょう。機械学習入門の方に向けた独学可能なサイトはweb上に無限に落ちています。機械学習入門のための学習サイトは、ほぼ無料であるという件【保存版】の記事にまとめていますので参考までにどうぞ。
また、「機械学習を独学で学習する為の流れ」も【独学可能】Python初心者のための機械学習修得に向けた学習ロードマップに作成していますので、こちらも参考にどうぞ。
※ ある程度独学出来たら、Kaggle に挑戦してみましょう。むしろ、Kaggleは宝の山ですよ。是非 try してみてください。以下ツイートも参考にどうぞ。
🔽機械学習初学者の方へ
— 産婦人科医とみー (@obgyntommy) January 28, 2020
機械学習のコンペであるKaggleに「タイタニックの乗客で何人生き残れるか」という有名な問題があります。
こちらリンクからプロのテクニックが見れますので、是非気負わずにJupyter Notebookで一行ずつ実行してみてください。
非常に勉強になります😌https://t.co/CtwhoJr54Z
挫折しやすい人の特徴に当てはまる方
独学は必要であるという事実を受け入れつつ、まずはスクールに相談するべき。
というのも、無料で講義を受けれるスクールも増えてるためです。
無料でカウンセリングを受講し、自分のレベルや今後のキャリアについて相談にのってもらう事も可能ですし、その上で学習プランを立てて講義を受講する様な活用方法もあります。無料のものは最大限活用しましょう。
» Aidemy の無料ビデオカウンセリングはこちら [box class="box2"]※ Aidemy は僕も愛読している「人工知能プログラミングのための数学がわかる本」を出版している会社で、この書籍は非常におすすめです。[/box]
機械学習は難しそうだし…という無駄なマインドはリセットすべし
先ほど「挫折しやすい人の特徴」という事で、いくつか項目を記載しましたが、向いているとか向いてないとか考える必要はありません。
「機械学習は難しそうだから、やりたくてもやめておこう」という思考回路は即捨てるべき。今すぐにマインドセットしましょう。
ただし、もし「努力の継続を行う」自信がなく、GAFA入職や、その他国立の研究機関に入職したいというのならやめておくべきかもです。
ただし、機械学習エンジニアとしてある程度の収入を得たり、機械学習を用いた研究を行いたいというレベルであれば向き不向きは関係ナシ。
努力次第で目的(収入を得る、転職する、研究に用いる)を達成する事は十分可能です。なぜなら僕がそうですし、僕が教えてきた方も活躍されていますから。
「向いてないと専門職につけないのか」という話
向き不向きで専門職に就く事ができないのか。
全くそんな事はありませんよね。例えば医療専門学校に通って勉強し、スキルを磨けば医療職に就くことが出来ます。(勿論医学部や薬学部は特殊なケースがありますが)
そこから更に勉強し、技術を磨き、信頼され、現場で経験を積み、良き医療者へとなっていくわけです。
要は本人のやる気と「努力の継続」次第。
機械学習やその他のプログラミングも同じで、良質な環境下で、良質なコンテンツを用いて、継続して努力を行えば立派な機械学習エンジニアになれます。
世の中には独学可能な優良なサイトもたくさん落ちていますし、機械学習エンジニアになるためのプログラミングスクールも沢山あります。
これはそれだけ、AI・機械学習エンジニアの需要が高まってきているからこそであり、やると決めたならその時点で動くべき。
Indecision is often worse than wrong action.
決断しないことは、ときとして間違った行動よりたちが悪い。
- Henry Ford (ヘンリー・フォード)フォード・モーター社創業者
これはその通りで、独学の重要性を捉えつつ、自らの環境を見つめ直し、完全に独学にしろ、プログラミングスクールに通うにしろ、まずは行動してから考えるべきですね。今日はこの辺で終わりとします。
機械学習で挫折しやすい方向けのリンク
» Aidemy の無料ビデオカウンセリング&講義
機械学習で挫折しにくい方向けのリンク
» 機械学習入門の為のサイトは、ほぼ無料であるという件【保存版】