機械学習の概要

機械学習(ML)は、翻訳アプリから自律走行車に至るまで、Google が使用する最も重要なテクノロジーのいくつかを支えています。このコースでは ML の背後にある 基本コンセプトについて説明します

ML は、問題の解決、複雑な質問への回答、新しいコンテンツの作成を行うための新しい方法を提供します。ML は、天気の予測、移動時間の推定、曲のおすすめ、文章のオートコンプリート、記事の要約、未知の画像の生成を行えます。

簡単に言うと、ML とは、有用な予測を行ったり、データからコンテンツを生成したりするために、modelと呼ばれるソフトウェアをトレーニングするプロセスです。

たとえば、降雨を予測するアプリを作成するとします。従来の方法でも ML のアプローチでも構いません。従来のアプローチでは、大量の流体力学の方程式を計算して、地球の大気と地表を物理学に基づいて表現します。これはとても難しい作業です。

ML アプローチを使用すると、ML モデルに大量の気象データが与えられ、最終的に雨量の異なる気象パターン間の数学的関係を ML モデルが学習するまでなります。次に、モデルに現在の気象データを渡すと、雨量が予測されます。

理解度チェック

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

ML システムの種類

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

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

教師あり学習

教師あり学習のモデルは、大量のデータから正しい回答が得られ、データ内の要素間のつながりを見つけて正解を導き出した後、予測を行うことができます。これは問題と解答の両方がある古い試験を 勉強して新しい教材を勉強するようなものです過去の試験で十分な数のトレーニングを終えると、新しい試験を受ける準備が整います。これらの ML システムは、人間が ML システムのデータに既知の正しい結果を提供するという意味で「教師あり」です。

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

回帰

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

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

シナリオ 入力可能なデータ 数値予測
将来の住宅価格 面積、郵便番号、寝室とバスルームの数、土地の大きさ、住宅ローン金利、不動産税率、建設費、その地域で販売されている住宅の数。 住宅の価格。
今後の配車時間 過去の交通状況(スマートフォン、トラフィック センサー、配車サービスなどのナビゲーション アプリから収集されたもの)、目的地からの距離、気象状態。 目的地に到着するまでの時間(分と秒)。

分類

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

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

理解度チェック

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

教師なし学習

教師なし学習モデルでは、正解のないデータが与えられて予測が行われます。教師なし学習モデルの目標は データの中から意味のあるパターンを識別することですつまり、モデルには各データの分類方法に関するヒントはありませんが、独自のルールを推測する必要があります。

よく使用される教師なし学習モデルでは、クラスタリングと呼ばれる手法が使用されます。このモデルは、自然グループを区切るデータポイントを見つけます。

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

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

1 つの図形で囲まれ、互いに境界を囲む複数の色付きのドットを示す画像。

図 2. 自然な境界を持つクラスタのグループ。

クラスタリングは分類とは異なります。カテゴリはユーザーが定義しないためです。たとえば、教師なしモデルでは、気温に基づいて気象データセットをクラスタ化し、季節を定義するセグメンテーションを明らかにできます。データセットの内容に応じて、クラスタに名前を付けてみてください。

雪、雨、ひょう、雨なしとラベル付けされたクラスター内の色付きのドットを示す画像。

図 3. 類似した天候パターンをクラスタ化する ML モデル。

雪、雨、ひょう、雨なしのラベルが付いたクラスタが色付きのドットで、それらの図形が互いに境界を囲む形で囲まれている画像。

図 4. 雪、みぞれ、雨、雨なしのラベルが付いた天候パターンのクラスタ。

理解度チェック

教師ありアプローチと教師なしアプローチの違いは何ですか。
教師ありアプローチでは、正解を含むデータが渡されます。
教師ありアプローチでは、正解を含むデータが与えられます。 このモデルの役割は、データ内で正しい回答を生成するつながりを見つけることです。教師なしアプローチでは、正解のないデータが与えられます。その役割は、データ内のグループを見つけることです。
教師ありアプローチでは通常、クラスタリングが使用されます。
教師なしアプローチでは、クラスタリングを使用します。
教師なしアプローチでは、データのクラスタにラベルを付ける方法を把握します。
教師なしアプローチでは、データのクラスタの意味がわかりません。 どのようなデータがあるかは、ご自身の判断で決めてください。

強化学習

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

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

生成 AI

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

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

生成モデルは、入力と出力(通常は「入力のタイプ」から「出力のタイプ」への変換)で説明できます。たとえば、生成モデルの入力と出力の一部を以下に示します。

  • Text-to-text(テキストからテキスト)
  • Text-to-image(テキストから画像)
  • Text-to-video(テキストから動画)
  • テキストからコード
  • Text-to-Speech
  • 画像とテキストから画像

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

モデル 入力 出力例
Text-to-text(テキストからテキスト) ルマンのレースを考案したのは誰? ルマン 24 時間レースは、1906 年に創設された自動車団体である Automobile Club de l'Ouest(ACO)によって設立されました。最初のレースは 1923 年 5 月 26 日と 27 日に、フランスのルマン近郊にある全長 13.426 km(8.345 マイル)のサーキット、サルトサーキットで開催されました。このレースはもともと、ACO とサールト地方を広める手段として考えられていました。
出典: Bard
Text-to-image(テキストから画像) エイリアンのタコが入口を通って新聞を読んでいる。 漫画のタコの画像。
出典: Imagen
Text-to-video(テキストから動画) サンフランシスコの海で泳いでいるフォトリアリスティックなテディベア。 テディベアが水没。テディベアはカラフルな魚と一緒に泳いでいます。水の中を泳いでいるパンダのクマ。 水中を泳いでいるテディベアの動画。
出典: Phenaki
テキストからコード 数値のリストをループして素数を出力する 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 コマースの商品画像を改良するのに役立ちます。