AI(人工知能)について勉強していくと、現在のAI(人工知能)にとっていかに「教師データ」が重要な要素なのかが分かってきますよね。
現在のAI(人工知能)は機械学習の「ディープラーニング(深層学習)」と呼ばれる方法を用いた開発が主流になっています。そしてディープラーニングは人間の脳を真似た仕組みのニューラルネットワークを用いた最先端のAI(人工知能)技術です。
このニューラルネットワークを分かりやすくする説明すると、AI(人工知能)が学習していく仕組みで、ディープラーニングはニューラルネットワークを複雑な仕組みにしてより高度な学習能力を持ったAI(人工知能)を誕生させています。
そして機械学習は大きく分けると「教師あり学習」「教師なし学習」「強化学習」の3つの学習の種類で分けることができます。
その中で教師あり学習はAIが教師データをもとに学習するのでその名で呼ばれており、ディープラーニングによる活用が一般的になっているのも教師あり学習です。そのため実際に「教師あり学習+ディープラーニング」で実用化されているAI(人工知能)システムは多数あります。
近年の目覚ましいAI(人工知能)技術の進化は、ディープラーニングによって実現しており、教師あり学習への応用が多いのを考えるとディープラーニングにとっても、教師データは重要な要素なのです。
では実際に教師データがAI(人工知能)開発で果たしている役割とは何か、教師データを扱う上で知っておきたいポイント、実用化されているAI(人工知能)システムについてお伝えしましょう。
教師データ(訓練データ)とは
どの学習も最終的にAI(人工知能)が「課題を解決する」という目的を達成するために必要な学習ですが、それぞれはAI(人工知能)が解決していく課題の種類によって使い分けます。
そして3種類のうちAI(人工知能)が教師データで学ぶのは教師あり学習だけ。教師あり学習ではAI(人工知能)が教師データをもとに学習して規則性やパターンを見つけ出します。
また教師データは訓練データ、学習データとも呼ばれており、さらに「入力データ」と「正解データ」の2つに分けられます。
これは画像だけでなく動画や文章でも同じように教師データを与えて学習させると、AI(人工知能)にとって未知のデータでも正解を予測して見つけ出せるようになります。
ここでの内容をまとめるとAI(人工知能)にとって教師データは教材。AI(人工知能)が課題に対する正解を予測できるようにするには教師データが必要不可欠だといえるでしょう。
教師あり学習・教師なし学習の違い
教師あり学習の対極と言えるのが教師なし学習です。教師なし学習では名前の通りに教師データを用いません。
このように両者は教師データを「使う」「使わない」で分けられていますが、具体的な違いとは何でしょうか。
教師あり学習
この課題を解決するためにAI(人工知能)はあるアルゴリズムに則った学習システムで教師データから学び、そこから得た特徴量 *1をもとに未知のデータから正解を予測していきます。
このときの「予測したい課題」はさらに2種類に分けられ、その一つが回帰です。
例えば、企業で過去の実績から来期の売上予測したい場合などがこれに当てはまります。
この問題の場合はアルゴリズムに線形回帰やサポートベクターマシンなどの分析方法を用いてAI(人工知能)が学習して得た特徴量から未知のデータを分析して正解を予測するのです。
こちらも例を挙げると画像認識技術の画像の判別がこれに当たり、アルゴリズムにはランダムフォレストやサポートベクターマシンが使用されます。
*1特徴量 その教師データの特徴で、それを数値化したもの。
特徴量について従来の機械学習では人間が決めていましたが、ディープラーニングの登場で特徴量もAI(人工 知能)自身が設定できるようになり、規則性やパターンの発見から正解予測まですべてがAI(人工知能)により自動で行えるようになりました。
教師なし学習
教師あり学習はAI(人工知能)が正解を予測できるようになるためにありますが、教師なし学習はAI(人工知能)がデータの構造を知るための学習なのです。
そしてデータの構造について「知りたい課題」は大きく「グループ分け」と「データの簡略化」に分けられます。
一般に、教師なし学習でグループ分けのことを「クラスタリング」と呼んでいます。
この手法はさらに階層クラスター分析と非階層クラスター分析の2種類あり、階層クラスター分析ではウォード法や群平均法など、非階層クラスター分析はk-means法などの分析方法をアルゴリズムに用います。
そしてデータの簡略化は「次元削減」といい、アルゴリズムに主成分分析(PCA)、潜在意味解析(LSA)などの方法を使用します。
データの簡略化では「商品Aと商品Bがいっしょに買われることが多い」など隠れていた相関関係を知ることが可能です。
3つの機械学習は課題に合わせて使い分ける
教師あり学習と教師なし学習を比べると教師あり学習は未知のデータから正解を予測して行きますが、これに対して教師なし学習は正解・不正解という概念はありません。
しかし読み込んだ未知のデータの構造を知ることができます。そして機械学習で3つ目の学習が強化学習。
強化学習での最適な選択の仕方とはAI(人工知能)が課題解決という目的にたどり着くため、最も価値が高くなる対応を選択し続けていく方法です。
その代表的な実用例には強化学習にディープラーニングを応用した囲碁のAI(人工知能)「AlphaGo」や二足歩行ロボット、自動運転などが挙げられます。
このように教師あり学習、教師なし学習、強化学習はそれぞれが課題に応じたAI(人工知能)の学習方法として誕生しています。
そのため三者間に優劣はなく、未知のデータから正解を知りたいなら教師あり学習、データの構造や法則がどうなっているかを知りたいなら教師なし学習、未来に向けて最善を考えていくなら強化学習という具合に、それぞれが得意とする課題に応じた使い分けをしましょう。
教師あり学習をやるときに気を付けたいこと
教師あり学習は売上予測など過去の事例にもとづいた正解を予測することができます。
しかしその予測精度の良し悪しに関わる気を付けなければならない大きなポイントが2つあります。
学習不足と過学習
AI(人工知能)の中にはモデルと呼ばれるシステムがあり、教師あり学習でAI(人工知能)が教師データから学習して未知のデータから正解の予測を行っていくためにモデルが作られます。
そしてモデルを作るために必要な学習が少なすぎてモデルの構造が単純になり、正確な予測ができなくなるのが学習不足(アンダーフィッティング)です。
学習不足は学習の少なさで起きますが、その反対にやり過ぎで起きるのが過学習(オーバーフィッティング)です。
教師データはAI(人工知能)が完成後に実際に処理していく未知のデータを想定して用意します。
しかし教師データでの学習を過度に行ってしまうと教師データに忠実なモデルへと仕上がっていきますが、その反面モデルの構造が複雑になりすぎてしまうので、未知のデータに対しては正確な予測ができなくなります。
これを画像認識で例えると、同じネコの画像でも教師データと未知のデータの画像とで撮影角度や被写体の大きさが少しでも異なるとAI(人工知能)が「ネコではない」と判断してしまうようになるのです。
この学習不足と過学習から分かるように、AI(人工知能)の学習度合いや教師データの内容がそのAI(人工知能)の性能を左右するのです。
またこれらの問題は教師なし学習学習でも起こるので覚えておきましょう。
では過学習にはどのような対策をすればいいのでしょうか。
過学習を抑えるための方法
教師あり学習で過学習を抑えるためには主な4つ方法があります。
教師データの量を増やす
そのため教師データの量を増やすことでより多くの規則性やパターンを学習できるので、モデルを実際に処理していく未知データ群の全容に近づけることができます。
モデルを簡素化する
そこで正則化という手段で教師データ内の極端なデータや不要なデータを無視して、作られるモデルを単純化させます。
教師データの分割
この方法は交差検証と呼ばれホールドアウト検証、K-分割交差検証、leave-one-out交差検証などさまざまな方法があります。
ドロップアウト
ディープラーニングは人間の脳神経の仕組みを真似たニューラルネットワークと呼ばれるネットワークを用いて、AI(人工知能)自身が学習していくシステムになので優れた能力を発揮します。
しかしその分つくられるモデルの構造が複雑で過学習しやすい傾向にもあるのです。
ニューラルネットワークの構造は情報のやり取りを行う複数のユニット(もしくはニューロン)を結合させて成り立っています。
そのためすべてのユニットを使用して学習しないように、ランダムに選んだユニットを省きネットワークを簡素化するドロップアウトで過学習を抑えます。
教師あり学習を行う上で気をつけたい大きなポイントを2つ紹介しました。
その中でも特に過学習は教師あり学習にとって宿命のような課題ですが、そこからは用意する教師データがどれだけ重要なのかをうかがい知れます。
教師データがあると、こんなことができるようになる
教師データはAI(人工知能)に正解が何かを学習させることで未知のデータから正しい答えを予測できるようになります。
そしてこれは教師あり学習の特徴です。
私たちは日常生活の中でさまざまな判断をしながら生活を送っていますよね。
これも教師あり学習を用いた一つの事例であり、他の分野でも教師あり学習が活用されている事例は多く、知らずしらずのうちに私たちは教師あり学習を用いたAI(人工知能)の予測を利用しているのです。
教師データがあるからできる数値の予測
教師データは2つの「予測したい課題」を解決するためにAI(人工知能)の学習に使用します。
そしてその課題の一つが数値の予測です。
「教師あり学習」でも少し触れましたが、事例に挙げた企業の売上予測意外にもさまざまなことに実用されています。
教師データがあるからできる正解・不正解の仕分け
もう一つの「予測したい課題」は与えられたデータを正解か不正解で分類することです。
例えばインターネット通販サイトをよく利用しているAさんが商品Bを買うか買わないのか、受験生のCくんがD大学を受けて合格するか不合格になるのかを予測できます。
主な教師あり学習を活用したAI(人工知能)システムについてご紹介しました。
どのシステムも私たちにとって便利なシステムですよね。
そんな便利なシステムが実現できているのは教師あり学習とディープラーニングによって優れたAI(人工知能)が開発されているからであり、もう少し詳しくいうと教師データがあるからこそ実現できたAI(人工知能)システムなのです。
教師データを⽤意するときのポイント
教師あり学習にとって教師データの内容はAI(人工知能)自体の性能を左右するかなめです。
そのためどのような教師データを用意するかが教師あり学習によるAI(人工知能)開発の出発点になり、その良し悪しでAI(人工知能)の性能が変わってきます。
では性能の高いAI(人工知能)を作り出すためには、どのようなポイントに注意して教師データを用意すれば良いのでしょうか。
大量で適切な教師データ
「教師あり学習をやるときに気を付けたいこと」でお伝えしたようにAI(人工知能)が教師あり学習では過学習に注意しなければなりません。
この過学習について、学習させる教師データの量も関係しているのです。
そのためどんな未知のデータにも対応できるモデルを作るためには、さまざまな規則性やパターンをAI(人工知能)が十分に学習できるように、できるだけ大量のデータを用意して学習させることが望ましいのです。
そして次に適切な内容の教師データが求められます。
データのクレンジング
私たち人間も勉強で間違った内容を教えられると、そのまま覚えてしまいテストで間違った答えしか導き出せなくなりますよね。
ではクレンジングを行うときの主なポイントを紹介します。
人間が判断に困るデータは除去する
人間でも判断が難しいデータは、当然AI(人工知能)にも無理なので前もって取り除いておきます。
正解データに間違いがないかチェックする
正解データに間違いがあればAI(人工知能)は間違って覚えてしまい正しい判断ができないので、チェックし修正しておきます。
未知のデータを意識した教師データを用意する
実際にAI(人工知能)が処理していく未知のデータはさまざまです。
例えば画像認識だとデータによって画像サイズや撮影角度、鮮明度がそれぞれ違っています。
そのため未知のデータを処理する精度を出せるようにするためにもターゲットの特徴や傾向を抽出しやすいような教師データを用意する必要があります。
さて教師データを用意するときの主なポイントを2つ紹介しました。
紹介した内容は主なものなので深堀りすればこの他にもポイントはありますが、要するにAI(人工知能)の核になるモデルが、実際に処理していく未知のデータから高い精度の予測結果を出せるように仕上げることが大切なのです。
そのためにはできるだけ大量で適切な教師データを用意しましょう。
お伝えしたように教師データを用いた教師あり学習とその手法の中の一部であるディープラーニングはさまざまな分野で使用されています。
そして現在はディープラーニングがAI(人工知能)技術の中でリードしており、機械学習の中でも教師あり学習を応用した事例が多いので、教師データが最先端のAI(人工知能)開発において大切な一翼を担っているといえるでしょう。
また性能の高いAI(人工知能)を開発するにはできるだけ大量で適切な教師データを用意することが大切で、これでどんな未知のデータでも精度が高い予測ができるAI(人工知能)が誕生します。
すでに実用化している天気予報やメール、画像認識はどれも私たちが日常生活で利用しているシステムばかりですよね。
このようにAI(人工知能)が身近になって、すでにAI(人工知能)について学んでいる方や本格的にAIエンジニアを目指している方もいますが、これからどんどん同じような方が増えてくるかもしれません。
そしてAI(人工知能)について学習するポイントの一つになるのが教師データの重要性です。
現在のAI(人工知能)のディープラーニングには良い教師データは外せない存在なので、しっかりと理解しAI(人工知能)について学びましょう。
教師データ(きょうしデータ) の意味
AIの学習データ(教師データ)とは?
機械学習をどこよりもわかりやすく解説! 教師ありなし学習・強化学習だけでなく5つのアルゴリズムも完全理解!
【機械学習入門】教師あり学習と教師なし学習
教師あり学習と教師なし学習の違いとは?【使い道と例もセットで解説】
強化学習入門 ~これから強化学習を学びたい人のための基礎知識~
強化学習とは | 仕組み・深層強化学習・活用事例を解説
【2020年最新】強化学習とは?強化学習の概要から実例を徹底解説
教師あり学習 〜回帰〜
数分で、AI システムの開発における本質的な問題 「過学習(Overfitting)」を概観
過学習と学習不足について知る
【機械学習】過学習の回避方法
AIが学習しすぎる?「過学習」問題とそれを抑制する方法
機械学習の天敵「過学習」とは何か?
機械学習の過学習とは?その解消法についても解説
過学習とは?機械学習を実装する際に過学習を回避する方法をまとめていく!
【機械学習超初心者向け】ニューラルネットワークの基本
ニューラルネットワークの基礎解説:仕組みや機械学習・ディープラーニングとの関係は
過学習を防ぐ正則化
正則化の種類と目的 L1正則化 L2正則化について
機械学習を1ヵ月で実践レベルにする #9 (オーバーフィッティング)
機械学習勉強会(2) 機械学習のワークフロー
人工知能はどうやって「学ぶ」のか――教師あり学習、教師なし学習、強化学習 (1/2)
機械学習入門者向け 分類と回帰の違いをプログラムを書いて学ぼう
【天気予報】AI予測の精度が「気象庁」を遥かに超えている!?/
天気予報を例に機械学習の特徴を理解する
天気予報はどれくらい当たる? ウェザーニュースの予報精度を気象予報士が解説
機械学習にまつわる「データ準備」のAtoZ
人工知能(AI)開発の基本、データの準備からシステムへの組み込みはこう進めればいい
機械学習の仕組みと学習データ