処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020121679 - ミニバッチ学習装置とその作動プログラムおよび作動方法

Document

明 細 書

発明の名称 ミニバッチ学習装置とその作動プログラムおよび作動方法

技術分野

0001  

背景技術

0002   0003  

先行技術文献

特許文献

0004  

発明の概要

発明が解決しようとする課題

0005   0006   0007   0008   0009  

課題を解決するための手段

0010   0011   0012   0013   0014   0015   0016   0017  

発明の効果

0018  

図面の簡単な説明

0019  

発明を実施するための形態

0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099  

符号の説明

0100  

請求の範囲

1   2   3   4   5   6   7   8   9   10  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26  

明 細 書

発明の名称 : ミニバッチ学習装置とその作動プログラムおよび作動方法

技術分野

[0001]

 本開示の技術は、ミニバッチ学習装置とその作動プログラムおよび作動方法に関する。

背景技術

[0002]

 画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションが知られている。セマンティックセグメンテーションは、U字型の畳み込みニューラルネットワーク(U-Net;U-Shaped Neural Network)等の機械学習モデル(以下、単にモデル)で実現される。
[0003]

 モデルの判別精度を高めるためには、モデルに学習データを与えて学習させ、モデルを更新していくことが必要である。学習データは、学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像とで構成される。特許文献1では、複数の学習用入力画像の中から、アノテーション画像の元となる1つの学習用入力画像を抽出している。

先行技術文献

特許文献

[0004]

特許文献1 : 特開2017-107386号公報

発明の概要

発明が解決しようとする課題

[0005]

 学習には、ミニバッチ学習という手法がある。ミニバッチ学習では、学習データとしてミニバッチデータをモデルに与える。ミニバッチデータは、学習用入力画像とアノテーション画像とを分割した複数の分割画像(例えば元の画像の1/100のサイズの枠で分割した1万枚の分割画像)のうちの一部(例えば100枚)で構成される。ミニバッチデータは複数組(例えば100組)生成され、各組が順次モデルに与えられる。
[0006]

 ここで、学習用入力画像およびアノテーション画像にクラスの偏りがある場合を考える。例えば、学習用入力画像は細胞培養の様子を映した位相差顕微鏡の画像であって、クラス1が分化細胞、クラス2が未分化細胞、クラス3が培地、クラス4が死細胞に分類される画像である。そして、学習用入力画像およびアノテーション画像全体における各クラスの面積割合が、分化細胞38%、未分化細胞2%、培地40%、死細胞20%で、未分化細胞の面積割合が比較的低い場合である。
[0007]

 このように学習用入力画像およびアノテーション画像にクラスの偏りがあると、学習用入力画像およびアノテーション画像から構成されるミニバッチデータにも、クラスの偏りが生じる可能性が高くなる。ミニバッチデータにクラスの偏りが生じた場合は、面積割合が比較的低い稀少クラスが加味されずに学習が行われる。結果として、稀少クラスの判別精度が低いモデルができあがってしまう。
[0008]

 特許文献1では、前述のように、複数の学習用入力画像の中から、アノテーション画像の元となる1つの学習用入力画像を抽出している。しかしながら、この手法では、複数の学習用入力画像の全てにクラスの偏りがあった場合は、結局は稀少クラスの判別精度が低いモデルができあがってしまう。したがって、特許文献1に記載の手法では、稀少クラスの判別精度が低いモデルができあがってしまう、という問題を解決することはできない。
[0009]

 本開示の技術は、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供することを目的とする。

課題を解決するための手段

[0010]

 上記目的を達成するために、本開示のミニバッチ学習装置は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合に基づいて補正対象クラスを特定する特定部と、損失関数を用いて、複数のクラス毎に損失の値を算出することによって、機械学習モデルのクラスの判別精度を評価する評価部であり、補正対象クラスの第1の損失の値および補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、第1の損失の値を補正する補正処理を実行する補正処理部を含む評価部と、を備える。
[0011]

 特定部は、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定し、補正処理部は、補正処理として、第1の損失の値への重みを、第2の損失の値への重みよりも大きくする処理を実行することが好ましい。
[0012]

 特定部は、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理部は、補正処理として、第1の損失の値への重みを、第2の損失の値への重みよりも小さくする処理を実行することが好ましい。
[0013]

 特定部は、補正対象クラスとして、面積割合が設定値よりも低い稀少クラスを特定し、補正処理部は、補正処理として、第1の損失の値を算出する場合の正解値および予測値を、第2の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行することが好ましい。この場合、補正処理部は、拡大処理における拡大率を、ミニバッチデータにおける稀少クラスの面積割合が、ミニバッチデータの元となる学習用入力画像およびアノテーション画像における稀少クラスの面積割合と同じになる値とすることが好ましい。
[0014]

 特定部は、補正対象クラスとして、面積割合が設定値よりも高い非稀少クラスを特定し、補正処理部は、補正処理として、第1の損失の値を算出する場合の正解値および予測値を、第2の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行することが好ましい。この場合、補正処理部は、縮小処理における縮小率を、ミニバッチデータにおける非稀少クラスの面積割合が、ミニバッチデータの元となる学習用入力画像およびアノテーション画像における非稀少クラスの面積割合と同じになる値とすることが好ましい。
[0015]

 補正処理部に補正処理を実行させるか否かの選択指示を受け付ける受付部を備えることが好ましい。
[0016]

 本開示のミニバッチ学習装置の作動プログラムは、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合に基づいて補正対象クラスを特定する特定部と、損失関数を用いて、複数のクラス毎に損失の値を算出することによって、機械学習モデルのクラスの判別精度を評価する評価部であり、補正対象クラスの第1の損失の値および補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、第1の損失の値を補正する補正処理を実行する補正処理部を含む評価部として、コンピュータを機能させる。
[0017]

 本開示のミニバッチ学習装置の作動方法は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出ステップと、面積割合に基づいて補正対象クラスを特定する特定ステップと、損失関数を用いて、複数のクラス毎に損失の値を算出することによって、機械学習モデルのクラスの判別精度を評価する評価ステップであり、補正対象クラスの第1の損失の値および補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、第1の損失の値を補正する補正処理を実行する補正処理ステップを含む評価ステップと、を備える。

発明の効果

[0018]

 本開示の技術によれば、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供することができる。

図面の簡単な説明

[0019]

[図1] ミニバッチ学習装置とその処理の概要を示す図である。
[図2] 運用装置とその処理の概要を示す図である。
[図3] 画像を示す図であり、図3Aは学習用入力画像、図3Bはアノテーション画像をそれぞれ示す。
[図4] 学習用入力画像から分割学習用入力画像を生成する様子を示す図である。
[図5] アノテーション画像から分割アノテーション画像を生成する様子を示す図である。
[図6] 複数の分割学習用入力画像の一部で、分割学習用入力画像群を構成することを示す図である。
[図7] 複数の分割アノテーション画像の一部で、分割アノテーション画像群を構成することを示す図である。
[図8] ミニバッチ学習装置を構成するコンピュータを示すブロック図である。
[図9] ミニバッチ学習装置のCPUの処理部を示すブロック図である。
[図10] 算出部および特定部の処理の具体例を示す図である。
[図11] 評価部の処理の具体例を示す図である。
[図12] 各クラスの損失の値と損失関数の算出値の表を示す図であり、図12Aは、各クラスの損失の値への重みを同じにした場合、図12Bは、稀少クラスの損失の値への重みを大きくした場合をそれぞれ示す。
[図13] ミニバッチ学習装置の処理手順を示すフローチャートである。
[図14] 評価部の処理の変形例を示す図である。
[図15] 第2実施形態における算出部および特定部の処理の具体例を示す図である。
[図16] 第2実施形態における評価部の処理の具体例を示す図である。
[図17] 第2実施形態における各クラスの損失の値と損失関数の算出値の表を示す図であり、図17Aは、各クラスの損失の値への重みを同じにした場合、図17Bは、非稀少クラスの損失の値への重みを小さくした場合をそれぞれ示す。
[図18] 第3実施形態における評価部の処理の具体例を示す図である。
[図19] 第3実施形態における評価部の処理を概念的に示す図である。
[図20] 第3実施形態における評価部の処理を概念的に示す図である。
[図21] 拡大処理の拡大率の決定方法を示す図である。
[図22] 第4実施形態における評価部の処理の具体例を示す図である。
[図23] 第4実施形態における評価部の処理を概念的に示す図である。
[図24] 第4実施形態における評価部の処理を概念的に示す図である。
[図25] 縮小処理の縮小率の決定方法を示す図である。
[図26] 補正処理部に補正処理を実行させるか否かを問う第5実施形態を示す図である。

発明を実施するための形態

[0020]

 [第1実施形態]

 図1において、ミニバッチ学習装置2は、入力画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するためのモデル10の判別精度を高めるために、モデル10にミニバッチデータ11を用いたミニバッチ学習を行わせる。ミニバッチ学習装置2は、例えばデスクトップ型のパーソナルコンピュータである。また、モデル10は、例えばU-Netである。
[0021]

 クラスは、入力画像に映る物体の種類と言い換えてもよい。また、セマンティックセグメンテーションは、端的に言えば、入力画像に映る物体のクラスとその輪郭を判別するもので、その判別結果を、モデル10は出力画像として出力する。例えば入力画像にコップ、本、携帯電話の3つの物体が映っていた場合、出力画像は、理想的には、コップ、本、携帯電話が各々クラスとして判別され、かつこれら物体の輪郭を忠実に辿った輪郭線がそれぞれの物体に描かれたものとなる。
[0022]

 モデル10のクラスの判別精度は、モデル10に学習データを与えて学習させ、モデル10を更新することで高められる。学習データは、モデル10に入力する学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像との組で構成される。アノテーション画像は、学習用入力画像に応じてモデル10から出力された学習用出力画像とのいわば答え合わせを行うための画像で、学習用出力画像と比較される。モデル10のクラスの判別精度が高いほど、アノテーション画像と学習用出力画像との差異は小さくなる。
[0023]

 ミニバッチ学習装置2では、前述のように、学習データとしてミニバッチデータ11を用いる。ミニバッチデータ11は、分割学習用入力画像群12と分割アノテーション画像群13とで構成される。
[0024]

 ミニバッチ学習においては、分割学習用入力画像群12がモデル10に与えられる。これにより、モデル10から、分割学習用入力画像群12の分割学習用入力画像20S(図4参照)毎に学習用出力画像が出力される。こうしてモデル10から出力された学習用出力画像の集合である学習用出力画像群14と、分割アノテーション画像群13とが比較され、モデル10のクラスの判別精度が評価される。そして、このクラスの判別精度の評価結果に応じて、モデル10が更新される。ミニバッチ学習装置2は、これらの分割学習用入力画像群12のモデル10への入力と学習用出力画像群14のモデル10からの出力、モデル10のクラスの判別精度の評価、およびモデル10の更新を、ミニバッチデータ11を代えつつ行い、モデル10のクラスの判別精度が所望のレベルとなるまで繰り返す。
[0025]

 図2に示すように、上記のようにしてクラスの判別精度が所望のレベルまで引き上げられたモデル10は、学習済み機械学習モデル(以下、学習済みモデル)10Tとして運用装置15に組み込まれる。学習済みモデル10Tには、映った物体のクラスおよびその輪郭が未だ判別されていない入力画像16が与えられる。学習済みモデル10Tは、入力画像16に映る物体のクラスとその輪郭を判別し、その判別結果として出力画像17を出力する。運用装置15は、ミニバッチ学習装置2と同様、例えばデスクトップ型のパーソナルコンピュータであり、入力画像16と出力画像17とを、ディスプレイに並べて表示したりする。なお、運用装置15は、ミニバッチ学習装置2とは別の装置でもよいし、ミニバッチ学習装置2と同じ装置でもよい。また、運用装置15に学習済みモデル10Tを組み込んだ後も、学習済みモデル10Tにミニバッチデータ11を与えて学習させてもよい。
[0026]

 図3Aに示すように、学習用入力画像20は、本例においては、細胞培養の様子を映した位相差顕微鏡の1枚の画像である。学習用入力画像20には、分化細胞、未分化細胞、培地、死細胞が物体として映っている。この場合のアノテーション画像21は、図3Bに示すように、クラス1の分化細胞、クラス2の未分化細胞、クラス3の培地、クラス4の死細胞が、各々手動で指定されたものとなる。なお、学習済みモデル10Tに与えられる入力画像16も、学習用入力画像20と同じく、細胞培養の様子を映した位相差顕微鏡の画像である。
[0027]

 図4に示すように、分割学習用入力画像20Sは、学習用入力画像20内において、横方向にDXずつ、かつ縦方向にDYずつ順次移動される矩形状の枠25で囲われた領域を、その都度切り取ったものである。枠25の横方向の移動量DXは、例えば、枠25の横方向のサイズの1/2である。同様に、枠25の縦方向の移動量DYは、例えば、枠25の縦方向のサイズの1/2である。枠25は、例えば、学習用入力画像20の1/50のサイズである。この場合、分割学習用入力画像20Sは、20S_1~20S_10000の計1万枚ある。
[0028]

 同様にして、図5に示すように、分割アノテーション画像21Sは、アノテーション画像21内において、横方向にDXずつ、かつ縦方向にDYずつ順次移動される矩形状の枠25で囲われた領域を、その都度切り取ったものである。分割アノテーション画像21Sは、21S_1~21S_10000の計1万枚ある。なお、以下では、ミニバッチ学習装置2内に学習用入力画像20およびアノテーション画像21が既に用意されており、かつ分割学習用入力画像20Sおよび分割アノテーション画像21Sも既に生成されているとして話を進める。
[0029]

 図6に示すように、分割学習用入力画像群12は、図4で示したように生成された複数の分割学習用入力画像20Sのうちの一部(例えば1万枚の分割学習用入力画像20Sのうちの100枚)で構成される。同様に図7に示すように、分割アノテーション画像群13は、図5で示したように生成された複数の分割アノテーション画像21Sのうちの一部(例えば1万枚の分割アノテーション画像21Sのうちの100枚)で構成される。分割学習用入力画像群12を構成する分割学習用入力画像20Sと、分割アノテーション画像群13を構成する分割アノテーション画像21Sとは、枠25で切り取った領域が同じもの同士である。
[0030]

 図8において、ミニバッチ学習装置2を構成するコンピュータは、ストレージデバイス30、メモリ31、CPU(Central Processing Unit)32、通信部33、ディスプレイ34、および入力デバイス35を備えている。これらはデータバス36を介して相互接続されている。
[0031]

 ストレージデバイス30は、ミニバッチ学習装置2を構成するコンピュータに内蔵、またはケーブルやネットワークを通じて接続されたハードディスクドライブである。もしくはストレージデバイス30は、ハードディスクドライブを複数台連装したディスクアレイである。ストレージデバイス30には、オペレーティングシステム等の制御プログラムや各種アプリケーションプログラム、およびこれらのプログラムに付随する各種データ等が記憶されている。
[0032]

 メモリ31は、CPU32が処理を実行するためのワークメモリである。CPU32は、ストレージデバイス30に記憶されたプログラムをメモリ31へロードして、プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
[0033]

 通信部33は、インターネットあるいは公衆通信網等のWAN(Wide Area Network)といったネットワークを介した各種情報の伝送制御を行うネットワークインターフェースである。ディスプレイ34は各種画面を表示する。各種画面にはGUI(Graphical User Interface)による操作機能が備えられる。ミニバッチ学習装置2を構成するコンピュータは、各種画面を通じて、入力デバイス35からの操作指示の入力を受け付ける。入力デバイス35は、キーボードやマウス、タッチパネル等である。
[0034]

 図9において、ストレージデバイス30には、学習用入力画像20、アノテーション画像21、分割学習用入力画像20S、分割アノテーション画像21S、およびモデル10が記憶されている。また、ストレージデバイス30には、アプリケーションプログラムとして作動プログラム40が記憶されている。作動プログラム40は、コンピュータをミニバッチ学習装置2として機能させるためのアプリケーションプログラムである。
[0035]

 作動プログラム40が起動されると、ミニバッチ学習装置2を構成するコンピュータのCPU32は、メモリ31等と協働して、生成部50、算出部51、特定部52、学習部53、評価部54、および更新部55として機能する。評価部54には、補正処理部56が設けられている。
[0036]

 生成部50は、図4および図5で示したように学習用入力画像20およびアノテーション画像21から生成された分割学習用入力画像20Sおよび分割アノテーション画像21Sから、図6および図7で示したようにその一部を選択することで、ミニバッチデータ11を生成する。生成部50は、ミニバッチデータ11を複数組(例えば100組)生成する。生成部50は、生成したミニバッチデータ11を、算出部51、学習部53、および評価部54に出力する。
[0037]

 なお、生成部50において、ミニバッチデータ11とする分割学習用入力画像20Sおよび分割アノテーション画像21Sの選択肢を増やす手法を実行してもよい。具体的には、分割学習用入力画像20Sおよび分割アノテーション画像21Sに、トリミング、左右反転、回転といった画像処理を施して別の画像に仕立て、ミニバッチデータ11の新たな選択肢とする。こうした手法は、データオーギュメンテーションと呼ばれる。
[0038]

 算出部51は、ミニバッチデータ11における、複数のクラスの各々の面積割合を算出する。より詳しくは、算出部51は、生成部50からのミニバッチデータ11の分割アノテーション画像群13を構成する分割アノテーション画像21Sにおいて手動で指定された領域の画素数を、クラス毎に加算する。次いで、加算した画素数を分割アノテーション画像21Sの全画素数で除算することで、面積割合を算出する。例えば、クラス1の分化細胞と指定された領域の、加算した画素数が10000で、全画素数が50000であった場合、クラス1の分化細胞の面積割合は、(10000/50000)×100=20%である。算出部51は、算出した面積割合を特定部52に出力する。
[0039]

 特定部52は、面積割合に基づいて補正対象クラスを特定する。本実施形態においては、特定部52は、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定する。特定部52は、特定した稀少クラスを評価部54に出力する。
[0040]

 学習部53は、生成部50からのミニバッチデータ11の分割学習用入力画像群12をモデル10に与えて学習させる。これによりモデル10から出力された学習用出力画像群14を、学習部53は評価部54に出力する。
[0041]

 評価部54は、生成部50からのミニバッチデータ11の分割アノテーション画像群13と、学習部53からの学習用出力画像群14とを比較し、モデル10のクラスの判別精度を評価する。評価部54は、評価結果を更新部55に出力する。
[0042]

 評価部54は、以下に示す損失関数L(TN、PN)を用いて、モデル10のクラスの判別精度を評価する。損失関数L(TN、PN)は、分割アノテーション画像群13と学習用出力画像群14との差異の程度を表す関数である。損失関数L(TN、PN)のTNは分割アノテーション画像群13におけるクラスの判別状態を表し、正解値に相当する。PNは学習用出力画像群14におけるクラスの判別状態を表し、予測値に相当する。損失関数L(TN、PN)の算出値が0に近いほど、モデル10のクラスの判別精度が高いことを示す。
[0043]

[数1]


[0044]

 Nはクラスの数で、本例ではN=4である。WKは重み係数である。F(TK、PK)は、例えば、カテゴリカルクロスエントロピー関数である。F(TK、PK)は、各クラスの損失の値に相当する。すなわち、損失関数L(TN、PN)は、各クラスの損失の値F(TK、PK)と重み係数WKとの積の総和である。評価部54は、評価結果として、この損失関数L(TN、PN)の算出値を更新部55に出力する。
[0045]

 補正処理部56は、補正対象クラスの損失の値である第1の損失の値、および補正対象クラス以外のクラスの損失の値である第2の損失の値の比較結果に基づいて、第1の損失の値を補正する補正処理を実行する。なお、補正処理は、第1の損失の値および第2の損失の値の桁数を揃える処理を含む。桁数を揃える処理とは、例えば、第1の損失の値の桁数が1で、第2の損失の値の桁数が2の場合、第1の損失の値の桁数を2にする処理である。また、補正処理は、第1の損失の値と第2の損失の値とを同じ値とする処理も含む。同じ値とする処理は、第1の損失の値と第2の損失の値とを完全に同一の値にする処理はもとより、理第2の損失の値に対して、第1の損失の値を、規定の誤差範囲、例えば±50%の範囲に収める(第2の損失の値が50の場合、第1の損失の値を25~75とする)処理も含む。
[0046]

 より詳しくは、補正処理部56は、補正処理として、第1の損失の値への重みを、第2の損失の値への重みよりも大きくする処理を実行する。ここで、「重み」とは、重み係数WKのことである。また、本実施形態においては、前述のように、補正対象クラスは、面積割合が設定値よりも低い稀少クラスである。このため、本実施形態においては、第1の損失の値は稀少クラスの損失の値F(TK、PK)、第2の損失の値は稀少クラス以外のクラスの損失の値F(TK、PK)である。これらを踏まえて上記の表現を言い換えると、補正処理部56は、補正処理として、稀少クラスの損失の値F(TK、PK)への重み係数WKを、稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKよりも大きくする処理を実行する、となる。補正処理部56は、例えば、稀少クラスの損失の値F(TK、PK)への重み係数WKを10とし、稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKを1とする(図11および図12参照)。
[0047]

 更新部55は、評価部54からの評価結果に応じて、モデル10を更新する。より具体的には、更新部55は、学習係数を伴う確率的勾配降下法等により、モデル10の各種パラメータの値を変化させる。学習係数は、モデル10の各種パラメータの値の変化幅を示す。すなわち、学習係数が比較的大きい値であるほど、各種パラメータの値の変化幅は大きくなり、モデル10の更新度合いも大きくなる。
[0048]

 図10および図11は、算出部51、特定部52、評価部54(補正処理部56)の各部の処理の具体例を示す。まず、図10において、算出部51は、表60に示すように、ミニバッチデータ11の各組1、2、3、・・・について、各クラスの面積割合を算出する。図10では、第1組のミニバッチデータ11のクラス1の分化細胞の面積割合を38%、クラス2の未分化細胞の面積割合を2%、クラス3の培地の面積割合を40%、クラス4の死細胞の面積割合を20%等と算出した場合を例示している。
[0049]

 特定部52は、面積割合が設定値よりも低い稀少クラスを特定する。図10では、設定値が5%であるため、面積割合が2%と設定値よりも低い、第1組のミニバッチデータ11のクラス2の未分化細胞を稀少クラスとして特定した場合を例示している。なお、ここでは稀少クラスが1つだけ特定された場合を例示しているが、面積割合が設定値よりも低いクラスが複数あった場合は、当然ながら複数のクラスが稀少クラスとして特定される。
[0050]

 続いて図11において、評価部54の補正処理部56は、表61に示すように、第1組のミニバッチデータ11のクラス1、3、4、第2組、第3組のミニバッチデータ11の全クラスといった、稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKを1とする。対して、補正処理部56は、第1組のミニバッチデータ11のクラス2といった稀少クラスの損失の値F(TK、PK)への重み係数WKを10とする。
[0051]

 図12は、各クラスの損失の値F(TK、PK)と損失関数L(TN、PN)の算出値の表を示す。図12Aの表65Aは、各クラスの損失の値F(TK、PK)への重み係数WKを一律同じ1にした場合を示す。一方、図12Bの表65Bは、稀少クラスの損失の値F(TK、PK)への重み係数WKを大きくした場合を示す。そして、稀少クラスがクラス2の未分化細胞で、損失の値F(T2、P2)が2、その他のクラス1、3、4の、損失の値F(T1、P1)、F(T3、P3)、F(T4、P4)が、それぞれ25、20、15であった場合を例示している。
[0052]

 このように、稀少クラスの損失の値F(TK、PK)は、稀少クラス以外のクラスの損失の値F(TK、PK)と比べて小さくなる。こうした差異が生じるのは、稀少クラスは、他のクラスと比べてモデル10の学習機会が限られていて、1組のミニバッチデータ11を与えた学習(エポックと呼ばれる)では、モデル10の判別精度が改善または悪化する程度が小さいためである。
[0053]

 稀少クラスとその他のクラスで損失の値F(TK、PK)に大きな差異がある状態で、図12Aのように重み係数WKを一律同じにした場合、稀少クラスの損失の値F(TK、PK)が損失関数L(TN、PN)の算出値(=62)に与える影響は比較的少ない。対して、図12Bのように稀少クラスの損失の値F(TK、PK)への重み係数WKを大きくした場合は、図12Aの場合と比べて、稀少クラスの損失の値F(TK、PK)が損失関数L(TN、PN)の算出値(=80)に与える影響は大きい。こうして稀少クラスの損失の値F(TK、PK)への重み係数WKを大きくすることで、評価部54は、稀少クラスの損失の値F(TK、PK)を、稀少クラス以外のクラスの損失の値F(TK、PK)に比肩する値に引き上げ、そのうえで損失関数L(TN、PN)を算出し、モデル10の判別精度を評価する。
[0054]

 次に、上記構成による作用について、図13に示すフローチャートを参照して説明する。まず、作動プログラム40が起動されて、図9で示したように、ミニバッチ学習装置2を構成するコンピュータのCPU32が、各処理部50~56として機能する。
[0055]

 生成部50において、ミニバッチデータ11が生成される(ステップST100)。ミニバッチデータ11は、生成部50から算出部51、学習部53、および評価部54に出力される。
[0056]

 図10の表60で示したように、算出部51により、ミニバッチデータ11の各組について、各クラスの面積割合が算出される(ステップST110、算出ステップ)。続いて、これも図10で示したように、特定部52において、面積割合が設定値よりも低い稀少クラスが、補正対象クラスとして特定される(ステップST120、特定ステップ)。
[0057]

 学習部53において、生成部50からのミニバッチデータ11の分割学習用入力画像群12がモデル10に与えられて学習が行われる(ステップST130)。
[0058]

 ステップST130においてモデル10に与えたミニバッチデータ11に、稀少クラスがあった場合(ステップST140でYES)、図11の表61および図12Bの表65Bで示したように、補正処理部56により、稀少クラスの損失の値F(TK、PK)への重み係数WKが、稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKよりも大きくされる(ステップST150、補正処理ステップ)。対して、ステップST130においてモデル10に与えたミニバッチデータ11に、稀少クラスがなかった場合(ステップST140でNO)は、稀少クラスの損失の値F(TK、PK)への重み係数WKが大きくされることなく、通常の重み係数WKとされる。
[0059]

 評価部54では、モデル10から出力された学習用出力画像群14と、生成部50からのミニバッチデータ11の分割アノテーション画像群13とが比較され、モデル10のクラスの判別精度が評価される(ステップST160、評価ステップ)。より詳しくは、複数のクラス毎に損失の値F(TK、PK)が算出される。そして、損失の値F(TK、PK)に、ステップST150で設定された重み係数WK、または通常の重み係数WKが積算され、その総和が損失関数L(TN、PN)の算出値として算出される。
[0060]

 評価部54による損失関数L(TN、PN)の算出値に基づき、モデル10のクラスの判別精度が所望のレベルに達したと判定された場合(ST170でYES)、ミニバッチ学習が終了される。一方、モデル10のクラスの判別精度が所望のレベルに達していないと判定された場合(ステップST170でNO)は、更新部55によりモデル10が更新(ステップST180)される。そのうえで、ステップST130に処理が戻され、別の組のミニバッチデータ11がモデル10に与えられて以降のステップが繰り返される。
[0061]

 特定部52において稀少クラスが特定された場合とは、すなわちミニバッチデータ11にクラスの偏りがあった場合である。こうしたクラスの偏りがあるミニバッチデータ11では、稀少クラスが加味されずに学習が行われる。より詳しくは、稀少クラスの学習の頻度が、他のクラスと比べて相対的に低くなる。このような偏った学習が行われた後に、評価部54において何の制約もなくモデル10の判別精度を評価した場合、図12Aで示したように、稀少クラスがあまり加味されない評価結果が出力されることとなる。そうすると、その後のモデル10の更新も、稀少クラスが加味されないものとなる。結果として、稀少クラスの判別精度が低いモデル10ができあがってしまう。
[0062]

 しかしながら、本実施形態では、上述のように、補正処理部56において、稀少クラスの損失の値F(TK、PK)および稀少クラス以外のクラスの損失の値F(TK、PK)の比較結果に基づく補正処理を実行している。より詳しくは、補正処理部56において、稀少クラスの損失の値F(TK、PK)への重み係数WKを、稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKよりも大きくしている。こうすることで、稀少クラスが十分に加味された評価結果を出力することができ、その後のモデル10の更新も、稀少クラスの判別精度を高める方向に向かう。したがって、稀少クラスの判別精度が低いモデル10ができあがってしまう、という事態が避けられ、モデル10のクラスの判別精度の低下を抑制することが可能となる。
[0063]

 なお、面積割合が小さいほど、稀少クラスの損失の値F(TK、PK)への重み係数WKを大きくする程度を増やしてもよい。例えば図14の表70に示すように、第20組のミニバッチデータ11のように、面積割合が0%以上2.5%未満の場合は、稀少クラスであるクラス2の重み係数W2を100とする。対して、第21組のミニバッチデータ11のように、面積割合が2.5%以上5%未満の場合は、稀少クラスであるクラス4の重み係数W4を10とする。面積割合が小さいほど、損失の値F(TK、PK)もより小さくなると考えられる。したがって、このように面積割合に応じて重み係数WKを変更すれば、より稀少クラスが加味された評価結果を出力することができ、結果としてよりモデル10のクラスの判別精度の低下を抑制することが可能となる。
[0064]

 [第2実施形態]

 図15~図17に示す第2実施形態では、上記第1実施形態とは逆に、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理として、第1の損失の値への重みを、第2の損失の値への重みよりも小さくする処理を実行する。
[0065]

 図15において、本実施形態の特定部80は、補正対象クラスとして、面積割合が設定値よりも高い非稀少クラスを特定する。図15では、設定値が50%であるため、表75等に示すように、面積割合が56%と設定値よりも高い、第30組のミニバッチデータ11のクラス2の未分化細胞を非稀少クラスとして特定した場合を例示している。なお、上記第1実施形態の稀少クラスと同じく、複数のクラスが非稀少クラスとして特定される場合もある。
[0066]

 図16において、本実施形態の評価部81の補正処理部82は、補正処理として、非稀少クラスの損失の値F(TK、PK)への重み係数WKを、非稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKよりも小さくする処理を実行する。具体的には表83に示すように、第30組のミニバッチデータ11のクラス1、3、4、第31組、第32組のミニバッチデータ11の全クラスといった、非稀少クラス以外のクラスの損失の値F(TK、PK)への重み係数WKを1とする。対して、補正処理部82は、第30組のミニバッチデータ11のクラス2といった非稀少クラスの損失の値F(TK、PK)への重み係数WKを0.5とする。
[0067]

 図17は、図12と同様に、各クラスの損失の値F(TK、PK)と損失関数L(TN、PN)の算出値の表を示す。図17Aの表85Aは、各クラスの損失の値F(TK、PK)への重み係数WKを一律同じ1にした場合を示す。一方、図17Bの表85Bは、非稀少クラスの損失の値F(TK、PK)への重み係数WKを小さくした場合を示す。そして、非稀少クラスがクラス2の未分化細胞で、損失の値F(T2、P2)が42、その他のクラス1、3、4の、損失の値F(T1、P1)、F(T3、P3)、F(T4、P4)が、それぞれ19、22、18であった場合を例示している。
[0068]

 上記第1実施形態とは逆に、非稀少クラスの損失の値F(TK、PK)は、非稀少クラス以外のクラスの損失の値F(TK、PK)と比べて大きくなる。そこで、評価部81は、非稀少クラスの損失の値F(TK、PK)への重み係数WKを小さくしている。これにより、図17Bに示すように、非稀少クラスの損失の値F(TK、PK)が、非稀少クラス以外のクラスの損失の値F(TK、PK)に比肩する値に引き下げられ、重み係数WKを一律同じ値にした図17Aの場合よりも、非稀少クラスの損失の値F(TK、PK)が損失関数L(TN、PN)の算出値に与える影響を少なくしている。
[0069]

 このように、第2実施形態では、補正対象クラスとして、面積割合が設定値よりも高い非稀少クラスを特定し、補正処理として、第1の損失の値への重みを、第2の損失の値への重みよりも小さくする処理を実行している。したがって、上記第1実施形態と同じく、モデル10のクラスの判別精度の低下を抑制することが可能となる。
[0070]

 なお、この場合も上記第1実施形態と同様に、面積割合が大きいほど、非稀少クラスの損失の値F(TK、PK)への重み係数WKを小さくする程度を増やしてもよい。
[0071]

 [第3実施形態]

 図18~図21に示す第3実施形態では、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定し、補正処理として、第1の損失の値を算出する場合の正解値および予測値を、第2の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行する。
[0072]

 図18は、図10で示したように、第1組のミニバッチデータ11のクラス2の未分化細胞を稀少クラスとして特定した場合を例示している。この場合、本実施形態の評価部90の補正処理部91は、表92に示すように、第1組のミニバッチデータ11のクラス1、3、4、第2組、第3組のミニバッチデータ11の全クラスといった、稀少クラス以外のクラスの正解値および予測値はそのままとする。対して、補正処理部91は、第1組のミニバッチデータ11のクラス2といった稀少クラスの正解値および予測値を10倍する拡大処理を実行する。
[0073]

 図19および図20は、図18の第1組のミニバッチデータ11のクラス2の正解値および予測値を10倍する拡大処理を概念的に示した図である。図19に示すように、正解値T2のサイズは、拡大処理によって拡大処理前の10倍とされる。同じく図20に示すように、予測値P2のサイズは、拡大処理によって拡大処理前の10倍とされる。このように、拡大処理は、稀少クラスの正解値の対象画素数および稀少クラスの予測値の対象画素数を増やす処理である。
[0074]

 図21の表95に示すように、補正処理部91は、拡大処理における拡大率を、ミニバッチデータ11における稀少クラスの面積割合が、ミニバッチデータ11の元となる学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合と同じになる値とする。図21では、第1組のミニバッチデータ11のクラス2の未分化細胞が稀少クラスと特定され、ミニバッチデータ11における稀少クラスの面積割合が2%で、学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合が20%であった場合を例示している。この場合、補正処理部91は、拡大処理における拡大率を20/2=10倍とする。なお、同じになる値とは、ミニバッチデータ11における稀少クラスの面積割合と学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合とが完全に同じになる値はもとより、ミニバッチデータ11における稀少クラスの面積割合と学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合とが規定の誤差範囲、例えば±10%の範囲に収まる値も含む。
[0075]

 このように、第3実施形態では、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定し、補正処理として、第1の損失の値を算出する場合の正解値および予測値を、第2の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行している。こうした補正処理によっても、稀少クラスとそうでないクラスとの損失の値F(TK、PK)の不均衡を是正することができる。したがって、モデル10のクラスの判別精度の低下を抑制することが可能となる。さらに、こうした補正処理は、損失の値F(TK、PK)が線形な関数でない場合に有効である。
[0076]

 また、第3実施形態では、拡大処理における拡大率を、ミニバッチデータ11における稀少クラスの面積割合が、学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合と同じになる値としている。したがって、拡大率を妥当な値とすることができる。なお、こうした拡大率の決定方法は、学習用入力画像20およびアノテーション画像21における各クラスの面積割合に偏りがない場合に採用することが好ましい。

学習用入力画像20およびアノテーション画像21における各クラスの面積割合に偏りがない場合とは、例えば、各クラスの面積割合の最大値と最小値の差分が10%以内の場合等である。
[0077]

 [第4実施形態]

 図22~図25に示す第4実施形態では、上記第3実施形態とは逆に、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理として、第1の損失の値を算出する場合の正解値および予測値を、第2の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行する。
[0078]

 図22は、図15で示したように、第30組のミニバッチデータ11のクラス2の未分化細胞を非稀少クラスとして特定した場合を例示している。この場合、本実施形態の評価部100の補正処理部101は、表102に示すように、第30組のミニバッチデータ11のクラス1、3、4、第31組、第32組のミニバッチデータ11の全クラスといった、非稀少クラス以外のクラスの正解値および予測値はそのままとする。対して、補正処理部101は、第30組のミニバッチデータ11のクラス2といった非稀少クラスの正解値および予測値を0.5倍する縮小処理を実行する。
[0079]

 図23および図24は、図22の第30組のミニバッチデータ11のクラス2の正解値および予測値を0.5倍する縮小処理を概念的に示した図である。図23に示すように、正解値T2のサイズは、縮小処理によって縮小処理前の0.5倍とされる。同じく図24に示すように、予測値P2のサイズは、縮小処理によって縮小処理前の0.5倍とされる。このように、縮小処理は、上記第3実施形態の拡大処理とは逆に、非稀少クラスの正解値の対象画素数および非稀少クラスの予測値の対象画素数を減らす処理である。
[0080]

 図25の表105に示すように、補正処理部101は、縮小処理における縮小率を、ミニバッチデータ11における非稀少クラスの面積割合が、ミニバッチデータ11の元となる学習用入力画像20およびアノテーション画像21における非稀少クラスの面積割合と同じになる値とする。図25では、第30組のミニバッチデータ11のクラス2の未分化細胞が非稀少クラスと特定され、ミニバッチデータ11における非稀少クラスの面積割合が56%で、学習用入力画像20およびアノテーション画像21における非稀少クラスの面積割合が28%であった場合を例示している。この場合、補正処理部101は、縮小処理における縮小率を28/56=0.5倍とする。なお、この場合も上記第3実施形態と同じく、同じになる値とは、ミニバッチデータ11における稀少クラスの面積割合と学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合とが完全に同じになる値はもとより、ミニバッチデータ11における稀少クラスの面積割合と学習用入力画像20およびアノテーション画像21における稀少クラスの面積割合とが規定の誤差範囲、例えば±10%の範囲に収まる値も含む。
[0081]

 このように、第4実施形態では、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理として、第1の損失の値を算出する場合の正解値および予測値を、第2の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行している。したがって、上記第3実施形態と同じく、モデル10のクラスの判別精度の低下を抑制することが可能となる。さらに、上記第3実施形態と同じく、損失の値F(TK、PK)が線形な関数でない場合に有効である。
[0082]

 また、第4実施形態では、縮小処理における縮小率を、ミニバッチデータ11における非稀少クラスの面積割合が、学習用入力画像20およびアノテーション画像21における非稀少クラスの面積割合と同じになる値としている。したがって、縮小率を妥当な値とすることができる。なお、上記第3実施形態と同様に、こうした縮小率の決定方法は、学習用入力画像20およびアノテーション画像21における各クラスの面積割合に偏りがない場合に採用することが好ましい。
[0083]

 [第5実施形態]

 図26に示す第5実施形態では、補正処理部に補正処理を実行させるか否かを問う。
[0084]

 図26において、第5実施形態のミニバッチ学習装置のCPUは、上記各実施形態の各処理部に加えて、受付部110として機能する。受付部110は、特定部52において補正対象クラスを特定した場合に、補正処理部に補正処理を実行させるか否かの選択指示を受け付ける。
[0085]

 第5実施形態においては、特定部52において補正対象クラスが特定された場合、ディスプレイ34に問い合わせ画面111が表示される。問い合わせ画面111には、補正対象クラスが特定された旨と、補正対象クラスの損失の値を補正する補正処理を実行してよいか否かを問う旨のメッセージ112、はいボタン113、いいえボタン114が表示される。受付部110は、はいボタン113といいえボタン114の選択指示を、補正処理を実行させるか否かの選択指示として受け付ける。はいボタン113が選択された場合は、補正処理部において、補正処理が実行される。一方、いいえボタン114が選択された場合は、補正処理部において、補正処理は実行されない。
[0086]

 アノテーション画像の生成に際しては、クラスの指定は手動であるため、クラスの指定を間違えたりすることがある。また、モデル10の開発当初はクラスとして指定していたが、開発が進むにつれてあまり重要視しなくなったクラスが出てくることもある。こうした場合は、特定部52において補正対象クラスが特定されたが、補正処理を実行しなくても構わない場合がある。
[0087]

 そこで、第5実施形態では、受付部110により、補正処理部に補正処理を実行させるか否かの選択指示を受け付けている。したがって、特定部52において補正対象クラスが特定されたが、補正処理を実行しなくても構わない場合に対応することができる。
[0088]

 第1実施形態と第2実施形態を複合して実施してもよい。すなわち、稀少クラスの損失の値への重み係数を、稀少クラス以外のクラスの損失の値への重み係数よりも小さくし、かつ、非稀少クラスの損失の値への重み係数を、非稀少クラス以外のクラスの損失の値への重み係数よりも大きくしてもよい。同様に、第3実施形態と第4実施形態を複合して実施してもよい。すなわち、稀少クラスの損失の値を算出する場合の正解値および予測値を、稀少クラス以外のクラスの損失の値を算出する場合の正解値および予測値よりも大きくし、かつ、非稀少クラスの損失の値を算出する場合の正解値および予測値を、非稀少クラス以外のクラスの損失の値を算出する場合の正解値および予測値よりも小さくしてもよい。
[0089]

 上記各実施形態では、入力画像16および学習用入力画像20として、細胞培養の様子を映した位相差顕微鏡の画像を例示し、クラスとして分化細胞や培地を例示したが、これに限定されない。例えばMRI(Magnetic Resonance Imaging)画像を入力画像16および学習用入力画像20とし、肝臓、腎臓といった臓器をクラスとしてもよい。
[0090]

 モデル10はU-Netに限らず、他の畳み込みニューラルネットワーク、例えばSegNetでもよい。
[0091]

 ミニバッチ学習装置2を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、ミニバッチ学習装置2を、処理能力や信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。具体的には、生成部50、算出部51、および特定部52の機能と、学習部53、評価部54、および更新部55の機能とを、2台のコンピュータに分散して担わせる。この場合は2台のコンピュータでミニバッチ学習装置2を構成する。
[0092]

 このように、コンピュータのハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム40等のアプリケーションプログラムについても、安全性や信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
[0093]

 上記各実施形態において、例えば、生成部50、算出部51、特定部52、80、学習部53、評価部54、81、90、100、更新部55、補正処理部56、82、91、101、受付部110といった各種の処理を実行する処理部(Processing Unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(Processor)を用いることができる。各種のプロセッサには、上述したように、ソフトウェア(作動プログラム40)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device :PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
[0094]

 1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種または異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
[0095]

 複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントおよびサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
[0096]

 さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路(circuitry)を用いることができる。
[0097]

 以上の記載から、以下の付記項1に記載の発明を把握することができる。
[0098]

 [付記項1]

 画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、

 前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出プロセッサと、

 前記面積割合に基づいて補正対象クラスを特定する特定プロセッサと、

 損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価プロセッサであり、前記補正対象クラスの第1の損失の値および前記補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、前記第1の損失の値を補正する補正処理を実行する補正処理プロセッサを含む評価プロセッサと、を備えるミニバッチ学習装置。
[0099]

 本開示の技術は、上述の種々の実施形態や種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体にもおよぶ。

符号の説明

[0100]

2 ミニバッチ学習装置

10 機械学習モデル(モデル)

10T 学習済み機械学習モデル(学習済みモデル)

11 ミニバッチデータ

12 分割学習用入力画像群

13 分割アノテーション画像群

14 学習用出力画像群

15 運用装置

16 入力画像

17 出力画像

20 学習用入力画像

20S 分割学習用入力画像

21 アノテーション画像

21S 分割アノテーション画像

25 枠

30 ストレージデバイス

31 メモリ

32 CPU

33 通信部

34 ディスプレイ

35 入力デバイス

36 データバス

40 作動プログラム

50 生成部

51 算出部

52、80 特定部

53 学習部

54、81、90、100 評価部

55 更新部

56、82、91、101 補正処理部

60、61、65A、65B、70、75、83、85A、85B、92、95、102、105 表

110 受付部

111 問い合わせ画面

112 メッセージ

113 はいボタン

114 いいえボタン

DX 枠の横方向の移動量

DY 枠の縦方向の移動量

L(TN、PN) 損失関数

WK 各クラスの重み係数

F(TK、PK) 各クラスの損失の値

TK 各クラスの正解値

PK 各クラスの予測値

ST100~ST180 ステップ

請求の範囲

[請求項1]

 画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、

 前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、

 前記面積割合に基づいて補正対象クラスを特定する特定部と、

 損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価部であり、前記補正対象クラスの第1の損失の値および前記補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、前記第1の損失の値を補正する補正処理を実行する補正処理部を含む評価部と、を備えるミニバッチ学習装置。
[請求項2]

 前記特定部は、前記補正対象クラスとして、前記面積割合が予め設定された設定値よりも低い稀少クラスを特定し、

 前記補正処理部は、前記補正処理として、前記第1の損失の値への重みを、前記第2の損失の値への重みよりも大きくする処理を実行する請求項1に記載のミニバッチ学習装置。
[請求項3]

 前記特定部は、前記補正対象クラスとして、前記面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、

 前記補正処理部は、前記補正処理として、前記第1の損失の値への重みを、前記第2の損失の値への重みよりも小さくする処理を実行する請求項1または2に記載のミニバッチ学習装置。
[請求項4]

 前記特定部は、前記補正対象クラスとして、前記面積割合が設定値よりも低い稀少クラスを特定し、

 前記補正処理部は、前記補正処理として、前記第1の損失の値を算出する場合の正解値および予測値を、前記第2の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行する請求項1に記載のミニバッチ学習装置。
[請求項5]

 前記補正処理部は、前記拡大処理における拡大率を、前記ミニバッチデータにおける前記稀少クラスの前記面積割合が、前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像における前記稀少クラスの面積割合と同じになる値とする請求項4に記載のミニバッチ学習装置。
[請求項6]

 前記特定部は、前記補正対象クラスとして、前記面積割合が設定値よりも高い非稀少クラスを特定し、

 前記補正処理部は、前記補正処理として、前記第1の損失の値を算出する場合の正解値および予測値を、前記第2の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行する請求項1、4、5のいずれか1項に記載のミニバッチ学習装置。
[請求項7]

 前記補正処理部は、前記縮小処理における縮小率を、前記ミニバッチデータにおける前記非稀少クラスの前記面積割合が、前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像における前記非稀少クラスの面積割合と同じになる値とする請求項6に記載のミニバッチ学習装置。
[請求項8]

 前記補正処理部に前記補正処理を実行させるか否かの選択指示を受け付ける受付部を備える請求項1ないし7のいずれか1項に記載のミニバッチ学習装置。
[請求項9]

 画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、

 前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、

 前記面積割合に基づいて補正対象クラスを特定する特定部と、

 損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価部であり、前記補正対象クラスの第1の損失の値および前記補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、前記第1の損失の値を補正する補正処理を実行する補正処理部を含む評価部として、

コンピュータを機能させるミニバッチ学習装置の作動プログラム。
[請求項10]

 画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、

 前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出ステップと、

 前記面積割合に基づいて補正対象クラスを特定する特定ステップと、

 損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価ステップであり、前記補正対象クラスの第1の損失の値および前記補正対象クラス以外のクラスの第2の損失の値の比較結果に基づいて、前記第1の損失の値を補正する補正処理を実行する補正処理ステップを含む評価ステップと、を備えるミニバッチ学習装置の作動方法。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]

[ 図 18]

[ 図 19]

[ 図 20]

[ 図 21]

[ 図 22]

[ 図 23]

[ 図 24]

[ 図 25]

[ 図 26]