Introduction
Information:
機械学習未経験だけど、やってみたい!orやることになった方向けの入門記事です。
何かしら言語の勉強or経験者を想定しています。
上記の理由より、正確さよりわかりやすさを重視した記述を心がけています。
ChatGPTやBardなどの大規模言語モデルの進歩に加え、AIの社会実装をニュースで目にする機会も増えています。
研究開発を進め、PoCを行うだけでなく、保守運用が重要になってきています。
より多くの人々、より広い分野でAI人材が求められるフェーズに突入しています。
AIプロジェクトも増えるでしょう。
(地方である弊社にその気配は皆無です)
本記事では、これからプロジェクトに参画する方やそのためのアピールをしたい方向けに、参画前に学んでいただけたら大変助かることを紹介します。
本記事が少しでも読者様の学びに繋がれば幸いです!
「いいね」をしていただけると今後の励みになるので、是非お願いします!
ToC
注意事項
本記事で紹介する内容:
機械学習プロジェクト参画前の方が、前提として習得していただきたいこと。
学んでおくと参画後に得すること。
本記事で紹介しない内容:
未経験者には難易度が高い内容。
プロジェクトに依存すること。
具体的なソースコード。
機械学習って聞いていたのにバックエンドだった...という悲しいケースでも役立つことを記述していきます。
OS
機械学習ではLinuxをほぼ確定で扱うことになります。
特にWindowsユーザーにとって最初の挫折ポイントになりかねません。
機械学習でよく用いるみんな大好きPython1も、Windowsに入れるのは面倒かつ遅いためLinuxは必須です。
WindowsでLinuxを使う方法はいくつかありますが、有名どころにWSL2があります。
ただし仮想マシンのためメモリをかなり使用しますし、それなりにラグもあります。2
お手持ちのマシンスペックが不安であれば、さくらのクラウドシェルがおすすめです。
ブラウザ上ですぐにLinuxをお試しできます。
学んでおくこと:
Windowsのエクスプローラーで普段行っている操作全般。
下記記事の①と②のcatが自然と使えれば十分です。
Python
機械学習プロジェクトであればメイン言語はほぼPythonだと思います。
他にもC++やRなどありますが、未経験者が参画できるプロジェクトはPythonが多いです。
ライブラリが豊富な言語ですが、標準機能を体系的に学んでおくと後で楽できます。
学んでおくこと:
基礎的な内容を一通り書いてみる。
書籍1冊読み切ることをおすすめします。
迷ったら下記の書籍が初心者でも読みやすく、実務にも役立ちます。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全
動画学習の方がお好きな方は、少し古いですが同じく酒井さんのUdemyをおすすめします。
Pythonライブラリ
上記Python学習中に幾つか学ぶことになります。
NumpyやPandasなど、よく目や耳にするものは何のためのライブラリで、何ができるのかを最低限覚えておくと良いです。
+αで、後ほど記載するJupyter等でサンプルコードを書いて処理を確かめておくと理解が早くなります。
Pytorch、TensorFlow、scikit-learn、Kerasなど機械学習フレームワーク、ライブラリはプロジェクトによって使う使わないがあるため、参画前後でキャッチアップすることをおすすめします。
IDE
VSCode
開発環境はVSCode使えれば問題ないです。
インストールせずにブラウザでも使えます。
GitHubでも.
を押せば使えます。
Jupyter Lab
ブラウザ上でコードを実行でき、リアルタイムで表示させられます。
Jupyter Notebookの拡張版であり、短いコードやデータ分析によく用いられます。
Google Colab
無料でGPUも使えるJupyter Notebookサービスです。
Googleアカウントが必要な点や、プロジェクトではGPUマシンがあるため実務で使うケースは多くないかも知れませんが、GPUを持っていなくても機械学習が行えるため重宝します。3
機械学習
キカガクさんの脱ブラックボックスコースで学びましょう。
機械学習の入口としてこれ以上のものは、私の知る限りでは存在しないです。
しかも無料です。数学も学べます。
私は文系人間で数学は苦手でしたが何とかついていけたため、恐らく誰でも大丈夫です。4
時間がなかったり、難しければ単回帰分析まででも良いです。
機械学習の実装をすることで、ご自身の想像していた機械学習のイメージが形つき、実務での実装理解に役立ちます。
GitHub
言わずもがなソースコードを共有できるホスティングサービスです。
GUI上での使い方に加えてLinuxでのCLI操作に慣れておきましょう。
ここまでで記載した内容について、ハンズオンで学ぶことが必ず発生します。
学んだコードをGitHubで管理していけば自然と操作は身につきます。
GitHub上で管理するリポジトリの作成は下記を参照ください。
加えて下記は身につけておきたいです。
最後に
最後まで閲覧頂きありがとうございました。
本記事では機械学習未経験かつプロジェクト参画前の方を対象として、事前に学んでいただきたい内容を記載しました。
書ききれなかったこと、難易度や習得時間的に敢えて書かなかった内容も多くありますが、いわゆるタイパの良い内容は記載できたと思っています。5
個人的にはCLIでの操作ができれば後は努力でどうにでもなると思う反面、努力できないとどうにもならないとも思っています。
+αで、プロジェクト内で何か1つ得意なことを見つけられるとより良いです。
その得意が、他のメンバーが面倒や苦手と感じるものであれば尚良いです。
私の場合はシェルスクリプトです。6
たまたま発売日に購入した下記の書籍が肌に合い、周りに得意な人もいないため優位かつ精神安定剤の1つとなってくれています。
本記事がお役に立てば幸いです!