ChatGPTやMidjourneyなど、AIサービスの著しい進化が、近年巷の話題をさらい続け、ビジネスやクリエイティブのあり方を刷新するのではないかと期待(と不安)を集めています。企業・ビジネスパーソンとして、AIの導入・開発に興味を抱く方も増加しているでしょう。
AIの開発にあたって、AI学習データが必要だと耳にしたことがある方は少なくないでしょう。AI学習データとは何かや、重視すべき理由、準備する方法などについて、役立つサイト、記事などとともにまとめてご紹介します。
AI学習に必要なデータは大きく2つに分類されます。
ひとつは教師あり学習で使われる「ラベルつきデータ」です。あらかじめ与えられた正解データとラベルつきデータを対応させることで、AIは特徴量(数値的に表されたデータの特徴)を導き出し、機械学習モデルを構築します。ラベル付きデータとは、正解データと対応させるため、メタ情報が付与されたデータを指します。
もうひとつは教師なし学習で使われる「ラベルなしデータ」です。ラベルなしデータは正解の与えられていないデータであり、教師なし学習では、GAN(敵対的生成ネットワーク)、クラスタリング、主成分分析、SOM(自己組織化マップ)といった手法でデータの生成と検証や、分類、次元圧縮などを行い、特徴量を抽出します。
教師あり学習、教師なし学習を併用した半教師あり学習も良く用いられる手法として押さえておきましょう。
また、近年注目を集める「強化学習」は、AIが環境との相互作用をもとにもたらした結果に対し、目的に応じた報酬を与えることで、AIが自ら学習を強化していくという開発手法です。そのため、学習データをあらかじめ与える必要はありません。
たとえばChatGPTは、あらかじめ生成した教師あり学習で初期モデルを構築したうえで、チャットボットの生成したメッセージをサンプリングし、人間のAIトレーナーがランク付けを行うRLHF(Reinforcement Learning from Human Feedback:人間のフォードバックによる強化学習)により訓練されたことがOpenAIの公式サイトに明記されています。
また、AI学習データには「訓練データ」「検証データ」「テストデータ」という分類もあります。
訓練データは、機械学習アルゴリズムが特徴量を発見するためのデータです。検証データは訓練データで開発されたAIモデルを評価するためのデータであり、ハイパーパラメーターのチューニングなど、モデルを最適化するために用いられます。テストデータは訓練済みのモデルの最終的な評価に使用されるデータセットであり、モデルの汎化性能を評価するために使用されます。
機械学習モデルの開発は大きくわけて、以下の5ステップで行われます。
1.課題の設定
2.AI学習データの収集
3.データの前処理
4.モデルの作成
5.モデルの検証
このうち、全体の7~8割近い工数が「AI学習データの収集」と「データの前処理」に費やされるともいわれます。テキストやコンテンツの生成、需要や規模の予測、画像認識などどんな目的であれ、学習元となるデータの量が少なかったり、質が劣っていたりすればモデルの品質が低下する原因となります。
スパースモデリングやデータの拡張(水増し)など、データ量の少なさを補う技術も開発が進んでおり、また先にご紹介したように強化学習ではあらかじめ学習用データを用意するは必要ないものの、十分な量・質のデータセットを用意できればそれに越したことはありません。
「AI学習データの収集」は、社内のデータベース・データエコシステム構築と、社外からのデータ収集の2軸で考える必要があります。社内のデータベース・データエコシステム構築にあたっては、データのじかんの下記解説記事が役立ちます。
また、IoT(モノのインターネット)など社内や製品からデータを収集する方法もデジタル技術の進展により発展してきています。社外からのデータ収集は、手動やスクレイピングなどの自動化された手法、他社からの購入といった手段で行うことになります。近年は政府や企業によるオープンデータの公開・提供が積極的に行われており、API連携の可能性も開かれています。
たとえば、e-GOVポータル(行政サービス・施策に関する情報案内サイト)でまとめられている行政APIがまとめられているのが下記リンク先。
また、Googleは目的別にAI学習用データセットを検索できるサービス「データセット検索」を2018年9月から提供しています。
「データの前処理」はデータサイエンティストやデータアナリストといった専門家のスキルが求められる領域であり、収集したデータをモデル構築にあたって使える学習用データとするために欠かせないプロセスです。
データ前処理の手法は下記の通り、多岐にわたります。
・欠損値の削除・補間
・はずれ値の除去
・文字列の数値への変換
・重複データの処理
・画像のセグメンテーション
・メタデータの付与(アノテーション)
・特徴量選択
・データの統合
・データ拡張
etc…
データの前処理の目的は、開発する機械学習モデルの精度を高めることにあります。前処理を行い、モデル作成、検証、チューニングを繰り返すことで、求める水準まで機械学習モデルの品質を高めるのが、スタンダードなAI開発の手順です。
AI学習データの種類やAI開発における重要性、準備するための重要な手順(収集・前処理)についてご紹介しました。記事中でもいくつか言及したように、学習用データセットを検索・取得する手段は意外と数多くあるものです。衛星データが無償で利用可能な「Tellus」などデータのじかんの過去記事でもほかにも多くのプラットフォームが取り上げられているため、ぜひ参考にしてみてください。
(宮田文机)
・AIへのデータ利用の状況┃総務省
・Introducing ChatGPT┃Open AI
メルマガ登録をしていただくと、記事やイベントなどの最新情報をお届けいたします。
30秒で理解!インフォグラフィックや動画で解説!フォローして『1日1記事』インプットしよう!