特許第5984153号(P5984153)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許5984153情報処理装置、プログラム、及び情報処理方法
<>
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000006
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000007
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000008
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000009
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000010
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000011
  • 特許5984153-情報処理装置、プログラム、及び情報処理方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5984153
(24)【登録日】2016年8月12日
(45)【発行日】2016年9月6日
(54)【発明の名称】情報処理装置、プログラム、及び情報処理方法
(51)【国際特許分類】
   G06N 99/00 20100101AFI20160823BHJP
【FI】
   G06N99/00 153
【請求項の数】13
【全頁数】17
(21)【出願番号】特願2014-192511(P2014-192511)
(22)【出願日】2014年9月22日
(65)【公開番号】特開2016-62544(P2016-62544A)
(43)【公開日】2016年4月25日
【審査請求日】2016年1月12日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】勝木 孝行
(72)【発明者】
【氏名】篠原 祐真
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開2013−196680(JP,A)
【文献】 特開2010−014960(JP,A)
【文献】 嶌 真由理 外2名,"時系列分類のための部分類型に基づく特徴量",情報処理学会研究報告 数理モデル化と問題解決(MPS)[online],情報処理学会,2014年 2月24日,Vol.2014−MPS−097,第3号,pp.1−5
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00−99/00
G06T7/00
(57)【特許請求の範囲】
【請求項1】
複数の学習対象のデータセットとそれぞれの前記学習対象のデータセットに割り付けられた学習用のラベルとを有する学習データを用いて、予測対象のデータセットに割り付けるべきラベルを予測する予測モデルを学習する情報処理装置であって、
前記学習データにおける前記複数の学習対象のデータセットのそれぞれから複数のサブセットを抽出する抽出部と、
前記複数の学習対象のデータセットのそれぞれにおいて、前記複数のサブセットのそれぞれを重みづけてラベルの予測結果に反映する前記予測モデルを学習する学習処理部と、
を備える情報処理装置。
【請求項2】
前記学習処理部は、前記サブセットごとに異なる重み係数を割り当てることにより、前記サブセットごとに重みづけて前記ラベルの予測結果に反映させる予測モデルを学習する、
請求項1に記載の情報処理装置。
【請求項3】
前記サブセットのそれぞれについて、複数の特徴量を含む特徴ベクトルを生成する特徴ベクトル生成部を更に備え、
前記学習処理部は、前記特徴ベクトルの前記複数の特徴量のそれぞれに対応する複数の回帰係数を含む回帰ベクトルと、前記サブセットごとの前記重み係数とを用いる予測モデルを学習する、
請求項2に記載の情報処理装置。
【請求項4】
前記学習処理部は、前記回帰ベクトル及び前記重み係数の事前分布と前記学習データとを用いてベイズ推定を実行し、前記回帰ベクトル及び前記重み係数の事後確率分布を学習結果として出力する、
請求項3に記載の情報処理装置。
【請求項5】
前記学習処理部は、前記特徴ベクトル及び前記回帰ベクトルに基づいて前記サブセットごとに予測されるラベルと、前記学習データの対応する前記学習対象のデータセットに割り付けられた学習用のラベルとの誤差を示す項に、前記重み係数を乗じる予測モデルを用いる、
請求項4に記載の情報処理装置。
【請求項6】
前記学習処理部は、出力された前記回帰ベクトル及び前記重み係数の事後確率分布を事前分布として用いて、追加で入力された学習データに対する前記回帰ベクトル及び前記重み係数の事後確率分布を出力する、
請求項4又は5に記載の情報処理装置。
【請求項7】
前記複数の学習対象のデータセットのそれぞれは、経時的に観測される時系列データセットであり、前記抽出部は、前記複数のサブセットとして時系列上で連続する複数のデータ列を抽出する、
請求項1から6のいずれか1項に記載の情報処理装置。
【請求項8】
前記抽出部は、複数の区間における複数の説明変数の値の組を含む前記データ列を抽出する、
請求項7に記載の情報処理装置。
【請求項9】
前記抽出部は、時系列上で互いに一部が重複する前記複数のデータ列を抽出する、
請求項7又は8に記載の情報処理装置。
【請求項10】
複数の前記予測対象のデータセットを有する予測対象データを取得する取得部と、
前記予測モデルに基づき、前記予測対象のデータセットに対応するラベルを予測する予測部とを更に備える、
請求項1から9のいずれか1項に記載の情報処理装置。
【請求項11】
前記学習処理部は、前記予測部が前記予測対象データが得られる度前記予測対象データに基づいて更に予測モデルを学習する、
請求項10に記載の情報処理装置。
【請求項12】
コンピュータを、請求項1から11のいずれか1項に記載の情報処理装置として機能させるプログラム。
【請求項13】
コンピュータにより実行される、複数の学習対象のデータセットとそれぞれの前記学習対象のデータセットに割り付けられた学習用のラベルとを有する学習データを用いて、予測対象のデータセットに割り付けるべきラベルを予測する予測モデルを学習する情報処理方法であって、
前記学習データにおける前記複数の学習対象のデータセットのそれぞれから複数のサブセットを抽出する抽出段階と、
前記複数の学習対象のデータセットのそれぞれにおいて、前記複数のサブセットのそれぞれを重みづけてラベルの予測に反映する前記予測モデルを学習する学習処理段階と、
を備える情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習を行う情報処理装置、プログラム、及び情報処理方法に関する。
【背景技術】
【0002】
車両に搭載した機器で路面等を撮影し、交通状況及び道路状態を分析する方法として、特許文献1及び2が知られている。また、ドライブレコーダに記録された動画等から導出した道路の特徴に基づき、区間ごとの道路の健全性を示すMCI(道路の維持管理指数)を推測することが知られている(非特許文献1)。しかし、道路全体の特徴がまんべんなくMCIに反映されるとは限らず、道路全体の特徴からMCIを予測する従来の回帰分析を用いた手法では、MCIを正確に予測することができなかった。
[特許文献1]特開2012−7922号公報
[特許文献2]特開平10−204821号公報
[非特許文献1]社会インフラの効率的な維持管理の実現、村上茂之等、P.30〜637、FUJITSU.64,6、11,2013
(http://img.jp.fujitsu.com/downloads/jp/jmag/vol64-6/paper04.pdfを参照。)
【発明の概要】
【発明が解決しようとする課題】
【0003】
例えば、ドライブレコーダで記録された道路の動画のような区間ごとのデータセットから、データセットに対応するMCI等のラベルをより正確に予測可能な予測モデルを提供することを目的とする。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、複数の学習対象のデータセットとそれぞれの学習対象のデータセットに割り付けられた学習用のラベルとからなる学習データを用いて、予測対象のデータセットに割り付けるべきラベルを予測する予測モデルを学習する情報処理装置であって、学習データにおける複数の学習対象のデータセットのそれぞれから複数のサブセットを抽出する抽出部と、複数の学習対象のデータセットのそれぞれにおいて、複数のサブセットのそれぞれを重みづけてラベルの予測に反映する予測モデルを学習する学習処理部と、を備える情報処理装置、当該情報処理装置に用いるプログラム、及び、当該情報処理を提供する。
【0005】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0006】
図1】道路状態及びMCIの関係の一例を示す。
図2】本実施形態の情報処理装置10のブロック図を示す。
図3】本実施形態の情報処理装置10による学習処理のフローを示す。
図4】本実施形態に係るデータセット及びサブセットの一例を示す。
図5】本実施形態の情報処理装置10によるラベル予測の処理フローを示す。
図6】本実施形態の情報処理装置10による予測精度を示す。
図7】コンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0007】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0008】
図1は、道路状態及びMCIの関係の一例を示す。MCIは、修繕等の目安とするために、区間ごとの舗装路面の状態を定量的に評価した値である。MCIは、路面のひびわれ率、わだち掘れ量、及び/又は縦断凹凸量に基づいて算出される値であり、例えば、5未満となる場合に道路の修繕が通常必要と考えられている。
【0009】
MCIは、専用の測定機器を搭載した測定車等により正確な値が定期的に測定される。一方で、例えば汎用の乗用車のドライブレコーダの動画等を分析してMCIを推測することにより、道路状態を簡易的に適宜評価することができる。この前提として、専用の測定車で測定した正確なMCIと、ドライブレコーダの動画等との関係を予め学習することが望ましい。
【0010】
図1(a)〜(d)は、学習に用いられる区間ごとの道路の路面状態の例と、各道路に対応して付与されるMCIの一例とを示す。図1(a)は、区間全体で比較的大きな凹凸が多数発生しており、その結果MCIが3となる道路を示す。図1(b)は、区間中の1か所に大きな穴が空いているが、他の区間は平坦であり、その結果MCIが3.1となる道路を示す。図1(c)は、区間中の2か所に大きな穴が空いているが、他の区間は平坦であり、その結果MCIが2.9となる道路を示す。図1(d)は、区間中に大きな凹凸及び穴もなく、その結果MCIが6となる道路を示す。
【0011】
ここで、図1(a)ではまんべんなく欠陥が生じているのに対し、図1(b)〜(c)では一部のみに欠陥が生じており、両者の道路の特徴は全体的に似ていない。従って、図1(a)及び図1(b)又は(c)の道路からは、全く異なった特徴が抽出される。しかし、MCIの学習においては、全く異なる図1(a)〜(c)の特徴からほぼ同一の値のMCIを予測する予測モデルを学習する必要がある。
【0012】
一方で、図1(b)〜(c)のような一部にのみ欠陥を含む道路と、図1(d)のような欠陥がほぼ無い道路とは道路の大部分において特徴が類似する。従って、図1(b)又は(c)と図1(d)の道路からは、類似した特徴が抽出される。しかし、MCIの学習においては、類似する図1(b)〜(d)の特徴から全く異なる値のMCIを予測する予測モデルを学習する必要がある。
【0013】
このように、MCIを算出する計算ルールは非線形かつ煩雑であり、ドライブレコーダのような簡易的な測定データを学習データとしてMCIを正確に予測する予測モデルを生成することは困難であった。本発明に係る情報処理装置は、このような簡易的に測定されたデータセットとラベル割り付けとの非線形な関係をより正確に学習する。
【0014】
図2は、本実施形態に係る情報処理装置10のブロック図を示す。情報処理装置10は、複数の学習対象のデータセットとそれぞれの前記学習対象のデータセットに対して予め割り付けられた学習用のラベルとを有する学習データを用いて、予測対象のデータセットに割り付けるべきラベルを予測する予測モデルを学習し、学習した予測モデルに基づいて予測対象データからラベルを予測する。情報処理装置10は、特徴量取得部110、抽出部130、ベクトル生成部150、学習処理部170、及び、予測部190を備える。
【0015】
取得部110は、情報処理装置10の処理に用いるデータを取得する。例えば、取得部110は、外部のデータベース20等から複数の学習対象のデータセットに対して学習用のラベルが割り付けられた学習データを取得する。一例として、情報処理装置10は、複数のデータセットとしてドライブレコーダで撮影した複数の区間ごとの道路の動画を含み、ラベルとして各区間の測定済みのMCIを含む学習データを取得する。
【0016】
また、例えば、取得部110は、外部のデータベース20等から予測対象となる複数の予測対象のデータセットを有する予測対象データを取得してよい。取得部110は、取得した学習データ及び予測対象データを抽出部130に供給する。
【0017】
抽出部130は、学習データ及び予測対象データにおける複数のデータセットのそれぞれから複数のサブセットを抽出する。例えば、抽出部130は、複数のデータセットとして取得した区間ごとの道路の動画等を予め定められた時間で分割したものを、複数のサブセットとして抽出する。抽出部130は、複数のデータセットについて抽出した複数のサブセットを、ベクトル生成部150に供給する。
【0018】
ベクトル生成部150は、学習データ及び予測対象データに係るサブセットのそれぞれについて、サブセットの特徴を表す複数の特徴量を含む特徴ベクトルを生成する。例えば、ベクトル生成部150は、各サブセットに含まれる道路の動画のデータ(例えば、道路の輝度情報等)を複数の特徴量に変換し、複数の特徴量を含む特徴ベクトルをサブセットごとに生成する。ベクトル生成部150の具体的な処理内容は後述する。ベクトル生成部150は、学習データについて生成した特徴ベクトルを学習処理部170に供給し、予測対象データについて生成した特徴ベクトルを予測部190に供給する。
【0019】
学習処理部170は、複数の学習対象のデータセットのそれぞれにおいて、複数のサブセットのそれぞれを重みづけてラベルの予測に反映する予測モデルを学習する。これにより、学習処理部170は、ラベルの予測に重く反映させるサブセット、及び、ラベルの予測にあまり反映させないサブセットを区別した上で、複数のサブセットからラベルを予測する予測モデルを構築する。学習処理部170の具体的な処理内容は後述する。学習処理部170は、学習した結果得られた予測モデルを予測部190に供給する。
【0020】
予測部190は、学習処理部170が学習した予測モデルに基づき、予測対象データのデータセットに対応するラベルを予測する。例えば、予測部190は、予測対象データの複数のデータセットについて生成された特徴ベクトルを予測モデルに適用し、予測対象データのデータセットに対応するラベルを予測する。予測部190の具体的な処理内容は後述する。
【0021】
このように、情報処理装置10は、ラベル割り付けの対象となるデータセットから複数のサブセットを抽出し、サブセットごとに異なる重みづけをして予測モデルを生成する。これにより、情報処理装置10は、サブセットのうち、ラベルにより大きな影響を与える部分をより大きな割合で予測に用いることができ、データセット全体を均等に予測に用いる方法よりも正確な予測モデルを学習することができる。
【0022】
図3は、本実施形態の情報処理装置10の学習処理部170による学習処理のフローを示す。情報処理装置10は、学習処理に用いる学習データとして、一定の手順に従って複数のサブセットが抽出可能なデータセット、及び、データセットに対して割り当てられるべきラベルを用いる。以下の説明では、一例として、情報処理装置10が、データセットとしてドライブデコーダから取得した道路の動画等を用い、ラベルとして専用の測定機器で予め測定されたMCIを用いた場合について説明する。これ以外にも、情報処理装置10は、製品の製造工程の画像と製品の欠陥度等の、様々なデータセットとラベルとの非線形な組を学習データとして用いることができる。
【0023】
まず、S110において、取得部110が、学習データとして、複数の学習対象のデータセット、及び、データセットのそれぞれに割り付けるべき学習用のラベルを取得する。例えば、取得部110は、まず、情報処理装置10の外部又は内部に設けられたデータベース20から乗用車に搭載されたドライブレコーダで撮影した動画、同乗用車に搭載された加速度センサが測定した時系列上の加速度データ、及び、同乗用車に搭載されたGPSによる位置データを取得する。
【0024】
次に、取得部110は、各時刻における乗用車の位置をGPSから取得し、一のMCIが予め割り当てられた道路の第1区間長さ(例えば100m)ごとに、動画及び加速度データを分割する。取得部110は、複数個(例えば、N個)に分割された動画及び加速度データを、複数のデータセットとし、各区間に対応する予め測定されたMCIを割り付けるべきラベルとする。取得部110は、取得した学習データを抽出部130に供給する。
【0025】
次に、S120において、抽出部130が、学習データにおける複数のデータセットのそれぞれから複数のサブセットを抽出する。例えば、抽出部130は、経時的に観測される時系列データセットから複数のサブセットとして時系列上で連続する複数のデータ列を抽出する。一例として、抽出部130は、道路の第2区間長さ(例えば10m)ごとに、データセットの動画及び加速度データを時系列上で分割し、第2区間ごとの複数のデータ列から、各サブセットとして予め定められた数(例えば、3個)のデータ列を抽出する。
【0026】
ここで、抽出部130は、スライディングウィンドウを用いて、時系列上で互いに一部が重複する又は重複しない複数のデータ列を抽出してよい。例えば、抽出部130は、それぞれのデータセットに含まれる動画及び加速度データから、時間的な重複を含む複数(例えばD個)のサブセットを抽出する。
【0027】
抽出部130は、データ列として複数の説明変数の値の組を抽出してよい。一例として、抽出部130は、それぞれのデータ列として、第2区間長さごとの動画に含まれる道路画像の輝度情報及び輝度の勾配(エッジ)情報等、及び、加速度データ中に含まれるXYZ軸上の加速度等を抽出してよい。抽出部130は、抽出した複数のサブセットをベクトル生成部150に供給する。
【0028】
次に、S130において、ベクトル生成部150は、サブセットのそれぞれについて、複数の特徴量を含む特徴ベクトルを生成する。例えば、ベクトル生成部150は、n番目(n∈N)のデータセットにおける、d番目(d∈D)のサブセットに含まれる複数のデータ列に基づいて、複数の特徴量を要素として含む特徴ベクトルxn,dを生成する。
【0029】
例えば、ベクトル生成部150は、サブセット中のデータ列に含まれる輝度情報及び輝度の勾配(エッジ)情報等、並びに、XYZ軸上の加速度等の説明変数の基本統計量(平均、及び/又は、標準偏差等)を算出し、取得した値を特徴量とする特徴ベクトルxn,dを生成してよい。
【0030】
これに代えて、ベクトル生成部150は、サブセット中の複数のデータ列からBag of Wordsに基づいて特徴ベクトルxn,dを生成してよい。例えば、ベクトル生成部150は、サブセット中の説明変数において、予め定められた値の複数種のパターンを定義し、サブセット中で検出された複数種のパターンの出現頻度(ヒストグラム)を特徴量として有する特徴ベクトルxn,dを生成してよい。ベクトル生成部150は、生成した特徴ベクトルを学習処理部170に供給する。
【0031】
次に、S140において、学習処理部170は、複数のデータセットのそれぞれにおいて、複数のサブセットのそれぞれを重みづけてラベルの予測に反映する予測モデルを学習する。例えば、学習処理部170は、サブセットごとに異なる重み係数ηn,dを割り当て、当該サブセットごとの重み係数ηn,dと、特徴ベクトルxn,dと、複数の特徴量のそれぞれに対応する複数の回帰係数を含む回帰ベクトルwとを用いて予測モデルを学習する。これにより、学習処理部170は、サブセットごとに重みづけてラベルの予測結果に反映させる予測モデルを学習する。
【0032】
ここで、学習処理部170は、回帰ベクトルw及び重み係数ηn,dの事前分布と、及び、学習データDを用いて重み付きのベイズ推定を実行し、回帰ベクトルw及び重み係数ηn,dの事後確率分布を学習結果として出力してよい。
【0033】
一例として、学習処理部170は、数式1に示す予測モデルに基づいて、回帰ベクトルw及び重み係数ηn,dを学習してよい。
【数1】
【0034】
ここで、p(Y|χ,w,β,η)は、N個のデータセットXの全体からなる集合χ、w、β及びηの値を所与としたときの、N個のラベルyの全体からなる集合Yの確率分布を示す。集合Xは学習データにおけるn番目のデータセットを示し、Dはn番目のデータセットから抽出されるサブセットの個数を示し、ベクトルxn,dはXにおけるd番目のサブセットに対応する特徴ベクトルを示し、yは学習データでXに割り付けられるラベルを示し、ηn,dはηn,1〜ηn,Dの総和が1となる各サブセットの重み係数を示し、βはノイズの精度を示す。また、L(・)は誤差関数であり、例えば、L(a,b)=(a−b)となる二乗誤差であってよい。
【0035】
数式1に示すように、学習処理部170は、特徴ベクトルxn,d及び回帰ベクトルwに基づいてサブセットdごとに予測されるラベル(wn,d)と、学習データの対応するデータセットに割り付けられたラベルyとの誤差を示す項L(y,wn,d)に、重み係数ηn,dを乗じた値のn∈N及びd∈Dの総和に応じた数を指数とする指数関数の値を、学習データにおけるラベルyの集合Yの確率分布p(Y|χ,w,β,η)とする予測モデルを用いてよい。
【0036】
学習処理部170は、上記予測モデルを用いて、n∈Nのデータ全体を所与としたときの回帰ベクトルwの事後確率分布p(w|χ,Y)及び重み係数の事後確率分布p(η|χ,Y)を算出する。例えば、学習処理部170は、学習データ集合におけるラベルYの確率分布p(Y|χ,w,β,η)に回帰ベクトルwの事前確率分布p(w)を乗じ、不要なパラメータβ,ηについて周辺化したものを、正規化定数となるラベルYの周辺分布p(Y|χ)で除することにより、回帰ベクトルwの事後確率分布p(w|χ,Y)を算出してよい。一例として、学習処理部170は、回帰ベクトルwの事後確率分布をp(w|χ,Y)=[∫p(Y|χ,w,β,η)×p(w,β,η)dβdη]/[∫p(Y|χ,w,β,η)×p(w,β,η)dwdβdη]を用いて算出してよい。
【0037】
また、例えば、学習処理部170は、学習データ集合におけるラベルyの集合Yの確率分布p(Y|χ,w,β,η)に重み係数ηの事前確率分布p(η)を乗じ、不要なパラメータw,βについて周辺化したものを、正規化定数となるYの周辺分布p(Y|χ)で除することにより、重み係数ηの事後確率分布p(η|χ,Y)を算出してよい。一例として、学習処理部170は、重み係数ηの事後確率分布をp(η|χ,Y)=[∫p(Y|χ,w,β,η)×p(w,β,η)dβdw]/[∫p(Y|χ,w,β,η)×p(w,β,η)dwdβdη]を用いて算出してよい。
【0038】
学習処理部170は、変分ベイズ法を用いて高速に回帰ベクトルw及び重み係数ηを算出してよく、これに加えて/代えて、マルコフ連鎖モンテカルロ法(MCMC法)等のサンプリングにより回帰ベクトルw及び重み係数ηを算出してもよい。
【0039】
また、学習処理部170は、ARD(Automatic Relevance Determination)を用いて、説明変数の選択を同時に行ないながら、予測モデルを構築してもよい。例えば、学習処理部170は、回帰ベクトルwの事前分布p(w)に疎なモデル(ARD事前分布)を用いることにより、複数の説明変数のうちラベルの予測に用いるものと用いないものを区別することができる。これにより、学習処理部170は、ラベルの予測に害をなす冗長な説明変数の影響(多重共線性等の悪い影響)を排除することができる。
【0040】
また、学習処理部170は、数式1に示す線形な予測モデルを用いることに代えて、非線形な予測モデルを用いてよい。例えば、学習処理部170は、特徴ベクトルxn,dの代わりに、特徴ベクトルxn,dを基底関数に入力したベクトルφ(xn,d)を用いてよい。これにより、学習処理部170は、非線形な予測モデルを学習することが可能となる。一例として、学習処理部170は、数式2に示す予測モデルに基づいて、回帰ベクトルw及び重み係数ηn,dを学習してよい。
【数2】
【0041】
ここで、学習処理部170は、カーネル法を用いて非線形な予測モデルを学習してよい。例えば、学習処理部170は、基底関数φ(xn,d)として、φ(xn,d)=(exp(|xn,d−x(1)|)、exp(|xn,d−x(2)|)、…exp(|xn,d−x(M)|))を用いてよい。ここでベクトルx(1)、x(2)…x(M)は、予め定められたパターンの値を有するベクトルであり、例えば、過去に測定された道路の動画特徴及び加速度の値に対応したパターンであってよい。
【0042】
学習処理部170は、特徴ベクトルxn,dと過去の測定結果に対応するベクトルx(1)、x(2)…x(M)とを比較し、両者が一致する成分を回帰ベクトルwに適用する基底関数φ(xn,d)として出力する。これにより、学習処理部170は、過去に測定された道路の動画等に基づいて適切な回帰ベクトルwを学習することができる。
【0043】
別の一例として、学習処理部170は、φ(xn,d)=(α+α+α+…α,α+α+α+…α,…α+α+α+…α)(α、α…αは定数でx、x…xは特徴ベクトルxn,dの各要素)等を用いることで、線形モデルと非線形モデルの混合モデルとなる予測モデルを用いてよい。
【0044】
更に、学習処理部170は、既に学習済みの学習データに加えて追加で入力された学習データを更に用いて、回帰ベクトル及び重み係数を学習してよい。例えば、学習処理部170は、学習データに基づき出力した回帰ベクトル及び重み係数の事後確率分布を事前分布として用い、追加で入力された学習データに対する回帰ベクトル及び重み係数の事後確率分布を出力してよい。
【0045】
学習処理部170は、重み付きのベイズ推定を用いる代わりに、重み付きの最小二乗法又は重み付き最尤推定法等により、回帰ベクトルw及び重み係数ηを学習してもよい。
【0046】
次に、S150において、学習処理部170は、学習の結果を出力する。例えば、学習処理部170は、学習の結果得られた回帰ベクトルw及び重み係数ηを情報処理装置10の表示画面に表示し、及び/又は、情報処理装置10の内部/外部の記憶装置に格納してよい。また、学習処理部170は、学習の結果得られた回帰ベクトルw及び重み係数ηを予測部190に供給する。
【0047】
このように情報処理装置10は、ラベル付けの対象となるデータセットから複数のサブセットを抽出し、データセット及びサブセットごとの重み係数ηn,dと回帰ベクトルwとを同時に学習する。これにより、情報処理装置10は、各サブセットのラベルへの影響の度合い(すなわち、重み係数ηn,d)を学習する。
【0048】
すなわち、情報処理装置10は、データセットのうち割り当てられるラベルに与える影響が大きい部分を特定する。これにより、情報処理装置10は、ラベルへの影響が少ないサブセットによるラベルの予測への誤差を低減するので、より正確に回帰ベクトルwを学習することができる。
【0049】
例えば、情報処理装置10によると、道路のうち割り当てられたMCIを代表する部分を特定することができる。一例として、情報処理装置10によると、図1(a)については区間全体をMCIを代表する部分として特定し、図1(b)及び(c)については穴の空いた部分をMCIを代表する部分として特定する。これにより、情報処理装置10は、全く異なる図1(a)〜(c)の特徴からほぼ同一の値のMCIを予測する予測モデルを学習し、類似する図1(b)〜(d)の特徴から全く異なる値のMCIを予測する予測モデルを学習することができる。情報処理装置10によると、MCIが低いデータセットのうち、重み係数ηn,dが大きい部分を実際に修理が必要な部分として特定することができるので、道路の検査負担を低減することができる。
【0050】
図4は、本実施形態に係る学習データのデータセット及びサブセットの一例を示す。取得部110は、図示するように、データセット1、データセット2、…データセットNを含むN個のデータセットを取得してよい。取得部110は、各データセットとして、説明変数の組をデータ列ごとに取得する。例えば、道路のMCIを学習する場合、一のデータセットが10個のデータ列を含むとすると、取得部110は、各データセットとして、V個の説明変数(道路の輝度情報等)を含むデータ列を第2区間長さ(例えば10m)ごとに10個取得する。
【0051】
抽出部120は、各データセット(例えば、データセット1)から、サブセット1、サブセット2、サブセット3、…サブセットDを含むD個のサブセットを抽出する。抽出部120は、各サブセット1〜DとしてV個の説明変数からなるデータ列をL個取得してよい。例えば、抽出部120は、連続する3個のデータ列(例えば、10m×3の道路に対応)に係る説明変数の組を各サブセットとして取得する。
【0052】
ここで、抽出部120は、互いに重複するデータ列を含む説明変数の組を各サブセットとして取得してよい。例えば、図示するように、抽出部120は、1〜3番目のデータ列に係る説明変数d1,1〜d3,vの組をサブセット1として取得し、2〜4番目のデータ列に係る説明変数d2,1〜d4,vの組をサブセット2として取得し、3〜5番目のデータ列に係る説明変数d3,1〜d5,vの組をサブセット3として取得し、…D〜D+2番目のデータ列に係る説明変数dD,1〜dD+2,vの組をサブセットDして取得してよい。
【0053】
図5は、本実施形態の情報処理装置10の予測部190によるラベル予測の処理フローを示す。本実施形態において、情報処理装置10は、S210〜S250の処理を実行することにより、予測モデルに基づくシミュレーションを実行する。
【0054】
まず、S210において、取得部110が、予測対象となる複数のデータセットを有する予測対象データを取得する。ここで、取得部110は、S110で複数のデータセットを取得したのと同様の手法により、予測対象の複数のデータセットを取得してよい。取得部110は、取得した予測対象データを抽出部130に供給する。
【0055】
次に、S220において、抽出部130が、予測対象データにおける複数のデータセットのそれぞれから予測対象の複数のサブセットを抽出する。抽出部130は、S120における学習データからの複数のサブセットの抽出と同様の手法により、予測対象の複数のサブセットを抽出してよい。抽出部130は、抽出した予測対象の複数のサブセットをベクトル生成部150に供給する。
【0056】
次に、S230において、ベクトル生成部150は、予測対象のサブセットのそれぞれについて、複数の特徴量を含む特徴ベクトルを生成する。ベクトル生成部150は、S130における同様の手法により、予測対象のサブセットについて特徴ベクトルを生成してよい。ベクトル生成部150は、生成した特徴ベクトルを予測部190に供給する。
【0057】
S240において、予測部190は、学習処理部170が学習した予測モデルに基づき予測対象データの複数の予測対象のデータセットに対応するラベルを予測する。例えば、予測部190は、数式3の予測モデルに基づき、学習された回帰ベクトルwを用いて、予測対象のデータセットXn'に対応するラベルyn'及び重み係数ηn',dを同時に予測してよい。
【数3】
【0058】
例えば、予測部190は、学習されたwとβを入力した確率p(yn'|Xn',w,β,η)に最大値を与えるラベルyn'及び重み係数ηn',dの組におけるラベルyn'を予測対象データのデータセットXn'から予測されるラベルとしてよい。
【0059】
また、例えば、予測部190は、学習結果に含まれる回帰ベクトルwの事後確率分布をp(w|Y,χ)とし、重み係数ηn,dの事前確率分布をp(η)とすることにより、回帰ベクトルw及び重み係数ηを周辺化し、数式4により、ラベルyn'の確率分布p(yn'|Xn',Y,χ,β)を算出してもよい。また、予測部190は、ノイズパラメータβの事後確率分布をp(β|Y,χ)とし、回帰ベクトルw、重み係数η、及びノイズパラメータβの1つ、2つ、又は全て(例えば、重み係数ηとノイズパラメータβ)を周辺化してもよい。
【数4】
【0060】
また、予測部190は、重み係数ηn',dを予測せずにラベルyn'のみを予測することで、簡易的な予測をしてもよい。例えば、予測部190は、各サブセット毎の予測値(wXn',d)のn=1からn=Nにおける平均値及び/又は中央値等を予測値とし、ラベルyn'を予測してよい。
【0061】
次にS250において、予測部190は、予測結果を出力する。例えば、予測部190は、予測により得られたラベルyを情報処理装置10の表示画面に表示し、及び/又は、情報処理装置10の内部/外部の記憶装置に格納してよい。
【0062】
また、予測部190は、予測対象データが得られる度に予測対象データ、及び、予測対象データから予測したラベルyn'を学習処理部170に供給してもよい。学習処理部170は、予測部が予測対象データ及び予測対象データに対応して予測したラベルを追加の学習データとし、追加の学習データに基づいて更に予測モデルを学習してよい。これにより、情報処理装置10は、予測対象データを用いて、予測結果が更に正確になるように予測モデルを更新することができる。
【0063】
このように情報処理装置10は、学習処理部170が学習した重み係数ηn,d及び回帰ベクトルwを用いて、予測対象データXn'から対応するラベルyn'を予測する。これにより、情報処理装置10は、サブセットごとのラベルへの影響を考慮して回帰された回帰ベクトルwを用いて、より正確にラベルyn'を予測することができる。
【0064】
図6は、本実施形態の情報処理装置10による予測精度を示す。図6には、ドライブレコーダ等から得られた異なる4個のデータセット1〜4に対して、従来の疎な線形回帰法によりラベル(MCI)を予測した場合のAUC(Area Under Curve)と、本実施形態の情報処理装置10でフルベイズなモデリングで、ARD事前分布及び変分ベイズ実装により予測モデルを構築した場合のAUCとを交差検定で評価した結果が示される。AUCは、MCIが5以上か5未満を正確に予測できた割合を示す。
【0065】
データセットに含まれる説明変数として、加速度センサから得られる7変数×1秒毎のデータ及びドライブレコーダ(カメラ)から得られる90変数×0.1秒毎のデータを用い、ラベルとして100m単位に記録される500個のMCI値を用いた。データセット1〜2に対応するMCIとデータセット3〜4では、対応するMCIの算出に異なる算出式を用いた。また、データセット1及び3には、ヒューリスティクスを用いた前処理をし、データセット2及び4には前処理をしていない。
【0066】
図示するように、データセット1〜4のいずれにおいても、本実施形態の方法によると、従来の線形回帰と比較して数%程度高いAUCが得られる。従って、本実施形態の情報処理装置10は従来の方法と比較して高い精度でラベルを予測できることが示される。
【0067】
上記本実施形態では、情報処理装置10は、学習データ及び予測対象データから1種類の特徴ベクトルxn,dを生成し、学習データ及び予測対象データに対して1種類の重み係数ηn,dを用いた。これに代えた変形例として、情報処理装置10は、複数種類の特徴ベクトルxn,d及びxn,d…、及び、対応する複数種類の重み係数ηn,d、ηn,d…を用いてもよい。例えば、情報処理装置10は、ドライブレコーダの動画の特徴をベクトル化した特徴ベクトルxn,dを生成し、加速度センサの測定値の特徴をベクトル化した特徴ベクトルxn,dを生成し、それぞれの特徴ベクトルごとに重み係数ηn,d、ηn,dを学習してよい。
【0068】
これにより、情報処理装置10は、データセットに含まれる説明変数のグループごとに異なる重みづけをして、ラベルを学習することができる。例えば、情報処理装置10は、データセットのある部分ではドライブレコーダの動画がラベルに対して大きく影響するが、別の部分では加速度の値がラベルに大きく影響するような場合に、より正確に学習データに対するラベルを学習することができる。
【0069】
図7は、情報処理装置10として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
【0070】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0071】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0072】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0073】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0074】
コンピュータ1900にインストールされ、コンピュータ1900を情報処理装置10として機能させるプログラムは、取得モジュール、抽出モジュール、ベクトル生成モジュール、学習処理モジュール、及び、予測モジュールを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、特徴量取得部110、抽出部130、ベクトル生成部150、学習処理部170、及び、予測部190としてそれぞれ機能させてよい。
【0075】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である特徴量取得部110、抽出部130、ベクトル生成部150、学習処理部170、及び、予測部190として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置10が構築される。
【0076】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0077】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
【0078】
例えば、情報処理装置10の記憶部は、特徴量取得部110、抽出部130、ベクトル生成部150、学習処理部170、及び、予測部190から受け取った/へ提供するデータを適宜記憶してよい。例えば、記憶部は、取得部110から入力されたデータを受け取って記憶してよい。また、記憶部は、学習処理部170が学習した結果等を記憶してよい。
【0079】
なお、本実施形態の説明において、一の構成要素(例えば、取得部110)から別の構成要素(例えば、抽出部120)に情報(例えば、複数のデータセット)を供給したと記載するときは、一の構成要素から別の構成要素に直接情報を受け渡すことだけでなく、記憶部への情報の格納及び情報の読み出しを介して情報を渡すことをも含んでよい。
【0080】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0081】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0082】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0083】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0084】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0085】
10 情報処理装置、20 データベース、110 取得部、130 抽出部、150 ベクトル生成部、170 学習処理部、190 予測部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM
図1
図2
図3
図4
図5
図6
図7