こんにちは、私はシンガポールに住む高校生のカランです。昨年、人工知能 (AI) と機械学習 (ML) の分野を研究してきましたが、この分野には高校生向けに特別に構築された学習パスは存在しないと私は考えています。これは私の作成の試みです。
この分野への取り組みを始めて以来、私は YouTube ビデオを見たり、個人的なプロジェクトに取り組んだり、単に本を読んだりするなど、毎日数時間をできるだけ理解することに努めてきました。私は、私よりもはるかに経験豊富な年上の同僚から指導を受けてきましたが、そのような指導が誰にでも受けられるわけではないことは承知しています。そこで、これは、学んだことすべてを 1 つの具体的な文書にまとめようという私の試みです。
このガイドにまとめた情報はすべて、この将来有望な分野で優れた成績を収めたい高校生を対象としています。これは年代順に従うことを目的としており、私がこれまでに出会ったほとんどのガイド/学習パスとは異なり、高校のシラバスでは見つけることができない線形代数、偏導関数、その他の複雑な数学の概念の理解を必要としません。ただし、機械学習に不可欠な数学の基礎をカバーするコースが含まれており、そのレベルは高校の数学に匹敵すると考えられます。この道を定期的に進めていけば、3か月程度である程度のレベルまで到達できると思います。ただし、この学習パスは、高校の残りの時間にわたって学習を続けることができるコンテンツを提供します。
それでは、早速始めましょう。
Python を出発点として強くお勧めします。これは、AI/ML ドメインで使用する場合、ほとんどの条件を満たしている言語であるためです。学習が非常に簡単であるだけでなく、ほぼすべての基本的なアルゴリズムにライブラリとフレームワークを提供します。分野では知られています。 R は便利ですが、読みやすさと学習しやすさの点で、高校生には Python の方がはるかに適していると思います。基本的なプログラミングに加えて、特に機械学習の場合、最も役立つライブラリは Numpy、Pandas、Matplotlib です。
これまでコーディングをしたことがない人には、トロント大学 (現時点で AI/ML で最高の大学の 1 つ) が提供するコースに参加することをお勧めします。数週間かかりますが、時間をかける価値は十分にあります。このコースで得た知識のほとんどは他のプログラミング言語にも応用できますが、唯一の違いは構文です。コースは無料で、こちらからご覧いただけます。
Python 以外の言語でコーディングの経験がある方は、このチュートリアルをざっと読んで Python 構文の基本を理解してください。1 日もかからないはずです。
ML と AI は、微積分、線形代数、確率、統計、最適化などの数学的原理に基づいて構築されています。多くの有望な AI 実践者 (私と同じように) は、これが気が遠くなると感じています。 Microsoft による edX Essential Math for Machine Learning: Python Edition のこのコースは、数学者になることを目的として設計されたものではありません。むしろ、いくつかの重要な基礎概念とそれらを表現するために使用される表記法を学習するのに役立つことを目的としています。このコースでは、データを操作し、学んだテクニックを実際の問題設定に適用するための実践的なアプローチを提供します。経済的援助が必要な人には利用可能です。
Python の基礎を学んだ後は、この分野で使用される基本的な 2 つのライブラリである Numpy と Pandas を理解する必要があります。これらは主にデータの操作、表現、保存に使用されます。この領域の 3 番目の「コア」ライブラリである Matplotlib は、グラフや図を通じてこのデータを視覚化するために使用されますが、これについては後ほど説明します。 Numpy と Pandas の 2 つのコースは合わせて数日もかかりません。
これをポケットに入れておけば、機械学習と人工知能の学習に必要なコア プログラミングの準備が整います。
機械学習に関する普遍的なコースが 1 つあるとしたら、それは Andrew Ng のコースでなければなりません。偏導関数などの概念が出てくるため、高校生にとっては少し難しく感じるかもしれません。
しかし、コースから具体的な知識を得るためにこれらを理解する必要はないと私は強く信じています。第 3 週から第 5 週のいくつかの講義をもう一度見ると特に有益であることがわかりました。これらのトピックは高度なものであるため、初めて見たときは少し速く感じるかもしれません。特に微積分に関して、核となる数学を完全に理解できなくても、あまり心配する必要はありません。この一部には、確かに大学レベルの数学の知識が必要です。 Ng 教授が知識を伝える際に使用する思考プロセスに従うことができることがより重要です。これにより、機械学習プロセスの内部で何が起こっているかを理解できるようになります。
学んだことを書き留めることは、伝えられた情報を確実に理解するのに役立つため、コース中にメモを取ることをお勧めします。プログラミングのチュートリアルと演習は Matlab で行われるため、これらを完了することは必須ではありません。MATLAB は行列ベースの言語であるため、(私の経験では) 理解するのが難しい場合があります。ただし、心配しないでください。ほんの短時間で、まったく同じ (そしてはるかに高度な) アルゴリズムを Python で実行します。
この無料コースはこちらからご覧いただけます。
これらのアルゴリズムの根幹を担う大学レベルの数学の知識なしで ML アルゴリズムを実装することは、逆説的な作業のように聞こえますが、オーストラリアのチームはまさにこれを実行しようと試みました。
「SuperDataScience」チームの研究者であるキリル・エレメンコ氏とハデリン・デ・ポンテベス氏は、単純なアルゴリズムを実生活に適用する適切な方法を見つけることに非常に優れています。さらに、アルゴリズムの機能を理解するために適切な深さまで掘り下げて説明しますが、高校生には理解できないような複雑な数学は必要ありません。彼らのコースは Python と R の両方をカバーしていますが、この時点では R については心配する必要はありません。単純に Python チュートリアルを読んでください。また、進行が少し遅すぎると感じた場合は、このコースを 1.25 倍の速度で再生してください (私はそうしましたが、その方が私の学習にははるかに適していることがわかりました)。
コースは Udemy 上にあり、有料版としてのみ提供されていますが、Udemy では定期的にコースが 90% 以上の割引を受けています。ここで見つけることができ、通常は約 10 ドルです。基本的な回帰アルゴリズムからディープ ニューラル ネットワークまですべてをカバーしています。ディープ ニューラル ネットワークは、ChatGPT や AlphaFold などの多くの現代アプリケーションで使用されているコア アーキテクチャです。さらに高度な領域を探索したい場合は、機械学習の最後にディープ ラーニング コースが 90% 割引で提供されます。
このコースにお金を払いたくない場合は、Google の無料ディープ ラーニング コースをここで、またはミシガン大学の無料コースをこちらでチェックしてください。ただし、私の意見では、これらは SuperDataScience チームのコースほど充実しているとは言えません。
これらのコースでは、メモをとる必要はありません。オンラインには、アルゴリズムの仕組みを簡単に理解できる「アルゴリズム チートシート」が大量にあります。このウェブサイトにはいくつかのリストが掲載されています。
幅広い機械学習の概念をカバーしたので、今度はこの知識を独自に使用していくつかのプロジェクトを完了します。 Kaggle と UCI Machine Learning Repository を探索することをお勧めします。興味のあるデータセットを見つけて、それに関連する問題の解決策をモデル化してください。さまざまなアルゴリズムを試して、パフォーマンスの最適化に取り組んでください。
使用するデータセットが本質的にシンプルでクリーンであることを確認してください。つまり、使用するデータセットにあまり多くの前処理やドメイン固有の知識を必要としないようにしてください。私の頭の中にある簡単なデータセットとしては、アイリス、ワイン、ウィスコンシン州乳がん、自閉症スクリーニング、議会投票、手書き数字 MNIST、ファッション MNIST などがあります。
障害に遭遇した場合は、Stack Overflow があなたの親友です。Stack Overflow は、ほぼすべての質問に答えてくれます。そうでない場合は、投稿してください。数時間以内に返信が届くはずです。このステップにはこれ以上の作業はありません。モデリング プロセス全体を後ろから前まで慣れてきたと感じたら、自由に先に進んでください。
これで、すべての基本を広く深く理解できるだけでなく、それを現実世界のデータ問題に適用できる能力も身につくはずです。ただし、これらの基本は ML/AI の世界全体に及ぶわけではないことを理解することが重要です。むしろ、それらの多くは、このようなデータ問題に取り組む方法として長年知られてきましたが、残念なことに、コンピューターが真に活用できるほど強力になったのはつい最近のことです。適切な実行時間内でそれらを実行します。この分野における最新の研究のほとんどは、さまざまな新しい方法でこれらを改善し、基礎となるアルゴリズムを活用しながらさまざまな方法でそれらを改善、拡張、強化する、これらに近いシステムの構築に焦点を当てています。したがって、機械学習のより広い分野で興味のある分野を見つけ、その分野の今日の最先端についてより経験を積むために、それを深く掘り下げることをお勧めします。高校在学中に私が概説したすべての分野の専門家になる時間はおそらくないでしょうが、1 つまたは 2 つを克服するように努めてください。
これらの領域に入る前に、その内容をよく理解することをお勧めします。簡単な YouTube 検索で概要の説明が得られます。必要な情報はすべて見つかります。それでは早速始めましょう。
コンピューター ビジョン: この分野は、特殊なタイプのニューラル ネットワークを使用してコンピューターに物事を認識させ、理解させることに関係します。スタンフォード大学はこのコースをオンラインで公開しており、講義、コースノート、課題をオンラインで入手できます。このコースを受講してください。ただし、数学が複雑になりすぎることを心配する必要はありません。このコースは主に知識を深めることを目的としており、必然的にそうなります。また、多くの複雑な処理を自動的に実行してくれるコンピューター ビジョン ライブラリである OpenCV に注目することもできます。素晴らしいチュートリアルがここにあります。これらを完了したら、Kaggle と UCI でより高度な画像データセットを確認したり、Kaggle コンペティションに参加したりすることもできます。
自然言語処理: コンピューターがどのように話すことを学習するかを理解することも、今日の重要なトピックです。もう一度言いますが、スタンフォード大学はオンラインで素晴らしいコースを提供しており、ここで見つけることができます。数学の概念の一部が理解できなくても、心配する必要はありません。この領域がどのように機能するかを理解するだけにしてください。実装については、この Udemy コースを受講できます。ただし、代わりに、有名な機械学習者の Siraj Raval のビデオをいくつか見ることもできます。これらを完了したら、チャットボットの構築、感情分析、曲の歌詞の作成など、簡単でよく知られたプロジェクトに取り組んでみてください。簡単な Youtube 検索が役立つはずです。 ChatGPT や Claude などの最新のアプリケーションは、主に Transformer アーキテクチャに基づいている、ラージ言語モデルと呼ばれるニューラル ネットワーク ベースのシステム上に構築されています。Andrew Ng によるこのコースは良い出発点です。
強化学習: この領域は、機械が特定の環境でどのように動作するかを学習することに焦点を当てており、最も人気のあるアプリケーションはビデオ ゲームの分野です。 Siraj Raval はこれに関して非常に優れたプレイリストを提供しています。ここで見つけることができます。特に Tensorflow のような高レベルのパッケージを使用した実装ベースのチュートリアルをお探しの場合は、Denny Britz がここで見つけることができる充実したチュートリアルのセットを提供しています。 David Silver の UCL コースも素晴らしいですが、初心者には少し難しいかもしれません。ここで見つけることができます。これらの作業が完了したら、オンラインから基本プロジェクトやゲームのダウンロードを開始し、エージェントの動作を制御する AI 要素を追加するのは非常に論理的です。簡単なチュートリアルは、簡単な Youtube 検索で見つけることができます。
データ サイエンスと分析: この分野は、エキサイティングな仕事の機会がたくさんある新進の分野であり、ビジネス上の意思決定に情報を提供するために、収集された大量のデータから洞察を引き出すために、ほとんどの現代企業で広く使用されています。 SuperDataScience の有料コースか、カリフォルニア大学サンディエゴ校の Python ベースの無料コースを受講することをお勧めします。ただし、簡単な Google 検索でデータ サイエンスの具体的な学習パスを見つけることができます。次のリンクを使用して、最新のデータ分析の多くに使用される接線言語である SQL と Matplotlib を学習することもできます。これを学生レベルで学ぶことの利点は、雇用適性です。データ サイエンスのインターンシップをオファーされた高校の友人が何人もいます。この分野で得られた洞察は企業によって即座に収益化されるためです。データ主導の意思決定は、今日の企業世界における意思決定の実際の唯一の形式です。
ボルツマン マシン (レコメンデーション システムに使用)、アドバーシャル ネットワーク (AI を改良する AI)、遺伝的アルゴリズム (自然進化と同様の方法で問題の解決策を改良) などの分野もありますが、私の意見では、これらのニッチな分野の組み合わせは重要です。応用性が低く、より高度なレベルの数学が必要なため、出発点としてはあまり望ましくありません。そのうちの 1 つに特別な情熱がある場合は、自由に調べてください。ただし、これらの領域は他の領域ほど文書化されていないため、習得するのが少し難しくなる可能性があります。
この分野で長期的に働きたいのであれば、より全体的な視点から理解することが重要です。これは、画期的な発見、それをどのように適用すべきかについての議論、社会への一般的な影響について学ぶことを意味します。テクノロジーがどのように動作するかを必要な理解したらすぐに、このセクションにリストされている作業を開始する必要があります。この学習パスのセクション 4 を開始するのが良い出発点であると思います。この種の情報は、データ問題に対するアルゴリズムの実装に特に役立つわけではないかもしれませんが、今日の世界に非常に不可欠なテクノロジーにとって、その役割、真の可能性、限界についてのより確かな理解を形作るのに非常に役立ちます。
高校生がこの分野についての一般的な理解を深め、より知識を深めるためにできることがいくつかあります。
研究論文を読み始めます。これらは実際には、思っているほど難しいものではないことを強調したいと思います。現代の技術を管理する数学は非常に高度なものかもしれませんが、業界の最前線で何が起こっているかを知ることは決して悪いことではありません。理解できない問題に遭遇した場合は、それを書き留めてください。忙しくするのに十分な代替手段があります。この Web サイトには、最初に優れた論文が数多く掲載されていますが、これらを読み終えた後は、より長いリストが表示されます。興味のある論文や、セクション 5 の「専門」分野に関連する論文を読んでください。各論文から学んだことを記した小さな日記。これらの研究論文の多くを本当に理解できない場合は、私が作成したこのガイドを読んでみてください。このガイドでは、最近のイノベーションのいくつかをよりわかりやすく説明しています。この YouTube チャンネルには、論文のさらに入門的な説明も多数あり、それぞれの説明はわずか 2 分でカバーされています。
先駆者をフォローする: Andrew Ng、Ian Goodfellow、Yann LeCunn などの人々が定期的にインタビューされ、今日 AI や ML として知られているものの「創設者」の視点を提供します。この YouTube チャンネルは、これらの講演の最良のものを収集し、中心的なリソースにまとめています。毎晩 1 つずつ視聴すれば、数週間以内に専門家になった気分になることを保証します。
この分野の最新情報を入手する: Wired は、テクノロジーに興味がある人にとって最高のプラットフォームの 1 つです。毎日複数の AI 関連の記事を公開しています (最近は誰もがそうではありませんが)。記事はここで見つけることができます。これは、時代のトレンドを理解するための迅速かつ魅力的な方法です。あるいは、TechCrunch の Facebook Messenger ボットに登録してください。AI 関連の興味深い記事が頻繁に掲載されており、毎日情報が表示されます。
意味を理解する: これを行うには、TED の講演を聞くことより良い方法はありません。彼らの講演者はこの分野で非常に知識が豊富で、講演では AI がますます強調されています。ビデオのコレクションはここからご覧いただけます。
哲学: AI には支持者と反対者がいます。しかし、その背後にある哲学は興味深いものです。この分野を探究し、高校生に適した私のお気に入りの本には、レイ・カーツワイル著『マインドの作り方』やマックス・テグマーク著『ライフ 3.0』などがあります。ぜひ読んでみてください。彼らは、AI のより長期的な軌跡に注目しています。これは、日常的にはあまり関連性が感じられないかもしれませんが、テクノロジー全体のより広い文脈を理解するのに役立ちます。
貢献: あなたが他の人の経験から学びたいタイプの人であれば、この Facebook グループのような言論手段をチェックしてください。そこでは人々がこの分野の進歩に関する洞察力に富んだ記事や論文を定期的に投稿しています。あるいは、よりカジュアルな会話については、このような AI に関するサブレディットをチェックしてください。
数学を深く掘り下げる: はい、これらを行うには大学レベルの数学の基礎が必要ですが、数学が得意な学生であれば、オンライン コースを受講することを妨げるものはありません。 Microsoft には無料のコースがあり、良い評判を聞いていますが、必要なのは高校レベルの数学だけです。この Quora スレッドにも、ぜひチェックしていただきたい素晴らしいリソースがいくつかあります。 3Blue1Brown はコミュニティでも有名な名前で、彼の YouTube ビデオは、より複雑な概念の背後にある数学 (主に線形代数と微積分) を学ぶのに最適です。
機械学習と人工知能を学ぶのは、高校生がこれを書かないのは無理がある、という声をあまりにも多くの人が聞いてきました。きちんと舗装された学習パスがあれば、誰でも学ぶことができます。それとともに、この学習コースに取り組む皆さんの幸運を祈ります。
このガイドに追加や改善の可能性がある場合は、お気軽にこのリポジトリに PR してください。フィードバック、コラボレーション、または一般的な質問については、お気軽に @ [email protected] までご連絡ください。