(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】学習装置及び学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240509BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2020058590
(22)【出願日】2020-03-27
【審査請求日】2023-02-28
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】安達 真太郎
(72)【発明者】
【氏名】山口 聡之
(72)【発明者】
【氏名】上野 邦和
(72)【発明者】
【氏名】劉 洋
【審査官】小林 秀和
(56)【参考文献】
【文献】米国特許出願公開第2016/0253597(US,A1)
【文献】特開2017-224156(JP,A)
【文献】特開2020-034998(JP,A)
【文献】上野 洋典, 東 耕平, 近藤 正章,画像認識における効率的な転移学習のための学習モデル選択手法の検討,電子情報通信学会技術研究報告,vol. 117, no. 278 ,日本,一般社団法人電子情報通信学会,2017年10月31日,pp. 13~18
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
過去の複数の案件の機械学習に用いられた複数の学習済みデータセットであって、各々が入力データ、正解データ、及び学習済みモデルを含む前記複数の学習済みデータセットの中から、新たな案件の機械学習に用いる入力データ及び正解データを含む学習データセットと類似する学習済みデータセットを選択し、
前記選択した学習済みデータセットの入力データ及び正解データ、並びに、前記学習データセットの入力データ及び正解データを用いて、機械学習を行う
学習装置。
【請求項2】
前記プロセッサは、前記学習データセットの入力データを前記学習済みモデルの各々に入力し、前記学習済みモデルから得られる出力データと、前記学習データセットの正解データとの類似度を算出し、算出した類似度に基づいて、前記学習データセットと類似する学習済みデータセットを選択する
請求項1に記載の学習装置。
【請求項3】
前記類似度は、前記出力データの画素値と前記学習データセットの正解データの画素値との差、前記出力データの前記学習データセットの正解データに対する認識率、及び、前記出力データの前記学習データセットの正解データに対する編集距離の少なくとも1つで表される
請求項2に記載の学習装置。
【請求項4】
前記プロセッサは、前記複数の学習済みデータセットの各々について、前記学習データセットに対する類似度を算出し、算出した類似度に基づいて、前記学習データセットと類似する学習済みデータセットを選択する
請求項1に記載の学習装置。
【請求項5】
前記類似度は、前記学習済みデータセットの入力データと前記学習データセットの入力データとの類似度、及び、前記学習済みデータセットの正解データと前記学習データセットの正解データとの類似度の少なくとも一方で表される
請求項4に記載の学習装置。
【請求項6】
前記プロセッサは、前記複数の学習済みデータセットの各々に含まれる入力データ及び正解データを用いて機械学習を行うことにより学習モデルを生成し、生成した学習モデルに対して、前記学習データセットの入力データ及び正解データを入力し、前記生成した学習モデルから得られる出力結果に基づいて、前記学習データセットと類似する学習済みデータセットを選択する
請求項1に記載の学習装置。
【請求項7】
前記プロセッサは、自装置の実装先情報に基づいて、前記複数の学習済みデータセットに対して、自装置で処理可能な学習済みデータセットの絞り込みを更に行う
請求項1~請求項6のいずれか1項に記載の学習装置。
【請求項8】
前記プロセッサは、前記新たな案件の機械学習を行う場合に、前記選択した学習済みデータセットから得られる値を、前記機械学習の初期値として設定する
請求項1~請求項7のいずれか1項に記載の学習装置。
【請求項9】
前記選択した学習済みデータセットは、入力データを変形して得られる変形入力データと、変形入力データの正解データである変形正解データとを更に含み、
前記プロセッサは、前記選択した学習済みデータセットの入力データ、正解データ、変形入力データ、及び変形正解データ、並びに、前記学習データセットの入力データ及び正解データを用いて、機械学習を行う
請求項1~請求項8のいずれか1項に記載の学習装置。
【請求項10】
過去の複数の案件の機械学習に用いられた複数の学習済みデータセットであって、各々が入力データ、正解データ、及び学習済みモデルを含む前記複数の学習済みデータセットの中から、新たな案件の機械学習に用いる入力データ及び正解データを含む学習データセットと類似する学習済みデータセットを選択し、
前記選択した学習済みデータセットの入力データ及び正解データ、並びに、前記学習データセットの入力データ及び正解データを用いて、機械学習を行うことを、
コンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置及び学習プログラムに関する。
【背景技術】
【0002】
例えば、特許文献1には、入力される画像データに対し、当該画像データの特徴に応じた内容の画像処理を行って出力する画像処理装置が記載されている。この画像処理装置は、画像処理の内容の異なる複数種類の画像処理手段を有する画像処理部と、画像処理部内にある画像処理手段のうち使用する画像処理手段又はその数を指定するための指定手段と、を有する。また、この画像処理装置は、画像データの特徴を表すデータが入力層に入力され、指定手段によって指定されている画像処理手段の中から1つの画像処理手段を選択する選択データを出力層から出力するニューラルネットワークと、入力層に入力されたデータに対応する適切な画像処理手段を選択する選択データを出力層から出力するようにニューラルネットワークを学習させるための学習手段と、を有する。
【0003】
また、特許文献2には、DNNを容易に利用することができる提供装置が記載されている。この提供装置は、入力データに対する演算結果を出力するノードが接続された学習器であって入力データから所定の種別に対応する特徴を抽出する学習器を登録する登録部と、特徴の種別の指定を受け付ける受付部と、を備える。また、この提供装置は、登録部によって登録された学習器に基づいて、受付部によって受け付けられた特徴の種別に対応する特徴を抽出する学習器を選択し、当該選択された学習器に基づいて生成された新たな学習器を提供する提供部と、提供部が選択した学習器を提供した売主に支払う対価を算定する算定部と、を備える。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平10-283458号公報
【文献】特開2016-004548号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、新たな案件の学習データセットを用いて機械学習を行う場合に、過去の案件で機械学習した結果である学習済みデータセットを有効利用することで、新たな案件の学習モデルに対して、性能、品質等が担保される。
【0006】
しかしながら、過去の複数の案件で用いられた複数の学習済みデータセットを全て流用すれば良いわけではなく、新たな案件の学習データセットと類似しないものは除外し、類似するものだけを選択的に流用するほうが望ましい。
【0007】
本発明は、過去の複数の案件で用いられた複数の学習済みデータセットのうち、新たな案件の学習データセットと類似する学習済みデータセットを選択的に用いて機械学習を行うことができる学習装置及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、第1態様に係る学習装置は、プロセッサを備え、前記プロセッサが、過去の複数の案件の機械学習に用いられた複数の学習済みデータセットであって、各々が入力データ、正解データ、及び学習済みモデルを含む前記複数の学習済みデータセットの中から、新たな案件の機械学習に用いる入力データ及び正解データを含む学習データセットと類似する学習済みデータセットを選択し、前記選択した学習済みデータセットの入力データ及び正解データ、並びに、前記学習データセットの入力データ及び正解データを用いて、機械学習を行う。
【0009】
また、第2態様に係る学習装置は、第1態様に係る学習装置において、前記プロセッサが、前記学習データセットの入力データを前記学習済みモデルの各々に入力し、前記学習済みモデルから得られる出力データと、前記学習データセットの正解データとの類似度を算出し、算出した類似度に基づいて、前記学習データセットと類似する学習済みデータセットを選択する。
【0010】
また、第3態様に係る学習装置は、第2態様に係る学習装置において、前記類似度が、前記出力データの画素値と前記学習データセットの正解データの画素値との差、前記出力データの前記学習データセットの正解データに対する認識率、及び、前記出力データの前記学習データセットの正解データに対する編集距離の少なくとも1つで表される。
【0011】
また、第4態様に係る学習装置は、第1態様に係る学習装置において、前記プロセッサが、前記複数の学習済みデータセットの各々について、前記学習データセットに対する類似度を算出し、算出した類似度に基づいて、前記学習データセットと類似する学習済みデータセットを選択する。
【0012】
また、第5態様に係る学習装置は、第4態様に係る学習装置において、前記類似度が、前記学習済みデータセットの入力データと前記学習データセットの入力データとの類似度、及び、前記学習済みデータセットの正解データと前記学習データセットの正解データとの類似度の少なくとも一方で表される。
【0013】
また、第6態様に係る学習装置は、第1態様に係る学習装置において、前記プロセッサが、前記複数の学習済みデータセットの各々に含まれる入力データ及び正解データを用いて機械学習を行うことにより学習モデルを生成し、生成した学習モデルに対して、前記学習データセットの入力データ及び正解データを入力し、前記生成した学習モデルから得られる出力結果に基づいて、前記学習データセットと類似する学習済みデータセットを選択する。
【0014】
また、第7態様に係る学習装置は、第1態様~第6態様のいずれか1の態様に係る学習装置において、前記プロセッサが、自装置の実装先情報に基づいて、前記複数の学習済みデータセットに対して、自装置で処理可能な学習済みデータセットの絞り込みを更に行う。
【0015】
また、第8態様に係る学習装置は、第1態様~第7態様のいずれか1の態様に係る学習装置において、前記プロセッサが、前記新たな案件の機械学習を行う場合に、前記選択した学習済みデータセットから得られる値を、前記機械学習の初期値として設定する。
【0016】
また、第9態様に係る学習装置は、第1態様~第8態様のいずれか1の態様に係る学習装置において、前記選択した学習済みデータセットが、入力データを変形して得られる変形入力データと、変形入力データの正解データである変形正解データとを更に含み、
前記プロセッサは、前記選択した学習済みデータセットの入力データ、正解データ、変形入力データ、及び変形正解データ、並びに、前記学習データセットの入力データ及び正解データを用いて、機械学習を行う。
【0017】
更に、上記目的を達成するために、第10様に係る学習プログラムは、過去の複数の案件の機械学習に用いられた複数の学習済みデータセットであって、各々が入力データ、正解データ、及び学習済みモデルを含む前記複数の学習済みデータセットの中から、新たな案件の機械学習に用いる入力データ及び正解データを含む学習データセットと類似する学習済みデータセットを選択し、前記選択した学習済みデータセットの入力データ及び正解データ、並びに、前記学習データセットの入力データ及び正解データを用いて、機械学習を行うことを、コンピュータに実行させる。
【発明の効果】
【0018】
第1態様及び第10態様によれば、過去の複数の案件で用いられた複数の学習済みデータセットのうち、新たな案件の学習データセットと類似する学習済みデータセットを選択的に用いて機械学習を行うことができる、という効果を有する。
【0019】
第2態様によれば、学習済みデータセットの学習済みモデルを利用しない場合と比較して、新たな案件の学習データセットと学習済みデータセットとの類似度を効率的、かつ、精度良く算出することができる、という効果を有する。
【0020】
第3態様によれば、データ間の画素値の差、認識率、及び編集距離を考慮しない場合と比較して、新たな案件の学習データセットと学習済みデータセットとの類似度を効率的、かつ、精度良く算出することができる、という効果を有する。
【0021】
第4態様によれば、学習済みデータセットの各データを利用しない場合と比較して、新たな案件の学習データセットと学習済みデータセットとの類似度を精度良く算出することができる、という効果を有する。
【0022】
第5態様によれば、入力データ間の類似度、及び、正解データ間の類似度を考慮しない場合と比較して、新たな案件の学習データセットと学習済みデータセットとの類似度を精度良く算出することができる、という効果を有する。
【0023】
第6態様によれば、複数の学習済みデータセットを機械学習して得られる学習モデルを利用しない場合と比較して、新たな案件の学習データセットと類似する学習済みデータセットを精度良く選択することができる、という効果を有する。
【0024】
第7態様によれば、自装置の実装先情報を考慮しない場合と比較して、学習済みデータセットの絞り込みを適切に行うことができる、という効果を有する。
【0025】
第8態様によれば、機械学習の初期値として、選択した学習済みデータセットの値を考慮しない場合と比較して、機械学習を効率的に行うことができる、という効果を有する。
【0026】
第9態様によれば、選択した学習済みデータセットの入力データ及び正解データの各々の変形データを追加しない場合と比較して、機械学習に用いるデータ数を増加させることができる、という効果を有する。
【図面の簡単な説明】
【0027】
【
図1】第1の実施形態に係る学習装置の電気的な構成の一例を示すブロック図である。
【
図2】第1の実施形態に係る学習装置の機能的な構成の一例を示すブロック図である。
【
図3】実施形態に係るニューラルネットワークの一例を示す概念図である。
【
図4】第1の実施形態に係る類似度算出方法の説明に供する図である。
【
図5】第1の実施形態に係る学習プログラムによる処理の流れの一例を示すフローチャートである。
【
図6】実施形態に係るデータ・オーグメンテーションの説明に供する図である。
【
図7】第2の実施形態に係る類似度算出方法の説明に供する図である。
【
図8】第2の実施形態に係る学習プログラムによる処理の流れの一例を示すフローチャートである。
【
図9】第3の実施形態に係る類似度算出方法の説明に供する図である。
【
図10】第3の実施形態に係る学習プログラムによる処理の流れの一例を示すフローチャートである。
【
図11】第4の実施形態に係る学習済み案件及び新規案件の一例を示す図である。
【発明を実施するための形態】
【0028】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【0029】
[第1の実施形態]
図1は、第1の実施形態に係る学習装置10の電気的な構成の一例を示すブロック図である。
【0030】
図1に示すように、本実施形態に係る学習装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入出力インターフェース(I/O)14と、記憶部15と、表示部16と、操作部17と、通信部18と、を備えている。なお、CPUに代えて、GPU(Graphics Processing Unit)を備えていてもよい。
【0031】
本実施形態に係る学習装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC:Personal Computer)等の汎用的なコンピュータ装置が適用される。学習装置10には、コピー機能、プリント機能、ファクシミリ機能、及びスキャナ機能等の複数の機能を備えた画像形成装置が適用されてもよい。
【0032】
CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、表示部16と、操作部17と、通信部18と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
【0033】
CPU11、ROM12、RAM13、及びI/O14によって制御部が構成される。制御部は、学習装置10の一部の動作を制御するサブ制御部として構成されてもよいし、学習装置10の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部の各ブロックの一部又は全部には、例えば、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部の集積化には、LSIに限らず、専用回路又は汎用プロセッサを用いてもよい。
【0034】
記憶部15としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部15には、本実施形態に係る学習プログラム15Aが記憶される。なお、この学習プログラム15Aは、ROM12に記憶されていてもよい。
【0035】
学習プログラム15Aは、例えば、学習装置10に予めインストールされていてもよい。学習プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、学習装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
【0036】
表示部16には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等が用いられる。表示部16は、タッチパネルを一体的に有していてもよい。操作部17には、例えば、キーボードやマウス等の操作入力用のデバイスが設けられている。表示部16及び操作部17は、学習装置10のユーザから各種の指示を受け付ける。表示部16は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
【0037】
通信部18は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークに接続されており、他の外部機器との間でネットワークを介して通信が可能とされる。
【0038】
ところで、上述したように、新たな案件について機械学習を行って学習モデルを生成する際に、過去の複数の案件で用いられた複数の学習済みデータセットを全て流用すれば良いわけではなく、新たな案件の学習データセットと類似しないものは除外し、類似するものだけを選択的に流用するほうが望ましい。
【0039】
このため、本実施形態に係る学習装置10のCPU11は、記憶部15に記憶されている学習プログラム15AをRAM13に書き込んで実行することにより、
図2に示す各部として機能する。なお、CPU11は、プロセッサの一例である。
【0040】
図2は、第1の実施形態に係る学習装置10の機能的な構成の一例を示すブロック図である。
【0041】
図2に示すように、本実施形態に係る学習装置10のCPU11は、取得部11A、類似度算出部11B、選択部11C、学習データ決定部11D、初期値決定部11E、及び学習部11Fとして機能する。
【0042】
本実施形態に係る記憶部15には、新たな案件(以下、「新規案件X」という。)の機械学習に用いる学習データセットXが記憶されている。この学習データセットXには、入力データ及び正解データが含まれる。この学習データセットXは、更に、入力データと正解データとの差データを含んでいてもよい。これらの入力データ及び正解データは、例えば、画像データである。この画像データは、文字列等を含んでいてもよい。
【0043】
また、記憶部15には、過去の複数の案件(以下、「案件A」、「案件B」、「案件C」、及び「案件D」という。)の機械学習に用いられた複数の学習済みデータセットA~Dが記憶されている。なお、過去の複数の案件は、2件以上であればよく、4件に限定されるものではない。学習済みデータセットAには、入力データ、正解データ、及び学習済みモデルが含まれる。この学習済みモデルは、入力データ及び正解データを用いて機械学習することで得られた案件Aについての学習済みモデルである。学習済みデータセットAは、更に、入力データと正解データとの差データを含んでいてもよい。これらの入力データ及び正解データは、例えば、画像データである。この画像データは、文字列等を含んでいてもよい。他の学習済みデータセットB、学習済みデータセットC、及び学習済みデータセットDについても、学習済みデータセットAと同様の構成とされる。なお、これらの学習データセットX及び学習済みデータセットA~Dは、学習装置10からアクセス可能な外部の記憶装置に記憶されていてもよい。
【0044】
ここで、機械学習により生成される学習モデルには、一例として、ニューラルネットワーク(Neural Network:NN)、畳み込みニューラルネットワーク(Convolution Neural Network:CNN)等が適用される。
図3を参照して、本実施形態に係るニューラルネットワークの概要について説明する。
【0045】
図3は、本実施形態に係るニューラルネットワークの一例を示す概念図である。
【0046】
図3に示すニューラルネットワークは、入力層x
i、隠れ層(中間層とも称する)y
j、及び出力層zを有している。
【0047】
図3に示すニューラルネットワークは、説明を簡単化するために、最も単純な3層構成としているが、隠れ層y
jを2層以上とした多層構成としてもよい。また、出力層zのノード(ニューロンともいう。)を1つにしているが、複数のノードで構成してもよい。
【0048】
ここで、ニューラルネットワークに対して、入力が与えられたときの出力の計算は、入力から順に以下の式(1)を用いて行われる。なお、f(・)は活性化関数と呼ばれ、一例としてシグモイド関数等が用いられる。また、xiは入力層xiの入力、yjは隠れ層yjの出力、zは出力層zの出力、wij、ujは重み係数である。これらの重み係数wij、ujを変化させることで同じ入力に対して異なる出力が得られる。つまり、狙った出力が得られるように重み係数wij、ujを更新させることで、各モデルの学習が行われる。
【0049】
【0050】
本実施形態に係るCPU11は、複数の学習済みデータセットA~Dの中から、新規案件Xの機械学習に用いる学習データセットXと類似する学習済みデータセットを選択する。そして、CPU11は、選択した学習済みデータセットの入力データ及び正解データ、並びに、学習データセットXの入力データ及び正解データを用いて、機械学習を行う。
【0051】
より具体的に、本実施形態に係る取得部11Aは、記憶部15から、学習データセットXと、複数の学習済みデータセットA~Dと、を取得する。
【0052】
本実施形態に係る類似度算出部11Bは、取得部11Aにより取得された、学習データセットXに対して、複数の学習済みデータセットA~Dの各々との類似度を算出する。つまり、学習データセットXと学習済みデータセットAとの類似度、学習データセットXと学習済みデータセットBとの類似度、学習データセットXと学習済みデータセットCとの類似度、及び、学習データセットXと学習済みデータセットDとの類似度が算出される。類似度を表す指標には、一例として、平均二乗誤差等が用いられる。平均二乗誤差の値が小さいほど、類似している可能性が高いと判定される。なお、類似度の具体的な算出方法については後述する。
【0053】
本実施形態に係る選択部11Cは、類似度算出部11Bにより算出された類似度に基づいて、複数の学習済みデータセットA~Dの中から、学習データセットXと類似する学習済みデータセットを選択する。例えば、複数の学習済みデータセットA~Dの中で類似度が最も高い学習済みデータセットを選択するようにしてもよいし、あるいは、複数の学習済みデータセットA~Dの中で類似度の高い順にN(<4)個の学習済みデータセットを選択するようにしてもよい。
【0054】
本実施形態に係る学習データ決定部11Dは、新規案件Xの機械学習に用いる学習データを決定する。具体的には、選択部11Cにより選択された学習済みデータセット、及び、新規案件Xの学習データセットXを、学習データとして決定する。
【0055】
本実施形態に係る初期値決定部11Eは、新規案件Xの機械学習に用いる初期値を決定する。例えば、選択部11Cにより選択された学習済みデータセットから得られる値を、機械学習の初期値として決定する。この際、ハイパーパラメータについても、選択部11Cにより選択された学習済みデータセットから得られる値を適用してもよい。
【0056】
本実施形態に係る学習部11Fは、学習データ決定部11Dにより決定された学習データ、及び、初期値決定部11Eにより決定された初期値を用いて、新規案件Xについての機械学習を行い、学習モデルを生成する。
【0057】
次に、
図4を参照して、第1の実施形態に係る類似度算出方法について具体的に説明する。
【0058】
図4は、第1の実施形態に係る類似度算出方法の説明に供する図である。
【0059】
図4に示すように、学習データセットXは、入力データX
in及び正解データX
outを含む。また、学習済みデータセットAは、入力データA
in、正解データA
out、及び学習済みモデルAを含む。同様に、学習済みデータセットBは、入力データB
in、正解データB
out、及び学習済みモデルBを含む。学習済みデータセットCは、入力データC
in、正解データC
out、及び学習済みモデルCを含む。学習済みデータセットDは、入力データD
in、正解データD
out、及び学習済みモデルDを含む。
【0060】
類似度算出部11Bは、学習データセットXの入力データXinを、学習済みデータセットA~Dの各学習済みモデルA~Dに入力し、学習済みモデルA~Dから得られる出力データXoutA~XoutDの各々と、学習データセットXの正解データXoutとの類似度を算出する。そして、選択部11Cは、類似度算出部11Bにより算出された類似度に基づいて、学習データセットXと類似する学習済みデータセットを選択する。例えば、各データが画像データである場合、類似度は、一例として、出力データの画素値と正解データの画素値との差、出力データの正解データに対する認識率、及び、出力データの正解データに対する編集距離の少なくとも1つで表される。
【0061】
類似度は、例えば、出力データの画素値及び正解データの画素値に基づいて決定される。具体的に、出力データの画素値と正解データの画素値との差が小さいものを選択することは、画像自体の類似度が近いものを選択しているといえる。また、正解データに対する認識率が近いものを選択することは、後段で行われる認識処理における認識結果が近い画像を選択しているといえる。
【0062】
例えば、画像間の画素値の差を用いる場合、画素値の差が小さいほど、画像間の類似度は高くなる。この場合、画像間の対応画素又は対応領域における画素値の差を求めればよい。対応領域の場合、領域内に含まれる複数の画素の画素値の平均値、最大値、及び最小値のいずれかの差を求めればよい。
【0063】
また、画像間の認識率を用いる場合、認識率が高いほど、画像間の類似度は高くなる。認識率は、例えば、文字認識を行う文字認識エンジン又は画像認識を行う画像認識エンジンにより算出される。
【0064】
また、編集距離は、レーベンシュタイン距離(Levenshtein distance)とも呼ばれ、2つの文字列がどの程度異なっているかを示す距離の一種である。具体的には、1文字の挿入、削除、置換によって、一方の文字列を他方の文字列に変形するのに必要な手順の最小回数として定義される。画像間の編集距離を用いる場合、編集距離の回数が少ないほど、画像間の類似度は高くなる。編集距離は、認識率と同様に、上記文字認識エンジンにより算出される。つまり、これらの認識率、編集距離を用いる場合、学習装置10が文字認識エンジン、画像認識エンジンを備えているものとする。
【0065】
なお、学習データセットXの入力データXinが複数ある場合には、複数の入力データXinの全てについて、学習済みデータセットAの出力データXoutAと、正解データXoutとの類似度を算出する。このため、学習済みデータセットAに対して複数の類似度が算出される。この場合、例えば、複数の類似度の平均値、最大値、及び最小値のいずれかを、学習済みデータセットAとの類似度としてもよいし、あるいは、複数の類似度のうちで閾値を超えた類似度のカウント数を、学習済みデータセットAとの類似度としてもよい。他の学習済みデータセットB~Dについても同様に類似度が算出される。この場合、選択部11Cは、類似度算出部11Bにより算出された、複数の学習済みデータセットA~Dの各々の類似度に基づいて、学習データセットXと類似する学習済みデータセットを選択する。
【0066】
次に、
図5を参照して、第1の実施形態に係る学習装置10の作用を説明する。
【0067】
図5は、第1の実施形態に係る学習プログラム15Aによる処理の流れの一例を示すフローチャートである。
【0068】
まず、学習装置10に対して、新規案件Xの機械学習処理の実行が指示されると、CPU11により学習プログラム15Aが起動され、以下の各ステップを実行する。
【0069】
図5のステップ100では、CPU11が、記憶部15から、学習データセットXを取得する。
【0070】
ステップ101では、CPU11が、記憶部15に記憶されている、複数の学習済みデータセットA~Dの中から、1つの学習済みデータセット(例えば、学習済みデータセットA)を取得する。
【0071】
ステップ102では、CPU11が、一例として、上述の
図4に示すように、学習データセットXの入力データX
inを学習済みモデルAに入力する。
【0072】
ステップ103では、CPU11が、一例として、上述の
図4に示すように、学習済みモデルAから、出力データX
outAを取得する。
【0073】
ステップ104では、CPU11が、ステップ103で取得した出力データXoutAと、学習データセットXの正解データXoutとの類似度を算出する。類似度は、上述したように、例えば、出力データの画素値と正解データの画素値との差、出力データの正解データに対する認識率、及び、出力データの正解データに対する編集距離の少なくとも1つで表される。
【0074】
ステップ105では、CPU11が、全ての学習済みデータセットについて類似度を算出したか否かを判定する。全ての学習済みデータセットについて類似度を算出したと判定した場合(肯定判定の場合)、ステップ106に移行し、全ての学習済みデータセットについて類似度を算出していないと判定した場合(否定判定の場合)、ステップ101に戻り処理を繰り返す。本実施形態の場合、学習済みデータセットB、学習済みデータセットC、及び学習済みデータセットDの各々について、ステップ101~ステップ104までの処理が繰り返し実行される。つまり、学習済みデータセットBに対して、出力データXoutBと、正解データXoutとの類似度が算出され、学習済みデータセットCに対して、出力データXoutCと、正解データXoutとの類似度が算出され、学習済みデータセットDに対して、出力データXoutDと、正解データXoutとの類似度が算出される。
【0075】
なお、類似度を算出する際に、自装置の実装先情報に基づいて、複数の学習済みデータセットA~Dに対して、自装置で処理可能な学習済みデータセットの絞り込みを行うようにしてもよい。実装先情報とは、学習装置10が実装されている実装先に関する情報である。実装先が例えば画像形成装置である場合、画像形成装置の処理能力(CPU又はGPUのクロック周波数、メモリ容量等の性能)は比較的高くないことが多いため、大量のデータを有する学習済みデータセットを処理することは難しいと考えられる。このため、一定量以上のデータを有する学習済みデータセットは、類似度の算出対象から除外することが望ましい。また、実装先が例えば外部のクラウドサーバ又は内部のオンプレミスサーバである場合、クラウドサーバ又はオンプレミスサーバの処理能力(CPU又はGPUのクロック周波数、メモリ容量等の性能)に応じて、一定量以上のデータを有する学習済みデータセットを類似度の算出対象にするか否かを決定してもよい。
【0076】
ステップ106では、CPU11が、ステップ105までの処理で類似度が算出された複数の学習済みデータセットA~Dの中から、学習データセットXと類似する学習済みデータセットを選択する。例えば、類似度として、類似度の平均値を用いる場合、平均値が最大となる学習済みデータセットを選択すればよい。あるいは、類似度として、閾値を超えた類似度のカウント数を用いる場合、カウント数が最大となる学習済みデータセットを選択すればよい。
【0077】
ステップ107では、CPU11が、新規案件Xの機械学習に用いる学習データを決定する。具体的には、ステップ106で選択された学習済みデータセット、及び、新規案件Xの学習データセットXが、学習データとして決定される。なお、学習データを決定する際に、データ・オーグメンテーション(Data Augmentation)と呼ばれるデータ数を増加させる処理を行うようにしてもよい。
【0078】
図6は、本実施形態に係るデータ・オーグメンテーションの説明に供する図である。
【0079】
図6に示すように、上記で選択した学習済みデータセットが例えば学習済みデータセットAである場合について想定する。学習済みデータセットAは、入力データA
inを変形して得られる変形入力データA
indfと、変形入力データA
indfの正解データである変形正解データA
outdfとを更に含んでいる。ここでいう変形とは、一例として、反転、拡大、縮小等とされる。この場合、選択した学習済みデータセットAの入力データA
in、正解データA
out、変形入力データA
indf、及び変形正解データA
outdf、並びに、学習データセットXの入力データX
in及び正解データX
outを用いて、機械学習が行われる。
【0080】
ステップ108では、CPU11が、新規案件Xの機械学習に用いる初期値を決定する。上述したように、例えば、ステップ106で選択した学習済みデータセットから得られる値を、機械学習の初期値として決定する。この際、ハイパーパラメータについても、ステップ106で選択した学習済みデータセットから得られる値を適用してもよい。
【0081】
ステップ109では、CPU11が、ステップ107で決定した学習データ、及び、ステップ108で決定した初期値を用いて、新規案件Xについての機械学習を行い、学習モデルを生成する。
【0082】
ステップ110では、CPU11が、ステップ109で生成した学習モデルを、学習結果として出力し、本学習プログラム15Aによる一連の処理を終了する。
【0083】
このように本実施形態によれば、過去の複数の案件で用いられた複数の学習済みデータセットのうち、新規案件の学習データセットと類似する学習済みデータセットを選択的に用いて機械学習が行われる。このため、効率的、かつ、精度の高い機械学習が可能とされる。
【0084】
また、類似度の算出が学習済みデータセットの学習済みモデルを用いて行われる。このため、新規案件の学習データセットと学習済みデータセットとの類似度が効率的、かつ、精度良く算出される。
【0085】
[第2の実施形態]
上記第1の実施形態では、類似度の算出を学習済みデータセットの学習済みモデルを用いて行う形態について説明した。本実施形態では、類似度の算出を学習済みデータセットの各データを用いて行う形態について説明する。
【0086】
なお、本実施形態では、上記第1の実施形態で説明した学習装置10と同様の構成を有しているものとし、その繰り返しの説明は省略し、上述の
図2を参照して、相違点のみを説明する。
【0087】
図7は、第2の実施形態に係る類似度算出方法の説明に供する図である。
【0088】
図7に示すように、学習データセットXは、入力データX
in及び正解データX
outを含む。また、学習済みデータセットAは、入力データA
in、正解データA
out、及び学習済みモデルAを含む。同様に、学習済みデータセットBは、入力データB
in、正解データB
out、及び学習済みモデルBを含む。学習済みデータセットCは、入力データC
in、正解データC
out、及び学習済みモデルCを含む。学習済みデータセットDは、入力データD
in、正解データD
out、及び学習済みモデルDを含む。
【0089】
類似度算出部11Bは、複数の学習済みデータセットA~Dの各々について、学習データセットXに対する類似度を算出する。そして、選択部11Cは、類似度算出部11Bにより算出された類似度に基づいて、学習データセットXと類似する学習済みデータセットを選択する。例えば、各データが画像データである場合、類似度は、一例として、学習済みデータセットA~Dの入力データAin~Dinの各々と、学習データセットXの入力データXinとの類似度、及び、学習済みデータセットA~Dの正解データAout~Doutの各々と、学習データセットXの正解データXoutとの類似度の少なくとも一方で表される。この場合、例えば、画像データの属性情報、認識対象物等から類似度を算出してもよい。属性情報とは、カラー/白黒、画像サイズ、特徴量、手書き文字量、活字文字量、及び、入力データと正解データとの差分の差等が含まれる。また、認識対象物には、QRコード(登録商標)、活字文字、手書き文字、及びバーコード等が含まれる。
【0090】
次に、
図8を参照して、第2の実施形態に係る学習装置10の作用を説明する。
【0091】
図8は、第2の実施形態に係る学習プログラム15Aによる処理の流れの一例を示すフローチャートである。
【0092】
まず、学習装置10に対して、新規案件Xの機械学習処理の実行が指示されると、CPU11により学習プログラム15Aが起動され、以下の各ステップを実行する。
【0093】
図8のステップ120では、CPU11が、記憶部15から、学習データセットXを取得する。
【0094】
ステップ121では、CPU11が、記憶部15に記憶されている、複数の学習済みデータセットA~Dの中から、1つの学習済みデータセット(例えば、学習済みデータセットA)を取得する。
【0095】
ステップ122では、CPU11が、一例として、上述の
図7に示すように、ステップ121で取得した入力データA
inと、学習データセットXの入力データX
inとの類似度、及び、ステップ121で取得した正解データA
outと、学習データセットXの正解データX
outとの類似度を算出する。なお、入力データ及び正解データの両方について類似度を算出する場合、各データの平均値を学習済みデータセットAとの類似度としてもよいし、各データの合計値を学習済みデータセットAとの類似度としてもよい。また、入力データの類似度だけでもよいし、正解データの類似度だけでもよい。
【0096】
ステップ123では、CPU11が、全ての学習済みデータセットについて類似度を算出したか否かを判定する。全ての学習済みデータセットについて類似度を算出したと判定した場合(肯定判定の場合)、ステップ124に移行し、全ての学習済みデータセットについて類似度を算出していないと判定した場合(否定判定の場合)、ステップ121に戻り処理を繰り返す。本実施形態の場合、学習済みデータセットB、学習済みデータセットC、及び学習済みデータセットDの各々について、ステップ121~ステップ122までの処理が繰り返し実行される。つまり、学習済みデータセットBに対して、入力データBinと入力データXinとの類似度、及び、正解データBoutと正解データXoutとの類似度が算出され、学習済みデータセットCに対して、入力データCinと入力データXinとの類似度、及び、正解データCoutと正解データXoutとの類似度が算出され、学習済みデータセットDに対して、入力データDinと入力データXinとの類似度、及び、正解データDoutと正解データXoutとの類似度が算出される。
【0097】
ステップ124では、CPU11が、ステップ123までの処理で類似度が算出された複数の学習済みデータセットA~Dの中から、学習データセットXと類似する学習済みデータセットを選択する。例えば、類似度として、類似度の平均値を用いる場合、平均値が最大となる学習済みデータセットを選択すればよい。あるいは、類似度として、閾値を超えた類似度のカウント数を用いる場合、カウント数が最大となる学習済みデータセットを選択すればよい。
【0098】
ステップ125では、CPU11が、新規案件Xの機械学習に用いる学習データを決定する。具体的には、ステップ124で選択された学習済みデータセット、及び、新規案件Xの学習データセットXが、学習データとして決定される。なお、学習データを決定する際に、上述したデータ・オーグメンテーション(Data Augmentation)を行ってデータ数を増加させるようにしてもよい。
【0099】
ステップ126では、CPU11が、新規案件Xの機械学習に用いる初期値を決定する。上述したように、例えば、ステップ124で選択した学習済みデータセットから得られる値を、機械学習の初期値として決定する。この際、ハイパーパラメータについても、ステップ124で選択した学習済みデータセットから得られる値を適用してもよい。
【0100】
ステップ127では、CPU11が、ステップ125で決定した学習データ、及び、ステップ126で決定した初期値を用いて、新規案件Xについての機械学習を行い、学習モデルを生成する。
【0101】
ステップ128では、CPU11が、ステップ127で生成した学習モデルを、学習結果として出力し、本学習プログラム15Aによる一連の処理を終了する。
【0102】
このように本実施形態によれば、類似度の算出が学習済みデータセットの各データを用いて行われる。このため、新規案件の学習データセットと学習済みデータセットとの類似度が精度良く算出される。
【0103】
[第3の実施形態]
本実施形態では、複数の学習済みデータセットを機械学習して得られる学習モデルを用いて、類似する学習済みデータセットを選択する形態について説明する。
【0104】
なお、本実施形態では、上記第1の実施形態で説明した学習装置10と同様の構成を有しているものとし、その繰り返しの説明は省略し、上述の
図2を参照して、相違点のみを説明する。
【0105】
図9は、第3の実施形態に係る類似度算出方法の説明に供する図である。
【0106】
図9に示すように、学習データセットXは、入力データX
in及び正解データX
outを含む。また、学習済みデータセットAは、入力データA
in、正解データA
out、及び学習済みモデルAを含む。同様に、学習済みデータセットBは、入力データB
in、正解データB
out、及び学習済みモデルBを含む。学習済みデータセットCは、入力データC
in、正解データC
out、及び学習済みモデルCを含む。学習済みデータセットDは、入力データD
in、正解データD
out、及び学習済みモデルDを含む。
【0107】
類似度算出部11Bは、複数の学習済みデータセットA~Dの各々に含まれる入力データAin~Din及び正解データAout~Doutを用いて機械学習を行うことにより学習モデルXを生成する。そして、選択部11Cは、類似度算出部11Bにより生成された学習モデルXに対して、学習データセットXの入力データXin及び正解データXoutを入力し、生成した学習モデルXから得られる出力結果(例えば、案件A又は案件B又は案件C又は案件D)に基づいて、学習データセットXと類似する学習済みデータセットを選択する。
【0108】
次に、
図10を参照して、第3の実施形態に係る学習装置10の作用を説明する。
【0109】
図10は、第3の実施形態に係る学習プログラム15Aによる処理の流れの一例を示すフローチャートである。
【0110】
まず、学習装置10に対して、新規案件Xの機械学習処理の実行が指示されると、CPU11により学習プログラム15Aが起動され、以下の各ステップを実行する。
【0111】
図10のステップ130では、CPU11が、記憶部15に記憶されている、複数の学習済みデータセットA~Dの中から、1つの学習済みデータセット(例えば、学習済みデータセットA)を取得する。
【0112】
ステップ131では、CPU11が、一例として、上述の
図9に示すように、学習済みデータセットAの入力データA
in及び正解データA
outを用いて機械学習を行う。
【0113】
ステップ132では、CPU11が、全ての学習済みデータセットについて機械学習を行ったか否かを判定する。全ての学習済みデータセットについて機械学習を行ったと判定した場合(肯定判定の場合)、ステップ133に移行し、全ての学習済みデータセットについて機械学習を行っていないと判定した場合(否定判定の場合)、ステップ130に戻り処理を繰り返す。本実施形態の場合、学習済みデータセットB、学習済みデータセットC、及び学習済みデータセットDの各々について、ステップ130~ステップ131までの処理が繰り返し実行される。つまり、学習済みデータセットBの入力データBin及び正解データBoutを用いて機械学習が行われ、学習済みデータセットCの入力データCin及び正解データCoutを用いて機械学習が行われ、学習済みデータセットDの入力データDin及び正解データDoutを用いて機械学習が行われる。
【0114】
ステップ133では、CPU11が、一例として、上述の
図9に示すように、ステップ132での機械学習により学習モデルXを生成する。この学習モデルXは、案件A~Dを分類する分類モデルである。
【0115】
ステップ134では、CPU11が、記憶部15から、学習データセットXを取得する。
【0116】
ステップ135では、CPU11が、一例として、上述の
図9に示すように、ステップ134で取得した学習データセットXの入力データX
in及び正解データX
outを、ステップ133で生成した学習モデルXに入力する。
【0117】
ステップ136では、CPU11が、一例として、上述の
図9に示すように、学習モデルXの出力結果(例えば、案件A又は案件B又は案件C又は案件D)を取得する。
【0118】
ステップ137では、CPU11が、ステップ136で取得した出力結果(例えば、案件A又は案件B又は案件C又は案件D)から、類似する学習済みデータセットを選択する。
【0119】
ステップ138では、CPU11が、新規案件Xの機械学習に用いる学習データを決定する。具体的には、ステップ137で選択された学習済みデータセット、及び、新規案件Xの学習データセットXが、学習データとして決定される。なお、学習データを決定する際に、上述したデータ・オーグメンテーション(Data Augmentation)を行ってデータ数を増加させるようにしてもよい。
【0120】
ステップ139では、CPU11が、新規案件Xの機械学習に用いる初期値を決定する。上述したように、例えば、ステップ137で選択した学習済みデータセットから得られる値を、機械学習の初期値として決定する。この際、ハイパーパラメータについても、ステップ137で選択した学習済みデータセットから得られる値を適用してもよい。
【0121】
ステップ140では、CPU11が、ステップ138で決定した学習データ、及び、ステップ139で決定した初期値を用いて、新規案件Xについての機械学習を行い、学習モデルを生成する。
【0122】
ステップ141では、CPU11が、ステップ140で生成した学習モデルを、学習結果として出力し、本学習プログラム15Aによる一連の処理を終了する。
【0123】
このように本実施形態によれば、類似する学習済みデータセットの選択が複数の学習済みデータセットを機械学習して得られる学習モデルを用いて行われる。このため、新規案件の学習データセットと類似する学習済みデータセットが精度良く選択される。
【0124】
[第4の実施形態]
本実施形態では、入力データが透かし(ウォーターマーク)有りの画像であり、正解データが透かし(ウォーターマーク)無しの画像である場合について説明する。
【0125】
図11は、第4の実施形態に係る学習済み案件及び新規案件の一例を示す図である。
【0126】
図11に示すように、複数の学習済み案件は、車検証案件、YY市手当申請書案件、YH大学アンケート案件、及びXX社カタログ案件を含んでいる。車検証案件は、学習済みデータセットAを有し、学習済みデータセットAは、入力画像、正解画像、入力画像と正解画像との差データ、及び学習済みモデルを含んでいる。車検証の入力画像は、ウォーターマーク有りの画像であり、車検証の正解画像は、ウォーターマーク無しの画像である。また、YY市手当申請書案件は、学習済みデータセットBを有し、学習済みデータセットBは、入力画像、正解画像、入力画像と正解画像との差データ、及び学習済みモデルを含んでいる。また、YH大学アンケート案件は、学習済みデータセットCを有し、学習済みデータセットCは、入力画像、正解画像、入力画像と正解画像との差データ、及び学習済みモデルを含んでいる。また、XX社カタログ案件は、学習済みデータセットDを有し、学習済みデータセットDは、入力画像、正解画像、入力画像と正解画像との差データ、及び学習済みモデルを含んでいる。
【0127】
一方、新規案件であるウォーターマーク案件は、学習データセットXを有し、学習データセットXは、入力画像、正解画像、及び入力画像と正解画像との差データを含んでいる。入力画像は、ウォーターマーク有りの画像であり、正解画像は、ウォーターマーク無しの画像である。
【0128】
図11の例では、複数の学習済みデータセットA~Dの中から、車検証案件の学習済みデータセットAが、学習データセットXと類似する学習済みデータセットとして、選択される。つまり、ウォーターマークの有無を表す学習データセットXと最も類似する学習済み案件は、同じく、ウォーターマークの有無を表す車検証の学習済みデータセットAと判定される。この場合、例えば、学習済みデータセットAの入力画像及び正解画像、並びに、学習データセットXの入力画像及び正解画像を学習データとして、学習済みデータセットAの学習済みモデルを用いて、新規案件用の機械学習を行う。あるいは、学習データセットXの入力画像及び正解画像を学習データとして、学習済みデータセットAの学習済みモデルを用いて、新規案件用の機械学習を行うようにしてもよい。
【0129】
なお、上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU: Central Processing Unit、等)や、専用のプロセッサ(例えば、GPU: Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA: Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0130】
また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は、上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0131】
以上、実施形態に係る学習装置を例示して説明した。実施形態は、学習装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、これらのプログラムを記憶したコンピュータが読み取り可能な非一時的記憶媒体の形態としてもよい。
【0132】
その他、上記実施形態で説明した学習装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0133】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0134】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【0135】
10 学習装置
11 CPU
11A 取得部
11B 類似度算出部
11C 選択部
11D 学習データ決定部
11E 初期値決定部
11F 学習部
12 ROM
13 RAM
14 I/O
15 記憶部
15A 学習プログラム
16 表示部
17 操作部
18 通信部