(2023.2.4更新)
こんにちは、30代、IT未経験からAIエンジニアになったtakeです(詳しいプロフィールはこちらに)。
空前のAIブームの中、AIエンジニアやデータサイエンティストを目指す方が急増しています。私もこのブームに乗っかった一人で、「30代半ば妻子持ち」「業界・職種未経験」「コロナ禍で採用減」という全く恵まれない条件でしたが、念願のAIエンジニアへ転身(転職)することが出来ました(’21年3月)。勉強を始めた当時は、AIエンジニアやデータサイエンティストになるための体系的な情報が少なく非常に苦労したのを覚えています(私は、現役のAIエンジニア・データサイエンティストとTwitterで交流し、情報を収集していました)。そこで、これからAIエンジニアやデータサイエンティストを志す初学者の一助となればと思い、私の独学内容を全て公開します。
他のサイトでもAIエンジニアになるための独学方法は公開されていますが、先に言っておきます。未経験者が独学だけでAIエンジニアやデータサイエンティストになるのはほぼ不可能です。「うそーん。じゃあ、もう諦めて寝るわ〜」て言われそうですが、ちょっと待ってください。その理由は、みんな独学(お勉強)で終わっているからです。是非、本記事で紹介する方法(独学+α)を実践し、AIエンジニアやデータサイエンティストへの転職を成功させて頂きたいです。
1.解消できる疑問や不安
本記事を読むことで、以下の疑問や不安を解消します
2.独学期間と費用
本題の前に、私が未経験からAIエンジニアになるのに掛かった期間と費用を先にお伝えしておきます。私は大学やスクールに通わずに独学で習得したので、独学期間は約6ヶ月(機械学習3ヶ月、Python2ヶ月、ディープラーニング1ヶ月)で、掛かった費用は約3万円(書籍約2万、オンライン学習:約1万)でした。大学に通えば学習期間は4年間、費用(学費)は国立大でも約250万円掛かると考えると圧倒的に短期間かつ低コストで済みました。AIエンジニアになるために大学やスクールに通う必要はありません。あなたの貴重な時間やお金を無駄にしないで下さい。
3.独学内容 全4ステップ
それでは、短期間かつ低コストでの独学とは、何をどんなステップで進めたのかを紹介します。紹介する内容を実践すれば、AI・データサイエンスに関わるベースの知識・スキルが身に付くはずです。全部で4ステップ。参考まで、各教材には私の経験から役に立った度合を5段階の★で示しております。評価が低い教材については飛ばして頂いてOKです。冒頭でも言いましたが、AIエンジニア・データサイエンティストへ転職したい場合、この4ステップだけでは不十分です。必ず独学の先も実践して下さい。
ステップ1 人工知能、機械学習の概要の習得
まずは「人工知能や機械学習とは何ぞや」という大枠の理解をするため、以下の書籍を読みました。いきなりプログラミングや数学等の細かな勉強に入るのではなく、AIでどんなことができるのか、どんなビジネスがあるのかといった「全体像」を先に押さえられたのは良かったと思います。
【書籍】「人工知能は人間を超えるか ディープラーニングの先にあるもの」
【役に立った度:★★★★★】
ざっくり紹介すると「人工知能の魅力・凄さが凝縮されている本」です。東大の教授が書いた本なのですが、素人にも分かるように平易な文で書かれているためご安心を。前提知識ゼロだった私でも理解できました。私はこの本をきっかけに、「AI分野おもしろ!チャレンジしてみよ!」と高揚しました。まさに人生が変わった一冊です。それくらい衝撃を受けた本です。今後、AIは欠かせないツールとなるので、今後AI分野を学ばないにしても読んでおいて絶対損はありません。
ステップ2 機械学習の理論を習得
AIの全体像を理解した後に、「機械学習の理論」を習得しました。私は下で紹介するAndrew先生の講義で機械学習の虜になりました。泣く子も黙るスタンフォード大学の講義ということで敷居が高く感じるのですが、無料ですし、日本語字幕もありますし、騙されたと思ってトライして欲しいです。決して後悔はさせません!あなたも間違いなくAndrew先生、機械学習のファンになります。断言できます。
【Coursera】「Supervised Machine Learning: Regression and Classification」
【役に立った度:★★★★★】
この講座では、人工知能のレジェンド(Google Brain創始者)から機械学習の理論を無料で教わることができるんです。この奇跡的なチャンスあります?そして無料と侮るなかれ。この先生、マジで挫折させてくれないんです(宇宙語を使って学生を置き去りにする日本の大学教授に是非見習って頂きたい)。英語での授業ですが、添付図のように日本語字幕もあるのでご安心を。理解を確かめるための小テストや実装課題もあって、能動的に学べるのも良いです。是非、実装課題で自分の思った通りに動いた時の快感を味わって欲しいです。大学の授業でC言語を挫折した私でも完走できたので安心して下さい。講義をちゃんと聞いていれば問題なく解けるレベルなのでご心配なく。勾配降下法等をライブラリに頼らずに実装する経験は本当に貴重です。全ての講義、課題をクリアした後に、希望すれば49$で修了証を発行できるので、転職の際は職務経歴書に記載できますよ!スタンフォード大学の修了証ですよ!スーパーゼウスよりレア!!(伝わらんか)
↓受講後にもらえる修了証
ステップ3 プログラミング(Python)の習得
次に、機械学習、AI系のライブラリが豊富なPythonの習得に励みました。大学のC言語の授業でプログラミングを挫折した経験があった私でも、Pythonは直感的に理解しやすかったです。他の言語で挫折してしまった人も再挑戦する価値ありますよ!
【オンライン学習サービス】Progate Python基本編(全5講義)
【役に立った度★★】
まずはプロゲートの無料講座で「基本のき」を勉強しました。私は大学の授業でプログラミングの経験があったので、このあたりは余裕過ぎました。基本編だけでは本当に簡単なことしか出来ないので、他の言語で少し経験のある方はプロゲートはスキップして、下で紹介するUdemyの講座から受講すれば良いと思います。プログラミング完全初心者なら、やっておいて損はないはずです。この時点では本当にお勉強という感じで、正直全然面白くないのでここで早合点して離脱することなかれ。
【Udemy】「現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル 」
【役に立った度★★★★】
経験上、プログラミングは教科書で学ぶと眠くなるので、動画で学ぶことをオススメします!遥かに効率的です。この講座はタイトル通り、天下のシリコンバレーで現役で働くエンジニアから、読みやすく・処理が早いコーティングのいろはが学べました。実務では自分で書くより他人のコードを読むほうが遥かに多いので、この「読みやすい」コードを書く技術が地味に重要です。教科書的な説明ではなく、開発現場でどう使われるかを説明してくれるので本当に重宝しました。ボリュームも非常に多く、網羅感があって辞書的に使えるのが良いですね。私は基礎編は全て修了し、応用編はデータサイエンスのみ修了しました。ただ、オブジェクト指向に関する説明が少なかったので、その点は別の教材で補強が必要と感じました。
【書籍】「独学プログラマー Python言語の基本から仕事のやり方まで」
【役に立った度★★】
Python関連の知識をざっと広く押さえるのに役に立ちました。大体の内容は先程紹介のUdemyと重複するので、おさらいとしてサラッと流し読みしました。Udemy講座一本でも問題ないと思います。私はオブジェクト指向に関する知識をこの本で補おうとしましたが、正直この本でもイマイチよく分からなかったです。分からなくても深入りする必要はないかと思います。ここで挫折するのは非常にもったいないから。まずはそんなものがあるんだ。へぇーと流しましょう。
【技術ブログ】米国データサイエンティストかめさんのPython入門講座
【役に立った度★★★★】
アメリカで働く現役データサイエンティスト(かめさん)から、Pythonの主要ライブラリの使い方を学べる技術ブログです。無料です! 説明が超丁寧で分かりやすく、読者がつまづきやすいところには全てフォローを入れてくれます。データサイエンスで頻出のテーブルデータの前処理や可視化が驚くほど簡単に出来るようになるので、日々エクセルでの作業にストレスを抱えている方は、このブログでPythonのライブラリを習得するだけでも価値があります。今までの苦労が吹き飛びますよ。また、GitやDockerといった今後ITエンジニアとして働く人にとって必須のスキルも学べるという。。。本当に感謝しかありません。私が勉強していた頃はPythonのライブラリ紹介の記事のみでしたが、今では統計や機械学習の講座もあります。
【Udemy】「Pythonで機械学習: scikit-learnで学ぶ識別入門 」
【役に立った度★★★★】
主にCourseraの機械学習で習った内容をPythonで実装できるようになります。scikit-learnを使えば本当に短いコードで実装可能なので、マジで感動しました。同じ学習データを使って、モデルやパラメータを変えることでそれぞれのパフォーマンスを見ていくので、モデルの理解や性能比較がしやすかったです。入門のため、あまり深堀りはされませんが、短期で学ぶには適しています。スライドの背景から先生が教えてくれる独特のスタイルも面白いです。修了証も貰えるので、転職の際は職務経歴書に記載できました。
【書籍】Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
【役に立った度★★★★】
この本のおかげで、scikit-learnをより使いこなせるようになりました(特にパイプラインは便利なので押さえておくべき)。先に紹介したUdemyの「Pythonで機械学習:scikit-learnで学ぶ識別入門」講座の補強が出来ます。解説も丁寧でわかりやすく、中でも教師なし学習(k-meansやDBSCAN等)の理解が深まりました。教師なし学習は後ほど紹介するKaggleにも活用できました。実践力がつきます。
ステップ4 ディープラーニングの習得
ここまで勉強したのだから、ディープラーニングをやらない理由がありません。むしろメインディッシュです。私は、機械学習の授業ですっかり虜になったAndrew先生から学びました。やはりこちらも超オススメです。ただ、こちらは英語字幕がなく、正直難しかったけどなんとか理解できました!
【オンライン学習】Coursera Deep Learning specialization
【役に立った度★★★★★】
下の4つを受けました。
- 「Neural Networks and Deep Learning」
- 「Improving Deep Neural Networks: Hyperparameter tuning, Regularlization and Optimization」
- 「Structuring Machine Learning Projects」
- 「Convolutional Neural Networks」
特徴や所感
- 機械学習講座で紹介した大人気、Andrew先生によるディープラーニングの講義。こちらは月額49$のサブスクリプションで全て受講可能。
- 機械学習の講義同様、超丁寧に分かりやすく説明してくれるので挫折知らず!と言いたいところですが、こちらは日本語字幕がありません。英語アレルギーの方は、完走困難かも知れません。私はところどころ意味が分からないところは、google翻訳に頼りながら理解してました。
- 過学習時の正則化や、最適化アルゴリズム(Momentum, RMSprop, Adam等)を含むハイパーパラメータの適合によるモデル改善を習得。
- エラー分析やBias / Variance分析に基づくモデル性能の向上技術を体得できます。
- CNN(畳み込みニューラルネットワーク)を用いた猫画像の識別モデルの実装経験が積めます。
- 他にも、YOLOを用いた物体検知、ResNetを用いた手話画像の識別、Triplet Lossを用いた顔認証システムの実装を経験できます。
- TensorFlowやKerasが扱えるようになります。
もう、Andrew先生には感謝しかありません。(抱かれても良いです!)
はい!お疲れさまです。ここまでが私が実践した独学の内容です。冒頭でも述べましたが、みんなこの独学(お勉強)までで満足して終わるから、転職することが出来ず悲劇が起きます。大事なのはここから先です。何度でも言いますが、転職において、独学内容は重要ではありません。
4.実践経験を積む【最重要】
転職を振り返ってみて、この実戦経験の有無が勝負(採用・不採用)を分けたと確信しています。私のような未経験者が、ステップ4までの「お勉強」をいくら充実させても転職できません。なぜなら、転職活動において問われるのは「実践経験」であり、その実践の中で「どんな困難あり、どんな工夫で乗り越えたか」に尽きるからです。あなたが採用する立場だったら、いろいろ知識や資格を持っているけど、一度も実践で使ったことありませんって人を採用したいですか?・・・秒でお祈りメールを送りつけるはずです。というわけで、ひたすら身の回りの業務や問題解決にAI・機械学習を活用しまくりました。私が実践の場として選んだのはデータ分析コンペと現職の業務改善の2つでした。
【データ分析コンペ】Kaggle
【役に立った度★★★★★】
コンペというと、未経験者からすると非常に敷居が高く感じられますが、参加料は無料ですし、必要な資格もありません。気軽にエントリー出来ます。私はこのKaggleでUdemyで習った技術や、後で紹介するkaggle本の内容を一通り試しました。順位やスコアという形で自分の習熟度やレベルを定量的に確認できるので大変有益です。定番のチュートリアルである「タイタニックデータセット」で肩慣らしし、開催中のコンペにエントリーしました。結果はボロボロで、kagglerのレベルの高さに圧倒され、挫折しました。。。でもこの挫折経験も転職活動においてはアピールとなったので、挑戦して損は一切ありませんでした。完全にノーリスク・ハイリターン案件かと思います。公開されている他者のコードを見るだけでも勉強になります。また、Jupyter notebook形式の環境が提供されているので、環境構築も不要と、超至れり尽くせり。
【書籍】Kaggleで勝つ データ分析の技術
【役に立った度★★★★★】
先程紹介したKaggleはもちろんデータ分析関連の実務でも役立つノウハウ満載の本(評価指標の設定方法、特徴量エンジニアリング、モデルの評価方法、チューニング方法、リークへの配慮など)です。特に、勾配ブースティングやアンサンブル、target encoding、ベイズ最適化によるパラメータ適合等は、先に紹介したCourseraの機械学習では学べなかったので、この本でより実践的な精度向上のための貴重なテクニックを数多く習得できました。本当に試してみたい技術がてんこ盛りで、読んでいるだけでワクワクします。サンプルコードも付いており、即実装可能なのも助かります。完全にバイブルになりました。
現職の業務改善に機械学習を活用
【役に立った度★★★★★】
詳細は公開出来ませんが、現職の業務改善に機械学習を適用するのが一番苦労したし、勉強になりました。副業で実践するという手もあるでしょうが、受注するには実績が必要です。未経験者にはかなりハードルが高いと思います。その点、現職の業務改善なら上司の承認を得られれば即実践できます。業務改善が目的なので、反対する上司はいないはずです。私の場合、社内に開発環境が整っていない&機械学習が分かる人間もいない状態だったので、非常に苦労しました。でもこの苦労があったからこそ成長できたと確信しています。AI・機械学習・データサイエンスは、ほとんどどんな分野の仕事にも応用でき、従来の仕事を飛躍的に改善できるポテンシャルを持っているため、トライしない手はないでしょう。
大事なことなので何度でも言いますが、未経験からAIエンジニア、データサイエンティストに転職するにはこの「実践」は欠かせません。失敗を恐れず、どんな手を使ってでも実践経験を積んでください。失敗しても失うものなんてありません!失敗上等!大いに失敗しましょう!ノウハウコレクターで終わることの方が失敗です。選考にて、失敗から得た学びを生き生きと語れれば、アナタももうAIエンジニア・データサイエンティストの仲間入りです。行ってらっしゃい!
5.最後に
以上が、私の6ヶ月の独学内容と実践内容です。「ここまでやり切ったあなた!相当な手練れですよ!」と言いたいのですが、残念ながら、やっとスタートラインに立てたレベルでしょうか。道のりは果てしなく長いです。技術は絶え間なく進化しており、今後もキャッチアップのために日々の情報収集、学びは不可欠です。でも、ワクワクしませんか?もの凄いスピードで世の中が便利に変わっていくんです。そんな便利な世の中を作る側になりたい。そう思いませんか?
皆さんには是非本記事をきっかけに、AIエンジニア、データサイエンティストへの一歩を踏み出して頂きたいです。もし仮に、皆さんが就職や転職で希望の業界・職種に就けなかったとしても、データサイエンス・AIの知識・経験・スキルは全ての業界・業種で強力な武器となるはずです。なぜなら、過去のデータから未来を正確に予測できた者が「勝つ」からです。学びは決して無駄になりません。いざ、前進あるのみ!一人でも多くの方が、AI、機械学習に興味を持ち、付加価値の高い仕事ができることを祈っています。本記事で紹介したような有益な学習教材がリーズナブルな価格で提供されていることに感謝し、共に邁進して行きましょう!
(2022.09.23更新) こんにちは、30代、IT未経験からAIエンジニアになった経験を発信しているtakeです。 読書とは無縁だった私ですが、AIを勉強することになって非常にたくさんの本を読むようになりました。積ん読のままのものも[…]
(2022.09.27更新) こんにちは、30代IT未経験からAIエンジニアに転身したtakeです。 今回は、AIエンジニアになるために必要なスキル・知識である「統計」や「Python」「機械学習」を無料で学べる教材を紹介します。T[…]
あとは、是非私以外の方も参考にしてみて下さい。個人的にTwitterで仲良くさせて頂いている方達で、未経験からAI関連職やデータサイエンティストへの転職を成功させた貴重なご経験を共有されています。
最後まで読んでくださり、ありがとうございました!twitterもやってます。興味ございましたらフォローお願いします。今日はこの辺りで。それでは!