機械学習の概要

機械学習(ML)は、翻訳アプリから自動運転車まで、私たちが使用する最も重要なテクノロジーの一部を支えています。このコースでは、ML の背後にあるコアコンセプトについて説明します。

ML は、問題の解決、複雑な質問への回答、新しいコンテンツの作成に新しい方法を提供します。ML は、天気の予測、移動時間の推定、曲のおすすめ、文の自動補完、記事の要約、見たことのない画像の生成などを行うことができます。

簡単に言うと、ML は、モデルと呼ばれるソフトウェアをトレーニングして、有用な予測を行ったり、データからコンテンツ(テキスト、画像、音声、動画など)を生成したりするプロセスです。

たとえば、降水量を予測するアプリを作成するとします。従来のアプローチまたは ML アプローチのいずれかを使用できます。従来のアプローチでは、地球の大気と地表の物理ベースの表現を作成し、膨大な量の流体力学方程式を計算します。これは非常に難しいことです。

ML アプローチを使用すると、ML モデルが最終的に異なる量の雨を降らせる気象パターンの数学的関係を学習するまで、ML モデルに膨大な量の気象データが提供されます。次に、モデルに現在の気象データを入力すると、降水量が予測されます。

理解度チェック

ML における「モデル」とは何ですか?
モデルは、ML システムが予測を行うために使用する、データから導き出された数学的関係です。
モデルはコンピュータ ハードウェアの一部です
モデルは、学習対象のものを小さく表現したものです。

ML システムの種類

ML システムは、予測やコンテンツの生成方法に基づいて、次の 1 つ以上のカテゴリに分類されます。

  • 教師あり学習
  • 教師なし学習
  • 強化学習
  • 生成 AI

教師あり学習

教師あり学習モデルは、正解を含む大量のデータを学習し、正解を生成するデータ内の要素間の関連性を発見した後、予測を行うことができます。これは、生徒が質問と回答の両方を含む過去の試験を学習して新しい教材を学ぶようなものです。過去の試験で十分にトレーニングを積んだ生徒は、新しい試験を受ける準備が整っています。これらの ML システムは、人間が既知の正しい結果を含むデータを ML システムに提供するという意味で「教師あり」です。

教師あり学習の最も一般的なユースケースは、回帰と分類です。

回帰

回帰モデルは数値を予測します。たとえば、雨量をインチまたはミリメートルで予測する天気モデルは回帰モデルです。

回帰モデルの例については、以下の表をご覧ください。

シナリオ 入力データ候補 数値予測
将来の住宅価格 面積、郵便番号、寝室とバスルームの数、敷地面積、住宅ローンの金利、固定資産税率、建設費用、地域で販売されている住宅の数。 家の価格。
将来の乗車時間 過去の交通状況(スマートフォン、交通センサー、配車アプリなどのナビゲーション アプリケーションから収集)、目的地までの距離、気象条件。 目的地に到着するまでの時間(分と秒)。

分類

分類モデルは、あるものがカテゴリに属する可能性を予測します。出力が数値である回帰モデルとは異なり、分類モデルは、特定のカテゴリに属するかどうかを示す値を出力します。たとえば、分類モデルは、メールが迷惑メールかどうか、写真に猫が含まれているかどうかを予測するために使用されます。

分類モデルは、バイナリ分類とマルチクラス分類の 2 つのグループに分類されます。バイナリ分類モデルは、2 つの値のみを含むクラスから値を出力します。たとえば、rain または no rain のいずれかを出力するモデルなどです。マルチクラス分類モデルは、2 つ以上の値を含むクラスから値を出力します。たとえば、rainhailsnowsleet のいずれかを出力できるモデルなどです。

理解度チェック

ML モデルを使用して商業ビルのエネルギー使用量を予測する場合、どのようなモデルを使用しますか?
回帰
エネルギー使用量はキロワット時(kWh)で測定され、数値であるため、回帰モデルを使用します。
分類
分類モデルは、あるものがカテゴリに属するかどうかを予測しますが、回帰モデルは数値を予測します。エネルギー使用量は数値であるキロワット時(kWh)で測定されるため、回帰モデルを使用します。

教師なし学習

教師なし学習モデルは、正解を含まないデータが与えられることで予測を行います。教師なし学習モデルの目標は、データ間の意味のあるパターンを特定することです。つまり、モデルは各データを分類する方法に関するヒントを持っておらず、独自のルールを推測する必要があります。

一般的に使用される教師なし学習モデルでは、クラスタリングという手法が採用されています。モデルは、自然なグループ分けを区切るデータポイントを見つけます。

クラスタ内の色付きのドットを示す画像。

図 1. 類似したデータポイントをクラスタリングする ML モデル。

図形と境界線で囲まれたクラスタ内の色付きのドットを示す画像。

図 2. 自然な境界線で区切られたクラスタのグループ。

クラスタリングは、カテゴリがユーザーによって定義されないため、分類とは異なります。たとえば、教師なしモデルは気温に基づいて気象データセットをクラスタリングし、季節を定義するセグメンテーションを明らかにします。次に、データセットの理解に基づいて、これらのクラスタに名前を付けようとします。

雪、雨、雹、雨なしとラベル付けされた、色付きのドットが密集している画像。

図 3. 同様の気象パターンをクラスタリングする ML モデル。

雪、雨、雹、雨なしとラベル付けされた色の付いた点が、それぞれまとまって表示され、互いに接している図形に囲まれている画像。

図 4. 雪、みぞれ、雨、雨なしとラベル付けされた気象パターンのクラスタ。

理解度チェック

教師ありアプローチと教師なしアプローチの違いは何ですか?
教師ありアプローチでは、正解を含むデータが提供されます。
教師ありアプローチでは、正解を含むデータが提供されます。モデルの役割は、正しい答えを生成するデータ内のつながりを見つけることです。教師なしアプローチでは、正解のないデータが提供されます。その役割は、データ内のグループを見つけることです。
教師ありアプローチでは通常、クラスタリングが使用されます。
教師なしアプローチではクラスタリングが使用されます。
教師なしアプローチでは、データのクラスタにラベルを付ける方法を認識しています。
教師なしアプローチでは、データのクラスタの意味を把握できません。データに対する理解に基づいて、ユーザーが定義する必要があります。

強化学習

強化学習モデルは、環境内で行われたアクションに基づいて報酬またはペナルティを受け取ることで予測を行います。強化学習システムは、最も多くの報酬を得るための最適な戦略を定義するポリシーを生成します。

強化学習は、ロボットが部屋を歩き回るなどのタスクを実行できるようにトレーニングしたり、 AlphaGo などのソフトウェア プログラムが囲碁をプレイできるようにトレーニングしたりするために使用されます。

生成 AI

生成 AI は、ユーザー入力からコンテンツを作成するモデルの一種です。たとえば、生成 AI は、独自の画像、音楽、ジョークを作成したり、記事を要約したり、タスクの実行方法を説明したり、写真を編集したりできます。

生成 AI は、さまざまな入力から、テキスト、画像、音声、動画など、さまざまな出力を作成できます。また、これらの組み合わせを取得して作成することもできます。たとえば、モデルは画像を入力として受け取り、画像とテキストを出力として作成したり、画像とテキストを入力として受け取り、動画を出力として作成したりできます。

生成モデルは、通常「入力のタイプ」から「出力のタイプ」として記述される入力と出力で説明できます。たとえば、生成モデルの入力と出力の一部を次に示します。

  • Text-to-text(テキストからテキスト)
  • Text-to-image(テキストから画像)
  • テキストからの動画生成
  • Text-to-code(テキストからコード)
  • テキスト読み上げ
  • 画像とテキストから画像への変換

次の表に、生成モデル、入力、出力の例を示します。

モデル 入力 出力例
Text-to-text(テキストからテキスト) ルマン 24 時間レースを考案したのは誰ですか? ルマン 24 時間レースは、1906 年に設立された自動車団体である Automobile Club de l'Ouest(ACO)によって創設されました。最初のレースは 1923 年 5 月 26 日と 27 日に、フランスのルマンの町の近くにある 13.426 km(8.345 マイル)のロード サーキットであるサルト サーキットで開催されました。このレースは、ACO とサルト地方を宣伝する方法として考案されました。
出典: Bard
Text-to-image(テキストから画像) 新聞を読みながらポータルを漂うタコのエイリアン。 漫画風のタコの画像。
出典: Imagen
テキストからの動画生成 サンフランシスコの海で泳ぐリアルなテディベア。テディベアが水中に沈んでいく。テディベアは、カラフルな魚と一緒に水中で泳ぎ続けます。パンダが水中で泳いでいる。 水中で泳ぐテディベアの動画。
出典: Phenaki
Text-to-code(テキストからコード) 数値のリストをループ処理して素数を出力する Python ループを記述します。
for number in numbers:
  # Check if the number is prime.
  is_prime = True
  for i in range(2, number):
    if number % i == 0:
        is_prime = False
        break
  # If the number is prime, print it.
  if is_prime:
    print(number)

出典: Bard
画像からテキストへの変換 フラミンゴの画像。 これはフラミンゴです。カリブ海に生息しています。
出典: Google DeepMind

生成 AI はどのような仕組みで機能しますか?生成モデルは、新しいが類似したデータを生成することを目的として、データのパターンを学習します。生成モデルは次のようになります。

  • 人々の行動や話し方を観察して他人の真似をすることを学ぶコメディアン
  • 特定のスタイルの絵画をたくさん研究して、そのスタイルで絵を描くことを学んだアーティスト
  • 特定の音楽グループの曲をたくさん聴いて、そのグループの音を再現するカバー バンド

独自のクリエイティブな出力を生成するために、生成モデルは最初に教師なしアプローチでトレーニングされます。このアプローチでは、モデルはトレーニングに使用されたデータを模倣することを学習します。モデルは、モデルが実行を求められる可能性のあるタスク(記事の要約や写真の編集など)に関連する特定のデータで、教師あり学習や強化学習を使用してさらにトレーニングされることがあります。

生成 AI は急速に進化しているテクノロジーであり、新しいユースケースが常に発見されています。たとえば、生成モデルは、背景の自動削除や低解像度画像の品質向上によって、企業の e コマース商品画像の改善に役立っています。