(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022183577
(43)【公開日】2022-12-13
(54)【発明の名称】学習装置、学習方法及び学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20221206BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021090977
(22)【出願日】2021-05-31
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山下 純平
(72)【発明者】
【氏名】熊田 孝恒
(57)【要約】
【課題】生成されるデータの質の劣化を抑えつつ潜在変数の解釈性を高めること。
【解決手段】生成部131は、モデルを用いて潜在変数からデータを生成する。追加部132は、生成部131によって生成されたデータの一部を改変したデータを追加する。評価関数計算部134は、生成部131によって生成されたデータ、及び追加部132によって追加されたデータのそれぞれについて、モデルの評価関数であって、潜在変数の解釈性に寄与する項を含む評価関数を計算する。更新部135は、評価関数のそれぞれが最適化されるように、かつ評価関数のそれぞれが最適化されたときの学習の進行度合いが近くなるように、モデルのパラメータを更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モデルを用いて潜在変数からデータを生成する生成部と、
前記生成部によって生成されたデータの一部を改変したデータを追加する追加部と、
前記生成部によって生成されたデータ、及び前記追加部によって追加されたデータのそれぞれについて、前記モデルの評価関数であって、前記潜在変数の解釈性に寄与する項を含む評価関数を計算する評価関数計算部と、
前記評価関数のそれぞれが最適化されるように、かつ前記評価関数のそれぞれが最適化されたときの学習の進行度合いが近くなるように、前記モデルのパラメータを更新する更新部と、
を有することを特徴とする学習装置。
【請求項2】
前記生成部は、生成器及び識別器を含む敵対的学習モデルの前記生成器に潜在変数を入力してデータを生成し、
前記評価関数計算部は、前記生成部によって生成されたデータ、及び前記追加部によって追加されたデータのそれぞれについて、前記生成器及び前記識別器を最適化するための評価関数であって、前記潜在変数の解釈性に寄与する項を含む評価関数を計算することを特徴とする請求項1に記載の学習装置。
【請求項3】
前記評価関数計算部は、前記生成器に入力される潜在変数と、前記生成器によって生成されるデータとの相互情報量に基づく項を、前記潜在変数の解釈性に寄与する項として含む評価関数を計算することを特徴とする請求項2に記載の学習装置。
【請求項4】
前記評価関数計算部は、前記潜在変数と前記生成器によって生成されるデータとの間の第1の相互情報量と、前記潜在変数と前記追加部によって追加されるデータとの間の第2の相互情報量と、の差分に関する項をさらに含む評価関数を計算することを特徴とする請求項3に記載の学習装置。
【請求項5】
前記生成部は、前記潜在変数の意味があらかじめラベルとして決められた教師あり学習のモデルを用いてデータを生成することを特徴とする請求項1から4のいずれか1項に記載の学習装置。
【請求項6】
学習装置によって実行される学習方法であって、
モデルを用いて潜在変数からデータを生成する生成工程と、
前記生成工程によって生成されたデータの一部を改変したデータを追加する追加工程と、
前記生成工程によって生成されたデータ、及び前記追加工程によって追加されたデータのそれぞれについて、前記モデルの評価関数であって、前記潜在変数の解釈性に寄与する項を含む評価関数を計算する評価関数計算工程と、
前記評価関数のそれぞれが最適化されるように、かつ前記評価関数のそれぞれが最適化されたときの学習の進行度合いが近くなるように、前記モデルのパラメータを更新する更新工程と、
を含むことを特徴とする学習方法。
【請求項7】
コンピュータを、請求項1から5のいずれか1項に記載の学習装置として機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
従来、敵対的学習手法を使った生成モデルであるGAN(Generative Adversarial Networks)が知られている。GANにおける学習が進むと、Generator(生成器)は実データと見分けがつかないデータを生成できるようになる。また、Discriminator(識別器)は生成されたデータと実データの見分けが完全にできなくなる。
【0003】
さらに、GANを発展させた手法であるInfo-GANが知られている。Info-GANでは、Generatorにはデータの生成元となる潜在変数が入力される。また、Discriminatorは、生成されたデータから生成元の潜在変数を推定する。
【0004】
そして、Info-GANは、潜在変数に、他のモデル及び人間にとって解釈が容易な意味を持たせることを目的としている。この目的は、例えば、Generatorに入力された潜在変数とDiscriminatorによって推定された潜在変数との相互情報量を最適化するような項を評価関数に追加することで実現される。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Ian J. Goodfellow, et al., “Generative Adversarial Nets”, (2014)(https://arxiv.org/pdf/1406.2661.pdf)
【非特許文献2】Xi Chen, et al., “Info-GAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets”, (2016)(https://arxiv.org/abs/1606.03657)
【非特許文献3】Adrian Spurr, Emre Aksan, and Otmar Hilliges “Guiding Info-GAN with Semi-Supervision”, ECML PKDD, pp. 119-134, 2017.(https://www.researchgate.net/publication/318460823_Guiding_Info-GAN_with_Semi-supervision)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術には、生成モデルにおいて、潜在変数の解釈性を高めることと引き換えに、生成されるデータの質が劣化する場合があるという問題がある。
【0007】
これは、通常のGANは、潜在変数から実データに似たデータを生成することのみを学習の目的関数としているのに対し、Info-GANでは、その生成過程において、潜在変数が人の目に解釈しやすくなることを制約として加えていることが理由である。
【0008】
例えば、Info-GANを用いて、(1)顔の向き、(2)性別、(3)表情という3つの潜在変数から人の顔の画像を生成する場合を考える。
【0009】
この場合、Generatorには、潜在変数以外の特徴(例えば、髪型及び服装等)考慮せずにデータを生成する傾向が生じる。
【0010】
そして、Generatorが生成するデータにこのような特徴の欠落が生じると、Discriminatorは、その欠落から生成データか実データかの識別が可能になってしまうため、GANの学習が安定せず、生成データの劣化につながる。
【0011】
さらに、その結果、生成されるデータが実データの重要な特徴を模倣できなくなると、データの解釈という本来の目的が実現できなくなる。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するために、学習装置は、モデルを用いて潜在変数からデータを生成する生成部と、前記生成部によって生成されたデータの一部を改変したデータを追加する追加部と、前記生成部によって生成されたデータ、及び前記追加部によって追加されたデータのそれぞれについて、前記モデルの評価関数であって、前記潜在変数の解釈性に寄与する項を含む評価関数を計算する評価関数計算部と、前記評価関数のそれぞれが最適化されるように、かつ前記評価関数のそれぞれが最適化されたときの学習の進行度合いが近くなるように、前記モデルのパラメータを更新する更新部と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、生成モデルにおいて、生成されるデータの質の劣化を抑えつつ潜在変数の解釈性を高めることができる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、第1の実施形態に係る学習装置の構成例を示す図である。
【
図3】
図3は、第1の実施形態に係る学習装置の処理の流れを示すフローチャートである。
【
図4】
図4は、学習済みのモデルを利用する生成装置の構成例を示す図である。
【
図5】
図5は、学習プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0015】
以下に、本願に係る学習装置、学習方法及び学習プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0016】
[第1の実施形態の構成]
まず、
図1を用いて、第1の実施形態に係る学習装置の構成について説明する。
図1は、第1の実施形態に係る学習装置の構成の一例を示す図である。
図1に示すように、学習装置10は、潜在変数、ノイズ、実データ等の入力を受け付け、モデルの学習を行う。学習装置10は、学習済みのモデルに関する情報を出力してもよい。
【0017】
図1に示すように、学習装置10は、インタフェース部11、記憶部12及び制御部13を有する。
【0018】
インタフェース部11は、データの入力及び出力のためのインタフェースである。例えば、インタフェース部11はNIC(Network Interface Card)である。インタフェース部11は他の装置との間でデータの送受信を行うことができる。
【0019】
また、インタフェース部11は、マウスやキーボード等の入力装置と接続されていてもよい。また、インタフェース部11は、ディスプレイ及びスピーカ等の出力装置と接続されていてもよい。
【0020】
記憶部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)や各種プログラムを記憶する。
【0021】
記憶部12はモデル情報121を記憶する。モデル情報121は、モデルを構築するための情報である。例えば、モデル情報121は、Generator及びDiscriminatorとして機能するニューラルネットワークの重み行列等のパラメータである。
【0022】
制御部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)等の集積回路である。
【0023】
また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
【0024】
制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、生成部131、追加部132、識別部133、評価関数計算部134及び更新部135を有する。
【0025】
生成部131は、モデルを用いて潜在変数からデータを生成する。生成部131は、生成器(Generator)及び識別器(Discriminator)を含む敵対的学習モデルの生成器に潜在変数を入力してデータを生成する。例えば、モデルはInfo-GAN又はssInfo-GANである。
【0026】
本実施形態では、Info-GAN(又はssInfo-GAN)の手法に、DA(Data Augmentation)を適用する。DAは、Generatorによって生成されたデータを改変し、当該改変したデータを学習データに追加する手法である。
【0027】
DAは、生成データの質の向上に有効であることが知られているが、従来のInfo-GANでは、DAに対応する制約を適用することができない。一方、本実施形態によれば、Info-GANにDAを適用することができる。
【0028】
追加部132は、生成部131によって生成されたデータの一部を改変したデータを追加する。すなわち、追加部132は、DAを実施する。
【0029】
識別部133は、Discriminatorを使って、Generatorによって生成されたデータの識別を行う。
【0030】
ここで、
図2を用いて、本実施形態のモデルについて説明する。
図2は、モデルについて説明する図である。
【0031】
本実施形態のモデルの構成は、Info-GAN(又はssInfo-GAN)と同様である。ただし、本実施形態では、学習における制約が従来のInfo-GAN(又はssInfo-GAN)と異なる。
【0032】
図2に示すように、モデルはGenerator及びDiscriminatorを有する。Generatorには、ノイズ及び潜在変数が入力される。潜在変数は、例えば3次元データであり、(A,B,C)のように表記される。
【0033】
Generatorは、ノイズ及び潜在変数を基に、多次元の生成データを出力する。Discriminatorには、生成データ、実データ又は追加部132によって追加された追加データが入力される。
【0034】
例えば、生成データ又は実データが人の顔の画像のデータであるものとする。この場合、実データは、実際にカメラにより撮影された人の顔の画像であってよい。また、追加部132は、生成データ又は実データに相当する画像の一部に対し、左右反転、サイズの縮小又は拡大、画像中の一部の情報を欠落させたりすること等を行い、追加データを作成する。
【0035】
図2に戻り、Discriminatorは、入力されたデータが実データ(Real)であるか生成データ(Generated)であるかを識別する。さらに、Discriminatorは、潜在変数の推定値(A”,B”,C”)を出力する。
【0036】
生成データは、学習が進むと実データに類似していく。一方、Discriminatorは、学習がうまく収束すると、生成データと実データを識別することができなくなり、また、潜在変数の推定精度が向上していく。
【0037】
評価関数計算部134は、評価関数を計算する。ここで、評価関数について説明する。まず、(1)式はGANの評価関数である。
【0038】
【0039】
また、(2)式はInfo-GANの評価関数である。
【0040】
【0041】
評価関数計算部134は、生成データ及び実データを学習データとしてモデルに入力した場合と、生成データ及び実データを元にした追加データをモデルに入力した場合と、のそれぞれについて、(2)式の評価関数を計算する。
【0042】
すなわち、評価関数計算部134は、生成部131によって生成されたデータ、及び追加部132によって追加されたデータのそれぞれについて、モデルの評価関数であって、潜在変数の解釈性に寄与する項を含む評価関数を計算する。
【0043】
モデルは、Generator及びDiscriminatorから構成されている。そのため、評価関数計算部134は、Generator及びDiscriminatorを最適化するための評価関数を計算するということができる。
【0044】
ここで、(2)式について説明する。(2)式の左辺は、関数Vを最小化するG(Generator)を探すこと、及び関数Vを最大化するD(Discriminator)を探すことを意味している。
【0045】
また、(2)式の右辺第1項(Ex)は、未知の確率分布に従い実データが生成されることを意味している。右辺第1項によれば、実データを入力すると最大値を出力し、生成データを入力すると最小値を出力するDが探されることになる。
【0046】
また、(2)式の右辺第2項(Ez,c)は、与えた確率分布に従い、潜在変数とノイズが生成されることを意味している。右辺第2項によれば、潜在変数cとノイズzを入力すると、Dに入力したときに最大値が出力されるようなG(z,c)が探されることになる。
【0047】
さらに、右辺第3項(重み係数λが掛けられた項)は、cとG(z,c)の相互情報量である。右辺第3項によれば、cとの相互情報量が最大になるG(z,c)が探されることになる。右辺第3項は、潜在変数の解釈性に寄与する項の一例である。
【0048】
このように、評価関数計算部134は、Generatorに入力される潜在変数と、Generatorによって生成されるデータとの相互情報量に基づく項を、潜在変数の解釈性に寄与する項として含む評価関数を計算する。
【0049】
ここで、Info-GANでは、Discriminatorが、生成されたデータがどの潜在変数から生成されたか推定する。そして、Info-GANでは、GANと異なり、相互情報量を含む項を評価関数に導入することによって、Generatorの学習において、Discriminatorが生成データがどの潜在変数から生成されたかを推定した結果の精度が向上するようにしている。
【0050】
なお、実データは潜在変数から生成されるものではないので、通常のInfo-GANでは、Discriminatorの潜在変数の推定に関する学習には実データは用いられない。一方で、後述するssInfo-GANでは、Discriminatorの潜在変数の推定に関する学習に実データを用いることができる。
【0051】
本実施形態では、「Generatorの学習における、Discriminatorが生成データがどの潜在変数から生成されたかを推定した結果の精度向上」の程度を、DAによる追加データの場合と、そうでないデータの場合で同じになるように制約を加える。
【0052】
例えば、評価関数計算部134は、(2)式の第3項について、追加データと、追加データの元となるデータ(生成データ及び実データ)と、について別々に計算し、それぞれで推定精度が同程度になるように学習を進める。
【0053】
一例として、(3)式のように、評価関数計算部134は、潜在変数とGeneratorによって生成されるデータとの間の第1の相互情報量と、潜在変数と追加部132によって追加されるデータとの間の第2の相互情報量と、の差分に関する項をさらに含む評価関数を計算する。
【0054】
【0055】
(3)式の右辺第4項は、追加データの元となるデータでの学習における精度向上の度合いを同程度にするための制約である。
【0056】
例えば、Iが元のデータを学習データとした場合の相互情報量であれば、I´は追加データを学習データとした場合の相互情報量である。逆に、I´が元のデータを学習データとした場合の相互情報量であれば、Iは追加データを学習データとした場合の相互情報量である。なお、I´は計算済みのため、定数として扱うことができる。
【0057】
更新部135は、評価関数のそれぞれが最適化されるように、かつ評価関数のそれぞれが最適化されたときの学習の進行度合いが近くなるように、モデルのパラメータを更新する。
【0058】
更新部135は、追加データを学習データとした場合の評価関数と、元のデータを学習データとした場合の評価関数が最適化されるように、Generator及びDiscriminatorのパラメータを更新する。
【0059】
ここで、Info-GANに教師あり学習を追加したssInfo-GANでは、生成データの劣化がInfo-GANよりもさらに生じやすい。
【0060】
Info-GANでは、Discriminatorが、生成されたデータがどの潜在変数から生成されたか推定するようにし、Generatorの学習において、Discriminatorが、生成されたデータがどの潜在変数から生成されたかを推定した結果の精度が向上するようにしている。
【0061】
しかし、Discriminatorが、生成されたデータがどの潜在変数から生成されたかを推定する学習において、実データは潜在変数から生成されていないため、実データは利用されない。
【0062】
これに対し、前述の通りssInfo-GANでは、Discriminatorが、生成されたデータがどの潜在変数から生成されたかを推定する学習において、実データを利用することができる。
【0063】
具体的には、実データに紐づいたラベル(顔画像の場合、画像に紐づいた「顔の向き」「性別」「表情」等)がある場合、そのラベルを正解として教師あり学習が可能になる。
【0064】
この場合、生成部131は、潜在変数の意味があらかじめラベルとして決められた教師あり学習のモデルを用いてデータを生成する。
【0065】
これにより、潜在変数の意味を、すでにあるラベルに対応させることができるようになり、潜在変数の意味解釈がさらに容易になる。
【0066】
しかし、ssInfo-GANでは、Info-GANで加えられた潜在変数の制約に、さらに教師あり学習による制約を加えているため、生成データの質低下が問題となりやすい。
【0067】
本実施形態の学習方法は、ssInfo-GANにも適用可能である。そして、生成データの質低下が起こりやすいssInfo-GANに対しては、本実施形態の学習方法はより有効である。
【0068】
[第1の実施形態の処理]
図3は、第1の実施形態に係る学習装置の処理の流れを示すフローチャートである。まず、学習装置10は、実データの有無を確認する(ステップS101)。
【0069】
実データがない場合(ステップS101、No)、学習装置10は、潜在変数とノイズを生成モデル(Generator)に入力し、データを作成する(ステップS102)。
【0070】
そして、学習装置10は、生成されたデータを元にDAを実施してデータを追加する(ステップS103)。そして、生成したデータ及びその追加データを識別モデル(Discriminator)に入力し、識別を行う(ステップS104)。
【0071】
一方、実データがある場合(ステップS101、Yes)、学習装置10は、実データを元にDAを実施してデータを追加する(ステップS105)。そして、学習装置10は、実データ及びその追加データを識別モデルに入力し、識別を行う(ステップS106)。
【0072】
ここで、学習装置10は、識別結果を基に、元のデータと追加データで識別精度が近くなるような評価関数を計算する(ステップS107)。さらに、学習装置10は、評価関数が最適化されるように、生成モデル及び識別モデルのパラメータを更新する(ステップS108)。
【0073】
なお、学習装置10によって更新が行われたモデル情報121は、生成装置によってデータの生成に利用される。
図4は、学習済みのモデルを利用する生成装置の構成例を示す図である。
【0074】
図4に示すように、生成装置20は、インタフェース部21、記憶部22、制御部23を有する。また、記憶部22は、モデル情報221を記憶する。
【0075】
モデル情報221は、学習装置10のモデル情報121と同じものであってよい。また、制御部23の生成部231は、学習装置10の生成部131と同様に、潜在変数からデータを生成する。ただし、この場合ノイズの入力は行われなくてもよい。
【0076】
[第1の実施形態の効果]
これまで説明してきたように、生成部131は、モデルを用いて潜在変数からデータを生成する。追加部132は、生成部131によって生成されたデータの一部を改変したデータを追加する。評価関数計算部134は、生成部131によって生成されたデータ、及び追加部132によって追加されたデータのそれぞれについて、モデルの評価関数であって、潜在変数の解釈性に寄与する項を含む評価関数を計算する。更新部135は、評価関数のそれぞれが最適化されるように、かつ評価関数のそれぞれが最適化されたときの学習の進行度合いが近くなるように、モデルのパラメータを更新する。
【0077】
これにより、Info-GANにDAを適用し、生成されるデータの質の劣化を抑えつつ潜在変数の解釈性を高めることが可能になる。
【0078】
生成部131は、生成器及び識別器を含む敵対的学習モデルの生成器に潜在変数を入力してデータを生成する。評価関数計算部134は、生成部131によって生成されたデータ、及び追加部132によって追加されたデータのそれぞれについて、生成器及び識別器を最適化するための評価関数であって、潜在変数の解釈性に寄与する項を含む評価関数を計算する。
【0079】
これにより、生成モデル自体の精度と、潜在変数の解釈性とを両立させることができる。
【0080】
評価関数計算部134は、生成器に入力される潜在変数と、生成器によって生成されるデータとの相互情報量に基づく項を、潜在変数の解釈性に寄与する項として含む評価関数を計算する。
【0081】
これにより、相互情報量を用いて、潜在変数の解釈性に寄与する項の追加を容易に行うことができる。
【0082】
評価関数計算部134は、潜在変数と生成器によって生成されるデータとの間の第1の相互情報量と、潜在変数と追加部132によって追加されるデータとの間の第2の相互情報量と、の差分に関する項をさらに含む評価関数を計算する。
【0083】
これにより、元のデータを学習データとして用いた場合と、追加したデータを学習データとして用いた場合とで、相互情報量が近くなるような制約を加えることができる。
【0084】
生成部131は、潜在変数の意味があらかじめラベルとして決められた教師あり学習のモデルを用いてデータを生成する。
【0085】
これにより、例えば教師ありのInfo-GANであるssInfo-GANにおける生成データの劣化を抑止できる。
【0086】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0087】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0088】
[プログラム]
一実施形態として、学習装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習処理を実行する学習プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の学習プログラムを情報処理装置に実行させることにより、情報処理装置を学習装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0089】
また、学習装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の学習処理に関するサービスを提供する学習サーバ装置として実装することもできる。例えば、学習サーバ装置は、潜在変数、ノイズ、実データを入力とし、学習済みのモデルを出力とする学習サービスを提供するサーバ装置として実装される。この場合、学習サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の学習処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0090】
図5は、学習プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0091】
メモリ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に接続される。
【0092】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0093】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0094】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0095】
10 学習装置
11、21 インタフェース部
12、22 記憶部
13、23 制御部
20 生成装置
121、221 モデル情報
131、231 生成部
132 追加部
133 識別部
134 評価関数計算部
135 更新部