A report on the latest online lecture, ‘AI Python for Beginners,’ a free course for learning Python and AI for both students and professionals.
相模原市で IoT 設計を受託しているファームロジックスです。
近年、生成 AI の急速な発展により、ナレッジワーカー(良い日本語訳を思いつかないのですが、知的労働者? ホワイトカラー?)の業務の進め方が劇的に変化しつつあります。先日、AI Python for Beginners と題されたオンライン講義を聴講して、このような技術革新がもたらす影響を再認識しました。
プログラマでない人でも AI プログラミングが可能な時代に
その講義は、いわゆるホワイトカラーと呼ばれる職種の中で、いままでコンピュータプログラミングに縁の無かったの人々向けに、生成 AI の力を借りることでプログラミングの修得を劇的に容易にし、さらには、生成 AI の技術をコンピュータプログラムに取り込んでしまおう(プログラムの中から AI を使おう)、という意欲的な内容です。
講師は、米国スタンフォード大学非常勤教授(adjunct professor)の Andrew Ng さんという方で、私は以前にも先生の講義を受講したことがあるのですが、講義が懇切丁寧で、英語ネイティブでない日本人にも理解しやすいのが特徴です。
もし皆様が学生さんだったり、企業の若手技術者でいらしたら、ぜひ有償で修了証を取得してください。成果を履歴書に書き加えたり、上司の方に報告したりして、新しい技術への取り組みをアピールして頂きたいです。そうではなく、皆様が企業の管理職、あるいは自営業の経営者でいらしたら、この講義を、ぜひ若い方々に紹介して頂きたいです。もし、聴講だけで良ければ(修了証が不要であれば)無料で聴講できます。なんと、素晴らしいことでしょう。(註: 私は Coursera とも Deeplearning.ai とも無関係で、お金は貰っていません、悪しからず。)
学習意欲の旺盛な高校生にも
この講義は、英語で進行します。最初にそう書いてしまうと「ああ、大変そう」と思われてしまうかも知れません。しかし大抵のネット講義では英語の字幕が付きますし、実際の講義と違って、いくらでも一時停止や巻き戻しが可能です。最新のウェブブラウザを使えば、日本語の字幕を出すこともできるしょう。高校生レベルの英語で十分に内容を把握できると思います。また、高校生の親御さんにも知って頂きたい講義です。Python によるプログラミングだけでなく、英語も学べて一石二鳥ではないでしょうか。
以下では、この講義がどのような方々にお勧めなのか、その他、感じたことなどを紹介させて頂こうと思います。
こんな方々にお勧めです
- 普段はプログラミングをしないけど、プログラミングに興味がある
- 以前にプログラミングに触れたことがあるけど、自分の仕事には役立たないと諦めた
- 自分の仕事を、プログラミングや AI で効率化してみたい(定形的な業務処理を自動化したい)
- 若手社員や自分の子供へ、プログラミングに興味を持ってもらいたい
- 子供が英語を勉強する動機付けを探している
- その他、プログラマとして以前から Python を使っているけど、自分の理解をいまいちど確かめたい
私は組込設計が本職ですが、Python も日常的に利用しています。基本的な Python の知識はありますが、このような講義を受けたことで、いままで正しく理解できていなかったこと、新しい着眼点、気付かなかった問題解決方法を学ぶことができました。非常にありがたい内容でした。
講義はこうやって進みます
講義の難易度レベルですが、Coursera 社の基準では Beginner(初心者)向け、となっています。
講義の長さは、ビデオで 4時間強です。受講者の経験度合いにも依りますが、1日 1〜2時間程度の取り組みで、1〜2週間程度で完了できるのではないかと思います。Jupyter(ジュピター)というオンラインプログラミング環境を活用しているため、実際に手を動かして学ぶことができますが、自分で課題を応用したりして真面目に取り組んだとしても、プラス 1週間程度ではないかと思います。
コースは、以下の 4モジュールで構成されています。括弧内は、私の訳です。
- モジュール 1: Basics of AI Python Coding(Python コーディングの基礎)
- モジュール 2: Automating Tasks With Python(Python で仕事を自動化する)
- モジュール 3: Working With Your Own Data and Documents in Python(自分が持っているデータやドキュメントで Python を動かす)
- モジュール 4: Extending Python With Packages and APIs(Python の拡張機能やオンライン API サービスを活用する)
受講あるいは聴講の方法
まずは、Coursera のオンラインサービスに登録が必要です。こちらのサイトから、画面右上の「参加は無料」をクリックして登録します。次に、以下のコースを開きます。
画面が開いたら、「無料で登録」をクリックします。次に、(私は既に聴講してしまったので確認できないのですが)選択肢として、有償で受講するか、無料で聴講するかを選べます。前者では単元テストを受けたり、修了証を取得したりできます。修了証には URL が付き、それを開くと受講者の名前が表示され、たとえば上司や、転職希望先の採用担当者が修了証を閲覧することができるようになっています。
無料の聴講では、単元テストや修了証はありませんが、講義のビデオを全て観られますし、Jupyter で実際に手を動かして Python プログラムを勉強することもできます(本当に無料でいいんでしょうか。再註: 私は Coursera の関係者ではありません。)
コースの内容をもう少し詳しく
以下、コースで学ぶことのできる内容をもう少し説明させて頂きます。コースは、4つのモジュールに分かれています。本来のタイトル名は英語ですが、私なりに日本語訳してみました。
なお、コースの中ではオンラインのプログラミング環境である Jupyter(ジュピター)が積極的に利用されています。最近は、このようなネット講義で Jupyter を利用することが当たり前になりました。パソコンにウェブブラウザさえインストールされていれば、プログラミングツールをインストールすることなく、実際にプログラミングを体験することができます。Jupyter は登場して 10年ほどの若いツールですが、学生や技術者だけでなく、さまざまな分野の研究者に広く利用されている極めて優れたツールです。ぜひ、Jupyter の便利さ、面白さに触れて頂けたらと思います。
モジュール 1
- 導入
- コンピュータプログラミングとは何か?
- チャットボット(ChatGPT など)でコードを書く
- 学習環境(Jupyter)の導入
- 最初のプログラムを動かす
- コーディングにおける成功の鍵
- Python におけるデータ
- テキストと計算結果を一緒にまとめる
- 変数
- LLM(大規模言語モデル。生成 AI)のプロンプトを変数で組み立てる
- 関数: データの活用
モジュール 2
- 導入
- タスク(仕事)のリストを AI で片付ける
- for ループでタスクを繰り返す
- ディクショナリと AI でタスクに優先度を付ける
- リスト、ディクショナリ、AI で料理レシピをカスタマイズ
- Python でデータを比較する
- AI の意思決定を手伝う
モジュール 3
- 導入
- Python でファイルを扱う
- あなたのデータをロードして利用する
- 食事レビュアーの報告を読み込む
- 食事レビューからレストランの情報を切り出す
- CSV ファイルを使って旅行を計画しよう
- コードのブロックを再利用可能な関数にする
- いろんな都市の詳しい旅行計画を作ろう
モジュール 4
- 導入
- ローカルファイルに記述した関数の利用
- 標準のビルトイン・パッケージ
- サードパーティのパッケージを使う
- パッケージのインストール
- API を使ってウェブページの内容を取得(スクレイピング)する
- API を使って AI モデルを利用する
- あなたのパソコンに Python をインストール(オプション)
私の感想
以下、今回この講義を受けて感じたことをまとめさせて頂きます。私自身の個人的な思いもありますが、御了承ください。
BASIC の思い出と時代の進化
オンライン講義を聴講したことで、私が 40年前に BASIC を学びながら感じた「パソコンに詳しくなれば、なんでもできるんだ」という興奮がよみがえりました。プログラミング習得におけるテーマも、当時は簡単なコンピュータグラフィックや数当てゲームなどでしたが、現在では AI を用いて旅程を作成したり、レシピを考えたりと、題材自体が大きく変化しています。講師の「LLM をライブラリとして活用するプログラムを書く」という発想も、昔では考えられなかったことで、技術の進化を強く感じました。
生成 AI とプログラミング教育の変化
生成 AI の普及により、従来プログラミング技術の修得が難しかった職種の人々も、プログラミングに取り組みやすくなっています。特に AI チャットボットがプログラミングの助言を提供することで、初心者が躓きやすい部分をスムーズに乗り越えられる点が印象的でした。また、LLM を部品として活用するというのは、私には新鮮な考えでした。ネットを探すと、最近は LangChain といったライブラリもあります。これらツールを使った開発にも挑戦してみたいところです。
Python 言語の特徴と活用
Python は豊富なライブラリが無償で提供されており、アイデアさえあれば大抵のプログラムを簡単に作成できます。この点を講師が非常にわかりやすく説明していたのが印象的でした。特に pandas や Matplotlib などの豊富な関数やコードの書き方などを暗記せずとも、AI の助けを借りて作業を進められるという助言は、日頃から Python を利用している多くのエンジニアにとって有益だと思いました。かつて「プログラマ 35歳限界説」などと言われたこともありますが、それも昔話です。
ナレッジワーカー(ホワイトカラー)への影響
ナレッジワーカーがプログラミングを学ぶことの価値を再認識しました。たとえば、プログラムからネットサービスの API(気象情報や株価データなど)を利用することで、業務効率を大幅に向上させられる方もあるでしょう。さらに、API を使えば自動的にメールを発信したりすることも可能です。この講義を通じて、その具体的な方法を再確認しました。
英語教育の重要性
これは長いこと世間で声高に叫ばれていることですが、現在も大きな変化がないように思われます。言い古されたことですが、英語を修得すれば非常に多くの教育リソースにアクセスできます。グローバルな学習環境にアクセスするためにも、英語教育の重要性を改めて痛感しました。
日記などテキストデータの新たな可能性
日記や日々のアイデアを文書(ドキュメント)化しておけば、生成 AI による整理や検索が非常に容易になります。昔は大量のテキストデータを後で分析するのが困難でしたが、現在では生成 AI がその作業を大幅に簡素化してくれるため、積極的に文書化を進める価値があると感じました。
以上です。ここまで、長い記事をお読み頂きましてありがとうございました。