(57)【要約】セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供する。ミニバッチ学習装置のＣＰＵは、作動プログラムが起動されると、算出部、特定部、評価部として機能する。算出部は、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する。特定部は、補正対象クラスとして、面積割合が設定値よりも低い稀少クラスを特定する。評価部は、損失関数を用いて、機械学習モデルのクラスの判別精度を評価する。評価部は、補正処理として、稀少クラス以外のクラスよりも、稀少クラスの損失の値への重みを大きくする。
2020121679.tif 000002
【特許請求の範囲】
【請求項１】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、
前記面積割合に基づいて補正対象クラスを特定する特定部と、
損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価部であり、前記補正対象クラスの第１の損失の値および前記補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、前記第１の損失の値を補正する補正処理を実行する補正処理部を含む評価部と、を備えるミニバッチ学習装置。
【請求項２】
前記特定部は、前記補正対象クラスとして、前記面積割合が予め設定された設定値よりも低い稀少クラスを特定し、
前記補正処理部は、前記補正処理として、前記第１の損失の値への重みを、前記第２の損失の値への重みよりも大きくする処理を実行する請求項１に記載のミニバッチ学習装置。
【請求項３】
前記特定部は、前記補正対象クラスとして、前記面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、
前記補正処理部は、前記補正処理として、前記第１の損失の値への重みを、前記第２の損失の値への重みよりも小さくする処理を実行する請求項１または２に記載のミニバッチ学習装置。
【請求項４】
前記特定部は、前記補正対象クラスとして、前記面積割合が設定値よりも低い稀少クラスを特定し、
前記補正処理部は、前記補正処理として、前記第１の損失の値を算出する場合の正解値および予測値を、前記第２の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行する請求項１に記載のミニバッチ学習装置。
【請求項５】
前記補正処理部は、前記拡大処理における拡大率を、前記ミニバッチデータにおける前記稀少クラスの前記面積割合が、前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像における前記稀少クラスの面積割合と同じになる値とする請求項４に記載のミニバッチ学習装置。
【請求項６】
前記特定部は、前記補正対象クラスとして、前記面積割合が設定値よりも高い非稀少クラスを特定し、
前記補正処理部は、前記補正処理として、前記第１の損失の値を算出する場合の正解値および予測値を、前記第２の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行する請求項１、４、５のいずれか１項に記載のミニバッチ学習装置。
【請求項７】
前記補正処理部は、前記縮小処理における縮小率を、前記ミニバッチデータにおける前記非稀少クラスの前記面積割合が、前記ミニバッチデータの元となる学習用入力画像およびアノテーション画像における前記非稀少クラスの面積割合と同じになる値とする請求項６に記載のミニバッチ学習装置。
【請求項８】
前記補正処理部に前記補正処理を実行させるか否かの選択指示を受け付ける受付部を備える請求項１ないし７のいずれか１項に記載のミニバッチ学習装置。
【請求項９】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出部と、
前記面積割合に基づいて補正対象クラスを特定する特定部と、
損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価部であり、前記補正対象クラスの第１の損失の値および前記補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、前記第１の損失の値を補正する補正処理を実行する補正処理部を含む評価部として、
コンピュータを機能させるミニバッチ学習装置の作動プログラム。
【請求項１０】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出ステップと、
前記面積割合に基づいて補正対象クラスを特定する特定ステップと、
損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価ステップであり、前記補正対象クラスの第１の損失の値および前記補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、前記第１の損失の値を補正する補正処理を実行する補正処理ステップを含む評価ステップと、を備えるミニバッチ学習装置の作動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の技術は、ミニバッチ学習装置とその作動プログラムおよび作動方法に関する。
【背景技術】
【０００２】
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションが知られている。セマンティックセグメンテーションは、Ｕ字型の畳み込みニューラルネットワーク（Ｕ−Ｎｅｔ；U-Shaped Neural Network）等の機械学習モデル（以下、単にモデル）で実現される。
【０００３】
モデルの判別精度を高めるためには、モデルに学習データを与えて学習させ、モデルを更新していくことが必要である。学習データは、学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像とで構成される。特許文献１では、複数の学習用入力画像の中から、アノテーション画像の元となる１つの学習用入力画像を抽出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１０７３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
学習には、ミニバッチ学習という手法がある。ミニバッチ学習では、学習データとしてミニバッチデータをモデルに与える。ミニバッチデータは、学習用入力画像とアノテーション画像とを分割した複数の分割画像（例えば元の画像の１／１００のサイズの枠で分割した１万枚の分割画像）のうちの一部（例えば１００枚）で構成される。ミニバッチデータは複数組（例えば１００組）生成され、各組が順次モデルに与えられる。
【０００６】
ここで、学習用入力画像およびアノテーション画像にクラスの偏りがある場合を考える。例えば、学習用入力画像は細胞培養の様子を映した位相差顕微鏡の画像であって、クラス１が分化細胞、クラス２が未分化細胞、クラス３が培地、クラス４が死細胞に分類される画像である。そして、学習用入力画像およびアノテーション画像全体における各クラスの面積割合が、分化細胞３８％、未分化細胞２％、培地４０％、死細胞２０％で、未分化細胞の面積割合が比較的低い場合である。
【０００７】
このように学習用入力画像およびアノテーション画像にクラスの偏りがあると、学習用入力画像およびアノテーション画像から構成されるミニバッチデータにも、クラスの偏りが生じる可能性が高くなる。ミニバッチデータにクラスの偏りが生じた場合は、面積割合が比較的低い稀少クラスが加味されずに学習が行われる。結果として、稀少クラスの判別精度が低いモデルができあがってしまう。
【０００８】
特許文献１では、前述のように、複数の学習用入力画像の中から、アノテーション画像の元となる１つの学習用入力画像を抽出している。しかしながら、この手法では、複数の学習用入力画像の全てにクラスの偏りがあった場合は、結局は稀少クラスの判別精度が低いモデルができあがってしまう。したがって、特許文献１に記載の手法では、稀少クラスの判別精度が低いモデルができあがってしまう、という問題を解決することはできない。
【０００９】
本開示の技術は、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本開示のミニバッチ学習装置は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合に基づいて補正対象クラスを特定する特定部と、損失関数を用いて、複数のクラス毎に損失の値を算出することによって、機械学習モデルのクラスの判別精度を評価する評価部であり、補正対象クラスの第１の損失の値および補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、第１の損失の値を補正する補正処理を実行する補正処理部を含む評価部と、を備える。
【００１１】
特定部は、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定し、補正処理部は、補正処理として、第１の損失の値への重みを、第２の損失の値への重みよりも大きくする処理を実行することが好ましい。
【００１２】
特定部は、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理部は、補正処理として、第１の損失の値への重みを、第２の損失の値への重みよりも小さくする処理を実行することが好ましい。
【００１３】
特定部は、補正対象クラスとして、面積割合が設定値よりも低い稀少クラスを特定し、補正処理部は、補正処理として、第１の損失の値を算出する場合の正解値および予測値を、第２の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行することが好ましい。この場合、補正処理部は、拡大処理における拡大率を、ミニバッチデータにおける稀少クラスの面積割合が、ミニバッチデータの元となる学習用入力画像およびアノテーション画像における稀少クラスの面積割合と同じになる値とすることが好ましい。
【００１４】
特定部は、補正対象クラスとして、面積割合が設定値よりも高い非稀少クラスを特定し、補正処理部は、補正処理として、第１の損失の値を算出する場合の正解値および予測値を、第２の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行することが好ましい。この場合、補正処理部は、縮小処理における縮小率を、ミニバッチデータにおける非稀少クラスの面積割合が、ミニバッチデータの元となる学習用入力画像およびアノテーション画像における非稀少クラスの面積割合と同じになる値とすることが好ましい。
【００１５】
補正処理部に補正処理を実行させるか否かの選択指示を受け付ける受付部を備えることが好ましい。
【００１６】
本開示のミニバッチ学習装置の作動プログラムは、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動プログラムであり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出部と、面積割合に基づいて補正対象クラスを特定する特定部と、損失関数を用いて、複数のクラス毎に損失の値を算出することによって、機械学習モデルのクラスの判別精度を評価する評価部であり、補正対象クラスの第１の損失の値および補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、第１の損失の値を補正する補正処理を実行する補正処理部を含む評価部として、コンピュータを機能させる。
【００１７】
本開示のミニバッチ学習装置の作動方法は、画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置の作動方法であり、ミニバッチデータにおける、複数のクラスの各々の面積割合を算出する算出ステップと、面積割合に基づいて補正対象クラスを特定する特定ステップと、損失関数を用いて、複数のクラス毎に損失の値を算出することによって、機械学習モデルのクラスの判別精度を評価する評価ステップであり、補正対象クラスの第１の損失の値および補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、第１の損失の値を補正する補正処理を実行する補正処理ステップを含む評価ステップと、を備える。
【発明の効果】
【００１８】
本開示の技術によれば、セマンティックセグメンテーションを実施するための機械学習モデルのクラスの判別精度の低下を抑制することが可能なミニバッチ学習装置とその作動プログラムおよび作動方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】ミニバッチ学習装置とその処理の概要を示す図である。
【図２】運用装置とその処理の概要を示す図である。
【図３】画像を示す図であり、図３Ａは学習用入力画像、図３Ｂはアノテーション画像をそれぞれ示す。
【図４】学習用入力画像から分割学習用入力画像を生成する様子を示す図である。
【図５】アノテーション画像から分割アノテーション画像を生成する様子を示す図である。
【図６】複数の分割学習用入力画像の一部で、分割学習用入力画像群を構成することを示す図である。
【図７】複数の分割アノテーション画像の一部で、分割アノテーション画像群を構成することを示す図である。
【図８】ミニバッチ学習装置を構成するコンピュータを示すブロック図である。
【図９】ミニバッチ学習装置のＣＰＵの処理部を示すブロック図である。
【図１０】算出部および特定部の処理の具体例を示す図である。
【図１１】評価部の処理の具体例を示す図である。
【図１２】各クラスの損失の値と損失関数の算出値の表を示す図であり、図１２Ａは、各クラスの損失の値への重みを同じにした場合、図１２Ｂは、稀少クラスの損失の値への重みを大きくした場合をそれぞれ示す。
【図１３】ミニバッチ学習装置の処理手順を示すフローチャートである。
【図１４】評価部の処理の変形例を示す図である。
【図１５】第２実施形態における算出部および特定部の処理の具体例を示す図である。
【図１６】第２実施形態における評価部の処理の具体例を示す図である。
【図１７】第２実施形態における各クラスの損失の値と損失関数の算出値の表を示す図であり、図１７Ａは、各クラスの損失の値への重みを同じにした場合、図１７Ｂは、非稀少クラスの損失の値への重みを小さくした場合をそれぞれ示す。
【図１８】第３実施形態における評価部の処理の具体例を示す図である。
【図１９】第３実施形態における評価部の処理を概念的に示す図である。
【図２０】第３実施形態における評価部の処理を概念的に示す図である。
【図２１】拡大処理の拡大率の決定方法を示す図である。
【図２２】第４実施形態における評価部の処理の具体例を示す図である。
【図２３】第４実施形態における評価部の処理を概念的に示す図である。
【図２４】第４実施形態における評価部の処理を概念的に示す図である。
【図２５】縮小処理の縮小率の決定方法を示す図である。
【図２６】補正処理部に補正処理を実行させるか否かを問う第５実施形態を示す図である。
【発明を実施するための形態】
【００２０】
［第１実施形態］
図１において、ミニバッチ学習装置２は、入力画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するためのモデル１０の判別精度を高めるために、モデル１０にミニバッチデータ１１を用いたミニバッチ学習を行わせる。ミニバッチ学習装置２は、例えばデスクトップ型のパーソナルコンピュータである。また、モデル１０は、例えばＵ−Ｎｅｔである。
【００２１】
クラスは、入力画像に映る物体の種類と言い換えてもよい。また、セマンティックセグメンテーションは、端的に言えば、入力画像に映る物体のクラスとその輪郭を判別するもので、その判別結果を、モデル１０は出力画像として出力する。例えば入力画像にコップ、本、携帯電話の３つの物体が映っていた場合、出力画像は、理想的には、コップ、本、携帯電話が各々クラスとして判別され、かつこれら物体の輪郭を忠実に辿った輪郭線がそれぞれの物体に描かれたものとなる。
【００２２】
モデル１０のクラスの判別精度は、モデル１０に学習データを与えて学習させ、モデル１０を更新することで高められる。学習データは、モデル１０に入力する学習用入力画像と、学習用入力画像内のクラスが手動で指定されたアノテーション画像との組で構成される。アノテーション画像は、学習用入力画像に応じてモデル１０から出力された学習用出力画像とのいわば答え合わせを行うための画像で、学習用出力画像と比較される。モデル１０のクラスの判別精度が高いほど、アノテーション画像と学習用出力画像との差異は小さくなる。
【００２３】
ミニバッチ学習装置２では、前述のように、学習データとしてミニバッチデータ１１を用いる。ミニバッチデータ１１は、分割学習用入力画像群１２と分割アノテーション画像群１３とで構成される。
【００２４】
ミニバッチ学習においては、分割学習用入力画像群１２がモデル１０に与えられる。これにより、モデル１０から、分割学習用入力画像群１２の分割学習用入力画像２０Ｓ（図４参照）毎に学習用出力画像が出力される。こうしてモデル１０から出力された学習用出力画像の集合である学習用出力画像群１４と、分割アノテーション画像群１３とが比較され、モデル１０のクラスの判別精度が評価される。そして、このクラスの判別精度の評価結果に応じて、モデル１０が更新される。ミニバッチ学習装置２は、これらの分割学習用入力画像群１２のモデル１０への入力と学習用出力画像群１４のモデル１０からの出力、モデル１０のクラスの判別精度の評価、およびモデル１０の更新を、ミニバッチデータ１１を代えつつ行い、モデル１０のクラスの判別精度が所望のレベルとなるまで繰り返す。
【００２５】
図２に示すように、上記のようにしてクラスの判別精度が所望のレベルまで引き上げられたモデル１０は、学習済み機械学習モデル（以下、学習済みモデル）１０Ｔとして運用装置１５に組み込まれる。学習済みモデル１０Ｔには、映った物体のクラスおよびその輪郭が未だ判別されていない入力画像１６が与えられる。学習済みモデル１０Ｔは、入力画像１６に映る物体のクラスとその輪郭を判別し、その判別結果として出力画像１７を出力する。運用装置１５は、ミニバッチ学習装置２と同様、例えばデスクトップ型のパーソナルコンピュータであり、入力画像１６と出力画像１７とを、ディスプレイに並べて表示したりする。なお、運用装置１５は、ミニバッチ学習装置２とは別の装置でもよいし、ミニバッチ学習装置２と同じ装置でもよい。また、運用装置１５に学習済みモデル１０Ｔを組み込んだ後も、学習済みモデル１０Ｔにミニバッチデータ１１を与えて学習させてもよい。
【００２６】
図３Ａに示すように、学習用入力画像２０は、本例においては、細胞培養の様子を映した位相差顕微鏡の１枚の画像である。学習用入力画像２０には、分化細胞、未分化細胞、培地、死細胞が物体として映っている。この場合のアノテーション画像２１は、図３Ｂに示すように、クラス１の分化細胞、クラス２の未分化細胞、クラス３の培地、クラス４の死細胞が、各々手動で指定されたものとなる。なお、学習済みモデル１０Ｔに与えられる入力画像１６も、学習用入力画像２０と同じく、細胞培養の様子を映した位相差顕微鏡の画像である。
【００２７】
図４に示すように、分割学習用入力画像２０Ｓは、学習用入力画像２０内において、横方向にＤＸずつ、かつ縦方向にＤＹずつ順次移動される矩形状の枠２５で囲われた領域を、その都度切り取ったものである。枠２５の横方向の移動量ＤＸは、例えば、枠２５の横方向のサイズの１／２である。同様に、枠２５の縦方向の移動量ＤＹは、例えば、枠２５の縦方向のサイズの１／２である。枠２５は、例えば、学習用入力画像２０の１／５０のサイズである。この場合、分割学習用入力画像２０Ｓは、２０Ｓ＿１〜２０Ｓ＿１００００の計１万枚ある。
【００２８】
同様にして、図５に示すように、分割アノテーション画像２１Ｓは、アノテーション画像２１内において、横方向にＤＸずつ、かつ縦方向にＤＹずつ順次移動される矩形状の枠２５で囲われた領域を、その都度切り取ったものである。分割アノテーション画像２１Ｓは、２１Ｓ＿１〜２１Ｓ＿１００００の計１万枚ある。なお、以下では、ミニバッチ学習装置２内に学習用入力画像２０およびアノテーション画像２１が既に用意されており、かつ分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓも既に生成されているとして話を進める。
【００２９】
図６に示すように、分割学習用入力画像群１２は、図４で示したように生成された複数の分割学習用入力画像２０Ｓのうちの一部（例えば１万枚の分割学習用入力画像２０Ｓのうちの１００枚）で構成される。同様に図７に示すように、分割アノテーション画像群１３は、図５で示したように生成された複数の分割アノテーション画像２１Ｓのうちの一部（例えば１万枚の分割アノテーション画像２１Ｓのうちの１００枚）で構成される。分割学習用入力画像群１２を構成する分割学習用入力画像２０Ｓと、分割アノテーション画像群１３を構成する分割アノテーション画像２１Ｓとは、枠２５で切り取った領域が同じもの同士である。
【００３０】
図８において、ミニバッチ学習装置２を構成するコンピュータは、ストレージデバイス３０、メモリ３１、ＣＰＵ（Central Processing Unit）３２、通信部３３、ディスプレイ３４、および入力デバイス３５を備えている。これらはデータバス３６を介して相互接続されている。
【００３１】
ストレージデバイス３０は、ミニバッチ学習装置２を構成するコンピュータに内蔵、またはケーブルやネットワークを通じて接続されたハードディスクドライブである。もしくはストレージデバイス３０は、ハードディスクドライブを複数台連装したディスクアレイである。ストレージデバイス３０には、オペレーティングシステム等の制御プログラムや各種アプリケーションプログラム、およびこれらのプログラムに付随する各種データ等が記憶されている。
【００３２】
メモリ３１は、ＣＰＵ３２が処理を実行するためのワークメモリである。ＣＰＵ３２は、ストレージデバイス３０に記憶されたプログラムをメモリ３１へロードして、プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
【００３３】
通信部３３は、インターネットあるいは公衆通信網等のＷＡＮ（Wide Area Network）といったネットワークを介した各種情報の伝送制御を行うネットワークインターフェースである。ディスプレイ３４は各種画面を表示する。各種画面にはＧＵＩ(Graphical User Interface)による操作機能が備えられる。ミニバッチ学習装置２を構成するコンピュータは、各種画面を通じて、入力デバイス３５からの操作指示の入力を受け付ける。入力デバイス３５は、キーボードやマウス、タッチパネル等である。
【００３４】
図９において、ストレージデバイス３０には、学習用入力画像２０、アノテーション画像２１、分割学習用入力画像２０Ｓ、分割アノテーション画像２１Ｓ、およびモデル１０が記憶されている。また、ストレージデバイス３０には、アプリケーションプログラムとして作動プログラム４０が記憶されている。作動プログラム４０は、コンピュータをミニバッチ学習装置２として機能させるためのアプリケーションプログラムである。
【００３５】
作動プログラム４０が起動されると、ミニバッチ学習装置２を構成するコンピュータのＣＰＵ３２は、メモリ３１等と協働して、生成部５０、算出部５１、特定部５２、学習部５３、評価部５４、および更新部５５として機能する。評価部５４には、補正処理部５６が設けられている。
【００３６】
生成部５０は、図４および図５で示したように学習用入力画像２０およびアノテーション画像２１から生成された分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓから、図６および図７で示したようにその一部を選択することで、ミニバッチデータ１１を生成する。生成部５０は、ミニバッチデータ１１を複数組（例えば１００組）生成する。生成部５０は、生成したミニバッチデータ１１を、算出部５１、学習部５３、および評価部５４に出力する。
【００３７】
なお、生成部５０において、ミニバッチデータ１１とする分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓの選択肢を増やす手法を実行してもよい。具体的には、分割学習用入力画像２０Ｓおよび分割アノテーション画像２１Ｓに、トリミング、左右反転、回転といった画像処理を施して別の画像に仕立て、ミニバッチデータ１１の新たな選択肢とする。こうした手法は、データオーギュメンテーションと呼ばれる。
【００３８】
算出部５１は、ミニバッチデータ１１における、複数のクラスの各々の面積割合を算出する。より詳しくは、算出部５１は、生成部５０からのミニバッチデータ１１の分割アノテーション画像群１３を構成する分割アノテーション画像２１Ｓにおいて手動で指定された領域の画素数を、クラス毎に加算する。次いで、加算した画素数を分割アノテーション画像２１Ｓの全画素数で除算することで、面積割合を算出する。例えば、クラス１の分化細胞と指定された領域の、加算した画素数が１００００で、全画素数が５００００であった場合、クラス１の分化細胞の面積割合は、（１００００／５００００）×１００＝２０％である。算出部５１は、算出した面積割合を特定部５２に出力する。
【００３９】
特定部５２は、面積割合に基づいて補正対象クラスを特定する。本実施形態においては、特定部５２は、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定する。特定部５２は、特定した稀少クラスを評価部５４に出力する。
【００４０】
学習部５３は、生成部５０からのミニバッチデータ１１の分割学習用入力画像群１２をモデル１０に与えて学習させる。これによりモデル１０から出力された学習用出力画像群１４を、学習部５３は評価部５４に出力する。
【００４１】
評価部５４は、生成部５０からのミニバッチデータ１１の分割アノテーション画像群１３と、学習部５３からの学習用出力画像群１４とを比較し、モデル１０のクラスの判別精度を評価する。評価部５４は、評価結果を更新部５５に出力する。
【００４２】
評価部５４は、以下に示す損失関数Ｌ（ＴＮ、ＰＮ）を用いて、モデル１０のクラスの判別精度を評価する。損失関数Ｌ（ＴＮ、ＰＮ）は、分割アノテーション画像群１３と学習用出力画像群１４との差異の程度を表す関数である。損失関数Ｌ（ＴＮ、ＰＮ）のＴＮは分割アノテーション画像群１３におけるクラスの判別状態を表し、正解値に相当する。ＰＮは学習用出力画像群１４におけるクラスの判別状態を表し、予測値に相当する。損失関数Ｌ（ＴＮ、ＰＮ）の算出値が０に近いほど、モデル１０のクラスの判別精度が高いことを示す。
【００４３】
【数１】
2020121679.tif 000003
【００４４】
Ｎはクラスの数で、本例ではＮ＝４である。ＷＫは重み係数である。Ｆ（ＴＫ、ＰＫ）は、例えば、カテゴリカルクロスエントロピー関数である。Ｆ（ＴＫ、ＰＫ）は、各クラスの損失の値に相当する。すなわち、損失関数Ｌ（ＴＮ、ＰＮ）は、各クラスの損失の値Ｆ（ＴＫ、ＰＫ）と重み係数ＷＫとの積の総和である。評価部５４は、評価結果として、この損失関数Ｌ（ＴＮ、ＰＮ）の算出値を更新部５５に出力する。
【００４５】
補正処理部５６は、補正対象クラスの損失の値である第１の損失の値、および補正対象クラス以外のクラスの損失の値である第２の損失の値の比較結果に基づいて、第１の損失の値を補正する補正処理を実行する。なお、補正処理は、第１の損失の値および第２の損失の値の桁数を揃える処理を含む。桁数を揃える処理とは、例えば、第１の損失の値の桁数が１で、第２の損失の値の桁数が２の場合、第１の損失の値の桁数を２にする処理である。また、補正処理は、第１の損失の値と第２の損失の値とを同じ値とする処理も含む。同じ値とする処理は、第１の損失の値と第２の損失の値とを完全に同一の値にする処理はもとより、理第２の損失の値に対して、第１の損失の値を、規定の誤差範囲、例えば±５０％の範囲に収める（第２の損失の値が５０の場合、第１の損失の値を２５〜７５とする）処理も含む。
【００４６】
より詳しくは、補正処理部５６は、補正処理として、第１の損失の値への重みを、第２の損失の値への重みよりも大きくする処理を実行する。ここで、「重み」とは、重み係数ＷＫのことである。また、本実施形態においては、前述のように、補正対象クラスは、面積割合が設定値よりも低い稀少クラスである。このため、本実施形態においては、第１の損失の値は稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）、第２の損失の値は稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）である。これらを踏まえて上記の表現を言い換えると、補正処理部５６は、補正処理として、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫよりも大きくする処理を実行する、となる。補正処理部５６は、例えば、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを１０とし、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを１とする（図１１および図１２参照）。
【００４７】
更新部５５は、評価部５４からの評価結果に応じて、モデル１０を更新する。より具体的には、更新部５５は、学習係数を伴う確率的勾配降下法等により、モデル１０の各種パラメータの値を変化させる。学習係数は、モデル１０の各種パラメータの値の変化幅を示す。すなわち、学習係数が比較的大きい値であるほど、各種パラメータの値の変化幅は大きくなり、モデル１０の更新度合いも大きくなる。
【００４８】
図１０および図１１は、算出部５１、特定部５２、評価部５４（補正処理部５６）の各部の処理の具体例を示す。まず、図１０において、算出部５１は、表６０に示すように、ミニバッチデータ１１の各組１、２、３、・・・について、各クラスの面積割合を算出する。図１０では、第１組のミニバッチデータ１１のクラス１の分化細胞の面積割合を３８％、クラス２の未分化細胞の面積割合を２％、クラス３の培地の面積割合を４０％、クラス４の死細胞の面積割合を２０％等と算出した場合を例示している。
【００４９】
特定部５２は、面積割合が設定値よりも低い稀少クラスを特定する。図１０では、設定値が５％であるため、面積割合が２％と設定値よりも低い、第１組のミニバッチデータ１１のクラス２の未分化細胞を稀少クラスとして特定した場合を例示している。なお、ここでは稀少クラスが１つだけ特定された場合を例示しているが、面積割合が設定値よりも低いクラスが複数あった場合は、当然ながら複数のクラスが稀少クラスとして特定される。
【００５０】
続いて図１１において、評価部５４の補正処理部５６は、表６１に示すように、第１組のミニバッチデータ１１のクラス１、３、４、第２組、第３組のミニバッチデータ１１の全クラスといった、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを１とする。対して、補正処理部５６は、第１組のミニバッチデータ１１のクラス２といった稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを１０とする。
【００５１】
図１２は、各クラスの損失の値Ｆ（ＴＫ、ＰＫ）と損失関数Ｌ（ＴＮ、ＰＮ）の算出値の表を示す。図１２Ａの表６５Ａは、各クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを一律同じ１にした場合を示す。一方、図１２Ｂの表６５Ｂは、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを大きくした場合を示す。そして、稀少クラスがクラス２の未分化細胞で、損失の値Ｆ（Ｔ２、Ｐ２）が２、その他のクラス１、３、４の、損失の値Ｆ（Ｔ１、Ｐ１）、Ｆ（Ｔ３、Ｐ３）、Ｆ（Ｔ４、Ｐ４）が、それぞれ２５、２０、１５であった場合を例示している。
【００５２】
このように、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）は、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）と比べて小さくなる。こうした差異が生じるのは、稀少クラスは、他のクラスと比べてモデル１０の学習機会が限られていて、１組のミニバッチデータ１１を与えた学習（エポックと呼ばれる）では、モデル１０の判別精度が改善または悪化する程度が小さいためである。
【００５３】
稀少クラスとその他のクラスで損失の値Ｆ（ＴＫ、ＰＫ）に大きな差異がある状態で、図１２Ａのように重み係数ＷＫを一律同じにした場合、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）が損失関数Ｌ（ＴＮ、ＰＮ）の算出値（＝６２）に与える影響は比較的少ない。対して、図１２Ｂのように稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを大きくした場合は、図１２Ａの場合と比べて、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）が損失関数Ｌ（ＴＮ、ＰＮ）の算出値（＝８０）に与える影響は大きい。こうして稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを大きくすることで、評価部５４は、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）を、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）に比肩する値に引き上げ、そのうえで損失関数Ｌ（ＴＮ、ＰＮ）を算出し、モデル１０の判別精度を評価する。
【００５４】
次に、上記構成による作用について、図１３に示すフローチャートを参照して説明する。まず、作動プログラム４０が起動されて、図９で示したように、ミニバッチ学習装置２を構成するコンピュータのＣＰＵ３２が、各処理部５０〜５６として機能する。
【００５５】
生成部５０において、ミニバッチデータ１１が生成される（ステップＳＴ１００）。ミニバッチデータ１１は、生成部５０から算出部５１、学習部５３、および評価部５４に出力される。
【００５６】
図１０の表６０で示したように、算出部５１により、ミニバッチデータ１１の各組について、各クラスの面積割合が算出される（ステップＳＴ１１０、算出ステップ）。続いて、これも図１０で示したように、特定部５２において、面積割合が設定値よりも低い稀少クラスが、補正対象クラスとして特定される（ステップＳＴ１２０、特定ステップ）。
【００５７】
学習部５３において、生成部５０からのミニバッチデータ１１の分割学習用入力画像群１２がモデル１０に与えられて学習が行われる（ステップＳＴ１３０）。
【００５８】
ステップＳＴ１３０においてモデル１０に与えたミニバッチデータ１１に、稀少クラスがあった場合（ステップＳＴ１４０でＹＥＳ）、図１１の表６１および図１２Ｂの表６５Ｂで示したように、補正処理部５６により、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫが、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫよりも大きくされる（ステップＳＴ１５０、補正処理ステップ）。対して、ステップＳＴ１３０においてモデル１０に与えたミニバッチデータ１１に、稀少クラスがなかった場合（ステップＳＴ１４０でＮＯ）は、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫが大きくされることなく、通常の重み係数ＷＫとされる。
【００５９】
評価部５４では、モデル１０から出力された学習用出力画像群１４と、生成部５０からのミニバッチデータ１１の分割アノテーション画像群１３とが比較され、モデル１０のクラスの判別精度が評価される（ステップＳＴ１６０、評価ステップ）。より詳しくは、複数のクラス毎に損失の値Ｆ（ＴＫ、ＰＫ）が算出される。そして、損失の値Ｆ（ＴＫ、ＰＫ）に、ステップＳＴ１５０で設定された重み係数ＷＫ、または通常の重み係数ＷＫが積算され、その総和が損失関数Ｌ（ＴＮ、ＰＮ）の算出値として算出される。
【００６０】
評価部５４による損失関数Ｌ（ＴＮ、ＰＮ）の算出値に基づき、モデル１０のクラスの判別精度が所望のレベルに達したと判定された場合（ＳＴ１７０でＹＥＳ）、ミニバッチ学習が終了される。一方、モデル１０のクラスの判別精度が所望のレベルに達していないと判定された場合（ステップＳＴ１７０でＮＯ）は、更新部５５によりモデル１０が更新（ステップＳＴ１８０）される。そのうえで、ステップＳＴ１３０に処理が戻され、別の組のミニバッチデータ１１がモデル１０に与えられて以降のステップが繰り返される。
【００６１】
特定部５２において稀少クラスが特定された場合とは、すなわちミニバッチデータ１１にクラスの偏りがあった場合である。こうしたクラスの偏りがあるミニバッチデータ１１では、稀少クラスが加味されずに学習が行われる。より詳しくは、稀少クラスの学習の頻度が、他のクラスと比べて相対的に低くなる。このような偏った学習が行われた後に、評価部５４において何の制約もなくモデル１０の判別精度を評価した場合、図１２Ａで示したように、稀少クラスがあまり加味されない評価結果が出力されることとなる。そうすると、その後のモデル１０の更新も、稀少クラスが加味されないものとなる。結果として、稀少クラスの判別精度が低いモデル１０ができあがってしまう。
【００６２】
しかしながら、本実施形態では、上述のように、補正処理部５６において、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）および稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）の比較結果に基づく補正処理を実行している。より詳しくは、補正処理部５６において、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを、稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫよりも大きくしている。こうすることで、稀少クラスが十分に加味された評価結果を出力することができ、その後のモデル１０の更新も、稀少クラスの判別精度を高める方向に向かう。したがって、稀少クラスの判別精度が低いモデル１０ができあがってしまう、という事態が避けられ、モデル１０のクラスの判別精度の低下を抑制することが可能となる。
【００６３】
なお、面積割合が小さいほど、稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを大きくする程度を増やしてもよい。例えば図１４の表７０に示すように、第２０組のミニバッチデータ１１のように、面積割合が０％以上２．５％未満の場合は、稀少クラスであるクラス２の重み係数Ｗ２を１００とする。対して、第２１組のミニバッチデータ１１のように、面積割合が２．５％以上５％未満の場合は、稀少クラスであるクラス４の重み係数Ｗ４を１０とする。面積割合が小さいほど、損失の値Ｆ（ＴＫ、ＰＫ）もより小さくなると考えられる。したがって、このように面積割合に応じて重み係数ＷＫを変更すれば、より稀少クラスが加味された評価結果を出力することができ、結果としてよりモデル１０のクラスの判別精度の低下を抑制することが可能となる。
【００６４】
［第２実施形態］
図１５〜図１７に示す第２実施形態では、上記第１実施形態とは逆に、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理として、第１の損失の値への重みを、第２の損失の値への重みよりも小さくする処理を実行する。
【００６５】
図１５において、本実施形態の特定部８０は、補正対象クラスとして、面積割合が設定値よりも高い非稀少クラスを特定する。図１５では、設定値が５０％であるため、表７５等に示すように、面積割合が５６％と設定値よりも高い、第３０組のミニバッチデータ１１のクラス２の未分化細胞を非稀少クラスとして特定した場合を例示している。なお、上記第１実施形態の稀少クラスと同じく、複数のクラスが非稀少クラスとして特定される場合もある。
【００６６】
図１６において、本実施形態の評価部８１の補正処理部８２は、補正処理として、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを、非稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫよりも小さくする処理を実行する。具体的には表８３に示すように、第３０組のミニバッチデータ１１のクラス１、３、４、第３１組、第３２組のミニバッチデータ１１の全クラスといった、非稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを１とする。対して、補正処理部８２は、第３０組のミニバッチデータ１１のクラス２といった非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを０．５とする。
【００６７】
図１７は、図１２と同様に、各クラスの損失の値Ｆ（ＴＫ、ＰＫ）と損失関数Ｌ（ＴＮ、ＰＮ）の算出値の表を示す。図１７Ａの表８５Ａは、各クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを一律同じ１にした場合を示す。一方、図１７Ｂの表８５Ｂは、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを小さくした場合を示す。そして、非稀少クラスがクラス２の未分化細胞で、損失の値Ｆ（Ｔ２、Ｐ２）が４２、その他のクラス１、３、４の、損失の値Ｆ（Ｔ１、Ｐ１）、Ｆ（Ｔ３、Ｐ３）、Ｆ（Ｔ４、Ｐ４）が、それぞれ１９、２２、１８であった場合を例示している。
【００６８】
上記第１実施形態とは逆に、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）は、非稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）と比べて大きくなる。そこで、評価部８１は、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを小さくしている。これにより、図１７Ｂに示すように、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）が、非稀少クラス以外のクラスの損失の値Ｆ（ＴＫ、ＰＫ）に比肩する値に引き下げられ、重み係数ＷＫを一律同じ値にした図１７Ａの場合よりも、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）が損失関数Ｌ（ＴＮ、ＰＮ）の算出値に与える影響を少なくしている。
【００６９】
このように、第２実施形態では、補正対象クラスとして、面積割合が設定値よりも高い非稀少クラスを特定し、補正処理として、第１の損失の値への重みを、第２の損失の値への重みよりも小さくする処理を実行している。したがって、上記第１実施形態と同じく、モデル１０のクラスの判別精度の低下を抑制することが可能となる。
【００７０】
なお、この場合も上記第１実施形態と同様に、面積割合が大きいほど、非稀少クラスの損失の値Ｆ（ＴＫ、ＰＫ）への重み係数ＷＫを小さくする程度を増やしてもよい。
【００７１】
［第３実施形態］
図１８〜図２１に示す第３実施形態では、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定し、補正処理として、第１の損失の値を算出する場合の正解値および予測値を、第２の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行する。
【００７２】
図１８は、図１０で示したように、第１組のミニバッチデータ１１のクラス２の未分化細胞を稀少クラスとして特定した場合を例示している。この場合、本実施形態の評価部９０の補正処理部９１は、表９２に示すように、第１組のミニバッチデータ１１のクラス１、３、４、第２組、第３組のミニバッチデータ１１の全クラスといった、稀少クラス以外のクラスの正解値および予測値はそのままとする。対して、補正処理部９１は、第１組のミニバッチデータ１１のクラス２といった稀少クラスの正解値および予測値を１０倍する拡大処理を実行する。
【００７３】
図１９および図２０は、図１８の第１組のミニバッチデータ１１のクラス２の正解値および予測値を１０倍する拡大処理を概念的に示した図である。図１９に示すように、正解値Ｔ２のサイズは、拡大処理によって拡大処理前の１０倍とされる。同じく図２０に示すように、予測値Ｐ２のサイズは、拡大処理によって拡大処理前の１０倍とされる。このように、拡大処理は、稀少クラスの正解値の対象画素数および稀少クラスの予測値の対象画素数を増やす処理である。
【００７４】
図２１の表９５に示すように、補正処理部９１は、拡大処理における拡大率を、ミニバッチデータ１１における稀少クラスの面積割合が、ミニバッチデータ１１の元となる学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合と同じになる値とする。図２１では、第１組のミニバッチデータ１１のクラス２の未分化細胞が稀少クラスと特定され、ミニバッチデータ１１における稀少クラスの面積割合が２％で、学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合が２０％であった場合を例示している。この場合、補正処理部９１は、拡大処理における拡大率を２０／２＝１０倍とする。なお、同じになる値とは、ミニバッチデータ１１における稀少クラスの面積割合と学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合とが完全に同じになる値はもとより、ミニバッチデータ１１における稀少クラスの面積割合と学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合とが規定の誤差範囲、例えば±１０％の範囲に収まる値も含む。
【００７５】
このように、第３実施形態では、補正対象クラスとして、面積割合が予め設定された設定値よりも低い稀少クラスを特定し、補正処理として、第１の損失の値を算出する場合の正解値および予測値を、第２の損失の値を算出する場合の正解値および予測値よりも大きくする拡大処理を実行している。こうした補正処理によっても、稀少クラスとそうでないクラスとの損失の値Ｆ（ＴＫ、ＰＫ）の不均衡を是正することができる。したがって、モデル１０のクラスの判別精度の低下を抑制することが可能となる。さらに、こうした補正処理は、損失の値Ｆ（ＴＫ、ＰＫ）が線形な関数でない場合に有効である。
【００７６】
また、第３実施形態では、拡大処理における拡大率を、ミニバッチデータ１１における稀少クラスの面積割合が、学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合と同じになる値としている。したがって、拡大率を妥当な値とすることができる。なお、こうした拡大率の決定方法は、学習用入力画像２０およびアノテーション画像２１における各クラスの面積割合に偏りがない場合に採用することが好ましい。
学習用入力画像２０およびアノテーション画像２１における各クラスの面積割合に偏りがない場合とは、例えば、各クラスの面積割合の最大値と最小値の差分が１０％以内の場合等である。
【００７７】
［第４実施形態］
図２２〜図２５に示す第４実施形態では、上記第３実施形態とは逆に、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理として、第１の損失の値を算出する場合の正解値および予測値を、第２の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行する。
【００７８】
図２２は、図１５で示したように、第３０組のミニバッチデータ１１のクラス２の未分化細胞を非稀少クラスとして特定した場合を例示している。この場合、本実施形態の評価部１００の補正処理部１０１は、表１０２に示すように、第３０組のミニバッチデータ１１のクラス１、３、４、第３１組、第３２組のミニバッチデータ１１の全クラスといった、非稀少クラス以外のクラスの正解値および予測値はそのままとする。対して、補正処理部１０１は、第３０組のミニバッチデータ１１のクラス２といった非稀少クラスの正解値および予測値を０．５倍する縮小処理を実行する。
【００７９】
図２３および図２４は、図２２の第３０組のミニバッチデータ１１のクラス２の正解値および予測値を０．５倍する縮小処理を概念的に示した図である。図２３に示すように、正解値Ｔ２のサイズは、縮小処理によって縮小処理前の０．５倍とされる。同じく図２４に示すように、予測値Ｐ２のサイズは、縮小処理によって縮小処理前の０．５倍とされる。このように、縮小処理は、上記第３実施形態の拡大処理とは逆に、非稀少クラスの正解値の対象画素数および非稀少クラスの予測値の対象画素数を減らす処理である。
【００８０】
図２５の表１０５に示すように、補正処理部１０１は、縮小処理における縮小率を、ミニバッチデータ１１における非稀少クラスの面積割合が、ミニバッチデータ１１の元となる学習用入力画像２０およびアノテーション画像２１における非稀少クラスの面積割合と同じになる値とする。図２５では、第３０組のミニバッチデータ１１のクラス２の未分化細胞が非稀少クラスと特定され、ミニバッチデータ１１における非稀少クラスの面積割合が５６％で、学習用入力画像２０およびアノテーション画像２１における非稀少クラスの面積割合が２８％であった場合を例示している。この場合、補正処理部１０１は、縮小処理における縮小率を２８／５６＝０．５倍とする。なお、この場合も上記第３実施形態と同じく、同じになる値とは、ミニバッチデータ１１における稀少クラスの面積割合と学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合とが完全に同じになる値はもとより、ミニバッチデータ１１における稀少クラスの面積割合と学習用入力画像２０およびアノテーション画像２１における稀少クラスの面積割合とが規定の誤差範囲、例えば±１０％の範囲に収まる値も含む。
【００８１】
このように、第４実施形態では、補正対象クラスとして、面積割合が予め設定された設定値よりも高い非稀少クラスを特定し、補正処理として、第１の損失の値を算出する場合の正解値および予測値を、第２の損失の値を算出する場合の正解値および予測値よりも小さくする縮小処理を実行している。したがって、上記第３実施形態と同じく、モデル１０のクラスの判別精度の低下を抑制することが可能となる。さらに、上記第３実施形態と同じく、損失の値Ｆ（ＴＫ、ＰＫ）が線形な関数でない場合に有効である。
【００８２】
また、第４実施形態では、縮小処理における縮小率を、ミニバッチデータ１１における非稀少クラスの面積割合が、学習用入力画像２０およびアノテーション画像２１における非稀少クラスの面積割合と同じになる値としている。したがって、縮小率を妥当な値とすることができる。なお、上記第３実施形態と同様に、こうした縮小率の決定方法は、学習用入力画像２０およびアノテーション画像２１における各クラスの面積割合に偏りがない場合に採用することが好ましい。
【００８３】
［第５実施形態］
図２６に示す第５実施形態では、補正処理部に補正処理を実行させるか否かを問う。
【００８４】
図２６において、第５実施形態のミニバッチ学習装置のＣＰＵは、上記各実施形態の各処理部に加えて、受付部１１０として機能する。受付部１１０は、特定部５２において補正対象クラスを特定した場合に、補正処理部に補正処理を実行させるか否かの選択指示を受け付ける。
【００８５】
第５実施形態においては、特定部５２において補正対象クラスが特定された場合、ディスプレイ３４に問い合わせ画面１１１が表示される。問い合わせ画面１１１には、補正対象クラスが特定された旨と、補正対象クラスの損失の値を補正する補正処理を実行してよいか否かを問う旨のメッセージ１１２、はいボタン１１３、いいえボタン１１４が表示される。受付部１１０は、はいボタン１１３といいえボタン１１４の選択指示を、補正処理を実行させるか否かの選択指示として受け付ける。はいボタン１１３が選択された場合は、補正処理部において、補正処理が実行される。一方、いいえボタン１１４が選択された場合は、補正処理部において、補正処理は実行されない。
【００８６】
アノテーション画像の生成に際しては、クラスの指定は手動であるため、クラスの指定を間違えたりすることがある。また、モデル１０の開発当初はクラスとして指定していたが、開発が進むにつれてあまり重要視しなくなったクラスが出てくることもある。こうした場合は、特定部５２において補正対象クラスが特定されたが、補正処理を実行しなくても構わない場合がある。
【００８７】
そこで、第５実施形態では、受付部１１０により、補正処理部に補正処理を実行させるか否かの選択指示を受け付けている。したがって、特定部５２において補正対象クラスが特定されたが、補正処理を実行しなくても構わない場合に対応することができる。
【００８８】
第１実施形態と第２実施形態を複合して実施してもよい。すなわち、稀少クラスの損失の値への重み係数を、稀少クラス以外のクラスの損失の値への重み係数よりも小さくし、かつ、非稀少クラスの損失の値への重み係数を、非稀少クラス以外のクラスの損失の値への重み係数よりも大きくしてもよい。同様に、第３実施形態と第４実施形態を複合して実施してもよい。すなわち、稀少クラスの損失の値を算出する場合の正解値および予測値を、稀少クラス以外のクラスの損失の値を算出する場合の正解値および予測値よりも大きくし、かつ、非稀少クラスの損失の値を算出する場合の正解値および予測値を、非稀少クラス以外のクラスの損失の値を算出する場合の正解値および予測値よりも小さくしてもよい。
【００８９】
上記各実施形態では、入力画像１６および学習用入力画像２０として、細胞培養の様子を映した位相差顕微鏡の画像を例示し、クラスとして分化細胞や培地を例示したが、これに限定されない。例えばＭＲＩ（Magnetic Resonance Imaging）画像を入力画像１６および学習用入力画像２０とし、肝臓、腎臓といった臓器をクラスとしてもよい。
【００９０】
モデル１０はＵ−Ｎｅｔに限らず、他の畳み込みニューラルネットワーク、例えばＳｅｇＮｅｔでもよい。
【００９１】
ミニバッチ学習装置２を構成するコンピュータのハードウェア構成は種々の変形が可能である。例えば、ミニバッチ学習装置２を、処理能力や信頼性の向上を目的として、ハードウェアとして分離された複数台のコンピュータで構成することも可能である。具体的には、生成部５０、算出部５１、および特定部５２の機能と、学習部５３、評価部５４、および更新部５５の機能とを、２台のコンピュータに分散して担わせる。この場合は２台のコンピュータでミニバッチ学習装置２を構成する。
【００９２】
このように、コンピュータのハードウェア構成は、処理能力、安全性、信頼性等の要求される性能に応じて適宜変更することができる。さらに、ハードウェアに限らず、作動プログラム４０等のアプリケーションプログラムについても、安全性や信頼性の確保を目的として、二重化したり、あるいは、複数のストレージデバイスに分散して格納することももちろん可能である。
【００９３】
上記各実施形態において、例えば、生成部５０、算出部５１、特定部５２、８０、学習部５３、評価部５４、８１、９０、１００、更新部５５、補正処理部５６、８２、９１、１０１、受付部１１０といった各種の処理を実行する処理部（Processing Unit）のハードウェア的な構造としては、次に示す各種のプロセッサ（Processor）を用いることができる。各種のプロセッサには、上述したように、ソフトウェア（作動プログラム４０）を実行して各種の処理部として機能する汎用的なプロセッサであるＣＰＵに加えて、ＦＰＧＡ（Field Programmable Gate Array）等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス（Programmable Logic Device :ＰＬＤ）、ＡＳＩＣ（Application Specific Integrated Circuit）等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【００９４】
１つの処理部は、これらの各種のプロセッサのうちの１つで構成されてもよいし、同種または異種の２つ以上のプロセッサの組み合わせ（例えば、複数のＦＰＧＡの組み合わせや、ＣＰＵとＦＰＧＡとの組み合わせ）で構成されてもよい。また、複数の処理部を１つのプロセッサで構成してもよい。
【００９５】
複数の処理部を１つのプロセッサで構成する例としては、第１に、クライアントおよびサーバ等のコンピュータに代表されるように、１つ以上のＣＰＵとソフトウェアの組み合わせで１つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第２に、システムオンチップ（System On Chip:ＳｏＣ）等に代表されるように、複数の処理部を含むシステム全体の機能を１つのＩＣ（Integrated Circuit）チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの１つ以上を用いて構成される。
【００９６】
さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路（circuitry）を用いることができる。
【００９７】
以上の記載から、以下の付記項１に記載の発明を把握することができる。
【００９８】
［付記項１］
画像内の複数のクラスの判別を画素単位で行うセマンティックセグメンテーションを実施するための機械学習モデルに、ミニバッチデータを与えて学習させるミニバッチ学習装置であり、
前記ミニバッチデータにおける、前記複数のクラスの各々の面積割合を算出する算出プロセッサと、
前記面積割合に基づいて補正対象クラスを特定する特定プロセッサと、
損失関数を用いて、前記複数のクラス毎に損失の値を算出することによって、前記機械学習モデルの前記クラスの判別精度を評価する評価プロセッサであり、前記補正対象クラスの第１の損失の値および前記補正対象クラス以外のクラスの第２の損失の値の比較結果に基づいて、前記第１の損失の値を補正する補正処理を実行する補正処理プロセッサを含む評価プロセッサと、を備えるミニバッチ学習装置。
【００９９】
本開示の技術は、上述の種々の実施形態や種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体にもおよぶ。
【符号の説明】
【０１００】
２  ミニバッチ学習装置
１０  機械学習モデル（モデル）
１０Ｔ  学習済み機械学習モデル（学習済みモデル）
１１  ミニバッチデータ
１２  分割学習用入力画像群
１３  分割アノテーション画像群
１４  学習用出力画像群
１５  運用装置
１６  入力画像
１７  出力画像
２０  学習用入力画像
２０Ｓ  分割学習用入力画像
２１  アノテーション画像
２１Ｓ  分割アノテーション画像
２５  枠
３０  ストレージデバイス
３１  メモリ
３２  ＣＰＵ
３３  通信部
３４  ディスプレイ
３５  入力デバイス
３６  データバス
４０  作動プログラム
５０  生成部
５１  算出部
５２、８０  特定部
５３  学習部
５４、８１、９０、１００  評価部
５５  更新部
５６、８２、９１、１０１  補正処理部
６０、６１、６５Ａ、６５Ｂ、７０、７５、８３、８５Ａ、８５Ｂ、９２、９５、１０２、１０５  表
１１０  受付部
１１１  問い合わせ画面
１１２  メッセージ
１１３  はいボタン
１１４  いいえボタン
ＤＸ  枠の横方向の移動量
ＤＹ  枠の縦方向の移動量
Ｌ（ＴＮ、ＰＮ）  損失関数
ＷＫ  各クラスの重み係数
Ｆ（ＴＫ、ＰＫ）  各クラスの損失の値
ＴＫ  各クラスの正解値
ＰＫ  各クラスの予測値
ＳＴ１００〜ＳＴ１８０  ステップ
【図１】
2020121679.tif 000004
【図２】
2020121679.tif 000005
【図３】
2020121679.tif 000006
【図４】
2020121679.tif 000007
【図５】
2020121679.tif 000008
【図６】
2020121679.tif 000009
【図７】
2020121679.tif 000010
【図８】
2020121679.tif 000011
【図９】
2020121679.tif 000012
【図１０】
2020121679.tif 000013
【図１１】
2020121679.tif 000014
【図１２】
2020121679.tif 000015
【図１３】
2020121679.tif 000016
【図１４】
2020121679.tif 000017
【図１５】
2020121679.tif 000018
【図１６】
2020121679.tif 000019
【図１７】
2020121679.tif 000020
【図１８】
2020121679.tif 000021
【図１９】
2020121679.tif 000022
【図２０】
2020121679.tif 000023
【図２１】
2020121679.tif 000024
【図２２】
2020121679.tif 000025
【図２３】
2020121679.tif 000026
【図２４】
2020121679.tif 000027
【図２５】
2020121679.tif 000028
【図２６】
2020121679.tif 000029
【国際調査報告】
2020121679.tif 000030
2020121679.tif 000031
2020121679.tif 000032
2020121679.tif 000033