(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024039138
(43)【公開日】2024-03-22
(54)【発明の名称】モデル選択装置、モデル選択方法、及びプログラム
(51)【国際特許分類】
G06V 10/70 20220101AFI20240314BHJP
G06N 20/20 20190101ALI20240314BHJP
【FI】
G06V10/70
G06N20/20
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022143469
(22)【出願日】2022-09-09
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】山岸 健太
(72)【発明者】
【氏名】岡 敏生
(72)【発明者】
【氏名】石井 達也
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA17
5L096EA39
5L096FA33
5L096KA01
5L096KA04
(57)【要約】
【課題】ドメインの異なる複数の学習済みモデルの中から転移学習への適応に最適な学習済みモデルを選択することで、転移学習された学習済みモデルの精度を向上することが可能なモデル選択装置、モデル選択方法、及びプログラムを提供する。
【解決手段】互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習部と、前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択部と、を備えるモデル選択装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習部と、
前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択部と、
を備えるモデル選択装置。
【請求項2】
前記最適な学習済みモデルを選択するための指標として、前記異なるドメインごとに生成された学習済みモデルごとに前記識別結果の分散を算出するドメインスコア計算部、
をさらに備え、
前記最適モデル選択部は、算出された前記分散に基づき、前記最適な学習済みモデルを選択する、
請求項1に記載のモデル選択装置。
【請求項3】
前記異なるドメインごとに生成された学習済みモデルに基づき、アンサンブル学習を行うアンサンブル学習部、
をさらに備え、
前記最適モデル選択部は、前記アンサンブル学習の結果に基づき、前記最適な学習済みモデルを選択する、
請求項1に記載のモデル選択装置。
【請求項4】
前記異なるドメインごとに生成された学習済みモデルの各々に対して、転移先のドメインについて転移学習を行う転移学習部、
をさらに備え、
前記アンサンブル学習部は、転移学習された前記学習済みモデルに対して、前記アンサンブル学習を行う、
請求項3に記載のモデル選択装置。
【請求項5】
前記アンサンブル学習部は、前記アンサンブル学習を行う際のアンサンブルさせる学習済みモデルの学習において、任意の活性化関数を用いて前記学習済みモデルにおける分散表現としての重みを算出する、
請求項3に記載のモデル選択装置。
【請求項6】
前記アンサンブル学習部は、アンサンブルの重みをsoftmax値に基づいて算出する、
請求項5に記載のモデル選択装置。
【請求項7】
前記入力データは、識別対象である文字を示す画像データであり、
前記ドメインごとに生成された学習済みモデルは、各々が識別対象とする文字が書かれた年代が異なり、筆記具で書かれた文字を示す画像データを用いて学習したモデルである、
請求項1に記載のモデル選択装置。
【請求項8】
前記ドメイン学習部は、異なるクラス間の対応関係を示す対応マップデータを有し、選択されたクラスに対して、前記対応マップデータに基づいて学習済みモデル間のクラスを統合する処理を行う、
請求項1に記載のモデル選択装置。
【請求項9】
前記入力データは、前記入力データが行画像として与えられている場合にはドメインの区切れ目ごとに区切られた行単位の画像を入力データとして扱い、前記入力データが行画像として与えられていない場合には文字単位の画像を入力データとして扱う、
請求項1に記載のモデル選択装置。
【請求項10】
ドメイン学習部は、互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習過程と、
最適モデル選択部が、前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択過程と、
を含むモデル選択方法。
【請求項11】
コンピュータを、
互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習手段と、
前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル選択装置、モデル選択方法、及びプログラムに関する。
【背景技術】
【0002】
近年、機械学習を用いて、入力データを識別する識別器の作成が行われている。大量の入力データと少量の入力データについてそれぞれの識別器を作成する場合、通常の機械学習では大量の入力データを用いた機械学習と少量の入力データを用いた機械学習によりそれぞれの識別器を作成する。この場合、少量の入力データを用いた機械学習によって作成された識別器では、その識別精度が低い傾向にある。このため、近年では、大量の入力タを用いて学習させた識別器(学習済みモデル)を少量の入力データに適応させる技術である転移学習が用いられることが多くなってきた。
【0003】
これらの入力データの学習では、例えば、CRNN(Convolution Recurrent Neural Networks)と呼ばれるモデルに入力データを入力して識別対象を学習させることによって、学習済みCNN(Convolution Neural Networks)を得ることができる。
【0004】
通常、転移学習を行う際には、大量の入力データにより学習済みモデルを作成し、その学習済みモデルを再利用する。これにより、転移学習ではラベル付けされた少量の入力データを入力として学習を行うことができ、転移学習における学習時間の削減や精度の向上が見込める。
【0005】
しかしながら、転移学習において再利用可能な学習済みモデルが複数ある場合、どの学習済みモデルが転移学習に最も適しているか(例えば最も精度がよいか)を事前に知ることは困難である。
【0006】
さらに、入力データの種類や入力値の取りうる値、出力するデータの種類や出力の取りうる値、確率分布などが異なる(即ちドメインが異なる)場合において、学習させたモデルに対して同じモデルを使いまわせるような技術は確立されてきた。しかしながら、種別が異なる識別対象(例えば書かれた年代が異なる手書き文字など)に対して、そのドメインを判別して適切な学習済みモデルを選択するという手法は存在しなかった。
【0007】
下記特許文献1には、分類器群(弱識別器群)を評価するために、ベクトルの分散関係に基づいて、特定の分類器群を選択する技術が開示されている。
また、下記特許文献2には、ソース言語からOCR(Optical Character Recognition:光学文字認識)によって読み取ったOCRテキストをターゲット言語に翻訳する技術が開時されている。当該技術では、翻訳の複雑度を判別し、その複雑度に基づいてソース言語からターゲット言語へのOCRテキストの機械語翻訳を実行することで、翻訳されたOCRテキストを取得することができる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2019-191711号公報
【特許文献2】米国特許第9514377号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、識別器では、入力データによって識別精度が高くなるドメインが異なる場合がある。この場合、転移学習を適用するにあたり、どのドメインにおける識別精度が高くなるかを事前に判定し、最も識別精度が高い識別器を転移学習に用いることが望ましい。しかしながら、上記特許文献1及び特許文献2の技術では、事前にドメインごとの識別精度を考慮することは困難であった。
【0010】
上述の課題を鑑み、本発明の目的は、ドメインの異なる学習済みモデルの中から転移学習への適応に最適な学習済みモデルを選択することで、転移学習された学習済みモデルの精度を向上することが可能なモデル選択装置、モデル選択方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上述の課題を解決するために、本発明の一態様に係るモデル選択装置は、互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習部と、前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択部と、を備える。
【0012】
本発明の一態様に係るモデル選択方法は、ドメイン学習部が、互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習過程と、最適モデル選択部が、前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択過程と、を含む。
【0013】
本発明の一態様に係るプログラムは、コンピュータを、互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として前記識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習手段と、前記異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが前記識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択手段と、として機能させる。
【発明の効果】
【0014】
本発明によれば、ドメインの異なる学習済みモデルの中から転移学習への適応に最適な学習済みモデルを選択することで、転移学習された学習済みモデルの精度を向上することができる。
【図面の簡単な説明】
【0015】
【
図1】第1の実施形態に係るモデル選択装置の機能構成の一例を示すブロック図である。
【
図2】第1の実施形態に係る転移学習候補となる学習済みモデルの生成処理の流れの一例を示すフローチャートである。
【
図3】第1の実施形態に係る学習済みモデルの選択処理の流れの一例を示すフローチャートである。
【
図4】第2の実施形態に係るモデル選択装置の機能構成の一例を示すブロック図である。
【
図5】第2の実施形態に係る学習済みモデルの選択処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【0017】
<1.第1の実施形態>
図1から
図3を参照して、第1の実施形態について説明する。
第1の実施形態では、入力データに含まれる識別対象を識別する識別器について、対象とするドメインが異なる識別器ごとに識別対象を識別可能に学習した学習済みモデルの中から、各学習済みモデルのドメインスコアに基づき、転移学習への適応に最適な学習済みモデルを選択するモデル選択装置について説明する。なお、各ドメインは、互いに共通のクラスを有するものとする。
【0018】
以下では、識別対象が手書き文字であり、入力データが手書き文字を示す画像データである例について説明する。
この場合のドメインは、例えば、テキスト情報を含む古典籍や古文書などの種類である。それぞれのドメインは、この種類によって分類されており、ドメインごとにそれぞれの種類のデータが混合していることはないものとする。
クラスは、例えば、文字種である。文字種とは、漢字、平仮名、片仮名などの分類のことである。一例として、漢字で示された文字を含むドメイン同士は同じクラスに分類され、共通のクラスを有するといえる。平仮名と片仮名についても同様である。また、クラスは、文字の書体であってもよい。文字の書体は、例えば、楷書体、行書体、草書体などの分類である。一例として、楷書体で示された文字を含むドメイン同士は同じクラスに分類され、共通のクラスを有するといえる。行書体と草書体についても同様である。
【0019】
また、識別対象が手書き文字である場合の学習済みモデルは、手書きOCRエンジンにてニューラルネットワークを用いた学習によってドメインごとに生成される。なお、OCRはOptical Character Recognizationの略で、画像の中にあるテキストを認識し、テキストデータとして変換する技術のことを指す。
生成後、各学習済みモデルについて、テキストデータを含む手書き領域部分の画像データを入力として得られる出力に基づき、ドメインスコアが算出される。算出後、各学習済みモデルの中から、算出されたドメインスコアに基づき、転移学習への適応に最適な学習済みモデルが選択される。
【0020】
また、ドメインごとに生成された学習済みモデルの各々が識別対象とする手書き文字は、学習済みモデルごとに手書き文字が書かれた年代が異なるものとする。また、当該学習済みモデルは、筆記具で書かれた手書き文字を示す画像データを用いて学習したモデルであるものとする。
また、モデル選択装置は、画像データが行画像として与えられている場合、ドメインの区切れ目ごとに区切られた行単位(例えば一行単位)の画像を入力データとして扱う。一方、モデル選択装置は、入力データが行画像として与えられていない場合、文字ごとに区切られた文字単位の画像を入力データとして扱ってもよい。
【0021】
<1-1.モデル選択装置の機能構成>
図1を参照して、第1の実施形態に係るモデル選択装置の機能構成について説明する。
図1は、第1の実施形態に係るモデル選択装置の機能構成の一例を示すブロック図である。
図1に示すように、モデル選択装置10は、記憶部110と、モデル分析部120と、モデル評価部130と、最適モデル選択部140とを備える。
【0022】
(1)記憶部110
記憶部110は、各種情報を記憶する機能を有する。記憶部110は、記憶媒体、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)、またはこれらの記憶媒体の任意の組み合わせによって構成される。
記憶部110は、各種情報を記憶するためのデータベース(DB)を備えてもよい。例えば、
図1に示すように、記憶部110は、入力画像DB111と、モデル管理DB112と、計算結果DB113とを備える。
【0023】
(1-1)入力画像DB111
入力画像DB111は、学習済みモデルを生成する際の入力として用いられる入力データと、生成された学習済みモデルから出力を得る際の入力として用いられる入力データが格納されるデータベースである。
【0024】
(1-2)モデル管理DB112
モデル管理DB112は、後述するドメイン学習部121によって生成された学習済みのモデルであり、転移学習が適応される候補となる学習済みモデルを記憶する。
【0025】
(1-3)計算結果DB113
計算結果DB113は、転移学習の適応に最適な学習済みモデルを選択するための指標を記憶する。当該指標は、例えば、後述するモデル評価部130によって算出されるドメインスコアである。
【0026】
(2)モデル分析部120
モデル分析部120は、入力画像DB111より取り出したテキスト情報を含む画像データを分析し、転移学習へ適応の候補となる学習済みモデルを取り出す機能を有する。
図1に示すように、モデル分析部120は、ドメイン学習部121を備える。
【0027】
(2-1)ドメイン学習部121
ドメイン学習部121は、ドメインごとの学習済みモデルを生成する機能を有する。例えば、ドメイン学習部121は、入力画像DB111からテキスト情報を含む画像データを取得し、各画像データを入力として文字種の判別(識別)を行い学習することで、ドメインごとの学習済みモデルを生成して出力する。生成した学習済みモデルは、モデル管理DB112に格納される。
【0028】
なお、ドメイン学習部121は、異なるクラス間の対応関係を示す対応マップデータを有してもよい。この場合、ドメイン学習部121は、選択されたクラスに対して、対応マップデータに基づいて学習済みモデル間のクラスを統合する処理を行う。一例として、対応マップデータが漢字と平仮名との対応関係を示す場合、例えば読みが「あ」である漢字の識別結果と平仮名の「あ」の識別結果とを同じものとみなすことができる。これにより、ドメイン学習部121は、異なるクラスを有するドメインを共通のクラスを有するドメインとして扱うことができる。
【0029】
(3)モデル評価部130
モデル評価部130は、学習済みモデルを評価する機能を有する。例えば、モデル評価部130は、ドメインの異なる学習済みモデルごとに分散を算出し、算出結果に基づき各学習済みモデルを評価する。
図1に示すように、モデル評価部130は、確率分布計算部131と、情報行列計算部132と、ドメインスコア計算部133とを備える。
【0030】
(3-1)確率分布計算部131
確率分布計算部131は、確率分布を算出する機能を有する。例えば、確率分布計算部131は、ドメイン学習部121にて得られた学習済みモデルを入力として、転移学習の対象となる画像データ(入力データ)の確率分布を算出する。確率分布計算部131は、ドメインごとの全ての学習済みモデルについて、確率分布を算出する。
【0031】
(3-2)情報行列計算部132
情報行列計算部132は、情報行列を算出する機能を有する。例えば、情報行列計算部132は、確率分布計算部131によって算出された確率分布を入力として、当該確率分布をベクトルとし、勾配を計算することで情報行列を生成する。
【0032】
(3-3)ドメインスコア計算部133
ドメインスコア計算部133は、ドメインスコアを算出する機能を有する。ドメインスコア計算部133は、最適な学習済みモデルを選択するための指標として、ドメイン学習部121によって生成された学習済みモデルごとに、手書き文字を識別した識別結果の分散をドメインスコアとして算出する。例えば、ドメインスコア計算部133は、情報行列計算部132によって算出された情報行列を入力として、ドメインごとにドメインスコアを算出する。算出したドメインスコアは、計算結果DB113に格納される。
【0033】
(4)最適モデル選択部140
最適モデル選択部140は、転移学習への適応に最適な学習済みモデルを選択する機能を有する。例えば、最適モデル選択部140は、ドメイン学習部121によって生成されモデル管理DB112に格納された学習済みモデルの中から、各々の学習済みモデルが手書き文字を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する。第1の実施形態では、最適モデル選択部140は、ドメインスコア計算部133によって算出されて計算結果DB113に格納されたドメインスコアに基づき、モデル管理DB112から最適な学習済みモデルを選択する。
【0034】
<1-2.処理の流れ>
以上、第1の実施形態に係るモデル選択装置10の機能構成について説明した。続いて、
図2及び
図3を参照して、第1の実施形態に係る処理の流れについて説明する。以下では、一例として、テキスト情報を含む画像データを入力として扱うOCRシステムについて、学習させた学習済みモデルを出力したのちに、新しい入力データにおいて最適な学習済みモデルを利用する例について説明する。なお、テキスト情報を含む画像データは、行画像を判別するためにID、幅、高さ、行画像の幅の開始位置を特定するためのx座標、行画像の高さの開始位置を特定するためのy座標、文字列の属性などを含み、1つの画像データの中に複数行にわたって文字列があるものとする。
【0035】
(1)転移学習候補となる学習済みモデルの生成処理
まず、
図2を参照して、転移学習候補となる学習済みモデルの生成処理の流れの一例について説明する。
図2は、第1の実施形態に係る転移学習候補となる学習済みモデルの生成処理の流れの一例を示すフローチャートである。
【0036】
図2に示すように、まず、ドメイン学習部121は、入力画像DB111からテキストデータを含む画像データを取得する(ステップS101)。
次いで、ドメイン学習部121は、取得した画像データが二値化されているか否かを確認する(ステップS102)。二値化されていない場合(ステップS102/NO)、処理をステップS103へ進める。一方、二値化されている場合(ステップS102/YES)、処理をステップS104へ進める。
【0037】
処理がステップS103へ進んだ場合、ドメイン学習部121は、画像データの二値化を行う(ステップS103)。例えば、ドメイン学習部121は、判別分離法を行うことで分離度が最大となる閾値を求め、自動的に画像の二値化を行う。二値化後、処理をステップS104へ進める。
【0038】
処理がステップS104へ進んだ場合、ドメイン学習部121は、画像データを画像ごとに矩形画像に切り出す(ステップS104)。例えば、ドメイン学習部121は、幅、高さ、行画像の幅の開始位置を特定するためのx座標、行画像の高さの開始位置を特定するためのy座標から1行の外接矩形を特定し、当該外接矩形に基づき矩形画像を生成する。そして、ドメイン学習部121は、矩形画像ごとに対応する文字列を出力する。
【0039】
次いで、ドメイン学習部121は、学習におけるラベル情報の作成が必要であるか否かを確認する(ステップS105)。ラベル情報が用意されていない場合はラベル情報の作成が必要であると判定し(ステップS105/YES)、処理をステップS106へ進める。一方、ラベル情報が用意されている場合はラベル情報の作成が必要でないと判定し(ステップS105/NO)、処理をステップS107へ進める。
【0040】
処理がステップS106へ進んだ場合、ドメイン学習部121は、ラベル情報を作成する(ステップS106)。第1の実施形態では、学習用に文字種セマンティックセグメンテーション(SS)を作成している。文字種SSでは、文字種ごとの単位で正解としてのラベル付けをし、クラスに用いる。ラベル情報の作成後、処理をステップS107へ進める。
【0041】
処理がステップS107へ進んだ場合、ドメイン学習部121は、ドメインごとに、ラベル情報をもとに矩形画像を用いて文字種の推定を行う(ステップS107)。
次いで、ドメイン学習部121は、ドメインごとにラベル情報を用いて手書き部分推定のニューラルネットワークを用い学習する(ステップS108)。これらのネットワーク構造は、例えばFCN(Fully Convolutional Networks)の形態をとり得る。
そして、ドメイン学習部121は、ドメインごとに生成した学習済みモデルを出力し、モデル管理DB112に格納して保存する(ステップS109)。
【0042】
(2)学習済みモデルの選択処理の流れ
次に、
図3を参照して、学習済みモデルの選択処理の流れの一例について説明する。
図3は、第1の実施形態に係る学習済みモデルの選択処理の流れの一例を示すフローチャートである。
【0043】
図3に示すように、まず、モデル評価部130は、矩形画像データを取得する(ステップS201)。例えば、モデル評価部130は、
図2のステップS101からステップS104と同様にして、テキストデータを含む二値化された矩形画像データを取得する。
【0044】
次いで、モデル評価部130は、モデル管理DB112において保存されているドメインごとに学習済みモデルが複数あるか否かを確認する(ステップS202)。1つのドメインについて学習済みモデルが複数ある場合(ステップS202/YES)、処理をステップS203へ進める。一方、1つのドメインについて学習済みモデルが複数ない場合(ステップS202/NO)、処理をステップS204へ進める。
【0045】
処理がステップS203へ進んだ場合、モデル評価部130は、複数ある学習済みモデルの中から、そのドメイン内で最も適した学習済みモデルを選択する(ステップS203)。選択後、処理をステップS204へ進める。なお、ステップS202にて、学習済みモデルが保存されていないドメインが検出された場合、当該学習済みモデルに関しては最適な学習済みモデルを選択する際のドメインの候補から除外する。
【0046】
処理がステップS204へ進んだ場合、確率分布計算部131は、モデル管理DB112に格納された学習済みモデルについて、その出力から確率分布を算出する(ステップS204)。例えば、確率分布計算部131は、学習済みモデルを入力として、ターゲットデータセットのダミーラベル分布を算出する。
【0047】
次いで、情報行列計算部132は、情報行列を算出する(ステップS205)。例えば、情報行列計算部132は、確率分布計算部131によってダミーラベル分布として算出された確率分布の各パラメータごとの勾配を算出し、その転置行列との積をとることで入力データと確率分布から情報行列を算出する。
【0048】
次いで、情報行列計算部132は、ドメインごとのクラスに重複が有るか否かを確認する(ステップS206)。重複がない場合(ステップS206/NO)、処理をステップS207へ進める。一方、重複がある場合(ステップS206/YES)、処理をステップS208へ進める。
【0049】
処理がステップS207へ進んだ場合、情報行列計算部132は、情報行列のフィルタリングを行う(ステップS207)。当該フィルタリングでは、情報行列から異なるフィルタ間の相関は重要でないとし、すべてのフィルタパラメータが平均化される。これにより、完全な情報行列から近似を行うことで簡易化することができる。フィルタリング後、処理をステップS208へ進める。
【0050】
処理がステップS208へ進んだ場合、ドメインスコア計算部133は、ドメインごとに情報行列より固定長のベクトルを出力する(ステップS208)。第1の本実施形態では、この固定長のベクトルがドメインスコアに相当する。ドメインスコア計算部133は、学習済みモデルごとに情報行列の大きさが異なるため、対角成分のみを取り出し、その対角成分を同じフィルタでの値を平均し、固定長のベクトルを出力する。
【0051】
次いで、ドメインスコア計算部133は、学習済みモデルごとの対称性を確認する(ステップS209)。対称性がない(非対称)場合(ステップS209/NO)、処理をステップS210へ進める。一方、対称性がある場合(ステップS209/YES)、処理をステップS211へ進める。
【0052】
処理がステップS210へ進んだ場合、ドメインスコア計算部133は、非対称である類似度でドメインごとにドメインスコアを計算する(ステップS210)計算後、処理をステップS212へ進める。
処理がステップS211へ進んだ場合、ドメインスコア計算部133は、コサイン類似度で学習済みモデルをベクトル化し、ドメインスコアを計算する(ステップS211)。計算後、処理をステップS212へ進める。
なお、計算されたドメインスコアは、計算結果DB113に格納され保存される。
【0053】
処理がステップS212へ進んだ場合、最適モデル選択部140は、ドメインスコアの算出結果に基づき、最適な学習済みモデルの選択を行う(ステップS212)。例えば、最適モデル選択部140は、それぞれのドメインに対して行ったドメインスコアの算出において、最も小さいスコアを示す学習済みモデルを最適な学習済みモデルとして選択する。
【0054】
以上説明したように、第1の実施形態に係るモデル選択装置10は、互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習部121と、異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択部140とを備える。
【0055】
かかる構成により、第1の実施形態に係るモデル選択装置10は、事前にドメインの違いによる識別器の識別精度の違いを考慮した上で、転移学習に適応する学習済みモデルを選択することができる。
よって、第1の実施形態に係るモデル選択装置10は、ドメインの異なる学習済みモデルの中から転移学習への適応に最適な学習済みモデルを選択することで、転移学習された学習済みモデルの精度を向上することを可能とする。
【0056】
また、第1の実施形態に係るモデル選択装置10は、最適な学習済みモデルを選択するための指標として、異なるドメインごとに生成された学習済みモデルごとに識別結果の分散を算出するドメインスコア計算部133、をさらに備え、最適モデル選択部140は、算出されたドメインスコアに基づき、最適な学習済みモデルを選択する。
かかる構成により、第1の実施形態に係るモデル選択装置10は、入力データの真値と入力データの学習済みモデルの確率分布とを用いることにより、入力データから推論するための最適なモデルを、より精度高く選択することができる。また、最適なモデルの選択にかかる時間を短縮することもできる。
【0057】
<2.第2の実施形態>
以上、第1の実施形態について説明した。続いて、
図4及び
図5を参照して、第2の実施形態について説明する。
上述した第1の実施形態では、転移学習の候補となる学習済みモデルの中から、各学習済みモデルのドメインスコアに基づき、最適な学習済みモデルを選択する例について説明したが、かかる例に限定されない。第2の実施形態では、転移学習の候補となる学習済みモデルに対するアンサンブル学習に基づき、最適な学習済みモデルを選択する例について説明する。
なお、以下では、第1の実施形態での説明と重複する説明については、適宜省略する。
【0058】
<2-1.モデル選択装置の機能構成>
図4を参照して、第2の実施形態に係るモデル選択装置10aの機能構成について説明する。
図4は、第2の実施形態に係るモデル選択装置10aの機能構成の一例を示すブロック図である。
図4に示すように、モデル選択装置10aは、記憶部110aと、モデル分析部120aと、最適モデル選択部140aとを備える。
【0059】
(1)記憶部110a
記憶部110aは、第1の実施形態に係る記憶部110と同様の記憶媒体によって各種情報を記憶する機能を有する。
図4に示すように、記憶部110aは、入力画像DB111と、モデル管理DB112aと、計算結果DB113とを備える。
【0060】
(1-1)入力画像DB111
第2の実施形態に係る入力画像DB111の機能は、第1の実施形態に係る入力画像DB111の機能と同様であるため、その説明を省略する。
【0061】
(1-2)モデル管理DB112a
モデル管理DB112aは、後述する転移学習部122によって生成された学習済みモデルであり、後述するアンサンブル学習部123によってアンサンブル学習が適応される学習済みモデルを記憶する。
【0062】
(1-3)計算結果DB113
第2の実施形態に係る計算結果DB113の機能は、第1の実施形態に係る計算結果DB113の機能と同様であるため、その説明を省略する。
【0063】
(2)モデル分析部120a
図4に示すように、モデル分析部120aは、第1の実施形態に係るモデル分析部120と同様のドメイン学習部121に加え、転移学習部122と、アンサンブル学習部123とをさらに備える。
【0064】
(2-1)ドメイン学習部121
第2の実施形態に係るドメイン学習部121の機能は、第1の実施形態に係るドメイン学習部121の機能と同様であるため、その説明を省略する。
【0065】
(2-2)転移学習部122
転移学習部122は、学習済みモデルに対して、転移学習を行う機能を有する。例えば、転移学習部122は、ドメイン学習部121によって生成された学習済みモデルの各々に対して、転移先のドメインについて対象となる画像データを用いて転移学習を行う。
【0066】
(2-3)アンサンブル学習部123
アンサンブル学習部123は、異なるドメインごとに生成された学習済みモデルに基づき、アンサンブル学習を行う機能を有する。例えば、アンサンブル学習部123は、転移学習部122によって転移学習された学習済みモデルを入力として、当該学習済みモデルに対してアンサンブル学習を行う。
【0067】
アンサンブル学習部123は、アンサンブル学習を行う際のアンサンブルさせる学習済みモデルの学習において、任意の活性化関数を用いて学習済みモデルにおける分散表現としての重みを算出する。アンサンブル学習部123は、活性化関数として例えばソフトマックス(softmax)関数を用いて、アンサンブルの重みをsoftmax値に基づいて算出する。なお、アンサンブル学習部123が用いる活性化関数は、出力の値が1.0となるように変換して出力する関数であればソフトマックス関数に限定されず、例えばシグモイド(sigmoid)関数やReLU(Rectified Linear Unit)関数など、他の活性化関数であってもよい。
【0068】
(3)最適モデル選択部140a
最適モデル選択部140aは、第1の実施形態に係る最適モデル選択部140aと同様に、ドメイン学習部121によって生成されモデル管理DB112に格納された学習済みモデルの中から、各々の学習済みモデルが手書き文字を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する。第2の実施形態では、最適モデル選択部140aは、アンサンブル学習部123によるアンサンブル学習の結果に基づき、モデル管理DB112から最適な学習済みモデルを選択する。
【0069】
<2-2.処理の流れ>
以上、第2の実施形態に係るモデル選択装置10aの機能構成について説明した。続いて、
図5を参照して、第2の実施形態に係る処理の流れについて説明する。以下では、第1の実施形態と同様に、テキスト情報を含む画像データを入力として扱うOCRシステムについて、学習させた学習済みモデルを出力したのちに、新しい入力データにおいて最適な学習済みモデルを利用する例について説明する。なお、テキスト情報を含む画像データは、行画像を判別するためにID、幅、高さ、行画像の幅の開始位置を特定するためのx座標、行画像の高さの開始位置を特定するためのy座標、文字列の属性などを含み、1つの画像データの中に複数行にわたって文字列があるものとする。
【0070】
(1)転移学習候補となる学習済みモデルの生成処理
第2の実施形態に係る転移学習候補となる学習済みモデルの生成処理は、第1の実施形態にて
図2を参照して説明した処理と同様であるため、その説明を省略する。
【0071】
(2)学習済みモデルの選択処理の流れ
次に、
図5を参照して、学習済みモデルの選択処理の流れの一例について説明する。
図5は、第2の実施形態に係る学習済みモデルの選択処理の流れの一例を示すフローチャートである。
【0072】
図5に示すステップS301からステップS303までの処理は、第1の実施形態にて
図3を参照して説明したステップS201からステップS303の処理と同様であるため、その説明を省略する。
【0073】
処理がステップS304に進んだ場合、転移学習部122は、ドメイン学習部121で生成されたすべての学習済みモデルに対して、画像データ(入力データ)を用いて転移学習を行う(ステップS304)。転移学習された学習済みモデル(転移モデル)は、モデル管理DB112aに格納され保存される。
【0074】
次いで、アンサンブル学習部123は、重み付けにアルゴリズムを用いるか否かを確認する(ステップS305)。アルゴリズムを用いる場合(ステップS305/YES)、処理をステップS306へ進める。一方、アルゴリズムを用いない場合(ステップS305/NO)、処理をステップS307へ進める。
【0075】
処理がステップS306へ進んだ場合、アンサンブル学習部123は、ラベル推定の確率を算出する(ステップS306)。例えば、アンサンブル学習部123は、任意の活性化関数を用いてラベル推定の確率を算出する。具体的に、アンサンブル学習部123は、学習済みモデルごとのラベル推定の確率を算出したものを平均し、任意の活性化関数で標準化することで、全体の出力としてのラベル推定の確率を算出する。算出後、処理をステップS311へ進める。
【0076】
処理がステップS307へ進んだ場合、アンサンブル学習部123は、学習済みモデル単位でラベルを取得する(ステップS307)。
次いで、アンサンブル学習部123は、取得したラベルの数に応じて、そのラベルの推定結果に対して、類推結果の数で多数決を取る(ステップS308)。アンサンブル学習部123は、多数決の結果数が多いものを類推するラベルとして決定する。この時、アンサンブル学習部123は、類推結果の数に対して若い順にIDを割り振り、その数を計算結果DB113に格納する。
【0077】
次いで、アンサンブル学習部123は、多数決の結果における類推数が一致するか否かを確認する(ステップS309)。一致する場合(ステップS309/YES)、処理をステップS310へ進める。一方、一致しない場合(ステップS309/NO)、処理をステップS311へ進める。
処理がステップS310へ進んだ場合、アンサンブル学習部123は、割り振ったIDが若い類推結果のラベルを選択する(ステップS310)。選択後、処理をステップS311へ進める。
【0078】
処理がステップS311へ進んだ場合、アンサンブル学習部123は、アンサンブル学習を行い、その結果を出力する(ステップS311)。重み付けにアルゴリズムを用いない場合、アンサンブル学習部123は、集計関数をラベルの多数決として、アンサンブル精度を出力する。一方、重み付けにアルゴリズムを用いる場合、アンサンブル学習部123は、集計関数を確率の平均とし、アンサンブル精度を出力する。
そして、最適モデル選択部140aは、そのアンサンブルにおける学習済みモデルを最適な学習済みモデルとして選択する(ステップS312)。
【0079】
以上説明したように、第2の実施形態に係るモデル選択装置10aは、互いに共通のクラスを有する異なるドメインごとに、識別対象を示す入力データを入力として識別対象を識別可能に学習した学習済みモデルを生成するドメイン学習部121と、異なるドメインごとに生成された学習済みモデルの中から、各々の学習済みモデルが識別対象を識別した識別結果に基づき、転移学習への適応に最適な学習済みモデルを選択する最適モデル選択部140aとを備える。
【0080】
かかる構成により、第2の実施形態に係るモデル選択装置10aは、事前にドメインの違いによる識別器の識別精度の違いを考慮した上で、転移学習に適応する学習済みモデルを選択することができる。
よって、第2の実施形態に係るモデル選択装置10aは、ドメインの異なる学習済みモデルの中から転移学習への適応に最適な学習済みモデルを選択することで、転移学習された学習済みモデルの精度を向上することを可能とする。
【0081】
また、第2の実施形態に係るモデル選択装置10aは、異なるドメインごとに生成された学習済みモデルに基づき、アンサンブル学習を行うアンサンブル学習部123、をさらに備え、最適モデル選択部140は、アンサンブル学習の結果に基づき、最適な学習済みモデルを選択する。
かかる構成により、第2の実施形態に係るモデル選択装置10aは、入力データの求める項目の真値と、学習済みモデルにその入力データを入力して推論することによって得られる目的変数の誤差を評価することにより、入力データから推論するための最適なモデルを、より精度高く選択することができる。また、最適なモデルの選択にかかる時間を短縮することもできる。
【0082】
以上、本発明の実施形態について説明した。なお、上述した実施形態におけるモデル選択装置10及び10aの一部又は全部の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0083】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0084】
10,10a…モデル選択装置、110,110a…記憶部、111…入力画像DB、112,112a…モデル管理、113…計算結果DB、120,120a…モデル分析部、121…ドメイン学習部、122…転移学習部、123…アンサンブル学習部、130…モデル評価部、131…確率分布計算部、132…情報行列計算部、133…ドメインスコア計算部、140,140a…最適モデル選択部