IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オリンパスメディカルシステムズ株式会社の特許一覧

特許7559284ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法
<>
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図1
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図2
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図3
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図4
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図5
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図6
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図7
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図8
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図9
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図10
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図11
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図12
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図13
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図14
  • 特許-ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】ニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法
(51)【国際特許分類】
   G06N 3/09 20230101AFI20240924BHJP
【FI】
G06N3/09
【請求項の数】 20
(21)【出願番号】P 2024500822
(86)(22)【出願日】2022-02-17
(86)【国際出願番号】 JP2022006424
(87)【国際公開番号】W WO2023157187
(87)【国際公開日】2023-08-24
【審査請求日】2024-02-14
(73)【特許権者】
【識別番号】304050923
【氏名又は名称】オリンパスメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】110002907
【氏名又は名称】弁理士法人イトーシン国際特許事務所
(72)【発明者】
【氏名】安藤 淳
(72)【発明者】
【氏名】竹内 裕貴
【審査官】今城 朋彬
(56)【参考文献】
【文献】特開2020-052475(JP,A)
【文献】Binary Classification with a third 'uncertain' class label,Cross Validated [online],2021年11月11日,all 3 pages,https://stats.stackexchange.com/questions/550633/binary-classification-with-a-third-uncertain-class-label
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-20/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
ハードウェアを備えたプロセッサを含み、前記プロセッサは、
複数の訓練データをニューラルネットワークに入力した結果である複数の出力データに対して
前記訓練データに紐づく複数の正解情報対比することで、前記出力データごとの損失値を算出し、
前記出力データのうち前記損失値が所定基準に当てはまる該当出力データおよび前記所定基準に当てはまらない非該当出力データを選定し、
前記該当出力データと対比した前記正解情報を加工した加工正解情報を作成し、
前記該当出力データと前記加工正解情報とを対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新するか、または
前記該当出力データに紐づく前記訓練データを加工した加工訓練データを作成し、
前記加工訓練データを前記ニューラルネットワークに入力することで、前記加工訓練データを分類した結果である加工出力データを出力させて、前記該当出力データに紐づく前記正解情報と対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新するニューラルネットワーク更新装置。
【請求項2】
前記ニューラルネットワークの重み係数を変更することで前記ニューラルネットワークを更新する請求項1に記載のニューラルネットワーク更新装置。
【請求項3】
前記加工後損失値に加えて前記非該当出力データに紐づく損失値を用いて前記ニューラルネットワークを更新する請求項1に記載のニューラルネットワーク更新装置。
【請求項4】
前記該当出力データと対比した前記正解情報に認識不適のカテゴリを付与することで前記加工正解情報を作成する請求項1に記載のニューラルネットワーク更新装置。
【請求項5】
前記該当出力データに紐づく前記訓練データに画像処理を加えることで前記加工訓練データを作成する請求項1に記載のニューラルネットワーク更新装置。
【請求項6】
前記画像処理は画像の解像度を下げる処理である請求項5に記載のニューラルネットワーク更新装置。
【請求項7】
前記所定基準は、損失値を大きいものから順に上位所定数内のものを前記該当出力データとする請求項1に記載のニューラルネットワーク更新装置。
【請求項8】
前記所定基準は、損失値を小さいものから順に上位所定数内のものを前記非該当出力データとする請求項1に記載のニューラルネットワーク更新装置。
【請求項9】
前記所定基準は、損失値が所定数以上のものを前記該当出力データとする請求項1に記載のニューラルネットワーク更新装置。
【請求項10】
前記複数の訓練データは、内視鏡が撮像した画像である請求項1に記載のニューラルネットワーク更新装置。
【請求項11】
ニューラルネットワーク更新装置に、
複数の訓練データをニューラルネットワークに入力した結果である複数の出力データに対して
前記訓練データに紐づく複数の正解情報対比することで、前記出力データごとの損失値を算出させ、
前記出力データのうち前記損失値が所定基準に当てはまる該当出力データおよび前記所定基準に当てはまらない非該当出力データを選定させ、
前記該当出力データと対比した前記正解情報を加工した加工正解情報を作成させて、前記該当出力データと前記加工正解情報とを対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新するか、または
前記該当出力データに紐づく前記訓練データを加工した加工訓練データを作成させて、前記加工訓練データを前記ニューラルネットワークに入力することで、前記加工訓練データを分類した結果である加工出力データを出力させて、前記該当出力データに紐づく前記正解情報と対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新するニューラルネットワーク更新プログラム。
【請求項12】
前記ニューラルネットワークの重み係数を変更することで前記ニューラルネットワークを更新する請求項11に記載のニューラルネットワーク更新プログラム。
【請求項13】
前記加工後損失値に加えて前記非該当出力データに紐づく損失値を用いて前記ニューラルネットワークを更新する請求項11に記載のニューラルネットワーク更新プログラム。
【請求項14】
前記該当出力データと対比した前記正解情報に認識不適のカテゴリを付与することで前記加工正解情報を作成する請求項11に記載のニューラルネットワーク更新プログラム。
【請求項15】
前記複数の訓練データは、内視鏡が撮像した画像である請求項11に記載のニューラルネットワーク更新プログラム。
【請求項16】
教師データ取得部、ニューラルネットワーク適用部、および教師データ修正部を含むニューラルネットワーク更新装置によるニューラルネットワーク更新方法であり、
前記教師データ取得部が複数の訓練データと前記訓練データに紐づく複数の正解情報からなる教師データを取得し、
前記ニューラルネットワーク適用部が、複数の訓練データをニューラルネットワークに入力することで、前記訓練データを分類した結果であり、前記訓練データそれぞれに紐づく出力データを出力させ、
前記ニューラルネットワーク適用部が、前記訓練データに紐づく複数の正解情報および前記出力データを対比することで、前記出力データごとの損失値を算出し、
前記ニューラルネットワーク適用部が、前記出力データのうち前記損失値が所定基準に当てはまる該当出力データおよび前記所定基準に当てはまらない非該当出力データを選定し、
前記教師データ修正部が、前記該当出力データと対比した前記正解情報を加工した加工正解情報を作成し、前記ニューラルネットワーク適用部が、前記該当出力データと前記加工正解情報とを対比することで加工後損失値を出力させ、前記ニューラルネットワーク適用部が、前記加工後損失値を用いて前記ニューラルネットワークを更新するか、または
前記教師データ修正部が、前記該当出力データに紐づく前記訓練データを加工した加工訓練データを作成し、前記ニューラルネットワーク適用部が、前記加工訓練データを前記ニューラルネットワークに入力することで、前記加工訓練データを分類した結果である加工出力データを出力させて、前記該当出力データに紐づく前記正解情報と対比することで加工後損失値を出力させ、前記ニューラルネットワーク適用部が、前記加工後損失値を用いて前記ニューラルネットワークを更新するニューラルネットワーク更新方法。
【請求項17】
前記ニューラルネットワークの重み係数を変更することで前記ニューラルネットワークを更新する請求項16に記載のニューラルネットワーク更新方法。
【請求項18】
前記加工後損失値に加えて前記非該当出力データに紐づく損失値を用いて前記ニューラルネットワークを更新する請求項16に記載のニューラルネットワーク更新方法。
【請求項19】
前記該当出力データと対比した前記正解情報に認識不適のカテゴリを付与することで前記加工正解情報を作成する請求項16に記載のニューラルネットワーク更新方法。
【請求項20】
前記複数の訓練データは、内視鏡が撮像した画像である請求項16に記載のニューラルネットワーク更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AIによる判定を行うには不適切な画像を含む教師データを用いて学習を行うニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法に関する。
【背景技術】
【0002】
近年、人間が目視で行っていた判定を、画像データをもとにAI(人工知能)を活用して支援する技術が各分野で発達している。
【0003】
上記AIは訓練データを入力すると、その訓練データに対応する判定結果を出力する関数を構築することで実現される。関数としてニューラルネットワークがよく用いられる。多層のニューラルネットワークを用いたAIの学習技術はディープラーニング(Deep Learning)と呼ばれる。ディープラーニングでは、まず、訓練データと、対応する正解情報の組である、大量の教師データを用意する。正解情報はアノテーションによって手動で作成する。ニューラルネットワークは多数の積和演算によって構成されており、乗数は重みと呼ばれる。教師データに含まれる訓練データをニューラルネットワークに入力したときの出力が、対応する正解情報に近づくように重みを調整することで「学習」を行う。学習済みのニューラルネットワークである推論モデルは、未知の入力に対する解を適切に導く「推論」を行えるようになる。
【0004】
ところで、体内の病変部を判定する推論モデルの作成には、教師データの元となる画像として、内視鏡検査画像を採用することができる。
【0005】
しかしながら、内視鏡検査では内視鏡を操作しながら観察を行うため、診断過程を録画した動画にはボケブレ画像または光量不足の暗い画像等の診断に不適切な画像が含まれている。このような不適切画像が含まれる教師データを用いて学習を行うと、作成された推論モデルの推論性能が低下してしまう。そこで、特許文献1においては、学習前に学習データのクレンジングを行う方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2020ー38514号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、通常、教師データは大量に用意されるため事前にクレンジングして不適切画像を抜き出す作業を行う事は手間であった。
【0008】
本発明は、クレンジングの手間を軽減することができるニューラルネットワーク更新装置、ニューラルネットワーク更新プログラム及びニューラルネットワーク更新方法を提供することを目的とする。
【発明の開示】
【課題を解決するための手段】
【0009】
本発明の一態様によるニューラルネットワーク更新装置は、ハードウェアを備えたプロセッサを含み、前記プロセッサは、複数の訓練データをニューラルネットワークに入力した結果である複数の出力データに対して、前記訓練データに紐づく複数の正解情報対比することで、前記出力データごとの損失値を算出し、前記出力データのうち前記損失値が所定基準に当てはまる該当出力データおよび前記所定基準に当てはまらない非該当出力データを選定し、前記該当出力データと対比した前記正解情報を加工した加工正解情報を作成し、前記該当出力データと前記加工正解情報とを対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新するか、または前記該当出力データに紐づく前記訓練データを加工した加工訓練データを作成し、前記加工訓練データを前記ニューラルネットワークに入力することで、前記加工訓練データを分類した結果である加工出力データを出力させて、前記該当出力データに紐づく前記正解情報と対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新する。
【0010】
本発明の一態様によるニューラルネットワーク更新プログラムは、ニューラルネットワーク更新装置に、複数の訓練データをニューラルネットワークに入力した結果である複数の出力データに対して、前記訓練データに紐づく複数の正解情報対比することで、前記出力データごとの損失値を算出させ、前記出力データのうち前記損失値が所定基準に当てはまる該当出力データおよび前記所定基準に当てはまらない非該当出力データを選定させ、前記該当出力データと対比した前記正解情報を加工した加工正解情報を作成させて、前記該当出力データと前記加工正解情報とを対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新するか、または前記該当出力データに紐づく前記訓練データを加工した加工訓練データを作成させて、前記加工訓練データを前記ニューラルネットワークに入力することで、前記加工訓練データを分類した結果である加工出力データを出力させて、前記該当出力データに紐づく前記正解情報と対比することで加工後損失値を出力させ、前記加工後損失値を用いて前記ニューラルネットワークを更新する。
【0011】
本発明の一態様によるニューラルネットワーク更新方法は、教師データ取得部、ニューラルネットワーク適用部、および教師データ修正部を含むニューラルネットワーク更新装置によるニューラルネットワーク更新方法であり、前記教師データ取得部が複数の訓練データと前記訓練データに紐づく複数の正解情報からなる教師データを取得し、前記ニューラルネットワーク適用部が、複数の訓練データをニューラルネットワークに入力することで、前記訓練データを分類した結果であり、前記訓練データそれぞれに紐づく出力データを出力させ、前記ニューラルネットワーク適用部が、前記訓練データに紐づく複数の正解情報および前記出力データを対比することで、前記出力データごとの損失値を算出し、前記ニューラルネットワーク適用部が、前記出力データのうち前記損失値が所定基準に当てはまる該当出力データおよび前記所定基準に当てはまらない非該当出力データを選定し、前記教師データ修正部が、前記該当出力データと対比した前記正解情報を加工した加工正解情報を作成し、前記ニューラルネットワーク適用部が、前記該当出力データと前記加工正解情報と対比することで加工後損失値を出力させ、前記ニューラルネットワーク適用部が、前記加工後損失値を用いて前記ニューラルネットワークを更新するか、または前記教師データ修正部が、前記該当出力データに紐づく前記訓練データを加工した加工訓練データを作成し、前記ニューラルネットワーク適用部が、前記加工訓練データを前記ニューラルネットワークに入力することで、前記加工訓練データを分類した結果である加工出力データを出力させて、前記該当出力データに紐づく前記正解情報と対比することで加工後損失値を出力させ、前記ニューラルネットワーク適用部が、前記加工後損失値を用いて前記ニューラルネットワークを更新する。
【発明の効果】
【0012】
本発明によれば、事前のクレンジングを行わず、不適切画像を含んだままの教師データを学習に用いても、推論精度を向上させることができるという効果を有する。
【図面の簡単な説明】
【0013】
図1】本発明の第1の実施形態に係るニューラルネットワーク更新装置を示すブロック図である。
図2】ニューラルネットワーク更新装置の比較例において、不適切画像を含む教師データを用いた場合に、学習によって得られる推論モデルの推論精度が低下することを説明するための説明図である。
図3】第1の実施形態の動作を説明するためのフローチャートである。
図4】第1の実施形態の動作を説明するためのフローチャートである。
図5】第1の実施形態の動作を説明するための説明図である。
図6】第1の実施形態の動作を説明するための説明図である。
図7】第1の実施形態の動作を説明するための説明図である。
図8】第1の実施形態の動作を説明するための説明図である。
図9図2と同様の例について、第1の実施形態の効果を説明するための説明図である。
図10】本発明の第2の実施形態を示すブロック図である。
図11】第2の実施形態の動作を説明するためのフローチャートである。
図12】第2の実施形態の動作を説明するための説明図である。
図13】第2の実施形態の動作を説明するための説明図である。
図14】第2の実施形態の動作を説明するための説明図である。
図15】第2の実施形態の動作を説明するための説明図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【0015】
(第1の実施形態)
図1は本発明の第1の実施形態に係るニューラルネットワーク更新装置を示すブロック図である。本実施形態においては、ニューラルネットワークの学習に際して、学習損失を算出し、学習損失が所定の閾値よりも高い教師データについては、正解情報を認識不適切(以下、unknownという)に変更することにより、教師データに不適切画像が含まれる場合でも、学習により得られる推論モデルの推論精度を向上させるものである。なお、本実施形態は、教師データとして内視鏡検査画像を用い、病変部認識処理を行うための推論モデルを作成する場合の例について説明するが、他の各種分類を行う推論モデルの作成にも適用できる。
【0016】
図2はニューラルネットワーク更新装置の比較例を説明するための説明図である。先ず、図2を参照して、比較例において、不適切画像を含む教師データを用いた場合に、学習によって得られる推論モデルの推論精度が低下することを説明する。
【0017】
教師データは、学習のための訓練データと、各訓練データに対してアノテーションされた正解情報とを含む。訓練データとしては、例えば、内視鏡検査において病変部を撮像して得られた多数の画像を採用する。図2の例では各訓練データ(画像P21~P23)は、それぞれ画像中の病変部の種類によって、正解情報として「膵癌」又は「膵炎」が付加されている。なお、画像P21,P23中の画像部分P21a,P23aは膵癌である。また、画像P22中の画像部分P22cは膵炎であるが、画像部分P22cには、ボケブレが生じている。従来であれば画像P22は学習前にクレンジングにより取り除いて、学習用には用いられないようにされていた画像である。なお、不適切画像としては、例えば、ピントのずれもしくは手振れにより生じたボケブレ画像、光量不足の暗い画像、または画像中の病変部のサイズが比較的小さい画像等がある。
【0018】
これらの画像P21~P23は、ニューラルネットワーク2に入力されて学習される。学習の過程において、ニューラルネットワーク2からは分類毎の確率値(以下、スコアという)を出力データとする分類出力が出力される。この分類出力と正解情報との誤差が学習損失として求められ、学習損失を小さくするように、ニューラルネットワーク2のパラメータが更新される。このような学習によって得られたニューラルネットワーク2(推論モデル)に、未知の画像を入力することにより、この入力画像が「膵癌」であるか「膵炎」であるかの分類出力が得られる。
【0019】
なお、分類出力数を増やすことで、ニューラルネットワーク2からは、未知の入力画像が、教師データ作成時のアノテーションによる分類のいずれの分類にも属さないことを示す「unknown」を示す分類出力が出力されるようにもできる。
【0020】
ところで、訓練データ中に画像P22のようにボケブレ等の不適切画像が含まれることがある。このような不適切画像であっても、上述したように、アノテーション時に「膵癌」又は「膵炎」等の何らかの正解情報が付与されることがある。つまり、訓練データの画像には、不適切画像であっても正解情報としてunknownが設定されていないことがある。
【0021】
正解情報として「膵癌」が付与されているボケブレ等の不適切画像を入力したときに出力される「膵癌」の分類出力は低い確率値になりやすく学習損失は大きくなるが、その場合に無理に学習損失を小さくするように、すなわち不適切画像にもかかわらず「膵癌」と判定させるようにニューラルネットワークを更新するため、このような学習を繰り返した結果に構築される、ニューラルネットワーク2を用いた推論の推論精度が低下してしまう。
【0022】
そこで、本実施形態においては、学習の過程において、ボケ画像等の訓練データの正解情報をunknownに加工することにより、ボケ画像等の訓練データを教師データから除外したことと等価の効果を得るようになっている。
【0023】
図1において、ニューラルネットワーク更新装置は、データメモリ1、ニューラルネットワーク2、学習損失計算部3、正解情報加工部4、学習損失再計算部5、ニューラルネットワーク制御回路(以下NN制御回路)10により構成される。なお、学習損失計算部3、正解情報加工部4、学習損失再計算部5及びNN制御回路10の全て又は各々は、CPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)等を用いた1つ以上のプロセッサによって構成されていてもよい。この1つ以上のプロセッサは、図示しないメモリに記憶されたプログラムに従って動作して各部を制御するものであってもよいし、ハードウェアの電子回路で機能の一部又は全部を実現するものであってもよい。また、ニューラルネットワーク2をハードウェアによって構成してもよく、ニューラルネットワーク2の機能をプログラムによって実現してもよい。
【0024】
データメモリ1は、所定の記憶媒体により構成され、複数の訓練データ及び正解情報を含む教師データを記憶する。上述したように、全ての訓練データには、unknown以外の分類を示す正解情報が割り当てられている。データメモリ1は、NN制御回路10に制御されて、訓練データをニューラルネットワーク2に出力すると共に、正解情報を学習損失計算部3及び正解情報加工部4に出力する。
【0025】
ニューラルネットワーク2は、丸印にて示す複数のノードから成る入力層、中間層(隠れ層)、及び出力層から構成される。各ノードは前後の層のノードと連結しており、連結の1つ1つには重み係数と呼ばれるパラメータが与えられる。学習は、後述する学習損失を最小にするようにパラメータを更新する処理である。ニューラルネットワーク2としては、例えば、コンボリューショナル(畳み込み、Convolutional)ニューラルネットワーク(CNN)を採用してもよい。
【0026】
NN制御回路10は、入力制御部11、初期化部12、NN適用部13及び更新部14により構成される。教師データ取得部としての入力制御部11は、訓練データ及び正解情報を含む教師データを取得してデータメモリ1に格納すると共に、データメモリ1の訓練データ及び正解情報の出力を制御する。初期化部12は、ニューラルネットワーク2のパラメータを初期化する。NN適用部13は、データメモリ1から読みした訓練データをニューラルネットワーク2に適用して、ニューラルネットワーク2から分類出力を出力させる。更新部14は、学習損失に基づいて、ニューラルネットワーク2のパラメータを更新する。
【0027】
ニューラルネットワーク2は、NN制御回路10に制御されて、入力された画像毎に、各画像がいずれの分類の確率が高いかを示す確率値(スコア)を分類出力として出力する。この分類出力は、学習損失計算部3及び学習損失再計算部5に与えられる。学習損失計算部3は、各分類出力に対応する各画像にそれぞれ割り当てられた正解情報がデータメモリ1から与えられており、各分類出力と各正解情報との誤差を学習損失として求める。上述した図2の比較例では、この学習損失に基づいてニューラルネットワーク2のパラメータを更新している。
【0028】
これに対し、本実施形態においては、学習損失計算部3からの学習損失は、正解情報加工部4(教師データ修正部とも記載する)に供給される。正解情報加工部4は、訓練データに紐づく複数の正解情報と出力データを対比することで、出力データごとの損失値(学習損失)を算出する。そして、正解情報加工部4は、出力データのうち損失値が所定基準に当てはまる該当出力データと、前記所定基準に当てはまらない非該当出力データを選定する。
損失値が所定基準に当てはまるか否かの判断方法としては、例えば、所定の閾値と学習損失とを対比する方法がある。この場合、学習損失が所定の閾値を超えた場合に該当出力データとし、閾値以下の場合に非該当出力データとする。
損失値が所定基準に当てはまるか否かの判断方法としては、例えば、出力データのうち損失値が大きいものから順に所定数内のものを該当出力データとして選定する方法もある。
損失値が所定基準に当てはまるか否かの判断方法としては、例えば、出力データのうち損失値が小さいものから順に所定数内のものを非該当出力データとして選定する方法もある。
【0029】
正解情報加工部4は、損失値が所定基準に当てはまる該当出力データと対比した正解情報を加工する。本実施形態の場合は、正解情報加工部4は、各学習損失に対応する正解情報がデータメモリ1から与えられており、所定の閾値を超えた学習損失、即ち、分類出力と正解情報との誤差が比較的大きい学習損失については、正解情報をunknownに加工する。正解情報加工部4は、加工した正解情報(加工正解情報)を学習損失再計算部5に出力する。
【0030】
学習損失再計算部5は、ニューラルネットワーク2から出力された分類出力毎に分類出力と加工正解情報との誤差を学習損失(以下、加工後損失値ともいう)として求め、求めた分類出力毎の学習損失をNN制御回路10に供給する。なお、加工正解情報を作成した後、該当出力データに紐づく訓練データを前記ニューラルネットワークに入力することで、訓練データを分類した結果である出力データを出力させて、加工正解情報と対比することで加工後損失値を得るようになっていてもよい。
【0031】
NN制御回路10の更新部14は、学習損失再計算部5が求めた学習損失を用いて、ニューラルネットワーク2のパラメータを更新する。例えば、更新部14は、既存のSGD(確率的勾配降下法)のアルゴリズムに従って、パラメータの更新を行ってもよい。このSGDにおける更新式は公知であり、学習損失の値をSGDの更新式に代入することで、ニューラルネットワーク2の各パラメータが算出される。
【0032】
ニューラルネットワーク2は、NN制御回路10に制御されて、更新されたパラメータにより入力画像を分類する。以後、同様の動作が繰り返されて、学習が行われる。
【0033】
次に、このように構成された実施形態の動作について図3から図9を参照して説明する。図3及び図4は第1の実施形態の動作を説明するためのフローチャートである。図5から図8は第1の実施形態の動作を説明するための説明図である。また、図9図2と同様の例について、第1の実施形態の効果を説明するための説明図である。
【0034】
図3のS1において、NN制御回路10の初期化部12は、ニューラルネットワーク2のパラメータを初期化する。ただし、初期化部12は必須の構成ではなく、パラメータの初期化は必須の工程ではない。図3では開始後NNの初期化を行っているが本発明はこれに限定されず、例えば、他の学習方法で育てたNNに対して初期化せず本発明を適用することも可能である。NN制御回路10の入力制御部11は、データメモリ1に記憶されている訓練データである画像をニューラルネットワーク2に入力する(S2)。また、入力制御部11は、データメモリ1に記憶されている正解情報を学習損失計算部3及び正解情報加工部4に入力する(S3)。なお、ニューラルネットワークにおいては、多数の画像のうち所定数単位(以下、ミニバッチという)の画像を抽出し、抽出したミニバッチ単位の画像について学習を実施する。このミニバッチの学習をデータ件数分実施して1単位(以下、エポックという)の学習が行われる。例えば、学習において実施されるエポック数は予め決められていることがある。
【0035】
図5の左端は訓練データである4つの画像P1~P4からなるミニバッチを示している。このミニバッチ中の画像P1は、画像P1中に膵癌の画像部分P1aを含む。また、画像P2及び画像P3は、それぞれの画像中に膵炎の画像部分P2b,P3bをそれぞれ含む。また、画像P4は、膵癌又は膵炎のボケた画像部分P4αを含む不適切画像である。なお、画像P1~P4を区別する必要がない場合には代表して画像Pということもある。
【0036】
画像P1には、画像部分P1aが膵癌の画像部分であることを示す正解情報が付与されている。同様に、画像P2には、画像部分P2bが膵炎の画像部分であることを示す正解情報が付与され、画像P3には、画像部分P3bが膵炎の画像部分であることを示す正解情報が付与されている。また、画像P4には、画像部分P4αが膵癌又は膵炎の画像部分であることを示す正解情報が付与されている。
【0037】
図5の下側には正解情報の一例を示してある。図5は画像P1~P4についてそれぞれ設定された正解情報AP1~AP4を示している。なお、正解情報AP1~AP4を区別する必要がない場合には代表して正解情報APということもある。正解情報APは、画像Pを5×4の領域に分割し、各領域が膵癌、膵炎又はunknownのいずれに該当するかの確率 を示している。
【0038】
例えば、正解情報AP1は、膵癌である確率は、画像P1の画像部分P1aに対応する領域が1(太枠部)で、他の領域は0である。また、正解情報AP1は、膵炎であるスコア及びunknownである確率のいずれも、全領域について0である。また、正解情報AP2は、膵炎である確率が、画像P2の画像部分P2bに対応する領域で1(太枠部)であり、他の領域は0である。また、正解情報AP2は、膵癌である確率及びunknownである確率のいずれも、全領域について0である。また、正解情報AP3は、膵炎である確率が、画像P3の画像部分P3bに対応する領域で1(太枠部)であり、他の領域は0である。また、正解情報AP3は、膵癌である確率及びunknownである確率のいずれも、全領域について0である。また、また、正解情報AP4は、膵癌である確率が、画像P4の画像部分P4αに対応する領域が1(太枠部)であり、他の領域は0である。また、正解情報AP4は、膵炎である確率及びunknownである確率のいずれも、全領域について0である。
【0039】
このように、図5の例では、unknownとする正解情報は含まれておらず、画像P4の画像部分P4αについては、unknownとする正解情報が好ましいと考えられるが、この画像部分P4αについても、膵癌とする正解情報が設定されている。
【0040】
NN適用部13は、このようなミニバッチをニューラルネットワーク2に適用する(S4)。これにより、ニューラルネットワーク2は図5の上段中央に示す分類出力を出力する。図5の例は、画像Pの5×4の領域毎に、膵癌であるスコア(膵癌スコア)、膵炎であるスコア(膵炎スコア)及びunknownであるスコア(unknownスコア)を示している。図5の出力C1~C4は、それぞれ画像P1~P4についてのニューラルネットワーク2の分類出力を示している。
【0041】
図5の出力C1に示すように、画像P1については、画像部分P1aの領域についての膵癌のスコアが最も高い0.9(太枠部)であることを示している。なお、画像P1の他の領域についてのスコアは比較的小さく、0.9の値は比較的突出した値である。また、出力C2に示すように、画像P2については、画像部分P2bの領域についての膵炎のスコアが最も高い0.8(太枠部)であることを示している。また、画像P2の他の領域についてのスコアは比較的小さく、0.8の値は比較的突出した値である。また、出力C3に示すように、画像P3については、画像部分P3bの領域についての膵炎のスコアが最も高い0.8(太枠部)であることを示している。また、画像P3の他の領域についてのスコアは比較的小さく、0.8の値は比較的突出した値である。
【0042】
これに対し、出力C4に示すように、画像P4の画像部分P4αの領域については、膵癌のスコアが0.1(太枠部)、膵炎のスコアが0.3(太枠部)、unknownのスコアが0.3(太枠部)である。即ち、画像P4については、ボケが生じている不適切画像であることから、ニューラルネットワーク2においては正解情報に示された膵癌とする分類が困難であったことを示す。
【0043】
ニューラルネットワーク2の分類出力は学習損失計算部3に与えられて学習損失が算出される(S5)。図5の右端は、各画像P1~P4に対する学習損失の値を示している。図5に示すように、画像P1~P3については、膵癌又は膵炎のスコアが比較的高く、学習損失は0.1又は0.2であり比較的小さい。これに対し、画像P4の画像部分P4αは、ボケ画像であるにも拘わらず、正解情報が膵癌となっていることから、膵癌のスコアが比較的低く、学習損失は比較的大きい(0.9)。学習損失計算部3は、算出した学習損失を正解情報加工部4に出力する。
【0044】
本実施形態においては、正解情報加工部4は、S6において、学習損失が閾値を超えたか否かを判定する。例えば、閾値が0.8であるものとすると、図5の例では、画像P4に対する学習損失が閾値を超えている。正解情報加工部4は、学習損失が閾値を超えたものと判定すると(図3のS6のYES判定)、画像Pについての正解情報をunknownに加工する(S7)。図6はこの加工を示しており、画像P4についての正解情報AP4については、画像部分P4αの確率が、変更前は膵癌正解が1(太枠部)であったのに対し、変更後は、膵癌正解は0(太枠部)で、unknownが1(太枠部)となっている。なお、学習損失計算部3において求めた学習損失が所定の閾値を超えていない場合(S6のNO判定)には、処理はS9に移行する。
【0045】
正解情報加工部4は加工後の加工正解情報を学習損失再計算部5に出力する。学習損失再計算部5には、ニューラルネットワーク2からの分類出力も与えられており、学習損失再計算部5は、加工正解情報を用いてニューラルネットワーク2からの分類出力の学習損失を再計算する(S8)。
【0046】
図7はこの学習損失再計算によって得られる学習損失を示している。図7の例では、画像P4の画像部分P4αは、正解情報がunknownに変更されたことから、学習損失は比較的小さい値(0.7)に変化する。学習損失再計算部5は、算出した学習損失をニューラルネットワーク2に出力する。図8に示すように、ニューラルネットワーク2の更新部14は、例えばSGD法により、入力された学習損失に基づいてニューラルネットワーク2のパラメータを更新する(S9)。
【0047】
次に、NN適用部13は、学習の終了条件を満たすか否かを判定する(S10)。上述したように、ミニバッチの訓練データを抽出して学習を行う処理をデータ件数分繰り返し、規定されたエポック数に到達するまで学習が行われる。NN適用部13は、規定のエポック数に到達したか否かを判断し、到達していない場合(S10のNO判定)には、処理をS2に戻してS2~S10を繰り返す。また、NN適用部13は、規定のエポック数に到達した場合(S10のYES判定)には、処理を終了する。
【0048】
学習が終了すると、テストが実施される。図4はこのテスト時のフローを示している。図4のS11ではテスト画像が入力される。テスト画像は、未知の画像である。NN適用部13は、データメモリ1に記憶されたテスト画像をニューラルネットワーク2に適用する(S12)。この結果、ニューラルネットワーク2からは認識結果である分類出力が得られる(S13)。図4のテストを実施し、分類出力として妥当の出力が得られた場合には、テストは成功となる。逆に、分類出力として妥当の出力が得られなかった場合には、テストは失敗となる。この場合には、例えば、教師データを変更して、再度学習が行われる。
【0049】
図9図4のテスト成功時において、図2と同様の訓練データP21~P23を用いて推論を行った場合に得られる分類出力の例を示している。 本実施形態では、図9に示すように、P22については、unknownの分類出力が得られる。
【0050】
このように本実施形態においては、ニューラルネットワークの学習に際して、学習損失を算出し、学習損失が所定の閾値よりも高い教師データについては、正解情報をunknownに変更することにより、教師データに不適切画像が含まれる場合でも、推論モデルの推論精度を向上させることができる。従って、教師データの作成時に、不適切画像を除去する作業を行う必要がなく、ニューラルネットワークの推論精度を低下させることなく、アノテーション作業を効率化することが可能である。
【0051】
(第2の実施形態)
図10は本発明の第2の実施形態を示すブロック図である。図10において図1と同一の構成要素には同一符号を付して説明を省略する。
【0052】
第1の実施形態においては、学習損失が所定基準に当てはまる画像に対応する正解情報を加工して、不適切画像がunknownに分類されるように学習を行うことで、ニューラルネットワークの推論精度を向上させた。これに対し、本実施形態は、学習損失が所定基準に当てはまる画像については、画像が確実に不適切画像に分類されるように画像を加工することで、ニューラルネットワークの推論精度を向上させるものである。以下、所定基準として閾値を用いる場合を例示するが本実施形態もこれに限定されない。
【0053】
第2の実施形態は、学習損失再計算部5を省略すると共に、正解情報加工部4に代えて画像加工部9を採用した点が図1のニューラルネットワーク更新装置と異なる。教師データ修正部としての画像加工部9は、学習損失計算部3からの学習損失(損失値)を所定の閾値と比較することにより、学習損失が所定の閾値を超えたか否かを判定する。即ち、画像加工部9は、出力データのうち損失値が所定基準に当てはまる、即ち、学習損失が所定の閾値を超えた該当出力データと、前記所定基準に当てはまらない非該当出力データ(学習損失が所定の閾値以下)を選定する。なお、画像加工部9は、出力データのうち損失値が大きいものから順に所定数内のものを該当出力データとして選定してもよい。
【0054】
正解情報加工部4は、所定の閾値を超えた学習損失、即ち、損失値が所定基準に当てはまる該当出力データと対比した訓練データを加工する。具体的には、画像加工部9は、各学習損失に対応する画像がデータメモリ1から与えられており、所定の閾値を超えた学習損失、即ち、分類出力と正解情報との誤差が比較的大きい学習損失については、当該学習損失に対応する画像をunknownと分類されやすい画像に加工する。例えば、画像加工部9は、所定の閾値を超えた学習損失に対応する画像についてはボケ加工を施してもよい。また、例えば、画像加工部9は、画像の輝度を低下させる画像加工、画像の解像度を低下させる画像加工、画像中の病変部のサイズを食傷する画像加工等を実施するようにしてもよい。画像加工部9の画像加工によって得られた加工画像情報(加工訓練データ)は、データメモリ1に与えられて、元の画像に代えて保存される。
【0055】
次に、このように構成された実施形態の動作について図11から図15を参照して説明する。図11は第2の実施形態の動作を説明するためのフローチャートである。図11において図3と同一の手順には同一符号を付して説明を省略する。図12から図15は第2の実施形態の動作を説明するための説明図である。
【0056】
図11のS1~S5の処理は図5と同様である。図12図5と同様の表記方法によって学習処理を示すものであり、図12の左端は訓練データである4つの画像P1,P2,P3,およびP4aからなるミニバッチを示している。画像P1~P3は、図5の画像P1~P3と同一の画像である。画像P4aは、膵炎のボケた画像部分P4βを含む不適切画像である。なお、画像P1~P4aを区別する必要がない場合には代表して画像Pということもある。図12の下側には図5と同様の表記によって画像P1,P2,P3,およびP4aの正解情報AP1~AP4の一例を示してある。画像P1~P3についての正解情報AP1~AP3は、図5と同様である。本実施形態においては、画像P4aに対応する正解情報AP4は、画像P4aが不適切画像であることから、太枠部に示すように、ボケた画像部分P4βに対応する領域が予めunknownに設定されている。
【0057】
NN適用部13は、このようなミニバッチをニューラルネットワーク2に適用する(S4)。これにより、ニューラルネットワーク2は図12の上段中央に示す分類出力を出力する。図12の出力C1~C4は、それぞれ画像P1,P2,P3,およびP4aについてのニューラルネットワーク2の分類出力を示している。図12の出力C1~C3は、図5と同様のスコアである。
【0058】
画像P4aに対応する出力C4は、画像P4aの画像部分P4βの領域については、膵癌のスコアが0.2(太枠部)、膵炎のスコアが0.6(太枠部)、unknownのスコアが0.2(太枠部)である。即ち、画像P4aについては、ボケが生じている不適切画像であるが、ニューラルネットワーク2においては膵炎とする分類確率が比較的高くなってしまったことを示す。
【0059】
ニューラルネットワーク2の分類出力は学習損失計算部3に与えられて学習損失が算出される(S5)。図12の右端では、各画像P1,P2,P3,およびP4aに対する学習損失の値を示している。図12に示すように、画像P1~P3については、膵癌又は膵炎の確率が比較的高く、学習損失は0.1又は0.2であり比較的小さい。これに対し、画像P4aについての学習損失は比較的大きい(0.8)。
【0060】
このように、図12の例では、アノテーションの段階で予めunknownとする正解情報も含まれている。しかし、ボケた画像部分P4aは、元々膵炎のボケ画像であることから、膵炎のスコアが比較的大きく正解情報であるunknownとの誤差(学習損失)が比較的大きくなる。従って、このような学習損失に基づいてニューラルネットワーク2のパラメータを更新して学習を行うと、ニューラルネットワーク2の推論精度が低下することが考えられる。
【0061】
そこで、本実施形態においては、不適切画像については、確実にunknownに分類されるように、入力される画像を加工する。画像加工部9には、学習損失計算部3からの学習損失とデータメモリ1からの画像とが与えられる。学習損失計算部3は、S6において、学習損失が閾値を超えたか否かを判定する。例えば、閾値が0.7であるものとすると、図12の例では、画像P4aに対する学習損失が閾値を超えている。画像加工部9は、学習損失が閾値を超えたものと判定すると(図11のS6のYES判定)、画像P4aに対して、確実にunknownと判定されるような画像加工を施す(S27)。画像加工部9は、公知の各種画像処理によって、unknownと判定される画像加工を施すことが可能である。例えば、画像加工部9は、画像の各領域を平均化する平均化フィルタを用いて、より確実なボケ画像を生成してもよい。或いは、画像加工部9は、画像P4aの解像度や輝度を低下させる処理を行ってもよい。画像加工部9は、画像加工後の加工画像の情報を元の画像に代えてデータメモリ1に格納する(S28)。
【0062】
図13はこの画像加工によって得られたミニバッチを示している。図13はハッチングにより、画像P4aはボケ加工が施された画像P4abに変更され、膵炎の領域はよりボケた画像部分P4βbとなっていることを示している。なお、図13では、画像P4aの全域に画像加工を行った例を示しているが、画像部分P4βのみに画像加工を行ってもよい。ニューラルネットワーク2の更新部14は、例えばSGD法により、入力された学習損失に基づいてニューラルネットワーク2のパラメータを更新する(S9)。終了条件を満足していない場合(S10のNO判定)には、更新されたパラメータ及び変更されたミニバッチを用いて、ニューラルネットワーク2が適用される。
【0063】
図14図12と同様の表記方法によってこの場合に得られる分類出力(加工出力データ)を示している。図14の上段中央に示すように、太枠にて示す出力C4が前回の分類出力から変化し、画像P4abについてはunknownスコアが最も大きい値(0.8)となっている。これにより、画像P4abについての分類出力の学習損失(加工後損失値)は、十分に小さい値(0.2)となる。図15に示すように、更新部14は、このようにして得られた十分に小さい学習損失に基づいてニューラルネットワーク2のパラメータを更新することにより、学習の結果最終的に得られるニューラルネットワーク2は高い推論精度が得られる。
【0064】
(変形例1)
上述の各実施形態では病変部の種類を識別する場合を例に挙げたが本発明はこれに限定されない。本発明はニューラルネットワーク2に観察対象の臓器の種類を識別させるためのものであってもよいし、病変の進行度を識別させるものであってもよいし、病変の浸潤度を識別させるものであってもよいし、過去の処置の有無を識別させるものであってもよいし、血管領域を推測させるものであってもよいし、病変部のサイズを推測させるものであってもよい。
上述の過去の処置としては、例えばピロリ菌の除去を例に挙げる事ができる。
【0065】
(変形例2)
上述の各実施形態では膵癌と鑑定された画像情報および膵炎と鑑定された画像情報を全て合わせた上で損失値が所定基準に当てはまるか否かの判断を行っているが、本発明はこれに限定されない。
【0066】
例えば、出力データのうち損失値が大きいものから順に所定数内のものを該当出力データとして選定する場合、膵癌と鑑定された画像情報と、膵炎と鑑定された画像情報とをそれぞれに対して損失値が所定基準に当てはまるか否かの判断を行ってもよい。
【0067】
また、出力データのうち損失値が小さいものから順に所定数内のものを非該当出力データとして選定する場合、膵癌と鑑定された画像情報と、膵炎と鑑定された画像情報とをそれぞれに対して損失値が所定基準に当てはまるか否かの判断を行ってもよい。
【0068】
さらに変形例2は鑑定対象を変形例1と組わせても良い。例えば、咽頭と鑑定された画像情報、食道と鑑定された画像情報、および胃と鑑定された画像情報のそれぞれに対して損失値が小さいものから順に5枚分の画像情報を非該当出力データとして選定して残りを該当出力データとしてもよい。この様にすることで、咽頭、食道、および胃といった各カテゴリにおける画像情報量を均一にすることができ、分類性能の低下を抑える事ができるという利点がある。
【0069】
このように本実施形態においては、ニューラルネットワークの学習に際して、学習損失を算出し、学習損失が所定の閾値よりも高い教師データについては、当該学習損失に対応する画像を加工することにより、教師データに不適切画像が含まれる場合でも、推論モデルの推論精度を向上させることができる。従って、教師データの作成時に、不適切画像を除去する作業を行う必要がなく、ニューラルネットワークの推論精度を低下させることなく、アノテーション作業を効率化することが可能である。
【0070】
本発明は、上記各実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0071】
また、ここで説明した技術のうち、主にフローチャートで説明した制御や機能は、多くがプログラムにより設定可能であり、そのプログラムをコンピュータが読み取り実行することで上述した制御や機能を実現することができる。そのプログラムは、コンピュータプログラム製品として、フレキシブルディスク、CD-ROM等、不揮発性メモリ等の可搬媒体や、ハードディスク、揮発性メモリ等の記憶媒体に、その全体あるいは一部を記録又は記憶することができ、製品出荷時又は可搬媒体或いは通信回線を介して流通又は提供可能である。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールしたりすることで、容易に本実施の形態のニューラルネットワーク更新装置を実現することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15