(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】情報提供装置、情報提供方法及び情報提供プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241112BHJP
G06N 3/096 20230101ALI20241112BHJP
G06N 3/0895 20230101ALI20241112BHJP
【FI】
G06N20/00 130
G06N3/096
G06N3/0895
(21)【出願番号】P 2023523881
(86)(22)【出願日】2021-05-27
(86)【国際出願番号】 JP2021020296
(87)【国際公開番号】W WO2022249415
(87)【国際公開日】2022-12-01
【審査請求日】2023-09-20
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山口 真弥
(72)【発明者】
【氏名】塩田 哲哉
(72)【発明者】
【氏名】山口 滉平
(72)【発明者】
【氏名】湯原 基貴
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2020-149080(JP,A)
【文献】国際公開第2020/170803(WO,A1)
【文献】特開2014-022837(JP,A)
【文献】国際公開第2021/059388(WO,A1)
【文献】特開2016-224821(JP,A)
【文献】米国特許出願公開第2020/0364611(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
データセットから、前記データセットよりも低次元の特徴量を出力するモデル
であって、転移学習における転移元データセットを用いて自己教師学習によって学習済みのモデルに、複数のデータセットを入力することにより複数の特徴量を抽出する特徴抽出部と、
前記特徴抽出部によって抽出された
前記転移元データセットの特徴量と、前記転移学習における目的データセットの特徴量との類似度を計算する類似度計算部と、
を有することを特徴とする情報提供装置。
【請求項2】
前記特徴抽出部は、前記モデルによって出力された特徴量であって、データセットに含まれるデータサンプルごとの特徴量を、1つのデータサンプルの特徴量に集約し、
前記類似度計算部は、前記特徴抽出部によって集約された特徴量間の類似度を計算することを特徴とする請求項1に記載の情報提供装置。
【請求項3】
ユーザに情報を提供する提供部をさらに有し、
前記類似度計算部は、1つの目的データセットと複数の転移元データセットのぞれぞれとについて、特徴量間の類似度を計算し、
前記提供部は、前記転移元データセットのうち、前記目的データセットとの特徴量の類似度が所定の順位以上である転移元データセットを特定するための情報をユーザに提供することを特徴とする請求項1
又は2に記載の情報提供装置。
【請求項4】
情報提供装置によって実行される情報提供方法であって、
データセットから、前記データセットよりも低次元の特徴量を出力するモデル
であって、転移学習における転移元データセットを用いて自己教師学習によって学習済みのモデルに、複数のデータセットを入力することにより複数の特徴量を抽出する特徴抽出工程と、
前記特徴抽出工程によって抽出された
前記転移元データセットの特徴量と、前記転移学習における目的データセットの特徴量との類似度を計算する類似度計算工程と、
を含むことを特徴とする情報提供方法。
【請求項5】
コンピュータを、請求項1から
3のいずれか1項に記載の情報提供装置として機能させるための情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報提供装置、情報提供方法及び情報提供プログラムに関する。
【背景技術】
【0002】
深層ニューラルネットワーク(DNN:Deep Neural Netework)は、画像処理や自然言語処理において高い精度で予測が可能である。一方で、DNNの学習には多くのコストがかかる。
【0003】
例えば、DNNの学習におけるコストには、正解ラベルの付与(アノテーション)を含むデータセットの収集コスト、精度を向上させるための計算コスト、複数のハイパーパラメータを事例ごとに探索するためのチューニングコスト等が含まれる。
【0004】
DNNの事業導入時にこのようなコストを抑えるための方法として、転移学習が提案されている。
【0005】
転移学習は、目的データセットとは異なるデータセット(転移元データセット)や学習済みモデルを流用し、少ないデータ又は計算時間で学習を行う技術である。
【0006】
また、転移学習には、ファインチューニング及びドメイン適応といった手法が含まれる。
【0007】
ファインチューニングは、転移元データセットでモデルを事前学習し、学習済みのパラメータを初期値として目的データセットの学習に使用する方法である。
【0008】
ドメイン適応は、転移元データセットと目的データセットを同じモデルで同時に学習し、転移元データセットの知識を用いながら目的データセットのタスクを解く方法である。
【先行技術文献】
【非特許文献】
【0009】
【文献】Kornblith, Simon, Jonathon Shlens, and Quoc V. Le. "Do better imagenet models transfer better?." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、従来の技術には、効率良く転移学習を実施できない場合があるという問題がある。従来の転移学習は、開発者の勘や経験に依存している部分が多く、転移元データセットの選別やパラメータのチューニング等に人手による作業が必要になる。
【0011】
転移学習に有効なデータセットは自明ではなく、目的データセットと転移元データセットとの関係(類似度)によって転移学習の結果は大きく変わる。例えば、ImageNet(大規模、大量)で事前学習したモデルは、目的データセットによっては事前学習していないモデルに劣る場合がある(例えば、非特許文献1を参照)。
【0012】
一方で、データセット間の類似度は一般的には不明であり、デファクトスタンダードとなるような指標は未だ登場していない。
【0013】
また、転移学習においては、目的データセット及び転移元データセットに合ったハイパーパラメータを選択する必要がある。一方で、深層学習モデルはハイパーパラメータが多く、転移学習時にもチューニングが必須となる。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するために、情報提供装置は、データセットから、前記データセットよりも低次元の特徴量を出力するモデルに、複数のデータセットを入力することにより複数の特徴量を抽出する特徴抽出部と、前記特徴抽出部によって抽出された複数の特徴量間の類似度を計算する類似度計算部と、を有することを特徴とする。
【発明の効果】
【0015】
本発明によれば、効率良く転移学習を実施することができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、第1の実施形態に係る情報提供装置の構成例を示す図である。
【
図2】
図2は、類似度の測定方法を説明する図である。
【
図3】
図3は、モデルの学習方法を説明する図である。
【
図4】
図4は、情報提供処理について説明する図である。
【
図5】
図5は、学習処理の流れを示すフローチャートである。
【
図6】
図6は、類似度測定処理の流れを示すフローチャートである。
【
図7】
図7は、情報提供処理の流れを示すフローチャートである。
【
図10】
図10は、情報提供プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0017】
以下に、本願に係る情報提供装置、情報提供方法及び情報提供プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0018】
[第1の実施形態の構成]
図1は、第1の実施形態に係る情報提供装置の構成例を示す図である。情報提供装置10は、データセット間の類似度を計算し、計算した類似度を基に情報を提供する。例えば、情報提供装置10は、転移学習における目的データセットに類似する転移元データセットを特定するための情報を提供する。
【0019】
また、情報提供装置10は、類似度を計算するためのモデルの学習処理を行う。情報提供装置10は、学習済みのモデルを使って類似度の計算を行ってもよいし、学習済みのモデルを他の装置等に提供してもよい。
【0020】
図1に示すように、情報提供装置10は、入出力部11、記憶部12及び制御部13を有する。
【0021】
入出力部11は、データの入出力を行うためのインタフェースである。例えば、入出力部11は、ネットワークを介して他の装置との間でデータ通信を行うためのNIC(Network Interface Card)等の通信インタフェースであってもよい。また、入出力部11は、マウス、キーボード等の入力装置、及びディスプレイ等の出力装置を接続するためのインタフェースであってもよい。
【0022】
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、情報提供装置10で実行されるOS(Operating System)や各種プログラムを記憶する。また、記憶部12は、モデル情報121を記憶する。
【0023】
モデル情報121は、モデルを構築するためのパラメータ等の情報であり、学習処理において適宜更新される。また、更新済みのモデル情報121は、入出力部11を介して他の装置等に出力されてもよい。
【0024】
制御部13は、情報提供装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、特徴抽出部131、類似度計算部132、損失関数計算部133、更新部134、候補抽出部135及び提供部136を有する。
【0025】
特徴抽出部131は、データセットから、データセットよりも低次元の特徴量を出力するモデルに、複数のデータセットを入力することにより複数の特徴量を抽出する。
【0026】
類似度計算部132は、特徴抽出部131によって抽出された複数の特徴量間の類似度を計算する。
【0027】
図2を用いて、特徴抽出部131及び類似度計算部132による類似度の測定方法を説明する。
図2は、類似度の測定方法を説明する図である。
【0028】
図2に示すように、特徴抽出部131は、モデルFを用いて、データセットA及びデータセットBから特徴量を抽出する。モデルFは、特徴抽出用の深層ニューラルネットワークである。
【0029】
データセットは、複数のデータサンプルを含む。また、特徴抽出部131は、データサンプルごとの特徴量を抽出する。
【0030】
図2の例では、データセットAはI個のデータサンプルx
A
i(ただし、iは0からIまでの整数)を含む。そして、特徴抽出部131は、データセットAから、I個のデータサンプルに対応する特徴量f
A
iを抽出する。
【0031】
ここで、DNNで使用するデータセットは高次元であるため、データセット同士の類似度を直接測定することは困難である。そこで、特徴抽出部131は、
図2のようにデータセットを低次元化した特徴量を抽出する。例えば、f
A
iは、x
A
iよりも低次元である。
【0032】
さらに、特徴抽出部131は、抽出した特徴量を集約する。
図2の例では、特徴抽出部131は、I個のデータサンプルに対応する特徴量f
A
iを1つの特徴量f´
Aに集約している。
【0033】
このように、特徴抽出部131は、モデルによって出力された特徴量であって、データセットに含まれるデータサンプルごとの特徴量を、1つのデータサンプルの特徴量に集約することができる。例えば、特徴抽出部131は、複数のデータサンプルの各要素の平均及び分散等の統計量を集約後の特徴量とすることができる。
【0034】
そして、類似度計算部132は、特徴抽出部131によって集約された特徴量間の類似度を計算する。例えば、集約された特徴量f´Aとf´Bとがベクトルであれば、類似度計算部132は、ベクトルf´Aとベクトルf´Bとの距離dABを類似度として計算する。類似度計算部132は、2-Wasserstein距離をベクトル間の距離として計算してもよい。
【0035】
また、特徴抽出部131は、転移学習における転移元データセットを用いて自己教師学習によって学習済みのモデルにより特徴量を抽出する。そして、類似度計算部132は、転移元データセットの特徴量と、転移学習における目的データセットの特徴量との類似度を計算する。
【0036】
損失関数計算部133は、モデルの学習のための損失関数を計算する。また、更新部134は、損失関数が最適化されるようにモデルのパラメータを更新する。
【0037】
なお、モデルFのパラメータはモデル情報121として記憶部12に格納される。更新部134は、モデル情報121を更新する。
【0038】
図3を用いて、モデルFの学習方法を説明する。
図3は、モデルの学習方法を説明する図である。
【0039】
モデルFは、転移学習において目的データに類似する転移元データを特定する際に、目的データと複数の転移元データとの類似度を測定するために用いられる。
【0040】
その際、情報提供装置10は、転移元データセット群を用いて分類等の任意のタスクで事前にモデルFの学習を行っておくものとする。
実施形態では、情報提供装置10は、自己教師学習を使用してモデルFの学習を行う。事故教師学習はアノテーションが不要であるため、複数のデータセットをまとめて扱いやすい。
【0041】
また、情報提供装置10は、自己教師学習の手法として対照学習手法の1つであるMoCo(参考文献:He, Kaiming, et al. "Momentum contrast for unsupervised visual representation learning." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.)を利用する。
【0042】
図3に示すように、損失関数計算部133は、複数のデータセット(D
0からD
N)をモデルFに入力して得られた特徴量を基に、Contrastive lossの損失関数L
qを計算する。
【0043】
ここで、Contrastive lossは、入力画像から2つの異なる画像変換によってクエリと正解キー画像を生成し、他の画像から得られたキーの集合の中からDNNを介して正しくクエリと正解キーの組み合わせを見つけるタスクの損失である。
【0044】
図3の損失関数の右辺のqは、クエリ画像から得られるモデルFの出力である。k
+は、クエリと同じ画像を拡張変換した正解キーから得られるモデルFの出力である。Kは、正解キーを含むキー画像の総数である。また、τは温度係数である。
【0045】
候補抽出部135及び提供部136は、目的データに類似する転移元データを特定する情報を提供することで、実際の転移学習を支援する。
図4を用いて、情報提供処理について説明する。
図4は、情報提供処理について説明する図である。
【0046】
図4のデータセットD
Tは、目的データセットである。また、データセットD
0からD
Nは、複数の転移元データセットである。
【0047】
類似度計算器(Similarity Calculator)は、学習済みのモデルFを使用する特徴抽出bう131及び類似度計算部132に相当する。
【0048】
このとき、類似度計算部132は、1つの目的データセット(DT)と複数の転移元データセット(D0からDT)のぞれぞれとについて、特徴量間の類似度を計算する。
【0049】
そして、候補抽出部135は、計算された類似度を基に、目的データセットとの特徴量の類似度が所定の順位以上である転移元データセットを候補として抽出する。
【0050】
さらに、提供部136は、転移元データセットのうち、候補として抽出された転移元データセットを特定するための情報をユーザに提供する。
【0051】
図4の例では、候補抽出部135は、計算された類似度d
0T、d
1T、…、d
NTを類似度が大きい順に並べたランキングを作成する。そして、例えば上位3つの類似度d
NT、d
1T、d
0Tに相当する転移元データセットD
N、D
1、D
0を抽出する。
【0052】
提供部136は、抽出された転移元データセットDN、D1、D0を、対応するハイパーパラメータHN、H1、H0とともにユーザに提供する。なお、各転移元データセットに対する最適なハイパーパラメータは、過去のモデル構築の過程においてグリッドサーチ等の手法により決定済みであるものとする。
【0053】
このように、複数まとめて提供される転移元データとハイパーパラメータの組み合わせは、転移学習においてまとめて利用されてもよい。
【0054】
[第1の実施形態の処理]
図5、
図6及び
図7に示すフローチャートを用いて、情報提供装置10による処理の流れを説明する。
【0055】
図5は、学習処理の流れを示すフローチャートである。
図5に示すように、まず、情報提供装置10は、転移元データセット群から学習データを読み込む(ステップS101)。
【0056】
次に、情報提供装置10は、DNNモデルFによって学習データから特徴を抽出する(ステップS102)。
【0057】
ここで、情報提供装置10は、特徴空間上で事前学習タスクの損失関数を計算する(ステップS103)。そして、情報提供装置10は、損失関数の逆誤差伝搬法によりモデルFのパラメータを更新する(ステップS104)。
【0058】
このとき、最大学習ステップ数>学習ステップ数である場合(ステップS105、True)、情報提供装置10はステップS101に戻り処理を繰り返す。一方、最大学習ステップ数>学習ステップ数でない場合(ステップS105、False)、情報提供装置10は処理を終了する。
【0059】
図6は、類似度測定処理の流れを示すフローチャートである。
図6に示すように、まず。情報提供装置10は、転移元データセットからデータサンプルを読み込む(ステップS201)。
【0060】
次に、情報提供装置10は、DNNモデルFによって転移元データサンプルから特徴を抽出する(ステップS202)。さらに、情報提供装置10は、転移元データサンプルごとの特徴ベクトルを単一の特徴ベクトル(例えば、平均又は分散)に集約する(ステップS203)。
【0061】
情報提供装置10は、目的データセットからデータサンプルを読み込む(ステップS204)。
【0062】
そして、情報提供装置10は、DNNモデルFによって目的データサンプルの特徴を抽出する(ステップS205)。さらに、情報提供装置10は、転移元データセットと同様に、目的データサンプルごとの特徴ベクトルを単一の特徴ベクトルに集約する(ステップS206)。
【0063】
情報提供装置10は、集約した目的データセット及び転移元データセットの特徴ベクトル間の類似度を、例えば2-Wasserstein距離により計算する(ステップS207)。
【0064】
図7は、情報提供処理の流れを示すフローチャートである。まず、情報提供装置10は、目的データセット及びN個の転移元データセットの類似度を計算する(ステップS301)。
【0065】
次に、情報提供装置10は、データセット類似度{diT}j
Nで転移元データセットをソート(距離:昇順/スコア:降順)する(ステップS302)。そして、情報提供装置10は、ソートで得られたランキングのうちTop-Kの転移元データセットidを抽出(K≦N:任意の整数)(ステップS303)。
【0066】
ここで、情報提供装置10は、K個の転移元データセットidに紐づくデータセットとハイパーパラメータを読み込む(ステップS304)。そして、情報提供装置10は、ユーザがダウンロード可能なURI(Uniform Resource Identifier)を発行し、データセットとハイパーパラメータを出力する(ステップS305)。
【0067】
[第1の実施形態の効果]
これまで説明してきたように、特徴抽出部131は、データセットから、データセットよりも低次元の特徴量を出力するモデルに、複数のデータセットを入力することにより複数の特徴量を抽出する。類似度計算部132は、特徴抽出部131によって抽出された複数の特徴量間の類似度を計算する。
【0068】
このように、情報提供装置10は、データセット間の類似度を自動的に計算することができる。その結果、本実施形態によれば、類似するデータセットを特定することができるため、効率良く転移学習を実施することができる。
【0069】
特徴抽出部131は、モデルによって出力された特徴量であって、データセットに含まれるデータサンプルごとの特徴量を、1つのデータサンプルの特徴量に集約する。類似度計算部132は、特徴抽出部131によって集約された特徴量間の類似度を計算する。
【0070】
この結果、本実施形態によれば、特徴量間の距離を容易に計算できるようになる。
【0071】
特徴抽出部131は、転移学習における転移元データセットを用いて自己教師学習によって学習済みのモデルにより特徴量を抽出する。類似度計算部132は、転移元データセットの特徴量と、転移学習における目的データセットの特徴量との類似度を計算する。
【0072】
このように、本実施形態ではアノテーションが不要な自己教師学習により、類似度を測定するモデルの学習を効率良く行うことができる。
【0073】
類似度計算部132は、1つの目的データセットと複数の転移元データセットのぞれぞれとについて、特徴量間の類似度を計算する。提供部136は、転移元データセットのうち、目的データセットとの特徴量の類似度が所定の順位以上である転移元データセットを特定するための情報をユーザに提供する。
【0074】
これにより、情報提供装置10は、目的データセットに類似する転移元データセットをユーザに推薦することができる。そのため、本実施形態によれば、効率良く転移学習を実施することができる。
【0075】
[実験]
上記の実施形態を実際に実施して行った実験について説明する。実験では、上記の実施形態を用いて、データセットの類似度による転移元データセット及びハイパーパラメータ(アーキテクチャ)の選択を行った。
【0076】
実験の設定は以下の通りである。
・データセット
目的データセット:Oxford Pets
転移元データセット:ImageNetを11クラスに分割したサブセット群
・ニューラルネットワークアーキテクチャ:
実験1:ResNet-50
実験2:ResNet-50, ResNet-101, ResNext-50-32x4d, ResNext-101-32-4d, Wide-ResNet-50, Wide-ResNet-101
【0077】
(実験1)
図8に、データセットの類似度により転移元データセットを選択した実験1の結果を示す。
図8は、実験の結果を示す図である。
【0078】
図8の例では、転移元データセットの全データを用いて特徴抽出器(モデルF、自己教師学習モデルMoco)の学習を行った。そして、特徴抽出器を用いて目的データセットと転移元データセットのデータセット類似度を測定した。
【0079】
さらに、各サブセットを転移元データセットとした学習済みモデルを用いてOxford Pets でファインチューニングしテスト精度を測定した。
図8は、データセット類似度(Similarity)とテスト精度(ACC@1)の相関を可視化した図である。
【0080】
図8に示す相関関係より、実施形態が有効な転移元データセットの選択に効果があるということができる。
【0081】
(実験2)
図9に、データセットの類似度によりハイパーパラメータ(アーキテクチャ)を選択した実験2の結果を示す。
図9は、実験の結果を示す図である。
【0082】
図9の例では、目的データセット及び転移元データセットを用いて、各アーキテクチャでクラス分類を学習し、テスト精度を測定した。そして、特徴抽出器を用いて目的データセットと転移元データセットのデータセット類似度を測定した。
【0083】
さらに、データセットごとにテスト精度でアーキテクチャのランキング(テスト精度で降順)を作成し、目的データセットと転移元データセット間のランキングのMean Average Precision(MAP)を測定した。
図9は、データセット類似度(Similarity)とMAPの相関を可視化した図である。
【0084】
図9に示す相関関係より、実施形態が有効なハイパーパラメータの選択に効果があるということができる。
【0085】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0086】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0087】
[プログラム]
一実施形態として、情報提供装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の処理を実行する情報提供プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の情報提供プログラムを情報処理装置に実行させることにより、情報処理装置を情報提供装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0088】
また、情報提供装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、サーバ装置は、目的データセット及び複数の転移元データセットを入力とし、目的データセットと各転移元データセットとの類似度を出力とする類似度測定サービスを提供するサーバ装置として実装される。この場合、サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0089】
図12は、情報提供プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0090】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0091】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報提供装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報提供装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0092】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0093】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0094】
10 情報提供装置
11 入出力部
12 記憶部
121 モデル情報
13 制御部
131 特徴抽出部
132 類似度計算部
133 損失関数計算部
134 更新部
135 候補抽出部
136 提供部