(57)【要約】【課題】学習モデル更改後の再判別処理にかかる時間を実質的に短縮することを課題とする。【解決手段】学習装置は、複数のデータを学習モデルを用いて複数の判別候補のいずれかに判別する際に、複数のデータのそれぞれについて、学習モデルによる判別結果の複数の判別候補に対する不確かさを示す乖離指標を算出する。その後、学習装置は、学習モデルの更改に応じ、乖離指標に基づき、更改された学習モデルを用いて再判別を行うデータを複数のデータから選定する。【選択図】図２
2020004057.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のデータを学習モデルを用いて複数の判別候補のいずれかに判別する際に、前記複数のデータのそれぞれについて、前記学習モデルによる判別結果の前記複数の判別候補に対する不確かさを示す乖離指標を算出し、
前記学習モデルの更改に応じ、前記乖離指標に基づき、更改された前記学習モデルを用いて再判別を行うデータを前記複数のデータから選定する
処理を実行させる選定プログラム。
【請求項２】
請求項１に記載の選定プログラムであって、
前記選定する処理は、前記複数のデータそれぞれの判別結果に対する前記乖離指標に基づき、前記複数のデータそれぞれに優先順位の順位付けを行い、前記優先順位にしたがって、前記複数のデータの中から、更改された前記学習モデルを用いて再判別を行うデータを選定する処理を実行する、選定プログラム。
【請求項３】
請求項１に記載の選定プログラムであって、
前記選定する処理は、前記複数のデータの中から、前記乖離指標に関する所定の基準に基づき、更改された前記学習モデルを用いて再判別を行うデータを選定する処理を実行する、選定プログラム。
【請求項４】
請求項１に記載の選定プログラムであって、
前記選定する処理は、更改前後の前記学習モデルの更新量を用いて、更改された前記学習モデルを用いて再判別を行うデータに選定する対象となる前記乖離指標の範囲を決定する処理を実行する、選定プログラム。
【請求項５】
コンピュータが、
複数のデータを学習モデルを用いて複数の判別候補のいずれかに判別する際に、前記複数のデータのそれぞれについて、前記学習モデルによる判別結果の前記複数の判別候補に対する不確かさを示す乖離指標を算出し、
前記学習モデルの更改に応じ、前記乖離指標に基づき、更改された前記学習モデルを用いて再判別を行うデータを前記複数のデータから選定する
処理を実行する選定方法。
【請求項６】
複数のデータを学習モデルを用いて複数の判別候補のいずれかに判別する際に、前記複数のデータのそれぞれについて、前記学習モデルによる判別結果の前記複数の判別候補に対する不確かさを示す乖離指標を算出する算出部と、
前記学習モデルの更改に応じ、前記乖離指標に基づき、更改された前記学習モデルを用いて再判別を行うデータを前記複数のデータから選定する選定部と
を有する選定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、選定プログラム、選定方法および選定装置に関する。
【背景技術】
【０００２】
教師データを用いて、データを複数のクラスに割当てるように学習器を学習して学習モデルを生成することが行われている。例えば、大量の文書データと各文書データ間が類似であるか否かを示すラベルとを用いて類似性の判別を学習し、学習後の学習モデルに、判別対象の２つの文書データを入力して、類似か否かを判別する。また、過去の大量の診断データと各診断データに対応する患者が癌を発症したか否かを示すラベルとを用いて、癌の発症予測を学習し、新たな患者の診断データを学習後の学習モデルに入力して、癌の発症リスクを判別する。また、システム障害などの障害事象と障害原因との関係性を学習し、学習後の学習モデルに、新たに発生した障害事象を入力して障害原因の切り分けを実行する。
【０００３】
一般的に、このような学習モデルは、より精度の高い判別が実行できるように、一旦生成された後に様々な要因で更改が行われる。例えば、時間と共に、新たな教師データが蓄積されたり、ラベルの性質が変わったり、学習されたパラメータの性質が変わったり、新たな学習技術が開発されたり、様々な要因により比較的高頻度に学習モデルの更改が行われている。近年では、所定数の判別対象データに対する判別結果の正解率を算出し、正解率に基づいて学習モデルの更改を行うか否かを判定する。そして、学習モデルの更改を実行した場合は、更改後の学習モデルを用いて、学習前の学習モデルで一度判別された全判別対象データに対して、再度の判別処理を実行する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１０／０４６９７２号
【特許文献２】特開２０１１−２２８６４号公報
【特許文献３】特開２０１４−１９１４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記技術では、近年のデータの大規模化に伴い、学習モデルの更改後の再判別処理に時間がかかり、重大な機会損失を招く危険性がある。例えば、学習モデルにより文書間の類似判定を行う場合、文書数がｎ個の場合の再判別処理はｎの２乗回の計算量となり、また、学習モデルにより癌判定を行う場合、癌患者数がｎの場合の再判別処理はｎ回の計算量がかかる、というように、対象データ数が多いほど再判別処理に時間がかかる。また、障害切り分けの学習モデルでは、学習モデルの更改後の再判別処理に時間がかかると、最新の判別結果を運用者に通知するのに時間がかかり、適切な運用対処の機会喪失を招き、障害による影響が拡大する。
【０００６】
一つの側面では、学習モデル更改後の再判別処理の対象を削減することができる選定プログラム、選定方法および選定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、選定プログラムは、コンピュータに、複数のデータを学習モデルを用いて複数の判別候補のいずれかに判別する際に、前記複数のデータのそれぞれについて、前記学習モデルによる判別結果の前記複数の判別候補に対する不確かさを示す乖離指標を算出する処理を実行させる。選定プログラムは、コンピュータに、前記学習モデルの更改に応じ、前記乖離指標に基づき、更改された前記学習モデルを用いて再判別を行うデータを前記複数のデータから選定する処理を実行させる。
【発明の効果】
【０００８】
一実施形態によれば、学習モデル更改後の再判別処理にかかる時間を実質的に短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかる学習装置の全体例を説明する図である。
【図２】図２は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。
【図３】図３は、学習データＤＢに記憶される情報の例を示す図である。
【図４】図４は、判別対象データＤＢに記憶される情報の例を示す図である。
【図５】図５は、優先順位ＤＢに記憶される情報の例を示す図である。
【図６】図６は、判別関数の例を示す図である。
【図７】図７は、処理の流れを示すフローチャートである。
【図８】図８は、具体的なデータ例を示す図である。
【図９】図９は、特徴量である文書間の単語の重複度合を示す図である。
【図１０】図１０は、学習対象の入力データおよび出力結果を説明する図である。
【図１１】図１１は、判別対象データの判別結果を説明する図である。
【図１２】図１２は、乖離指標の算出例を説明する図である。
【図１３】図１３は、再判別時の優先順位の設定例を説明する図である。
【図１４】図１４は、パラメータの変化と判別関数の関係を説明する図である。
【図１５】図１５は、学習モデルの更改量と判別結果の変化との関係を説明する図である。
【図１６】図１６は、終了条件の設定例を説明する図である。
【図１７】図１７は、ハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する選定プログラム、選定方法および選定装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１１】
［全体例］
図１は、実施例１にかかる学習装置の全体例を説明する図である。図１に示す学習装置１０は、再学習後に判別対象とするデータを選定する選定装置の一例である。例えば、学習装置１０は、教師データを用いて学習された学習モデルを用いて、判別対象データの判別を実行して判別結果を得る。そして、学習装置１０は、判別結果から、学習モデルが更改された場合に判別が変わりやすいものを特定する。その後、学習装置１０は、学習モデルが更改されると、更改後の学習モデルに対して、判別が変わりやすいと特定された順で判別対象データの再判別処理を実行し、新たな判別結果を得る。
【００１２】
例えば、学習装置１０は、入力（ｘ）と重み（ｗ）とを用いて判別結果を出力する学習モデルＰに対して、判別対象のデータＡ、データＢ、データＣを順に入力して判別結果を取得する。続いて、学習装置１０は、学習モデルにより判別された複数の判別対象データのそれぞれについて、学習モデルによる判別出力候補それぞれからの乖離状況に関する、乖離指標を算出する。換言すれば、乖離指標（非確定指標と呼称してもよい）は、複数のデータを学習モデルを用いて複数の判別候補のいずれかに判別する際に、前記複数のデータのそれぞれについて、前記学習モデルによる判別結果の前記複数の判別候補に対する不確かさを示す指標である。そして、学習装置１０は、乖離指標に基づき、再判別時の順番として、データＧ、データＲ、データＡなどを選定する。その後、学習装置１０は、学習モデルが更改された後、更改後の学習モデルに対して、データＧ、データＲ、データＡの順番で入力して再判別処理を実行する。
【００１３】
このようにすることで、学習装置１０は、更改前後の学習モデルによる判別結果が変化する価値のあるデータを優先して、更改モデルの判別処理を実行することができるので、学習モデル更改後の再判別処理にかかる時間を実質的に短縮することができる。なお、本実施例では、学習処理、選定処理、再判別処理を学習装置１０が実行する例で説明するが、それぞれの処理を別々の装置が実行することもできる。
【００１４】
［機能構成］
図２は、実施例１にかかる学習装置１０の機能構成を示す機能ブロック図である。図２に示すように、学習装置１０は、通信部１１、記憶部１２、制御部２０を有する。
【００１５】
通信部１１は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、管理者端末から処理の開始指示や学習データなどを受信し、判別結果などを指定端末に送信する。
【００１６】
記憶部１２は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、学習データＤＢ１３、学習結果ＤＢ１４、判別対象データＤＢ１５、判別結果ＤＢ１６、優先順位ＤＢ１７を記憶する。
【００１７】
学習データＤＢ１３は、学習モデルの学習に使用される学習データを記憶するデータベースである。図３は、学習データＤＢ１３に記憶される情報の例を示す図である。図３に示すように、学習データＤＢ１３は、データの順番を示す「項番」と、データを一意に識別する「データＩＤ」と、データに付与されるラベルを示す「ラベル」とを対応付けて記憶する。図３の例では、項番１のデータ１にはラベルＡが付与されており、項番２のデータ２にはラベルＢが付与されている。なお、学習データは、教師有データ（ラベル付きデータ）に限らず、教師無データ（ラベル無しデータ）を用いることもでき、両方を用いることもできる。
【００１８】
学習結果ＤＢ１４は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１４は、制御部２０による学習データの判別結果（分類結果）、機械学習やディープラーニングによって学習された、学習器やニューラルネットワークの各種パラメータや各種重みなどを記憶する。
【００１９】
判別対象データＤＢ１５は、学習された学習モデルを用いて判別する対象の判別対象データを記憶するデータベースである。図４は、判別対象データＤＢ１５に記憶される情報の例を示す図である。図４に示すように、判別対象データＤＢ１５は、データの順番を示す「項番」と、データを一意に識別する「データＩＤ」とを対応付けて記憶する。図４の例では、判別対象の項番１がデータＪ１であり、項番２がデータＪ２である。
【００２０】
判別結果ＤＢ１６は、判別結果を記憶するデータベースである。例えば、判別結果ＤＢ１６は、判別対象データＤＢ１５に記憶される判別対象のデータそれぞれに対応付けて、判別された結果を記憶する。
【００２１】
優先順位ＤＢ１７は、学習モデルの更改後の再判別処理の順番を記憶するデータベースである。具体的には、優先順位ＤＢ１７は、後述する順位判定部２３によって生成された優先順位を記憶する。図５は、優先順位ＤＢ１７に記憶される情報の例を示す図である。図５に示すように、優先順位ＤＢ１７は、特定された優先順位を示す「順番」とデータを識別する「データＩＤ」とを対応付けて記憶する。図５の例では、再判別時の順番がデータＪ１１、データＪ２５、データＪ５、データＪ４０であることを示す。
【００２２】
制御部２０は、学習装置１０全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部２０は、学習部２１、判別部２２、順位判定部２３を有する。なお、学習部２１、判別部２２、順位判定部２３は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
【００２３】
学習部２１は、学習データＤＢ１３に記憶される各学習データを入力として、学習モデルの学習を実行する処理部である。具体的には、学習部２１は、学習データＤＢ１３からデータ１を読み出して、ニューラルネットワークなどの学習器に入力して出力を得る。そして、学習部２１は、出力値とラベル「ラベルＡ」との誤差が小さくなるように学習する。
【００２４】
このように、学習部２１は、各学習データについて、学習器の出力値と予め設定されるラベルとの誤差が最小化されるように学習を実行して学習モデルを学習および構築する。そして、学習部２１は、学習が終了すると、各種パラメータなどを学習結果ＤＢ１４に格納する。なお、ニューラルネットワークは、ＲＮＮ（再帰型ニューラルネットワーク：Recurrent  Neural  Network）など様々なニューラルネットワークを用いることができる。また、ニューラルネットワーク以外にも、ＳＶＭ（Support  Vector  Machine）、決定木、ランダムフォレストなどの機械学習を採用することができる。また、学習方法は、誤差逆伝播法など様々な手法を採用することができる。
【００２５】
また、学習部２１は、学習が終了して学習モデルが構築された後、新たな学習データが蓄積されたり、ラベルの性質が変わったり、学習されたパラメータの性質が変わったり、新たな学習技術が開発されるなどの要因が発生した場合に、学習データＤＢ１３に記憶される各学習データを用いて、学習モデルの更改を実行する。
【００２６】
例えば、学習部２１は、新たな学習データを学習後の学習モデルに入力して、出力値とラベルとの誤差が小さくなるように、学習モデルの学習を実行する。または、学習部２１は、新たな技術を適用した学習器などに、前回と同じ学習データを入力して、出力値とラベルとの誤差が小さくなるように、学習器の学習を実行する。そして、学習部２１は、再学習が終了すると、更改後の学習モデルの各種パラメータなどを学習結果ＤＢ１４に格納する。
【００２７】
判別部２２は、学習された学習済みの学習モデルを用いて、判別対象データＤＢ１５に記憶される各判別対象データの判別を実行する処理部である。例えば、判別部２２は、学習結果ＤＢ１４から各種パラメータを読み出し、各種パラメータを設定した学習モデルを構築する。そして、判別部２２は、判別対象データＤＢ１５から判別対象データを読み出して学習モデルに入力し、判別結果を取得する。そして、判別部２２は、判別結果を判別結果ＤＢ１６に格納したり、判別結果をディスプレイに表示したり、判別結果を管理者端末に送信したりする。
【００２８】
また、判別部２２は、学習モデルが更改された場合は、更改後の学習モデルを用いて、優先順位ＤＢ１７に記憶される順番で判別対象データの再判別を実行する。例えば、図５の例では、判別部２２は、１番目にデータＪ１１の再判別を実行し、２番目にデータＪ２５の再判別を実行し、３番目にデータＪ５の再判別を実行する。
【００２９】
順位判定部２３は、学習モデル更改後の再判別時に再判別を実行する判別対象データの優先順位を決定する処理部である。具体的には、順位判定部２３は、判別対象データＤＢ１５に記憶される各判別対象データについて、更新前の学習モデルによる判別出力候補それぞれからの乖離状況に関する乖離指標を算出し、乖離指標に基づき、判別対象データを選定する。つまり、順位判定部２３は、更改前の学習モデルによる判別結果のうち、判別結果がかわりやすい判別対象データを優先的に再判別できるように、優先順位を決定する。
【００３０】
例えば、判別関数がシグモイド関数の例で説明する。図６は、判別関数の例を示す図である。図６に示すように、シグモイド関数ｆ（ｘ）は、学習された重みｗ０と重みｗ１と、入力ｘとから値を出力する関数であり、出力値は、１から０までの範囲となる。ここで、判別結果が０の範囲である出力値０の付近、および、判別結果が１の範囲である出力値１の付近は、出力候補（出力値）からの乖離度が小さく、確定的な値と判断できる。一方、出力値０．５の付近は、出力候補（出力値）からの乖離度が大きく、非確定的な値と判断できる。
【００３１】
つまり、出力値が０や１の付近は、学習モデルが更改されたとしても値の変化が小さく、判別結果が変わる可能性が小さいと判断することができる。また、出力値が０．５の付近（入力ｘが０の付近）は、学習モデルが更改されると値の変化が大きく、判別結果が変わる可能性が高いと判断することができる。そこで、順位判定部２３は、更改前の学習モデルによる判別結果から、更改後の判別結果が変わりやすい判別対象データを選定する。
【００３２】
具体的には、順位判定部２３は、学習モデルの更改に伴う判定結果の変わりやすさである非確定の程度を算出して、判別対象データの選定および順位付けを行う。言い換えると、順位判定部２３は、更改前の学習モデルにおけるいずれかの出力候補（判別候補）に確定しているわけではない度合いを示す乖離指標、つまり出力候補それぞれからの乖離状況に関する乖離指標を算出して、判別対象データの選定および順位付けを行う。
【００３３】
例えば、順位判定部２３は、式（１）を用いて、判別結果のエントロピー（平均情報量）を算出し、エントロピーの値によって判別対象データの選定および順位付けを行う。別例では、順位判定部２３は、判別対象とする閾値（上限値と下限値）を予め設定し、更改前の学習モデルによる判別結果の確率値が閾値の範囲内にある判別対象データを一律に再判定の対象に選定することもできる。なお、閾値は、過去の実績で再判別を実行すべきだったものの分布等から決定することができる。
【００３４】
【数１】
2020004057.tif 000003
【００３５】
［処理の流れ］
図７は、処理の流れを示すフローチャートである。ここでは、判別処理、選定処理、再判別処理の一連の流れを説明するが、別々に実行することもできる。
【００３６】
図７に示すように、学習部２１による学習が完了すると（Ｓ１０１：Ｙｅｓ）、判別部２２は、判別対象データＤＢ１５から判別対象データを読み込んで（Ｓ１０２）、判別処理を実行して判別結果を判別結果ＤＢ１６に格納する（Ｓ１０３）。
【００３７】
そして、判別対象データが存在し、判別が完了していない場合（Ｓ１０４：Ｎｏ）、次の判別対象データについてＳ１０２以降が繰り返される。一方、判別対象データが存在せず、判別が完了した場合（Ｓ１０４：Ｙｅｓ）、順位判定部２３は、判別結果を用いて、乖離指標を算出する（Ｓ１０５）。
【００３８】
続いて、順位判定部２３は、判別対象データそれぞれについて、乖離指標にしたがって再判別処理時の優先順位を決定して、優先順位ＤＢ１７に格納する（Ｓ１０６）。
【００３９】
その後、学習モデルが更改されると（Ｓ１０７：Ｙｅｓ）、判別部２２は、優先順位ＤＢ１７に記憶される優先順位の順番で、各判別対象データを読み込み（Ｓ１０８）、各判別対象データについて再判別処理を実行して、判別結果を判別結果ＤＢ１６に格納する（Ｓ１０９）。その後、Ｓ１０５に戻って、次の更改時のために、優先順位の決定が実行される。
【００４０】
［具体例］
次に、図８から図１３を用いて、文書間の類似判別を実行する例を用いて、具体例を説明する。図８は、具体的なデータ例を示す図である。図９は、特徴量である文書間の単語の重複度合を示す図である。図１０は、学習対象の入力データおよび出力結果を説明する図である。図１１は、判別対象データの判別結果を説明する図である。図１２は、乖離指標の算出例を説明する図である。図１３は、再判別時の優先順位の設定例を説明する図である。なお、ここでは、説明を簡単にするために、学習時のデータと判別時のデータとが同じ例で説明するが、あくまで一例であり、これに限定されるものではない。
【００４１】
はじめに、文書間の単語の重複度を使って学習器の学習を実行し、文書同士が類似か否かを判別する学習モデルを構築する。図８に示すように、学習対象データには、類似関係がタグ付けされている。具体的には、（１）の文書は、「明日太郎とご飯を食べに行く」であり、（２）の文書は、「明日花子とご飯を食べに行く」であり、（３）の文書は、「明日花子と寿司を食べに行く」である。（４）の文書は、「明日花子と寿司を握りに行く」であり、（５）の文書は、「来月花子と寿司を握りに行く」である。そして、文書（１）と文書（２）は類似関係であり、文書（２）と文書（３）は類似関係であり、文書（３）と文書（４）は類似関係であり、文書（４）と文書（５）は類似関係である。
【００４２】
続いて、学習部２１は、文書間の単語の重複度合を算出して、特徴量として学習する。具体的には、学習部２１は、文書（１）と文書（２）について、文書（１）に形態素解析や単語抽出などの既存の解析を実行して得られた「明日、太郎と、ご飯を、食べに、行く」と、同様に文書（２）から得られた「明日、花子と、ご飯を、食べに、行く」とから、文書（１）と（２）には、「明日、太郎と、ご飯を、食べに、行く」と「花子と」の６個の単語があることを特定する。続いて、学習部２１は、文書（１）と（２）では、６個の単語のうち「明日、ご飯を、食べに、行く」の４つが共通することから、重複度合を「４／６≒０．６６７」と算出する。
【００４３】
また、学習部２１は、文書（１）と文書（３）について、文書（１）から得られた「明日、太郎と、ご飯を、食べに、行く」と、文書（３）から得られた「明日、花子と、寿司を、食べに、行く」とから、文書（１）と（３）には、「明日、太郎と、ご飯を、食べに、行く」と「花子と、寿司を」の７個の単語があることを特定する。続いて、学習部２１は、文書（１）と（３）では、７個の単語のうち「明日、食べに、行く」の３つが共通することから、重複度合を「３／７≒０．４３」と算出する。
【００４４】
このようにして、文書間の重複度合の算出結果を図９に示す。図９に示すように、類似関係にある（１）と（２）の重複度合が「０．６７」、（２）と（３）の重複度合が「０．６７」、（３）と（４）の重複度合が「０．６７」、（４）と（５）の重複度合が「０．６７」であることから、重複度合が「０．６７」以上は類似関係にあると判断できる。
【００４５】
この結果、学習部２１は、類似関係にある文書間と類似関係にない文書間とのそれぞれにラベルを付与する。そして、学習部２１は、文書とラベルとを入力データとして、機械学習を実行して、類似判別の学習を実行する。例えば、図１０に示すように、学習データ（文書間：類似度）として、｛（１，２）：０．６７、（２，３）：０．６７、（３，４）：０．６７、（４，５）：０．６７、（１，３）：０．４３、（２，４）：０．４３、（３，５）：０．４３、（１，４）：０．２５、（２，５）：０．２５、（１，５）：０．１１｝を設定する。また、上記学習データの順で、ラベルとして［１，１，１，１，１，０，０，０，０，０，０］を設定する。つまり、学習データ｛（１，２）：０．６７｝にはラベル（１）が設定されており、学習データ｛（２，５）：０．２５｝にはラベル（０）が設定されている。
【００４６】
そして、学習部２１は、上記学習データおよびラベルを入力として機械学習を実行することで、文書間の重複度合を特徴量とする機械学習を実行し、学習結果として特徴量の重みを取得する。具体的には、学習部２１は、図１０に示すように、重みｗ１とｗ０とを取得する。ここで取得される、重みｗ１とｗ０とにより、文書間の類似判別を実行するシグモイド関数が定まる。
【００４７】
その後、判別部２２は、学習で得られた重みｗ１とｗ０とにより定めるシグモイド関数を用いて、判別対象データである文書間について、類似である確率と非類似である確率を取得する判別処理を実行する。具体的には、図１１に示すように、判別部２２は、判別対象データ（文書：類似度）として、｛（１，２）：０．６７、（２，３）：０．６７、（３，４）：０．６７、（４，５）：０．６７、（１，３）：０．４３、（２，４）：０．４３、（３，５）：０．４３、（１，４）：０．２５、（２，５）：０．２５、（１，５）：０．１１｝のそれぞれを入力として、判別処理を実行する。
【００４８】
そして、判別部２２は、文書（１）と（２）、（２）と（３）、（３）と（４）、（４）と（５）のそれぞれについては、非類似である確率「0.44492586」、類似である確率「0.55507414」を取得する。判別部２２は、文書（１）と（３）、（２）と（４）、（３）と（５）のそれぞれについては、非類似である確率「0.48643373」、類似である確率「0.51356627」を取得する。判別部２２は、文書（１）と（４）、（２）と（５）のそれぞれについては、非類似である確率「0.51771965」、類似である確率「0.48228035」を取得する。判別部２２は、文書（１）と（５）については、非類似である確率「0.54196994」、類似である確率「0.458030006」を取得する。
【００４９】
そして、判別部２２は、確率の高い方を判別結果に選択する。例えば、判別部２２は、文書（１）と（２）、（２）と（３）、（３）と（４）、（４）と（５）のそれぞれについては類似と判別し、文書（１）と（３）、（２）と（４）、（３）と（５）のそれぞれについては類似と判別し、文書（１）と（４）、（２）と（５）、（１）と（５）については非類似と判別する。
【００５０】
その後、順位判定部２３は、乖離指標として、上記式（１）に各文書間の各確率を入力して平均情報量を算出する。具体的には、順位判定部２３は、各文書間について、各事象（Ａ）を各確率、全事象（Ω）を２として、Ｈ（Ｐ）を算出する。そして、順位判定部２３による乖離指標の算出結果を図１２に示す。図１２に示すように、順位判定部２３は、文書（１）と（２）、（２）と（３）、（３）と（４）、（４）と（５）のそれぞれについては乖離指標（平均情報量）として「0.68706853278204272」を算出する。同様に、順位判定部２３は、文書（１）と（３）、（２）と（４）、（３）と（５）のそれぞれについては乖離指標（平均情報量）として「0.69277904778248522」を算出する。同様に、順位判定部２３は、文書（１）と（４）、（２）と（５）のそれぞれについては乖離指標（平均情報量）として「0.692519077366054」を算出する。同様に、順位判定部２３は、文書（１）と（５）については乖離指標（平均情報量）として「0.68962008066395741」を算出する。
【００５１】
そして、順位判定部２３は、乖離指標が大きいほど、学習モデルの更改による影響度が大きいと判断し、再判別処理時の順位決めを行う。具体的には、図１３に示すように、順位判定部２３は、各文書間の乖離指標を大きい順で並び替え、値が大きい順に、文書（１）と（３）、（２）と（４）、（３）と（５）、（１）と（４）、（２）と（５）、（１）と（５）、（１）と（２）、（２）と（３）、（３）と（４）、（４）と（５）の順番で優先順位を決定する。
【００５２】
この結果、最初の学習時は、重複度の大きい順で、文書（１）と（２）、（２）と（３）、（３）と（４）、（４）と（５）、（１）と（３）、（２）と（４）、（３）と（５）、（１）と（４）、（２）と（５）、（１）と（５）の類似判別が実行される。しかし、学習モデル更改時は、判別結果が変わる可能性が高い、文書（１）と（３）、（２）と（４）、（３）と（５）、（１）と（４）、（２）と（５）、（１）と（５）、（１）と（２）、（２）と（３）、（３）と（４）、（４）と（５）の順番で類似判別を実行することができる。
【００５３】
［有用性］
上述した不安定度（乖離指標）による優先度付けは、学習モデルの更改前後での変化が微小であればより効果的である。学習モデルの変化が微小とは、学習モデルのパラメータの変化が微小であるということであり、学習モデルの変化が微小とは、更改前モデルｆ（ｘ；ｗｏｌｄ）と更改後モデルｆ（ｘ；ｗｎｅｗ）においてｗｎｅｗ−ｗｏｌｄが微小であることである。
【００５４】
図６のグラフの両端のように、判別結果が明らかであるものは、学習モデル更改後の判別結果が更改前と変わらない傾向が強い。一方で、図５のグラフの中央部分のように、判別結果が曖昧な箇所は、微小な変化で判別結果が変わりうり、更改前モデルで偽陽性または偽陰性を発見しやすい。従って、モデル更改で結果が変わりやすい部分の結果に対して優先的に判別処理をやり直すことで、より高速化が図れる。
【００５５】
図１４は、パラメータの変化と判別関数の関係を説明する図である。図１４に示すように、重みｗ１＞１、ｗ１＝０、ｗ０＜０の範囲で隣り合うグラフでは、グラフの中央部分が変化してグラフの両端部分の変化が小さいことから、パラメータの微小な変化とみなすことができ、実施例１による順序付けがより効果的である。一方、ｗ１＝０を跨る変化が起きた場合が、グラフそのものが大きく変化しており、非常に大きなパラメータの更改があった場合とみなすことができるので、実施例１による順序付けではなく、全判別対象データについて再判別を実行することが好ましい。
【００５６】
図１５は、学習モデルの更改量と判別結果の変化との関係を説明する図である。図１５の（ａ）に示すように、学習モデルの更新前後のパラメータ（重み）ｗの変化量が小さいときは、中央部分が判別結果が変わりやすい。また、図１５の（ｃ）に示すように、学習モデルの更新前後のパラメータ（重み）ｗの変化量が大きいときは、グラフのどの部分であっても判別結果が変わりやすい。また、図１５の（ｂ）に示すように、学習モデルの更新前後のパラメータ（重み）ｗの変化量が（ａ）と（ｂ）の間のときは、グラフの両端以外は判別結果が変わりやすい。なお、図１５の横軸は、上述した入力ｘであり、縦軸は、上述したｆ（ｘ）であり乖離指標を示す。
【００５７】
したがって、学習装置１０は、学習モデルの前後でパラメータの変化量に基づいて、判別対象とする乖離指標の範囲を決定し、再判別処理を制御することもできる。例えば、学習装置１０は、学習モデルの前後でパラメータの変化量が第１の閾値未満の場合は、ｘが−１から１までの乖離指標の範囲を再判別対象に決定する。また、学習装置１０は、学習モデルの前後でパラメータの変化量が第１の閾値以上かつ第２の閾値未満の場合は、ｘが−３から３までの乖離指標の範囲を再判別対象に決定する。また、学習装置１０は、学習モデルの前後でパラメータの変化量が第２の閾値以上の場合は、乖離指標の全範囲を再判別対象に決定する。
【００５８】
別例としては、学習装置１０は、学習モデルの前後でパラメータの変化量を算出し、変化量が閾値未満であれば判別対象データの順序付けを行い、変化量が閾値以上であれば全判別対象データを再判別処理の対象とすることもできる。更なる別例としては、学習装置１０は、学習モデルの前後でパラメータの変化量が第１の閾値未満であれば判別対象データの順序付けを行って上位５０個を再判別対象データと決定し、変化量が第１の閾値以上かつ第２の閾値未満であれば判別対象データの順序付けを行って上位１００個を再判別対象データと決定し、変化量が第２の閾値以上であれば全判別対象データを再判別処理の対象とすることもできる。
【００５９】
なお、実際の学習モデルでは、パラメータの数は非常に多いことから、全体のパラメータ数に対して大多数のパラメータが一度の更新で０を跨ぐ変化が起きることは稀であるので、実施例１による順序付けは非常に大きな効果がある。
【００６０】
［効果］
上述したように、学習装置１０は、学習モデルが更改された場合、更改前の学習モデルでの判別結果のうち判別結果が変わりやすいものから優先的に再判別処理を行うことができるので、高速に判定結果を判明させることができる。したがって、影響の大きい判別対象データのみを再判別することもでき、学習モデル更改後の再判別処理にかかる時間を短縮することができる。
【００６１】
また、更改前後の変化が大きくなるほど、無作為に判別対象を選択する状況に漸近し、優先度付した順序を使った場合とコスト的な差異は小さくなるが、学習モデルの構造的変化の頻度に比べ、学習モデルの更新頻度が多い運用では、実施例１の手法による効果が大きい。なお、学習モデルの更新頻度とは、日々のモデルの活用を通じて随時モデルを作成し直す頻度であり、例えば、定期的（例えば１か月に１回）などである。また、学習モデルの構造的変化とは、判別方法を根幹から変えてしまうようなイベントに基づくものである。
【実施例２】
【００６２】
ところで、学習装置１０は、判別対象データのうち再判別処理の対象とするデータを絞り込むこともできる。つまり、学習装置１０は、優先順位を決定するだけでなく、判定処理を終了する順位を指定することもできる。そこで、実施例２では、再判別処理の終了条件の設定例を説明する。
【００６３】
具体的には、学習装置１０は、過去の事例で変数の重みｗ＝（ｗ０、ｗ１、・・・、ｗｎ）の変化量の総和と学習モデルの更改前後で変化の起きた順位とを、別の学習から推定する。例えば、学習装置１０は、過去の事例で学習モデルの更改前後で判別結果が変わらなくなる相対順位と重みの総和に基づいて予測できるようにする。
【００６４】
図１６は、終了条件の設定例を説明する図である。図１６の（ａ）に示すように、順位判定部２３は、過去の各学習モデル更改について、再判別時の判別順位を示す「相対順位」と、更改前後で判別結果が変更されたか否かを示す「判別結果の有無」と、学習モデルの更改内容を特定する「重みの総和の変化量」とを抽出する。その後、順位判定部２３は、それぞれの抽出結果を用いてロジステック回帰を実行して、学習モデルの更改で判別処理の結果が変わらない境界を学習する。例えば、順位判定部２３は、学習モデル１から学習モデル２への更改時（結果１）に、相対順位と判別結果の有無と重みの総和の変化量（３．４）を算出し、これらを用いたロジステック回帰によって境界を学習する。同様に、順位判定部２３は、学習モデル２から学習モデル３への更改（結果２）に関しても境界を学習する。
【００６５】
そして、図１６の（ｂ）に示すように、順位判定部２３は、相対順位と確率値とから境界を特定する学習モデルを生成し、それぞれの学習結果の重みの総和と境界値とから境界値を予測する線形モデルを生成する。例えば、結果１について、確率値が０．５の相対順位（５５位）が学習モデルの更改前後で判別結果が変わらない境界と特定し、重みの総和の変化量（３．４）と相対順位（５５）とが抽出される。このようにして、順位判定部２３は、各結果について重みの総和の変化量と相対順位とを抽出して、その関係性を学習し、境界値を予測する線形モデルを生成する。
【００６６】
その後、順位判定部２３は、学習モデルの新たな更改が発生したときに、学習モデルの更改前後の重みの総和の変化量（ｐ）を算出する。そして、順位判定部２３は、境界値を予測する線形モデルを用いて、変化量から境界値となる順位（ｈ位）を算出する。この結果、順位判定部２３は、実施例１で算出した優先順位のうち、順位（１位）から順位（ｈ位）までを再判別処理の対象と決定する。なお、上記手法以外にも、各結果から特定された境界（図１０の（ｂ）参照）となる順位のうち、最大値、最小値、平均値などを終了条件とすることもできる。
【００６７】
上述したように、学習装置１０は、判別結果が変わりやすいデータのみを絞り込んで、学習モデル更改時の再判別処理の対象とすることができるので、判別結果が変わる可能性があるデータのみを高速に判別することができる。この結果、学習装置１０は、学習モデルの更改後の再判別処理に時間が短縮でき、重大な機会損失を招く危険性を低下できる。
【実施例３】
【００６８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００６９】
［学習データ］
実施例１では、学習データとして教師有データを用いた教師有学習を例にして説明したが、これに限定されるものではなく、教師無データを用いた教師無学習、教師有データおよび教師無データを用いた半教師学習などを採用することもできる。また、実施例１では、文書の類似関係を学習する例を説明したが、学習内容を限定するものではなく、一般的な様々な学習を採用することができる。
【００７０】
［基準による選定］
また、学習装置１０は、複数の判別対象データの中から、乖離指標に関する所定の基準に基づき、再判別対象の判別対象データを選定することもできる。例えば、学習装置１０は、過去の実績から判別結果が変わる可能性が高い閾値を決定し、当該閾値以上の乖離指標に該当するデータを判別対象データに選定することもできる。また、閾値は、過去の実績等により判別対象とする範囲指定することもできる。
【００７１】
［学習モデルの更改タイミングと順位付け］
例えば、学習装置１０は、学習モデルＡから学習モデルＢに更改された後、学習モデルＢのパラメータを用いて判別対象データの優先順位を決定し、優先順位の順で再判別を実行する。ここで、再判別の処理中に、学習モデルＢが学習モデルＣに更改されることもある。この場合、学習装置１０は、現在の再判別処理を終了し、学習モデルＣのパラメータを用いて判別対象データの優先順位を決定して、優先順位の順で再判別を実行することもできる。また、学習装置１０は、現在の再判別処理を継続しつつ、並行して、学習モデルＣのパラメータを用いて判別対象データの優先順位を決定する。そして、学習装置１０は、現在の再判別処理が終了した後、学習モデルＣによる優先順位の順で再判別を実行することもできる。
【００７２】
［学習：ニューラルネットワーク］
本実施例では、一般的な機械学習に加えて、ＲＮＮやＣＮＮ（Convolutional  Neural  Network）など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層（隠れ層）、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値（重み係数）、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
【００７３】
また、ニューラルネットワークにおける学習とは、出力層が正しい値となるように、パラメータ、すなわち、重みとバイアスを修正していくことである。誤差逆伝播法においては、ニューラルネットワークに対して、出力層の値がどれだけ正しい状態（望まれている状態）から離れているかを示す「損失関数（loss  function）」を定め、最急降下法等を用いて、損失関数が最小化するように、重みやバイアスの更新が行われる。
【００７４】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
【００７５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７６】
［ハードウェア］
図１７は、ハードウェア構成例を示す図である。図１７に示すように、学習装置１０は、ネットワーク接続装置１０ａ、入力装置１０ｂ、ＨＤＤ（Hard  Disk  Drive）１０ｃ、メモリ１０ｄ、プロセッサ１０ｅを有する。また、図１７に示した各部は、バス等で相互に接続される。
【００７７】
ネットワーク接続装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。入力装置１０ｂは、マウスやキーボードなどであり、ユーザから各種指示などを受け付ける。ＨＤＤ１０ｃは、図２に示した機能を動作させるプログラムやＤＢを記憶する。
【００７８】
プロセッサ１０ｅは、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｃ等から読み出してメモリ１０ｄに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｅは、学習部２１、判別部２２、順位判定部２３等と同様の機能を有するプログラムをＨＤＤ１０ｃ等から読み出す。そして、プロセッサ１０ｅは、学習部２１、判別部２２、順位判定部２３等と同様の処理を実行するプロセスを実行する。
【００７９】
このように学習装置１０は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置１００によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【００８０】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００８１】
１０  学習装置
１１  通信部
１２  記憶部
１３  学習データＤＢ
１４  学習結果ＤＢ
１５  判別対象データＤＢ
１６  判別結果ＤＢ
１７  優先順位ＤＢ
２０  制御部
２１  学習部
２２  判別部
２３  順位判定部
【図１】
2020004057.tif 000004
【図２】
2020004057.tif 000005
【図３】
2020004057.tif 000006
【図４】
2020004057.tif 000007
【図５】
2020004057.tif 000008
【図６】
2020004057.tif 000009
【図７】
2020004057.tif 000010
【図８】
2020004057.tif 000011
【図９】
2020004057.tif 000012
【図１０】
2020004057.tif 000013
【図１１】
2020004057.tif 000014
【図１２】
2020004057.tif 000015
【図１３】
2020004057.tif 000016
【図１４】
2020004057.tif 000017
【図１５】
2020004057.tif 000018
【図１６】
2020004057.tif 000019
【図１７】
2020004057.tif 000020