いまや、生成AIがものすごい大ブームになっていると思います。ChatGPTを始め、画像の生成AIもいろんな話題になりました。最近OpenAIの動画生成AI Soraもまた大きい話題を呼んでいます。
そんなAIの時代を迎えていますので、技術者だけでなく、直接関係のない人々も、この波に乗ろうとしています。
おそらくこの記事にたどり付いたあなたも同じことを考えているのではないでしょうか。
AIの波に乗りたい、AIについて知りたい、AI搭載のすごいサービスを作りたい、だけど、何から始めればいいのか分からない皆さん向けに少し手がかりになるような情報を配信しようと思います。
何でかって?私も同じ気持ちですが、さっぱり分からないからです。
AIについて同じ初心者であるゆえに、初歩的な問題にも気付けるかもしれないし、独学ですので、同じ独学している方がいらっしゃれば、少し孤独感を和らげられ、成果物できるまで頑張っていけたら嬉しく思います。
教材
学習していくには、オライリーが出社している「ディープラーニング実践ガイド(クラウド、モバイル、ブラウザ、エッジデバイス向けAIアプリ開発入門)」を道しるべとして使っていこうと思います。
実は冒頭の文もその本の帯や導入の文を引用しつつ、少しアレンジしたものです。
現時点私もまだその本を読み始めたばかりですので、教材として妥当なのかは判断できませんが、オライリー社の本だから、まあ、多分大丈夫だということで参考にします。
AIとディープラーニングはどう関係するの?と思われる方、この記事最後の余談をご参考いただければと思います。
学習の準備
ここからがこの記事の本題ですが、本のソースはGithubの「Practical-Deep-Learning-Book」で共有されています。
これは大変ありがたいことですが、「ipynb」というファイルたちって何?どう開くの?と本を買った当初、私はそこで挫折しかけてます。
ソースはJupyter Notebooksをベースに書かれているようですのでそのような拡張子になってますが、私もそうだったように、そもそもJupyter Notebooksとは何?というように初心者の次の疑問が湧くと思います。
Jupyter Notebooksとは、ざっくりいうと、iOSアプリを開発するときのXcodeや、Javaを書くときのEclipseとかのようなものだと認識してます。みなさんも同じように考えていただければいいのかなと思います。
インストール方法は色々ありますが、その前に、公式では「Installing Jupyter」で紹介されたように、この時点では、Jupyter Notebookはクラシックと呼ばれ、新しいJupyterLabが出ています。
※このように、最近AI技術の発展がとてつもなく早いので、出ている情報はすぐに陳腐化してしまう問題があり、この本の日本語の初版は2023/4/19ですが、元となる英語版は2019/10/14のようですので、書かれている内容は修正が必要な部分も大いにあると思われます。そのアップデートも含めて一緒に学習していけたらと思います。
調べたところ、どちらでも良さそうですので、新しいほうJupyterLabを使っていこうと思います。
Windows環境では、Anacondaというやつを入れると諸々全部入るから便利であることを他の本で読んでますので、インストール方法は公式「Anaconda – Installing on Windows」をご参考ください。
Anaconda入れたら何かなんだか分からないから嫌だの方、もしくはなぜかWindows環境でpythonがうまく表示されないとかでお困りの方は、Dockerでの環境構築も1つの案かと思います。
公式の「Jupyter Docker Stacks」をご参考ください。
私はmacOSを使っています。とりあえず次のように、Pythonの仮想環境を作ってJupyter公式の方法で入れてやっています。
mkdir ml
cd ml
python3 -m venv env
source env/bin/activate
pip install jupyterlab
jupyter lab
そしたらブラウザが開かれ、次のような画面が表示されると思います。
いずれの方法にしても、この画面が表示されたら、もう準備できたと言っていいでしょう!
余談
上のコマンドで「ml」というフォルダを作っており、機械学習(マシンラーニング)という意味です。
ディープラーニングなら本来「dl」になるかもしれませんが、これですと、何だか「ダウンロード」に見えるのが嫌だったのと、実はディープラーニングは機械学習の中に内包されていることが最近分かりました。
「Pythonで動かして学ぶ!あたらしい機械学習の教科書 第3版」という本の中で紹介されてますが、機械学習とニューラルネットワークモデル、ディープラーニングは以下の関係だそうです。
これの外側にはもう1つ大きい枠として「AI」があるというような関係性ではないでしょうか。
ちなみに、この本もすごく良さそうですが、数式がいっぱいでハードル高いです。
紹介されたコード書いたら動きますが、この時点の私にはまだ何かなんだかさっぱり分からない状況です。
その通りにやったから、何か身についたかと言うと、あまりそのような感覚がないので、その本は少し後回しですね。
コメントを残す