マシーンラーニングとは

Tessa • Product Management

  • AI Tips

マシーンラーニング(Machine Learning, ML)とは?

機械学習はAIを具現するための方法の一つとして長い間研究されてきた分野です。単語を直訳すると「機械学習」という意味で、コンピュータが自らデータを学習するようにするという意味です。 1959年、アーサー・サミュエルは機械学習を"明示的にプログラムを作成しなくてもコンピュータに学習できる能力を付与するための研究分野"と定義しました。 [1]

直近の定義としては、1998年にトム・ミッチェルが「もしある作業Tで経験Eを通じて性能測定方法であるPで測定した時に性能が向上すれば、このようなコンピュータプログラムは学習をすると言う」と説明したことです。ちなみにトム・ミッチェルはカーネギーメロン大学の教授で、「機械学習」という著書を書いた機械学習の父です。 [2]

もちろん、AI研究の初期には、人がいちいち数多くの規則をコンピューターに知らせる方式も試みられました。よくこのように作られたAIを「ルールベースAI」と呼びます。当然、可能であれば、人がいちいち方法を教えてくれるよりは、コンピュータが自ら学習できるようにする方法が効率的で潜在力も大きいです。

しかし、機械学習分野は長い間、大きな成果を出すことができませんでした。これは、機械学習方式で適切な成果が出るためには、莫大なデータとコンピューティングパワーが後押しされなければならなかったためです。そのため、一時は機械学習に対する失望感が非常に大きく、「機械学習」という名前を掲げると研究支援を受けられないほどだったそうです。 [3]

しかし、機械学習研究をあきらめなかった学者たちの研究が続き、コンピューティングパワーの発展が後押しされた結果、今では機械学習がAIの厳然たる主流になりました。現在注目されているAI分野の主要成果はすべてマシンラーニングという大きな枝の下から出たものです。

例えば、y=ax+bのような方程式があれば、xというデータが入力される時、yという正解を計算できる条件aとbをコンピュータが見つけられるように学習させることを機械学習と言えます。学習方法によって様々な種類に分けることができます。ほとんどのAI関連資料が機械学習の学習方法として「教師あり学習」「教師なし学習」「強化学習」の3つを紹介していますが、実は今は3つの方式の他にも数多くの形式が存在します。

本文では、「教師あり学習」「教師なし学習」「強化学習」の3つの方式に加え、教師なし学習の一つである「自己教師あり学習」、そして教師あり学習と教師なし学習を混合した形態である「半教師あり学習」、LLMが登場した以後に重要になった概念である「インコンテキストラーニング」まで追加してご紹介します。

マシーンラーニングの学習方式の種類

1. 教師あり学習(supervised learning)

「教師あり学習」は、データと正解(ラベル)の両方を提供する機械学習の方法です。 AIが数多くの入力 - 出力のペアを観測し、特定の入力から特定の出力を送り出す関数を学習させることです。人が直接"問題"に正解を提供するため、特に分野・予測(AI研究では"回帰"という用語を使用する)タイプの問題を解決するのに役立ちます。[4]

(出典:Supervised Machine Learning

分類(classification)は、学習データに正解を指定して、正解に従ってグループを分ける方法です。迷惑メールの分類システムが例に挙げられます。AIは数多くのメールを"正常メール"と"迷惑メール"に分類し、メールに含まれた単語の「迷惑性」を測定して迷惑メールの特徴を学習します。その結果、新たに受信したメールが迷惑メールかを「分類」できるようになります。

回帰(regression)は、数多くの入力-出力ペアデータを学習させ、新しい入力値に対して合理的な出力値が出るようにする方法です。例えば、勉強時間による学習成熟度の予測、走行距離によるタクシー料金予測のようにデータが連続した数字で構成されている場合、その結果値を予測することが可能です。

教師あり学習は2010年代まではAIの支配的なパラダイムでした。初期の自動運転車や音声アシスタントも教師あり学習を基盤に誕生したAIサービスです。しかし、教師あり学習をするにはデータにいちいちラベルが貼られなければならないという点が問題でした。全てのデータが精製されているわけではないためです。

以下は、指導学習アルゴリズムの例です。

(1) 分類

  • k近傍法(K-nearest Neighbors):入力データに最も近いk個のデータを探して分類します。

  • サポートベクターマシン(SVM、Support Vector Machine):データを分類するために最適な境界を見つけるアルゴリズムです。

  • 決定木(Decision Tree)、ランダムフォレスト(Random Forest):データの特徴に基づいてツリー構造を生成し、分類します。

(2) 回帰

  • 線形回帰(Linear Regression):入力変数と出力変数の間の線形関係をモデル化します。

  • ロジスティック回帰(Logistic Regression):出力変数がバイナリ分類のときに使用される回帰分析手法です。

2-1. 教師なし学習(unsupervised learning)

世の中には正解のないデータもあります。このようなデータに対しては、与えられたデータに対して正解を提供せずに学習させる、「教師なし学習」という方法を使います。AIがデータの中でパターンを見つけ、似たようなタイプ同士で縛るようにするのです。当然、教師あり学習に比べてはるかに具現しにくいです。

(出典:Clustering in Machine Learning

AIが教師なし学習を通じてそれなりの基準を探して、データを複数のグループに束ねることを「クラスタリング(clustering)」と呼びます。クラスタリングは、人がデータに明確な正解を付けにくい分野に適しています。似たような特徴を持つ写真同士をグループ化して見せる写真アプリケーションの機能、マーケティング分析、天文学データの分析などに使われています。以下は、教師なし学習の例です。[4]

(1) クラスタリング(clustering)

  • k平均法(K-means):データをk個のクラスタに分け、各クラスタの中心点を基準にデータを割り当てます。

  • DBSCAN(Density-Based Spatial Clustering of Applications with Noise):密集している領域を自動的に見つけ出すアルゴリズムで、密度の高い部分をクラスタに結び、ノイズ点を分離します。

(2) 視覚化(Visualization)と次元削減(Dimensionality Reduction)

  • 主成分分析(PCA、Principal Component Analysis):高次元データを低次元に変換し、データの主な特徴を抽出します。

  • t-SNE(t-distributed Stochastic Neighbor Embedding):高次元データを視覚化するために低次元に変換する方法です。

(3) アソシエーションルール学習(Association Rule Learning)

  • アプライオリ(Apriori):データ間の関連付けルールを見つけるアルゴリズムです。

(4) 生成モデル(Generative Models)

  • オートエンコーダー(Autoencoder):入力データを圧縮して復元し、特徴を学習するニューラルネットワークです。

  • GAN(Generative Adversarial Network):生成者と判別者が競争しながらデータを生成するモデルです。

2-2. 自己教師あり学習(self-supervised learning)

「自己教師あり学習」は教師なし学習の一種です。自己教師あり学習は、ラベル(正解)のないデータから学習するという点で、教師なし学習と似ています。教師なし学習がデータに対するラベルや目標なしに「クラスタリング」のような技法でデータを理解しようとする反面、自己教師あり学習はデータ自体からラベルを生成し、これを利用して学習します。ラベルのない大規模なデータを活用してモデルを学習させるのに役立つでしょう。

(出典: Self-Supervised Learning(SSL))

自己教師あり学習という概念と用語はディープラーニング分野の大物研究者である"ヤン・ルクン"が2019年に書き始めてから多く広がりました。[5] だからといって2019年になって登場した概念ではなく、業界では2007年のある論文に由来しているとみています。[6]

GoogleのBERTモデル、Open AIのGPTシリーズがこの類型に属します。

3. 強化学習(reinforcement learning, RL)

「強化学習」は、教師あり学習や教師なし学習とは大きく異なります。簡単に言えば、AIがうまくやれば報酬を与えながらAI自らがより多くの報酬を受けるための方法を学習するようにする方法です学習するシステムである「エージェント(agent)」が与えられた環境(environment)を観察して行動(action)を実行し、ここから報酬(reward)を受けて学習を進めます。エージェントは、時間の経過とともに最大の報酬を得るためにポリシー(policy)と呼ばれる最良の戦略を自ら学習します。

(出典:Reinforcement Learning: An Introduction

強化学習の代表的な例は、2016年のイ・セドルに勝って全世界に衝撃を与えたGoogle DeepMindが開発した「AlphaGo」が挙げられます。

(出典:AlphaGo's ultimate challenge

AlphaGoはプロの囲碁棋士の棋譜を学習し、自分たちでゲームをしました。勝った場合は「陽」の報酬を、負けた場合は「陰」の報酬を与えました。報酬をもっと貰う方向にアルゴリズムの「荷重値」を修正しました。DeepMindが発表した論文によると、DeepMindでは強化学習を通じて伝統的なゲームをするプログラムを49個作ってテストし、このうち29個で人より高い点数を得ました。[7] [8]

この中でもDeepMindのAIがレンガ割りゲーム(Breakout)をする映像はかなり有名です。下のYoutube動画を見てください。AIは初めはゲームが苦手ですが、ゲームを600回した後は壁の1ヶ所を集中的に開けてボールを上の空いた空間に上げれば良いということを把握し、ゲームをクリアすることができます。

代表的な強化学習アルゴリズムは次のとおりです。 すべてディープマインドで作ったアルゴリズムです。

  • Deep-Q-Network(DQN):Q-Learningをディープラーニングと結合し、複雑な環境でも学習できるようにしたアルゴリズムです。

  • A3C(Asynchronous Advantage Actor-Critic):複数のエージェントが同時に学習し、より速く効率的な学習を可能にしたアルゴリズムです。

4. 半教師あり学習(semi-supervised learning)

「半教師あり学習」は教師あり学習と教師なし学習を混ぜた方式です。正解がついているデータと正解がついていないデータを一緒に使うことだと理解してください。一方のデータの追加情報を活用して、他方のデータの学習性能まで高めることを目指します。半教師あり学習もデータラベリングの限界のために登場した方式の一つだと言えます。[9] [10]

(出典:Semi-supervised learning 방법론 소개)

半教師あり学習の例としては、次のようなアルゴリズムがあります。

  • ラベル伝播(Label Propagation):ラベルのあるデータの情報をラベルのないデータに伝達して学習します。

  • ラベル拡散法(Label Spreading):ラベル伝播に似ていますが、より柔軟にラベルを伝達します。

5. インコンテキストラーニング(in-context learning, ICL)

ChatGPTが有名になり、AIが良い回答を出せるように誘導する「プロンプト」の重要性も知られるようになりました。インコンテキストラーニングは、ユーザーがプロンプトを入力したとき、AIモデルがこのプロンプトを通じて提供された文脈や例を理解し、これに基づいて新しい情報を生成したり、問題を解決する方法を指します。

したがって、上で説明した他のマシーンラーニングの学習方法とは厳密に言えば少し異なります。モデルが新しいデータを学習するのではなく、与えられた文脈(context)内ですでに学習した内容に基づいて質問に答えたり、作業を遂行する方法だからです。[11] [12]

(出典:A Survey on In-context Learning)

上記の画像は、ある論文でインコンテキストラーニングのプロセスを表現した図です。食べ物がおいしい(Delicious)、ひどい(awful)などの感想を表現した例題文を基に、次の作業が行われたことが分かります。この論文では、インコンテキストラーニングの核心は「類似(analogy)」から学ぶことだと叙述しています。 [11]

今後、AI技術のアクセス性はさらに高まることになるので、大規模なデータをすぐに扱わずに、いくつかのプロンプトだけで簡単にAIを扱えるインコンテキストラーニングは、今後さらに重要になる概念だと言えます。

マシーンラーニングとディープラーニングはどんな関係性なのか

マシーンラーニングにも様々な方法論があります。その中の一つがニューラルネットワークです。人の脳の構造を真似すれば、人の知能を真似できるという発想から始まった分野でした。しかし、当然、過去の技術力とインフラでは実現するのに困難が多く、現実的にはそれほど良い性能を見せませんでした。特にニューラルネットワークの概念である「パーセプトロン」の限界が指摘された事件は、第一次人工知能の冬を呼び起こしたと評価されるほどです。

しかし、ニューラルネットワーク分野を着実に研究してきた学者が存在しました 特に、ジェフリー・ヒントンという研究者は、これまでニューラルネットワークの限界とされていた様々な問題を解決し、成果を上げました。その結果誕生したマシーンラーニングの新しい方法論をディープラーニングと呼びます。ディープラーニングは、マシーンラーニングを実現するための様々な方法論の中でもニューラルネットワーク分野に属しているのです。

ディープラーニングの登場は、マシーンラーニング自体の復興期をもたらしたと評価されています。特に、LLMが登場し、ディープラーニングは単にAIの様々な方法論の一つではなく、最も主流であり基本的な概念になりつつあります。

原文:Tena(Content Marketer in Korea)

翻訳:Tessa(CX/Product in Japan)


[1] 앨런 튜링, 곽재식 해제, 노승영 역, "지능에 관하여", 에이치비프레스, 2019.

[2] 스튜어트 러셀 and 피터 노빅, "인공지능 1: 현대적 접근방식," 류광 역, 제4판, 서울: 제이펍, 2021.

[3] 마쓰오 유타카, "인공지능과 딥러닝: 인공지능이 불러올 산업 구조의 변화와 혁신", 동아엠앤비, 2015.

[4] 이철현 et al., "고등학교 인공지능 기초," 미래엔, 국배변형판, 2015.

[5] Y. LeCun, Facebook, Apr. 30, 2019.

[6] R. Raina et al, "Self-taught learning: transfer learning from unlabeled data" in ICML '07: Proceedings of the 24th international conference on Machine learning, New York, NY, USA, Jun. 2007, pp. 759-766.

[7] V. Mnih et al, "Human-level control through deep reinforcement learning", Nature, vol. 518, pp. 529-533, Feb. 2015.

[8] D. Silver et al., "Deep reinforcement learning", DeepMind Blog, Jun. 17, 2016.

[9] ESTsoft A.I. PLUS Lab, "Semi-supervised learning 방법론 소개" EST AI Blog, Nov. 9, 2020.

[10] J. E. van Engelen and H. H. Hoos, "A survey on semi-supervised learning" Machine Learning, vol. 109, pp. 373-440, Nov. 2019.

[11] Q. Dong et al., "A Survey on In-context Learning" arXiv, vol. 2301.00234, Dec. 2022, revised Jun. 2024.

[12] T. Brown et al., "Language Models are Few-Shot Learners" in Advances in Neural Information Processing Systems 33 (NeurIPS 2020), 2020.

有料プランの14日間無料お試し実施中!

直感的に使えるチャットツールです

業務用メールアドレスを入力