仕事を辞めたニートがAI人材になるまで(1)
最近の生活
どうも、現在実家にお世話になりながらAI人材としての転職を目指す無職の人です。
私と同じように未経験からのIT転職を目指す方と繋がりたい、また、単純に学習の記録や頭の整理としてnoteを続けてみようと思っています。
現在は毎日勉強を続けている中、毎日の勉強内容やこれから学びたいこと、やらなきゃいけなさそうな事柄が多くて頭の中が混乱している状況です。
さて、これまで1人で毎日の計画を立てる生活が主だった私ですが、先日ようやくキカガクさんの長期コースが始まったためこれからは生活にきっぱりとメリハリができそうです。
(「自分で決めた予定を守る」スケジュールより「同窓生と予定を決めた予定を守る」スケジュールの方が個人的に気分が上がります)
毎週月曜日と木曜日、19時から21時までの間は講師の方から直接解説を聞いたり、同期の方々とともに勉強したりする時間ができました。(なので、月木以外は自分で決めたスケジュールの生活なのですが、週に2回同窓生とキャッチアップする機会があるので生活全体に活気が出るのは間違いない)
特に実家に篭りきりの私にとっては、父親とおばあちゃん以外の人と会話できるというだけでかなりテンションが上がっています。
また、キカガクの長期コースで講師をしてくれる方々と初めて顔合わせをしたのですが、みなさん陽気でこれからの授業がすごく楽しみです。
最近勉強したこと
ここからは最近勉強したことを並べていきます。現在はキカガクさんのAI人材長期コースとDataCampのDataScientistコースを同時に進めているので、それぞれ記載していきます。
キカガク
PyTorchを用いた回帰モデルと分類モデルの実装
PyTorch Lightningを用いた画像のクラス分類モデルの実装
こんな感じです。
PyTorchを用いた回帰モデルについては、かなり工数が多くて参っていたような記憶があります。その後で「PyTorch Lightningを使えば簡略化できるよ」と言った内容の講義が出てきたときには泣きそうになりました。
画像のクラス分類については、フィルタの重みを学習させるという部分に納得がいかず何回か講義を見直しました。最終的になんとなく分かったのですが、CNN最初に思いついた人すごいな〜という感想です。
畳み込みニューラルネットワークの構築については今の所大体は問題ないのですが、困っているのがTrainerの学習に永久に時間がかかるということです。trainer.fitで学習を初めてから散歩に行って帰ってきてもまだ1エポックも学習ができてなくて笑いました。学習している間に本でも書けそうです。
ちなみに現在も別タブでファインチューニングで画像分類を行っているのですが、1時間以上前に学習を始めたはずなのにやっと2エポック目に差し掛かっています。
ネットワークの学習に時間がかかりすぎて勉強の差し支えになっているので、解決策を模索しようと思います。
ちなみにですが、私は先に予習しておかないといけない範囲を完全に勘違いしている可能性がある点が心配です。(来週本格的に授業が始まったら先生に相談してみよう)(1月からのカリキュラムを見て「ん?」と思いました)
DataCamp
Introduction to Statistics with Python
このコースはPythonを使った基本的な統計をカバーした内容でした。基本統計量だったり、確率論や確率分布、中心極限定理やポアソン分布などに触れました。
動画ごとの演習問題を解くぶんには問題なかったのですが、しばらくしたら忘れてしまいそうなので必要に応じて復習していこうと思います。
なお、私はDataCampでは前年の7月あたりからデータサイエンティストコースの学習を始めていたのですが、3ヶ月ほど全く手をつけられなかった時期がありました。
そのため、現在の「Data Scientist with Python」コースの修了率はいまだに25%以下です。
これから毎日コツコツ勉強時間を積み上げて、DataCampからの修了証明を獲得しようと思います。
(DataCampからの修了証明が国内での転職に役にたつかは不明ですが)
これから勉強したいこと(余裕があれば)
転職を目標に頑張っている中、いろいろな体験記を読んでいくと現在やっているコース以外にもやれることがあるのではないかと思うようになりました。
未経験での転職を行うにあたり、取得しておいた方が良い資格などいろいろありそうで心ばかり焦っている状態です。
もちろん現在受講しているコースが最優先なのは当然なのですが、余裕ができた時にでも今後半年から一年くらいでやりたいことを少しリストアップしたいと思います。
SQLの勉強
競技プログラミングに挑戦
LeetCode
AtCoder
CodeWarsで勉強
SIGNATEに挑戦
アルゴ式で勉強
E資格の取得
G検定で合格
基本情報技術者試験合格
Qiitaに何か公開したい
GitHubを使いこなして何か公開したい
転職が心配すぎて「あれもこれもやったほうがいいかな?😭」という心境で、転職成功者がやっていたことだったり転職に有利になりそうな資格など常に調べてきた結果が以上のやりたいことリストです。
ざっと書いてみると、かなり詰めすぎのようです。無職で時間があるとはいえ、先述の項目が全てできるとは思えない…
今後は毎日の勉強の様子や進み具合を見ながら、優先順位を決めながらできるところからやってみたいと思います。
今の所、G検定とE資格は優先順位高めに位置していますが、他にも興味がある分野にもできたら手を出していく予定です。
特に競技プログラミングは楽しそうという印象があったので、ぜひ挑戦してみたいです。
AtCoderではA問題を試してみたら当然のように全くわからなかったのでもう少し実力をつけてからやってみようかと思います。
LeetCodeでは「Roman to Integer Solution & Explanation」という問題で惨敗したのですが、解答例などをみてみるとシンプルで綺麗なコードがたくさんありワクワクした覚えがあります。
いつか私も高速でシンプルなコードが書けるようになりたいと強く思いました。
QiitaやGitHubについては、私が胸を張って他の人に見てもらえる実装例などを作れるようになってからかな〜という構えです。
ちなみに、遠くの未来になるかもしれないのは承知ですがSolidityもいつかは学習してみたいと思っています。スマートコントラクトでどんなアプリが作れるのか学んでみたいです。
おわりに
さて、ここまでつらつらと勉強内容やこれから勉強したい内容など自由に書いてきました。
私は子供の頃から無言実行をテーマに生きてきたので、実はブログ投稿として「今努力していること」「これから目指したいもの」などを公開するのに少しビビってしまっています。
ですが、毎日の勉強の記録や考えていることを記録して共有することで、いつか今の私と似たような境遇にいる方の心の支えになれたらいいなと思っています。
今転職を目指している方はぜひ一緒に頑張りましょう!