(57)【特許請求の範囲】
【請求項１】
第１のクラス分類を行うタスクを機械学習によって学習させた学習済みの階層型ニューラルネットワークである第１のニューラルネットワークを利用して、前記第１のクラス分類のタスクに加え、前記第１のクラス分類と異なるクラスを含む第２のクラス分類のタスクを行う第２のニューラルネットワークを学習する機械学習方法であって、
前記第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加するステップと、
前記第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、前記新しい特徴量を接続することなく前記第１のニューラルネットワークの構造を維持し、かつ、前記新しい特徴量を算出する経路に関して、前記既存の特徴量と前記新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する前記第２のニューラルネットワークを生成するステップと、
前記第２のクラス分類に対応した正解ラベルが付された学習データのセットを用いて、前記第２のニューラルネットワークを学習させ、前記第２のニューラルネットワークに、前記第２のクラス分類を行う処理機能を獲得させるステップと、
を含む機械学習方法。
【請求項２】
階層型ニューラルネットワークである第１のニューラルネットワークに対して、第１のクラス分類に対応した正解ラベルが付された第１の学習データのセットを用いて第１の機械学習を行い、前記第１のニューラルネットワークに、前記第１のクラス分類を行う処理機能を獲得させるステップと、
前記第１のクラス分類を行う処理機能を獲得させた学習済みの前記第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加するステップと、
前記第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、前記新しい特徴量を接続することなく前記第１のニューラルネットワークの構造を維持し、かつ、前記新しい特徴量を算出する経路に関して、前記既存の特徴量と前記新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するステップと、
前記第２のニューラルネットワークに対して、前記第１のクラス分類と異なるクラスを含む第２のクラス分類に対応した正解ラベルが付された第２の学習データのセットを用いて第２の機械学習を行い、前記第２のニューラルネットワークに、前記第２のクラス分類を行う処理機能を獲得させるステップと、
を含む機械学習方法。
【請求項３】
前記第２のニューラルネットワークを学習させる際に、前記学習済みの前記第１のニューラルネットワークに存在する前記既存の特徴量を算出する経路のパラメータを不変とする請求項１又は２に記載の機械学習方法。
【請求項４】
前記第１のニューラルネットワークは、エンコーダとして機能するダウンサンプリングネットワークと、デコーダとして機能するアップサンプリングネットワークとを組み合わせたネットワーク構造を有し、
前記新しい特徴量は、前記ダウンサンプリングネットワークと前記アップサンプリングネットワークのうち、前記アップサンプリングネットワークに追加される請求項１から３のいずれか一項に記載の機械学習方法。
【請求項５】
前記第１のニューラルネットワークは、Ｕ−Ｎｅｔ構造を有する請求項４に記載の機械学習方法。
【請求項６】
請求項１から５のいずれか一項に記載の機械学習方法を実施して前記第２のニューラルネットワークを学習させることにより、前記第１のクラス分類と前記第２のクラス分類のタスクを行う処理機能を獲得させた学習済みモデル。
【請求項７】
請求項１から５のいずれか一項に記載の機械学習方法を実施して前記第２のニューラルネットワークを学習させることにより、前記第１のクラス分類と前記第２のクラス分類のタスクを行う処理機能を獲得させた学習済みモデルを備えた判別装置。
【請求項８】
請求項１から５のいずれか一項に記載の機械学習方法を実施して前記第２のニューラルネットワークを学習させることにより、前記第１のクラス分類と前記第２のクラス分類のタスクを行う処理機能を獲得させた学習済みモデルを用いて、コンピュータに前記第１のクラス分類と前記第２のクラス分類の処理を実行させるプログラム。
【請求項９】
請求項１から５のいずれか一項に記載の機械学習方法をコンピュータに実行させるプログラム。
【請求項１０】
非一時的かつコンピュータ読取可能な記憶媒体であって、前記記憶媒体に格納された指令がコンピュータによって読み取られた場合に請求項８に記載のプログラムをコンピュータに実行させる記憶媒体。
【請求項１１】
非一時的かつコンピュータ読取可能な記憶媒体であって、前記記憶媒体に格納された指令がコンピュータによって読み取られた場合に請求項９に記載のプログラムをコンピュータに実行させる記憶媒体。
【請求項１２】
第１のクラス分類を行うタスクを機械学習によって学習させた学習済みの階層型ニューラルネットワークである第１のニューラルネットワークを利用して、前記第１のクラス分類のタスクに加え、前記第１のクラス分類と異なるクラスを含む第２のクラス分類のタスクを行う第２のニューラルネットワークを学習する機械学習装置であって、
前記第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加する特徴量追加処理部と、
前記第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、前記新しい特徴量を接続することなく前記第１のニューラルネットワークの構造を維持し、かつ、前記新しい特徴量を算出する経路に関して、前記既存の特徴量と前記新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する前記第２のニューラルネットワークを生成するネットワーク生成部と、
前記第２のクラス分類に対応した正解ラベルが付された学習データのセットを用いて、前記第２のニューラルネットワークを学習させ、前記第２のニューラルネットワークに、前記第２のクラス分類を行う処理機能を獲得させる学習処理部と、
を備える機械学習装置。
【請求項１３】
階層型ニューラルネットワークである第１のニューラルネットワークに対して、第１のクラス分類に対応した正解ラベルが付された第１の学習データのセットを用いて第１の機械学習を行い、前記第１のニューラルネットワークに、前記第１のクラス分類を行う処理機能を獲得させる第１の学習処理部と、
前記第１のクラス分類を行う処理機能を獲得させた学習済みの前記第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加する特徴量追加処理部と、
前記第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、前記新しい特徴量を接続することなく前記第１のニューラルネットワークの構造を維持し、かつ、前記新しい特徴量を算出する経路に関して、前記既存の特徴量と前記新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するネットワーク生成部と、
前記第２のニューラルネットワークに対して、前記第１のクラス分類と異なるクラスを含む第２のクラス分類に対応した正解ラベルが付された第２の学習データのセットを用いて第２の機械学習を行い、前記第２のニューラルネットワークに、前記第２のクラス分類を行う処理機能を獲得させる第２の学習処理部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習方法及び装置、プログラム、学習済みモデル、並びに判別装置に係り、特に、多層のニューラルネットワークを用いて画像認識などのタスクを実現する深層学習技術に関する。
【背景技術】
【０００２】
近年、多層のニューラルネットワークを用いて画像を認識する技術の開発が活発に行われている。例えば、医療分野において、内視鏡診断、超音波診断、Ｘ線画像診断、ＣＴ（Computerized Tomography）画像診断など医療画像診断の重要性は高く、医療画像診断の自動化には機械学習を活用した画像認識手法が用いられている。【０００３】
非特許文献１には、医療画像のセグメンテーションを行うためのニューラルネットワークとして、「Ｕ−Ｎｅｔ構造」と呼ばれるＵ字型のネットワークが提案されている。「Ｕ−Ｎｅｔ」の表記における「Ｎｅｔ」は「ネットワーク（Network）」の簡易表記であり、「ネットワーク」はニューラルネットワークを意味する。Ｕ−Ｎｅｔ構造は、エンコーダ部とデコーダ部とを含む構造を有し、コンボリューション（畳み込み）の処理に続くプーリング操作にて画素数を減らすダウンサンプリングのプロセスと、画素数を増やすデコンボリューション（アップサンプリング）のプロセスとを含んで構成される。【０００４】
深層学習におけるエンドツーエンド（Ｅｎｄ−ｔｏ−Ｅｎｄ）のセグメンテーションフレームワークでは、入力画像と同サイズのラベル画像のペアを学習させて、所望のオブジェクトの領域を抽出する。【０００５】
深層学習を成功させる大きな要因の１つは、大量の学習データを学習させることである。しかし、医療画像などは、データが希少であり、大量に用意することが難しい。そこで「転移学習」と呼ばれる手法が用いられる（特許文献１）。転移学習は、写真画像など大量のデータが利用できる分野で一旦、学習させたネットワークについて、その一部を流用して別の問題（例えば、医療画像についてのクラス分類）を学習させるものである。学習済みネットワークのパラメータを初期値として、新しい問題を解くようにネットワークを最適化することはファインチューニング（Fine Tuning）と呼ばれる。また、学習済みネットワークにおける低層側のネットワークのパラメータを全く変えずに固定して、後段の層（特に最終層）のみを入れ替えて、最適化することもある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2017-224156号公報
【非特許文献】
【０００７】
【非特許文献１】Olaf Ronneberger, Philipp Fischer, Thomas Brox.：U-Net: Convolutional Networks for Biomedical Image Segmentation：Medical Image Computing and Computer-Assisted Intervention (MICCAI), Springer, LNCS, Vol.9351: 234--241, 2015, arXiv:1505.04597 [cs.CV]
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、ＣＴ画像から心臓、肝臓、又は腎臓等の特定の臓器の領域を抽出するクラス分類のタスクを行う場合、抽出したい１つ１つの臓器ごとに独立したニューラルネットワークを学習して、これら学習済みネットワークを実際の判別処理に利用することが考えられる。【０００９】
しかし、このような臓器ごとに独立した単一タスクの学習済みネットワークを用いる形態の場合、抽出対象とする臓器の種類が複数ある場合に、臓器の数だけ計算が必要になる。【００１０】
その一方で、はじめからマルチクラス分類のタスクに対応したニューラルネットワークを構築すると、複数のタスクが途中の特徴マップを共有し、少ない計算量で多数の臓器を同時に抽出することができる。しかしながら、一旦所望の臓器群の分類を行うようにネットワークを完成させた後に、別の新しい臓器群の分類機能を追加したいという要求が生じることがある。つまり、判別したい多数の臓器のうち、特定の１つ又は複数の臓器だけ認識性能が低く、学習済みの（既存の）ネットワークを再学習させたい場合がある。その際、単に、新しいクラスのラベル画像を含む学習データを追加して再学習を実行すると、認識性能を強化したい特定の臓器以外の既存の分類対象に係る臓器を分類するタスクの出力も変更されることになり、メンテナンス性が悪い。学習済みネットワークにおける既存のタスクに関する出力性能は変えずに、新しいタスクの処理性能を追加できる仕組みが望まれる。【００１１】
上述した課題は、医療画像のセグメンテーションの問題を解くネットワークに限らず、マルチクラス分類のタスクを行うネットワークに共通する課題である。【００１２】
本発明はこのような事情に鑑みてなされたもので、学習済みネットワークにおける既存のタスクに対する出力性能を変更することなく、新しいタスクを学習させることができ、さらに、計算量を抑制することが可能な機械学習方法及び装置、並びにプログラムを提供することを目的の１つとする。また、本発明は、既存のタスクに加え新たなタスクの処理性能が獲得された学習済みモデル及びこれを用いた判別装置を提供することを他の目的の１つとする。
【課題を解決するための手段】
【００１３】
課題を解決するために、次の発明態様を提供する。【００１４】
態様１に係る機械学習方法は、第１のクラス分類を行うタスクを機械学習によって学習させた学習済みの階層型ニューラルネットワークである第１のニューラルネットワークを利用して、第１のクラス分類のタスクに加え、第１のクラス分類と異なるクラスを含む第２のクラス分類のタスクを行う第２のニューラルネットワークを学習する機械学習方法であって、第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加するステップと、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワークの構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するステップと、第２のクラス分類に対応した正解ラベルが付された学習データのセットを用いて、第２のニューラルネットワークを学習させ、第２のニューラルネットワークに、第２のクラス分類を行う処理機能を獲得させるステップと、を含む機械学習方法である。【００１５】
「ニューラルネットワーク」とは、脳神経系の仕組みを模擬した情報処理の数理モデルである。ニューラルネットワークを用いた処理は、コンピュータを用いて実現することができる。ニューラルネットワークは、プログラムモジュールとして構成され得る。本明細書においてニューラルネットワークを単に「ネットワーク」と表記する場合がある。【００１６】
「新しい特徴量を追加する」とは、層に入力されるデータである画像又は特徴マップに対して新たなチャンネルの特徴マップを算出若しくは生成するための特徴抽出のフィルタを追加することをいう。フィルタを用いて算出された（抽出された）特徴量を特徴マップという。フィルタごとに特徴マップが算出される。【００１７】
態様１によれば、第１のクラス分類のタスクに関して学習済みの第１のニューラルネットワークの出力性能を変えずに、第２のクラス分類のタスクの処理機能を追加した第２のニューラルネットワークを得ることができる。【００１８】
また態様１によれば、第１のニューラルネットワークと第２のニューラルネットワークの間で、一部の特徴量（既存の特徴量）を共有しているため、共有に係る特徴量についての重複した計算が不要である。これにより、計算量が抑制され、計算の実行速度を高速に維持できる。【００１９】
態様２に係る機械学習方法は、階層型ニューラルネットワークである第１のニューラルネットワークに対して、第１のクラス分類に対応した正解ラベルが付された第１の学習データのセットを用いて第１の機械学習を行い、第１のニューラルネットワークに、第１のクラス分類を行う処理機能を獲得させるステップと、第１のクラス分類を行う処理機能を獲得させた学習済みの第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加するステップと、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワークの構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するステップと、第２のニューラルネットワークに対して、第１のクラス分類と異なるクラスを含む第２のクラス分類に対応した正解ラベルが付された第２の学習データのセットを用いて第２の機械学習を行い、第２のニューラルネットワークに、第２のクラス分類を行う処理機能を獲得させるステップと、を含む機械学習方法である。【００２０】
態様２によれば、第１のクラス分類のタスクに関して学習済みの第１のニューラルネットワークを得ることができ、この学習済みの第１のニューラルネットワークの出力性能を変えずに、第２のクラス分類のタスクの処理機能を追加した第２のニューラルネットワークを得ることができる。【００２１】
また態様２によれば、第１のニューラルネットワークと第２のニューラルネットワークの間で、一部の特徴量（既存の特徴量）を共有しているため、共有に係る特徴量についての重複した計算が不要である。これにより、計算量が抑制され、計算の実行速度を高速に維持できる。【００２２】
態様３は、態様１又は態様２の機械学習方法において、第２のニューラルネットワークを学習させる際に、学習済みの第１のニューラルネットワークに存在する既存の特徴量を算出する経路のパラメータを不変とする機械学習方法である。【００２３】
ここでの「パラメータ」は、ニューラルネットワークにおける各層の処理に用いるフィルタのフィルタ係数（結合の重み）及びノードのバイアスなどを含む。【００２４】
態様４は、態様１から態様３のいずれか一態様の機械学習方法において、第１のニューラルネットワークは、エンコーダとして機能するダウンサンプリングネットワークと、デコーダとして機能するアップサンプリングネットワークとを組み合わせたネットワーク構造を有し、新しい特徴量は、ダウンサンプリングネットワークとアップサンプリングネットワークのうち、アップサンプリングネットワークに追加される機械学習方法である。【００２５】
態様５は、態様４の機械学習方法において、第１のニューラルネットワークは、Ｕ−Ｎｅｔ構造を有する機械学習方法である。【００２６】
態様６に係る学習済みモデルは、態様１から態様５のいずれか一態様の機械学習方法を実施して第２のニューラルネットワークを学習させることにより、第１のクラス分類と第２のクラス分類のタスクを行う処理機能を獲得させた学習済みモデルである。【００２７】
態様７に係る判別装置は、態様１から態様５のいずれか一態様の機械学習方法を実施して第２のニューラルネットワークを学習させることにより、第１のクラス分類と第２のクラス分類のタスクを行う処理機能を獲得させた学習済みモデルを備えた判別装置である。【００２８】
「判別」という用語は、認識、識別、推論、推定、予測、推測、検出、及び領域抽出などの概念を含む。「装置」という用語は「システム」の概念を含む。【００２９】
態様８に係るプログラムは、態様１から態様５のいずれか一態様の機械学習方法を実施して第２のニューラルネットワークを学習させることにより、第１のクラス分類と第２のクラス分類のタスクを行う処理機能を獲得させた学習済みモデルを用いて、コンピュータに第１のクラス分類と第２のクラス分類の処理を実行させるプログラムである。【００３０】
態様９に係るプログラムは、態様１から態様５のいずれか一態様の機械学習方法をコンピュータに実行させるプログラムである。【００３１】
態様１０に係る機械学習装置は、第１のクラス分類を行うタスクを機械学習によって学習させた学習済みの階層型ニューラルネットワークである第１のニューラルネットワークを利用して、第１のクラス分類のタスクに加え、第１のクラス分類と異なるクラスを含む第２のクラス分類のタスクを行う第２のニューラルネットワークを学習する機械学習装置であって、第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加する特徴量追加処理部と、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワークの構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するネットワーク生成部と、第２のクラス分類に対応した正解ラベルが付された学習データのセットを用いて、第２のニューラルネットワークを学習させ、第２のニューラルネットワークに、第２のクラス分類を行う処理機能を獲得させる学習処理部と、を備える機械学習装置である。【００３２】
態様１１に係る機械学習装置は、階層型ニューラルネットワークである第１のニューラルネットワークに対して、第１のクラス分類に対応した正解ラベルが付された第１の学習データのセットを用いて第１の機械学習を行い、第１のニューラルネットワークに、第１のクラス分類を行う処理機能を獲得させる第１の学習処理部と、第１のクラス分類を行う処理機能を獲得させた学習済みの第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加する特徴量追加処理部と、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワークの構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するネットワーク生成部と、第２のニューラルネットワークに対して、第１のクラス分類と異なるクラスを含む第２のクラス分類に対応した正解ラベルが付された第２の学習データのセットを用いて第２の機械学習を行い、第２のニューラルネットワークに、第２のクラス分類を行う処理機能を獲得させる第２の学習処理部と、を備える機械学習装置である。【００３３】
態様１０又は態様１１の機械学習装置において、態様３から態様５にて特定した事項と同様の事項を適宜組み合わせることができる。【００３４】
本発明の他の態様に係る機械学習装置は、少なくとも１つのプロセッサを含み、プロセッサは、第１のクラス分類を行うタスクを機械学習によって学習させた学習済みの階層型ニューラルネットワークである第１のニューラルネットワークを利用して、第１のクラス分類のタスクに加え、第１のクラス分類と異なるクラスを含む第２のクラス分類のタスクを行う第２のニューラルネットワークを学習する処理を行うものであり、プロセッサは、第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加する特徴量追加処理と、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワークの構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するネットワーク生成処理と、第２のクラス分類に対応した正解ラベルが付された学習データのセットを用いて、第２のニューラルネットワークを学習させ、第２のニューラルネットワークに、第２のクラス分類を行う処理機能を獲得させる学習処理と、を行う機械学習装置である。【００３５】
本発明の他の態様に係る機械学習装置は、少なくとも１つのプロセッサを含み、プロセッサは、階層型ニューラルネットワークである第１のニューラルネットワークに対して、第１のクラス分類に対応した正解ラベルが付された第１の学習データのセットを用いて第１の機械学習を行い、第１のニューラルネットワークに、第１のクラス分類を行う処理機能を獲得させる第１の学習処理と、第１のクラス分類を行う処理機能を獲得させた学習済みの第１のニューラルネットワークに含まれる中間層の少なくとも１層に、新しい特徴量を追加する特徴量追加処理と、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワークの構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新しい特徴量を算出する構造を有する第２のニューラルネットワークを生成するネットワーク生成処理と、第２のニューラルネットワークに対して、第１のクラス分類と異なるクラスを含む第２のクラス分類に対応した正解ラベルが付された第２の学習データのセットを用いて第２の機械学習を行い、第２のニューラルネットワークに、第２のクラス分類を行う処理機能を獲得させる第２の学習処理と、を行う機械学習装置である。
【発明の効果】
【００３６】
本発明によれば、学習済みの既存のニューラルネットワークにおける既存のタスクの出力性能を変更せずに、新たなタスクの機能を追加した新しいニューラルネットワークを提供することができる。【００３７】
また、本発明によれば、既存のニューラルネットワークと、機能追加した新しいニューラルネットワークの間で、一部の特徴量を共有しているため、分類対象ごとに独立した単一タスクのニューラルネットワークを用いる構成と比較して、計算量が抑制され、計算の実行速度を高速に維持できる。
【図面の簡単な説明】
【００３８】
【図１】図１は、ＣＴ画像に対する多臓器のセグメンテーションの処理例を示す図である。
【図２】図２は、Ｕ−Ｎｅｔ構造のニューラルネットワークの例を示す概念図である。
【図３】図３は、第１実施形態に係る機械学習方法の手順を示すフローチャートである。
【図４】図４は、３つの臓器を判別するタスクを学習させた第１のニューラルネットワークの概念図である。
【図５】図５は、第１のニューラルネットワークにおける各層の処理の概要を模式的に示す概念図である。
【図６】図６は、第１のニューラルネットワークを流用して、他の臓器を判別するタスクを学習させた第２のニューラルネットワークの概念図である。
【図７】図７は、第２のニューラルネットワークにおける各層の処理の概要を模式的に示す概念図である。
【図８】図８は、ニューラルネットワークの学習を行う機械学習システムと、学習済みモデルを用いる画像処理システムの構成例を示すブロック図である。
【図９】図９は、第１の機械学習装置の機能を示すブロック図である。
【図１０】図１０は、第２の機械学習装置の機能を示すブロック図である。
【図１１】図１１は、第１実施形態に係る機械学習方法をより一般的な内容に記載し直したフローチャートである。
【図１２】図１２は、第２実施形態に係る機械学習方法の手順を示すフローチャートである。
【図１３】図１３は、コンピュータのハードウェア構成の例を示すブロック図である。
【発明を実施するための形態】
【００３９】
以下、添付図面に従って本発明の好ましい実施の形態について詳説する。
【００４０】
本発明の一実施形態に係る機械学習方法は、多クラス分類問題を解くニューラルネットワークの学習方法である。ここでは、多クラス分類問題の一例として、ＣＴ画像から複数の臓器をセグメンテーションするタスクを例示する。
【００４１】
《多臓器のセグメンテーションの例》
図１は、ＣＴ画像に対する多臓器のセグメンテーションの処理例を示す図である。セグメンテーションの処理を行うニューラルネットワーク１０は、深層ニューラルネットワーク（ＤＮＮ：Deep neural network）に分類される階層型ニューラルネットワークである。ニューラルネットワーク１０は、畳み込みの演算を行う畳み込み層を含むニューラルネットワークである。ニューラルネットワーク１０の層構造として、様々な形態があり得る。ニューラルネットワーク１０は、エンコーダ部とデコーダ部とを組み合わせたエンコーダ−デコーダ構造を持つ構成が好ましい。例えば、Ｕ−Ｎｅｔ構造は、セグメンテーションの問題を解くニューラルネットワーク１０の好ましいアークテクチャの一例である。
【００４２】
ニューラルネットワーク１０は、後述する機械学習方法を適用して多臓器のセグメンテーション機能を獲得した学習済みモデルとなっている。学習済みモデルは、プログラムモジュールと言い換えてもよい。
【００４３】
本例のニューラルネットワーク１０への入力データはＣＴ画像２０である。ＣＴ画像２０は、例えば、マルチスライスＣＴ画像であってよい。マルチスライスＣＴ画像の集合体は、三次元画像データに相当する。
【００４４】
マルチスライスＣＴ画像のセグメンテーションは、ボクセルごとに、何の臓器であるかを示すラベル付けを行い、ラベルごとに色分けして表示するタスクである。例えば、肺、心臓、肝臓、腎臓、及び膵臓の５種類の臓器についてのセグメンテーションを行う場合は、画像を構成する１つのボクセルが、どの臓器に属するのかを判別すること、つまり、ボクセルごとに、これら５種類の臓器と「その他」を加えた６種類のクラスのうち、どのクラスに属する確からしさ（尤度）が最も高いかを推測する問題を解くことになる。
【００４５】
ＣＴ画像２０がニューラルネットワーク１０に入力されると、ニューラルネットワーク１０は、ＣＴ画像２０の各ボクセルが属するクラスを判別し、臓器ごとに領域分けされたセグメント化ＣＴ画像３０を出力する。
【００４６】
ニューラルネットワーク１０が出力したセグメント化ＣＴ画像３０のデータを基に、例えば、ボリュームレンダリングによって各臓器の三次元形状を抽出することができ、臓器ごとのボリュームレンダリング画像３２を得ることが可能である。
【００４７】
《Ｕ−Ｎｅｔ構造の説明》
ここでＵ−Ｎｅｔ構造のニューラルネットワークについて簡単に説明する。図２は、Ｕ−Ｎｅｔ構造のニューラルネットワークの例を示す概念図である。図２においてＣ１、Ｃ２・・・Ｃ１５の符号で示す矢印の各々は「畳み込み層」を表している。Ｐ１、Ｐ２及びＰ３の符号で示す矢印の各々は「プーリング層」を表している。Ｕ１、Ｕ２及びＵ３の符号で示す矢印は「アンプーリング層」を表している。Ｃ９からＣ１５のそれぞれの畳み込み層は「デコンボリューション層」に相当する。
【００４８】
各層の入力側及び／又は出力側に示す矩形は、特徴マップのセットを表している。矩形の縦方向の長さは、特徴マップのサイズ（画素数）を表しており、矩形の横方向の幅はチャンネル数を表している。
【００４９】
図２に示すニューラルネットワーク１０Ａのネットワーク構造の場合、入力側から畳み込み層Ｃ１、Ｃ２、プーリング層Ｐ１、畳み込み層Ｃ３、Ｃ４、プーリング層Ｐ２、畳み込み層Ｃ５、Ｃ６、プーリング層Ｐ３、及び畳み込み層Ｃ７、Ｃ８までの前半部分がエンコーダ部に相当する。エンコーダ部のサブネットワークをダウンサンプリングネットワークという。
【００５０】
また、図２において、アンプーリング層Ｕ１、畳み込み層Ｃ９、Ｃ１０、アンプーリング層Ｕ２、畳み込み層Ｃ１１、Ｃ１２、アンプーリング層Ｕ３、及び畳み込み層Ｃ１３、Ｃ１４、Ｃ１５を含む後半部分がデコーダ部に相当する。なお、最終段の畳み込み層Ｃ１５は、１×１のフィルタを用いる「１×１の畳み込み層」であってもよい。デコーダ部のサブネットワークをアップサンプリングネットワークという。
【００５１】
図２において、破線の矢印は、エンコーダ部とデコーダ部の対応する解像度の特徴マップを統合する処理を行うことを示しており、デコーダ部において破線の矩形で示す特徴マップのセットは、エンコーダ部の特徴マップをコピーしていることを示している。なお、図２は示さないが、特徴マップを統合する際に、特徴マップの解像度を揃えるように、エンコーダ部の特徴マップをクロップしてからコピーしてもよい。
【００５２】
《第１実施形態に係る機械学習方法の概要》
ここでは説明を簡単にするために、分類の対象にする臓器を、心臓、肝臓、腎臓、及び膵臓の４種類とする。また、３次元データの代わりに、２次元画像を例に説明する。２次元画像における「画素」は、３次元画像における「ボクセル」に対応しており、２次元画像に関する説明は、３次元画像に拡張して理解することができる。
【００５３】
第１実施形態に係る機械学習方法は、心臓、肝臓、腎臓、及び膵臓の４種類の臓器をセグメンテーションする判別器を得るために、まず、初期の臓器セットとしての心臓、肝臓及び腎臓の３種類の臓器のセグメンテーション機能を学習させたニューラルネットワークを完成させる。そして、この学習済みのニューラルネットワークが既に存在していることを前提として、学習済みの（既存の）ニューラルネットワークを流用することにより、新しく膵臓のセグメンテーション機能を追加するように再学習を行う。「再学習」という用語は、転移学習、並びに、追加学習の概念を含む。
【００５４】
第１実施形態に係る機械学習方法では、既存のニューラルネットワークを用いて、新しいクラスを分類するようにネットワークを再学習する際に、既存のニューラルネットワークにおける中間層に新しい特徴量を追加し、既存の特徴量と追加された新しい特徴量の各々を畳み込んで、次階層における新しい特徴量を計算する構造を有するニューラルネットワークを生成する。
【００５５】
また、再学習を行う際には、既存のニューラルネットワークにもともと含まれている既存の特徴量に関してはパラメータを更新しないものとする。すなわち、既存のニューラルネットワークに存在する既存の特徴量を算出する経路については、新しい特徴量を接続することなく既存のニューラルネットワークの構造を維持して、学習済みのパラメータも不変とする。これは、既存の特徴量の計算に関して、新しい特徴量を関与させないことを意味している。そして、追加した新しい特徴量を算出する部分のパラメータを再学習によって最適化する。
【００５６】
なお、初期の臓器セットを分類するニューラルネットワークを第１のニューラルネットワークと呼ぶ。学習済みの第１のニューラルネットワークを「既存のニューラルネットワーク」或いは「既存モジュール」という。また、既存のニューラルネットワークに新しい特徴量を追加して再学習させるニューラルネットワークを第２のニューラルネットワークと呼ぶ。新しいクラス分類の機能が追加された第２のニューラルネットワークを「新モジュール」という場合がある。
【００５７】
〈ニューラルネットワークの学習の手順〉
図３は、第１実施形態に係る機械学習方法の手順を示すフローチャートである。図３に示すフローチャートの各ステップは、コンピュータを用いて構成される機械学習装置によって実行される。コンピュータは、プログラムを実行することにより、機械学習装置として機能し得る。コンピュータは、ＣＰＵ（Central Processing Unit）及びメモリを備える。コンピュータは、ＧＰＵ（Graphics Processing Unit）を含んでもよい。以下、ニューラルネットワークの学習処理を行う情報処理装置を「機械学習装置」という。なお、「機械学習装置」という用語は、「情報処理装置」、「データ処理装置」、「信号処理装置」或いは「画像処理装置」などの用語に置き換えてもよい。
【００５８】
ステップＳ１において、機械学習装置は、初期の臓器セットについて、セグメンテーション機能を獲得するように第１のニューラルネットワークを学習する。初期の臓器セットは、例えば、心臓、肝臓、及び腎臓の３種類とすることができる。初期の臓器セットに含まれる臓器は、目的に応じて適宜選択して設定し得る。
【００５９】
ステップＳ１の第１の学習ステップでは、第１の学習データセットを用いた教師あり学習の手法を適用して、誤差逆伝播法（バックプロパゲーション）のアルゴリズムに従い、第１のニューラルネットワークのパラメータを最適化する処理が行われる。第１の学習データセットは、入力用の画像と、その画像に対応する心臓、肝臓及び腎臓の各クラスの正解ラベルが付されたラベル画像とが関連付けられた学習データの集合である。機械学習装置は、ミニバッチ単位でパラメータを更新する処理を繰り返す。
【００６０】
機械学習装置は、学習終了条件を満たすまで、学習の処理を繰り返す。学習終了条件は、予測結果の出力と教師信号の誤差の値に基づいて定められていてもよいし、パラメータの更新回数に基づいて定められていてもよい。誤差の値に基づく方法としては、例えば、誤差が規定の範囲内に収束していることを学習終了条件としてよい。更新回数に基づく方法としては、例えば、更新回数が規定回数に到達したことを学習終了条件としてよい。
【００６１】
ステップＳ２において、機械学習装置は、第１の学習処理を終了させ、学習済みの第１のニューラルネットワークを完成させる。すなわち、機械学習装置は、学習終了条件を判断し、学習終了条件を満たした場合に、第１の学習処理を終了させ、第１のニューラルネットワークのパラメータを決定する。
【００６２】
こうして、３つの臓器をセグメンテーションする機能を学習させた学習済みの第１のニューラルネットワークを得ることができる。この学習済みの第１のニューラルネットワークは、３つの臓器をセグメンテーションする判別器として利用することができる。
【００６３】
次に、初期の臓器セットに含まれていない臓器として新しく膵臓のセグメンテーション機能を追加することが求められているとする。その一方で、初期の学習セットに含まれる臓器に関する出力は変更したくない、という制約が課されるものとする。これは、初期の臓器セットを判別する第１のニューラルネットワークの性能については、所要の性能を満たしていることが性能評価によって確認済みであり、初期の臓器セットに属する３臓器を判別する判別器として完成しているためである。判別器という用語は「判別装置」或いは「判別モジュール」と言い換えてもよい。
【００６４】
初期の臓器セットに関するセグメンテーション機能の出力性能を変えることなく、新しく膵臓のセグメンテーション機能を実現するために、本実施形態に係る機械学習方法では、学習済みの第１のニューラルネットワークを流用して、膵臓のセグメンテーション機能を実現するように、ネットワークの部分的な変更と新たな学習データを用いた学習のステップを含む再学習を行う（ステップＳ３〜ステップＳ７）。
【００６５】
ステップＳ３において、機械学習装置は、学習済みの第１のニューラルネットワークを取得する。
【００６６】
ステップＳ４において、機械学習装置は、第１のニューラルネットワークにおける中間層の少なくとも１層に新しい特徴量を追加する。ここで追加される新しい特徴量とは、新しい特徴を抽出するための特徴抽出用のフィルタを指す。１つの層に追加される新しいフィルタは、１つに限らず、複数であってよい。
【００６７】
ある特定の中間層に追加された新しい特徴量のチャンネルの算出結果（特徴マップ）が次階層以降の各層において新しい特徴量を計算するために用いられるように、特定の中間層以降の各層に新しい特徴量が追加される。
【００６８】
畳み込み層が連続するネットワーク構造において、入力側に近い浅い層は、画像のエッジなど、分類したいクラスによらず共通の特徴量を学習すると考えられる。そして、出力層に近い層ほど、分類したいクラスの特徴に特有の特徴量を学習すると考えられる。したがって、少なくとも出力に近い層に新しい特徴量を追加することが好ましく、出力に近い層のみに新しい特徴量を追加すればよい。浅い層は、新しい特徴量を追加しなくとも、新しいクラスを判別する上で十分な情報を伝播させられる。
【００６９】
第１のニューラルネットワークにもともと存在する既存の特徴量だけでは、新しいクラスの特徴を十分に学習できないため、ネットワークの後半部分に新しい特徴量を追加する。例えば、Ｕ−Ｎｅｔ構造の場合、前半のダウンサンプリングネットワークには、新しい特徴量を追加せず、後半のアップサンプリングネットワークに新しい特徴量を追加する。
【００７０】
ステップＳ５において、機械学習装置は、第１のニューラルネットワークに存在する既存の特徴量を算出する経路に関して、既存のネットワーク構造を維持し、かつ、新しい特徴量を算出する経路が追加された構造を有する第２のニューラルネットワークを生成する。例えば、機械学習装置は、第１のニューラルネットワークを構成している複数の中間層のうちから選択された特定の層以降の層ごとに、新しい特徴量を追加する。各層に追加された新しい特徴量は、１つ前の層の既存の特徴量及び新しい特徴量のどちらの特徴量とも接続される。一方で、各層の既存の特徴量のチャンネルについては、層の間に新しい接続を加えない。すなわち、新しい特徴量のチャンネルによって算出された特徴マップは、次階層における既存の特徴量の特徴マップの算出に使用せず、新しい特徴量の特徴マップの算出にのみ使用されるように、第２のニューラルネットワークにおける層間の接続経路が形成される。
【００７１】
なお、ステップＳ４とステップＳ５の処理は、第１のニューラルネットワークのネットワーク構造を内包する第２のニューラルネットワークを生成する単一のステップとして統合されてもよい。
【００７２】
ステップＳ６において、機械学習装置は、入力用の画像と、その画像における膵臓の領域を表すラベル画像とを関連付けた学習データを用いて、第２のニューラルネットワークを学習する。このとき、第２のニューラルネットワークに内包されている第１のニューラルネットワークにもともと存在している既存の特徴量群については、それらのパラメータを変更しないものとする。
【００７３】
すなわち、ステップＳ６の第２の学習ステップでは、第２の学習データセットを用いた教師あり学習の手法を適用して、誤差逆伝播法のアルゴリズムに従い、第２のニューラルネットワークにおける新しい特徴量群のパラメータを最適化する処理が行われる。第２の学習データセットは、入力用の画像と、その画像に対応する膵臓のクラスの正解ラベルが付されたラベル画像とが関連付けられた学習データの集合である。機械学習装置は、ミニバッチ単位でパラメータを更新する処理を繰り返す。
【００７４】
機械学習装置は、学習終了条件を満たすまで、学習の処理を繰り返す。学習終了条件は、予測結果の出力と教師信号の誤差の値に基づいて定められていてもよいし、パラメータの更新回数に基づいて定められていてもよい。誤差の値に基づく方法としては、例えば、誤差が規定の範囲内に収束していることを学習終了条件としてよい。更新回数に基づく方法としては、例えば、更新回数が規定回数に到達したことを学習終了条件としてよい。
【００７５】
第２の学習ステップにて行われる再学習の学習終了条件は、第１の学習ステップの学習終了条件と同じ条件であってもよいし、異なる条件であってもよい。
【００７６】
ステップＳ７において、機械学習装置は、第２の学習処理を終了させ、学習済みの第２のニューラルネットワークを完成させる。すなわち、機械学習装置は、学習終了条件を判断し、学習終了条件を満たした場合に、第２の学習処理を終了させ、第２のニューラルネットワークのパラメータを決定する。
【００７７】
こうして、初期の臓器セットに膵臓を加えた４つの臓器をセグメンテーションする機能を学習させた学習済みの第２のニューラルネットワークを得ることができる。この学習済みの第２のニューラルネットワークは、４つの臓器をセグメンテーションする判別器として利用することができる。
【００７８】
《初期の臓器セットのセグメンテーションを行う判別器の概要》
図４は、３つの臓器を判別するタスクを学習させた第１のニューラルネットワークの概念図である。
【００７９】
第１のニューラルネットワーク１１は、入力層４０と、複数の中間層４２と、出力層４４とを含む階層型ニューラルネットワークである。各層は複数の「ノード」を含む。図４においてノードの図示は省略されている。ある層に属するノードは、その層よりも出力側の層に属するノードと結合している。各ノードのノード間の結合の各々には、結合の重みが割り当てられる。それぞれの結合の重みは、図３のステップＳ１及びステップＳ２で説明した学習処理によって決定される。
【００８０】
ニューラルネットワークの入力から出力に向けたデータの流れの方向に沿って、入力側を「前」、出力側を「後ろ」と表現する。
【００８１】
第１のニューラルネットワーク１１は、複数の中間層４２の一部に、畳み込みの処理を行う畳み込み層と、ダウンサンプリングの処理を行うプーリング層の組み合わせを含む。図４では、第１のニューラルネットワーク１１の層構造を簡略化して示しているが、第１のニューラルネットワーク１１を構成する中間層４２の層数、及び各層の処理内容、並びに各層の配列順序は、特に制限されず、様々な組み合わせからなる層構造が採用され得る。
【００８２】
畳み込み層は、前の層において局所領域内にあるノードにフィルタを適用した畳み込み演算を行い、特徴マップを取得する。畳み込み層は、フィルタが表す特徴的な濃淡構造を画像から抽出する特徴抽出の役割を担う。
【００８３】
プーリング層は、畳み込み層から出力された特徴マップの局所領域を代表値で集約するプーリング処理を行う。プーリング層は、畳み込み層から出力された特徴マップを縮小して解像度を低下させた新たな特徴マップを生成する。プーリング層は、畳み込み層によって抽出された対象特徴量が位置変動に対して影響を受けないようにロバスト性を与える（位置変動に対する感度を低下させる）役割を担う。
【００８４】
第１のニューラルネットワーク１１は、畳み込み層及びプーリング層の他に、正規化層及びアンプーリング層のうち少なくとも１種の層を１層以上含んでもよい。また、中間層４２の各層は、必要に応じて活性化関数を含んでよい。
【００８５】
正規化層は、画像の濃淡を正規化する処理を行う。例えば、正規化層は、畳み込み層の出力、プーリング層の出力、及びアンプーリング層の出力の少なくとも一方の出力に対して局所コントラスト正規化の処理を行う。
【００８６】
アンプーリング層は、エンコーダ−デコーダ構造のニューラルネットワークにおいてアップサンプリングの処理を行う。なお、アンプーリング層と組み合わせて用いられる畳み込み層はデコンボリューション層という場合がある。
【００８７】
出力層４４は、クラス分類を行うクラスの数と同数のチャンネルを有する。心臓、肝臓及び腎臓の３つの臓器のセグメンテーションを行う場合に、入力された画像のデータを画素ごとに「心臓」、「肝臓」、「腎臓」、及び「その他」の４つの分類カテゴリー（クラス）に分類するため、出力層４４のチャンネル数は４チャンネルとなる。
【００８８】
４クラスの分類を行う場合、例えば、第１チャンネルは、心臓の領域の尤度を表す心臓特徴マップＦＭ１を出力するチャンネルである。第２チャンネルは、肝臓の領域の尤度を表す肝臓特徴マップＦＭ２を出力するチャンネルである。第３チャンネルは、腎臓の領域の尤度を表す腎臓特徴マップＦＭ３を出力するチャンネルである。第４チャンネルは、その他の領域の尤度を表すその他特徴マップＦＭ４を出力するチャンネルである。
【００８９】
チャンネルごとの特徴マップ（ＦＭ１〜ＦＭ４）は、画素ごとに、そのクラスに属する確からしさ（尤度）を示す値が算出されたものとなっている。なお、尤度を示す値は、正規化された値であってもよいし、正規化されていない値であってもよい。
【００９０】
入力画像２２を第１のニューラルネットワーク１１に入力することにより出力層４４からして得られる全チャンネルの特徴マップ（ＦＭ１〜ＦＭ４）に対して、例えば、「１×１の畳み込み」を行うことにより、３臓器セグメント化画像３４を得ることができる。１×１の畳み込みは、複数の特徴量のチャンネルごとの特徴マップを、「１×１」のフィルタを用いて、まとめる処理である。
【００９１】
《第１のニューラルネットワークにおける処理の概要》
図５は、第１のニューラルネットワーク１１における各層の処理の概要を模式的に示す概念図である。図５では、層構造を簡略化して、Ｌ１からＬ８の層を含む階層構造を示す。左から第１層目の層Ｌ１は、第１の畳み込み層を示す。第１の畳み込み層では、複数種類のフィルタを用いて、フィルタの種類数と同数のチャンネルの特徴マップを出力する。図５では、３種類のフィルタＦ１Ａ、Ｆ１Ｂ、Ｆ１Ｃを用いて３チャンネルの特徴マップを出力する例が示されている。なお、各フィルタＦ１Ａ、Ｆ１Ｂ、Ｆ１Ｃの出力に対して活性関数を適用してチャンネルごとの特徴マップが得られる。
【００９２】
第２層目の層Ｌ２は第１のプーリング層を示す。第１のプーリング層は、前の層で得られた特徴マップについてチャンネルごとにプーリング処理を行う。なお、図５において、プーリング操作に用いるフィルタの記載は省略されている。
【００９３】
第３層目の層Ｌ３は第２の畳み込み層を示す。第２の畳み込み層も第１の畳み込み層と同様に、複数種類のフィルタＦ３Ａ、Ｆ３Ｂ、Ｆ３Ｃ・・・Ｆ３Ｋを用いて、フィルタの種類数と同数のチャンネルの特徴マップを出力する。
【００９４】
第４層目の層Ｌ４は、第２のプーリング層を示す。第２のプーリング層は、前の層で得られた特徴マップについてチャンネルごとにプーリング処理を行う。
【００９５】
図５には示されていないが、層Ｌ４と層Ｌ５の間には図示せぬ畳み込み層が１層以上含まれてよい。
【００９６】
第５層目の層Ｌ５は、第１のアンプーリング層を示す。第１のアンプーリング層は、前層で得られた特徴マップについてチャンネルごとにアンプーリング処理を行う。アンプーリング処理は、アップコンボリューションとも呼ばれる。なお、図５において、アンプーリング操作に用いるフィルタの記載は省略されている。
【００９７】
第６層目の層Ｌ６は、第３の畳み込み層を示す。第３の畳み込み層は、他の畳み込み層と同様に、複数種類のフィルタＦ６Ａ、Ｆ６Ｂ、Ｆ６Ｃ・・・Ｆ６Ｋを用いて、フィルタの種類数と同数のチャンネルの特徴マップを出力する。
【００９８】
第７層目の層Ｌ７は、第２のアンプーリング層を示す。第２のアンプーリング層は、前層で得られた特徴マップについてチャンネルごとにアンプーリング処理を行う。
【００９９】
第８層目の層Ｌ８は、第４の畳み込み層を示す。第４の畳み込み層は、他の畳み込み層と同様に、複数種類のフィルタＦ８Ａ、Ｆ８Ｂ、Ｆ８Ｃ、Ｆ８Ｄを用いて、フィルタの種類数と同数のチャンネルの特徴マップを出力する。ここでは、４チャンネルの特徴マップの出力を想定しているため、４種類のフィルタＦ８Ａ、Ｆ８Ｂ、Ｆ８Ｃ、Ｆ８Ｄが用いられる。
【０１００】
《膵臓のセグメンテーション機能を追加した判別器の概要》
図６は、図４に示した第１のニューラルネットワークを流用して、他の臓器（例えば膵臓）を判別するタスクを学習させた第２のニューラルネットワークの概念図である。
【０１０１】
第２のニューラルネットワーク１４は、第１のニューラルネットワーク１１のネットワーク構造をそのまま含んでおり、さらに、中間層４２の一部に新しい特徴量を算出するためのサブネットワーク１２が追加されている。サブネットワーク１２は、新しい特徴を抽出する新しいフィルタを用いて算出される特徴量に対応するノードと、層間におけるノード同士の結合関係とを含んでいる。
【０１０２】
追加された新しい特徴量のチャンネルの特徴マップは、第１のニューラルネットワーク１１に存在する既存の特徴量の算出経路に入力されないものとなっている。
【０１０３】
第２のニューラルネットワーク１４の出力層４４には、第１のニューラルネットワーク１１に存在する既存の４チャンネルに加え、膵臓と、膵臓以外の２つのクラスに対応する２つのチャンネルが追加される。「膵臓以外」のクラスを「新その他」と表記する。
【０１０４】
例えば、第５チャンネルは、膵臓の領域の尤度を表す膵臓特徴マップＦＭ５を出力するチャンネルである。第６チャンネルは、膵臓以外の領域の尤度を表す新その他特徴マップＦＭ６を出力するチャンネルである。
【０１０５】
チャンネルごとの特徴マップ（ＦＭ１〜ＦＭ６）は、画素ごとに、そのクラスに属する確からしさ（尤度）を示す値が算出されたものとなっている。なお、尤度を示す値は、正規化された値であってもよいし、正規化されていない値であってもよい。
【０１０６】
入力画像２２を第２のニューラルネットワーク１４に入力することにより出力層から得られる全チャンネルの特徴マップ（ＦＭ１〜ＦＭ６）に対して、例えば、「１×１の畳み込み」を行うことにより、４臓器セグメント化画像３６を得ることができる。
【０１０７】
《第２のニューラルネットワークにおける処理の概要》
図７は、第２のニューラルネットワーク１４における各層の処理の概要を模式的に示す概念図である。図６に示した第１のニューラルネットワーク１１との相違点を説明する。図７に示す第２のニューラルネットワーク１４は、図６に示した第１のニューラルネットワーク１１における層Ｌ６以降の各層に新しい特徴量を追加した構成となっている。
【０１０８】
第６層目の層Ｌ６には、新しいフィルタＦ６Ｌ、Ｆ６Ｍ、Ｆ６Ｎが追加される。層Ｌ６は、既存のフィルタＦ６Ａ，Ｆ６Ｂ、Ｆ６Ｃ、・・・Ｆ６Ｋを畳み込みんで、各チャンネルの特徴マップを出力する経路を維持し、かつ、新しいフィルタＦ６Ｌ、Ｆ６Ｍ、Ｆ６Ｎを畳み込んで新しいチャンネルの特徴マップを出力する。
【０１０９】
第７層目の層Ｌ７は、既存のチャンネルの特徴マップを出力する経路を維持し、かつ、新しいチャンネルの特徴マップを出力する。
【０１１０】
第８層目の層Ｌ８には、新しいフィルタＦ８Ｅ、Ｆ８Ｆが追加される。層Ｌ８は、既存のフィルタＦ８Ａ，Ｆ８Ｂ、Ｆ８Ｃ、Ｆ８Ｄを畳み込みんで、各チャンネルの特徴マップを出力する経路を維持し、かつ、新しいフィルタＦ８Ｅ、Ｆ８Ｆを畳み込んで新しいチャンネルの特徴マップを出力する。ここでは、既存の４クラスに対応する４チャンネルの特徴マップの出力に加え、膵臓と膵臓以外の２つのクラスに対応する２チャンネルの特徴マップの出力を追加することを想定しているため、２種類のフィルタＦ８Ｅ、Ｆ８Ｆが用いられる。フィルタＦ８Ｅ、Ｆ８Ｆの各々のチャンネル数は、層Ｌ７から出力される全ての特徴マップのチャンネル数と同数である。
【０１１１】
なお、フィルタのサイズ及びフィルタの数については、目的とするクラス分類のタスクに応じて適宜設計される。
【０１１２】
《システム構成の例》
図８は、ニューラルネットワークの学習を行う機械学習システムと、学習済みモデルを用いる画像処理システムの構成例を示すブロック図である。
【０１１３】
図８に示す機械学習システム１００は、第１の機械学習装置１０１と、第２の機械学習装置１０２と、第１の学習データセット記憶装置１１１と、第２の学習データセット記憶装置１１２と、を含む。第１の機械学習装置１０１と第２の機械学習装置１０２は、１台又は複数台のコンピュータを用いて構成される。第１の機械学習装置１０１と第２の機械学習装置１０２の機能をまとめて１つの機械学習装置として構成してもよい。
【０１１４】
第１の機械学習装置１０１は、図３のステップＳ１及びステップＳ２の処理を実行する。第１の学習データセット記憶装置１１１は、初期の臓器セットを分類するタスクを学習させるために用いる入力用の画像と、その画像に対応する正解ラベルが付されたラベル画像とのペアから成る学習データのセットである第１の学習データセットが記憶されているデータ記憶装置である。
【０１１５】
第１の機械学習装置１０１は、第１の学習データセット記憶装置１１１に記憶されている第１の学習データセットを用いて、第１の学習処理を行い、初期の臓器セットに関するクラス分類の処理機能を獲得させた第１のニューラルネットワーク１１を完成させる。
【０１１６】
第２の機械学習装置１０２は、図３のステップＳ３からステップＳ７の処理を実行する。第２の学習データセット記憶装置１１２は、新しいクラスに属する臓器（ここでは、膵臓を例示）を分類するタスクを学習させるために用いる入力用の画像と、その画像に対応する正解ラベルが付されたラベル画像とのペアから成る学習データのセットである第２の学習データセットが記憶されているデータ記憶装置である。
【０１１７】
第２の機械学習装置１０２は、第２の学習データセット記憶装置１１２に記憶されている第２の学習データセットを用いて、第２の学習処理を行い、新しい臓器（例えば、膵臓）に関するクラス分類の処理機能を獲得させた第２のニューラルネットワーク１４を完成させる。
【０１１８】
第１の学習データセット記憶装置１１１及び第２の学習データセット記憶装置１１２は、例えば、ハードディスク装置、光ディスク、光磁気ディスク、若しくは半導体メモリ、又はこれらの適宜の組み合わせを用いて構成される記憶装置を含んで構成される。
【０１１９】
第１の機械学習装置１０１、第２の機械学習装置１０２、第１の学習データセット記憶装置１１１、及び第２の学習データセット記憶装置１１２の各々は、電気通信回線１２０を介して互いに接続される。「接続」という用語は、有線接続に限らず、無線接続の概念も含む。
【０１２０】
電気通信回線１２０は、ローカルエリアネットワークであってもよいし、ワイドエリアネットワークであってもよい。電気通信回線１２０は、有線及び無線の適宜の組み合わせによって構成される。
【０１２１】
第１の学習データセット記憶装置１１１は、第１の機械学習装置１０１を構成しているコンピュータの記憶装置であってもよい。第２の学習データセット記憶装置１１２は、第２の機械学習装置１０２を構成しているコンピュータの記憶装置であってもよい。
【０１２２】
第１の学習データセット記憶装置１１１及び第２の学習データセット記憶装置１１２の機能をまとめて１つの学習データセット記憶装置として構成してもよい。また、第１の機械学習装置１０１、第２の機械学習装置１０２、第１の学習データセット記憶装置１１１及び第２の学習データセット記憶装置１１２の機能の一部又は全部は、クラウドコンピューティングによって実現することもできる。
【０１２３】
第２の機械学習装置１０２によって学習された学習済みモデル１４０を用いる画像処理システム１３０は、医療画像を扱うデータ処理システムであり、画像取得部１３２と、判別装置１３４と、を備える。また、画像処理システム１３０は、ユーザインターフェースとしての表示装置１３６及び入力装置１３８を備える。
【０１２４】
画像処理システム１３０は、１つのデータ処理装置として構成されてもよいし、複数の装置を組み合わせて構成されてもよい。例えば、画像処理システム１３０は、１台又は複数台のコンピュータを用いて実現することができる。画像処理システム１３０は、医師等による診察、治療、又は診断などを支援する診断支援装置として用いることができる。「診断支援」という用語は、診察支援、及び／又は治療支援の概念を含む。
【０１２５】
画像取得部１３２は、処理の対象とする画像を取得するインターフェースである。画像取得部１３２は、例えば、図示せぬＣＴ装置の画像プロセッサと接続されるコネクタ端子などであってもよいし、判別装置１３４に搭載される信号処理回路の信号入力端子であってもよい。また、画像取得部１３２は、通信ネットワーク端子、外部記憶メディア用のメディアインターフェース端子、若しくは、外部機器の接続用端子、又は、これらの適宜の組み合わせであってもよい。
【０１２６】
画像取得部１３２は、処理の対象とする画像を生成する画像生成装置を含む場合がある。画像生成装置は、例えば、ＣＴ装置、Ｘ線診断装置、超音波診断装置、ＭＲＩ装置、電子内視鏡装置、若しくは、核医学診断装置、若しくは、眼底カメラなどの各種の医療機器のうちの１つ又は組み合わせであってよい。
【０１２７】
判別装置１３４は、機械学習によってマルチクラス分類の処理性能を獲得した学習済みモデル１４０を含んでいる。学習済みモデル１４０は、初期の段階では、第１の機械学習装置１０１を用いて学習させた初期の臓器セットに関する認識性能を獲得したモデルであってもよい。その後、必要に応じて、第２の機械学習装置１０２によって、既存の学習済みモデルを流用して、新しいタスクの再学習が行われ、新しい学習済みモデル１４０に置き換えられる。
【０１２８】
このような旧モジュールから新モジュールへの置き換えを行う構成に限らず、判別装置１３４には、最初から新しい学習済みモデル１４０（新モジュール）を搭載してもよい。
【０１２９】
判別装置１３４は、画像取得部１３２を介して取得された画像の入力を受けて、その画像に対する判別結果を出力する。本例の場合、多臓器のセグメンテーションの予測結果を出力する。判別装置１３４の判別結果は、セグメント化画像として表示装置１３６に表示され得る。また、表示装置１３６には、セグメント化画像に代えて、又はこれと組み合わせて、ボリュームレンダリング画像が表示され得る。判別装置１３４は、例えば、ＣＴ装置と接続されるプロセッサ装置の内部に組み込まれてもよい。
【０１３０】
表示装置１３６は、例えば、液晶ディスプレイ、有機ＥＬ（organic electro-luminescence:ＯＥＬ）ディスプレイ、若しくは、プロジェクタ、又はこれらの適宜の組み合わせであってよい。表示装置１３６は、判別結果の他、処理の対象となった画像、及び、処理に必要な各種設定情報などの各種情報を表示し得る。
【０１３１】
入力装置１３８は、例えば、操作ボタンやキーボード、マウス、タッチパネル、若しくは、音声入力装置、又はこれらの適宜の組み合わせであってよい。ユーザは、入力装置１３８を操作することにより、各種の指示を入力することができる。
【０１３２】
画像処理システム１３０は、例えば、病院内の手術室、検査室、若しくは、カンファレンス室などに設置してもよいし、院外施設の医療機関、若しくは研究機関などに設置してもよい。判別装置１３４は、診察、治療、診断などの支援を行うワークステーションであってもよいし、医療業務を支援する業務支援装置であってもよい。業務支援装置は、臨床情報の蓄積、診断書類の作成支援、レポート作成支援などを行う機能を備えていてよい。
【０１３３】
《第１の機械学習装置の構成例》
図９は、第１の機械学習装置１０１の機能を示すブロック図である。第１の機械学習装置１０１は、第１の学習処理部１５０と、ネットワークデータ取得部１５２と、パラメータ記憶部１５４と、を含む。第１の学習処理部１５０は、学習データ取得部１６０と、第１の学習用判別器１６２と、出力取得部１６４と、誤差算出部１６６と、パラメータ更新量算出部１６８と、パラメータ更新処理部１７０と、パラメータ決定部１７２と、学習済みパラメータ出力部１７４と、を含む。なお、第１の機械学習装置１０１には、図示せぬ表示装置及び入力装置が接続されていてもよい。
【０１３４】
ネットワークデータ取得部１５２は、第１の学習用判別器１６２に用いられる第１のニューラルネットワーク１１におけるネットワーク構造を規定するネットワークデータを取り込むデータ入力インターフェースである。ネットワークデータには、例えば、ネットワークの層構造を示す情報、並びに、各層に用いるフィルタのサイズ及びフィルタ数が含まれる。学習が完了する前の段階において、第１のニューラルネットワーク１１は、各層において畳み込むフィルタの係数、及び、ノードのバイアスなどのパラメータが未確定の状態であってよい。フィルタの係数は、層間におけるノード同士の「結合の重み」に相当する。
【０１３５】
ネットワークデータ取得部１５２は、電気通信回線１２０と接続される通信インターフェースであってもよいし、プログラムモジュールを読み込むメディアインターフェースであってもよい。また、ネットワークデータ取得部１５２は、図示せぬ入力装置から情報を取り込む入力インターフェースであってもよい。
【０１３６】
学習データ取得部１６０は、第１の学習データセット記憶装置１１１から学習データを取得するインターフェースである。学習データ取得部１６０は、例えば、電気通信回線１２０と接続される通信インターフェースであってよい。学習データ取得部１６０を介して取得された学習データの学習用入力画像は、第１の学習用判別器１６２に入力される。
【０１３７】
第１の学習用判別器１６２は、判別装置１３４に組み込まれるニューラルネットワークと同様の構成を備えた判別器である。第１の学習用判別器１６２は、学習用入力画像を入力信号として、判別処理を行い、処理結果を示す予測結果信号を出力する。
【０１３８】
出力取得部１６４は、第１の学習用判別器１６２の第１のニューラルネットワーク１１から出力された予測結果信号を取得する。予測結果信号は出力取得部１６４を介して、誤差算出部１６６に入力される。なお、出力取得部１６４は、誤差算出部１６６の入力部であってよい。
【０１３９】
誤差算出部１６６は、第１の学習用判別器１６２に入力された学習用入力画像に対応したラベル画像の教師信号と、実際に、第１の学習用判別器１６２から得られた予測結果信号との誤差を算出する。誤差算出部１６６によって算出された誤差は、パラメータ更新量算出部１６８に送られる。
【０１４０】
パラメータ更新量算出部１６８は、誤差算出部１６６にて算出された誤差を基に、第１のニューラルネットワーク１１のパラメータの更新量を算出する。パラメータ更新量算出部１６８は、例えば、ミニバッチ単位でパラメータの更新量を算出する。
【０１４１】
パラメータ更新処理部１７０は、パラメータ更新量算出部１６８によって算出した更新量に従い、第１のニューラルネットワーク１１のパラメータを更新する処理を行う。
【０１４２】
パラメータ決定部１７２は、予め定められた学習終了条件に従って学習を終了させ、第１の学習用判別器１６２における第１のニューラルネットワーク１１のパラメータを決定する。こうして、決定された学習済みパラメータは、学習済みパラメータ出力部１７４を介して、パラメータ記憶部１５４に記憶される。
【０１４３】
学習済みパラメータ出力部１７４は、パラメータ決定部１７２により決定された学習済みパラメータを外部に出力するための出力インターフェースである。学習済みパラメータ出力部１７４は、例えば、通信インターフェースであってもよいし、信号出力端子であってもよい。
【０１４４】
パラメータ記憶部１５４には、学習済みモデル１４０を特定するデータ及び／又はプログラムモジュールが記憶される。
【０１４５】
《第２の機械学習装置の構成例》
図１０は、第２の機械学習装置１０２の機能を示すブロック図である。図１０において、図９と同一又は類似する要素には同一の符号を付し、その説明は省略する。図９との相違点を中心に説明する。
【０１４６】
第２の機械学習装置１０２は、第２の学習処理部１８０と、ネットワークデータ取得部１５２と、ネットワーク生成部１５６と、特徴量追加処理部１５８と、を含む。第２の学習処理部１８０は、図９で説明した第１の学習処理部１５０と同様の構成を有し、第１の学習用判別器１６２に代えて、第２の学習用判別器１８２を含む。
【０１４７】
第２の学習処理部１８０は、ネットワークデータ取得部１５２を介して学習済みの第１のニューラルネットワーク１１のデータを取得する。
【０１４８】
ネットワーク生成部１５６は、特徴量追加処理部１５８と協働して、第２の学習用判別器１８２に用いる第２のニューラルネットワーク１４を生成する。
【０１４９】
特徴量追加処理部１５８は、第１のニューラルネットワーク１１に含まれる中間層の少なくとも１層に、新しい特徴量を追加する処理を行う。特徴量追加処理部１５８は、図３のステップＳ４の処理を行う。
【０１５０】
ネットワーク生成部１５６は、学習済みの第１のニューラルネットワーク１１に存在する既存の特徴量を算出する経路に関して、新しい特徴量を接続することなく第１のニューラルネットワーク１１の構造を維持し、かつ、新しい特徴量を算出する経路に関して、既存の特徴量と新しい特徴量の各々を畳み込む処理を行うことにより、次階層において追加される新たな特徴量を算出する構造を有する第２のニューラルネットワーク１４を生成する。
【０１５１】
ネットワーク生成部１５６は、特徴量追加処理部１５８によって追加された新しい特徴量を算出する経路に対応するサブネットワーク１２を生成し、かつ、学習済みの第１のニューラルネットワーク１１に、サブネットワーク１２を付加することにより、第２のニューラルネットワーク１４を生成する。
【０１５２】
学習データ取得部１６０は、第２の学習データセット記憶装置１１２から学習データを取得するインターフェースである。学習データ取得部１６０を介して取得された学習データの学習用入力画像は、第２の学習用判別器１８２に入力される。
【０１５３】
第２の学習用判別器１８２を含む第２の学習処理部１８０は、図３のステップＳ６及びステップＳ７の処理を行う。第２の学習処理部１８０の動作は、図９で説明した第１の学習処理部１５０と同様であるため、説明を省略する。
【０１５４】
第２の学習処理部１８０によって決定された学習済みパラメータは、学習済みパラメータ出力部１７４を介して、判別装置１３４（図７参照）に提供することができる。こうして、判別装置１３４における学習済みモデル１４０を最新のモデルに更新することが可能である。
【０１５５】
なお、第２の機械学習装置１０２は、第１の機械学習装置１０１の機能を内包しているため、第２の機械学習装置１０２は、第１の機械学習装置１０１として用いることが可能である。
【０１５６】
《クラス分類のタスクの一般化について》
上述した第１実施形態では、第１のクラス分類に含まれるクラスの具体例として、心臓、肝臓、及び腎臓の３臓器のセグメンテーション機能を説明し、新しく追加する第２のクラス分類に含まれるクラスの具体例として、１つの臓器（例えば、膵臓）のセグメンテーション機能を追加する例を説明したが、第１のクラス分類に含まれるクラス数及び第２のクラス分類に含まれるクラス数は、上述の例に限定されず、それぞれ任意のクラス数とすることができる。
【０１５７】
また、クラス分類するオブジェクトは「臓器」に限らず、画像内容によって様々なオブジェクトを分類するように、ニューラルネットワークを学習させることができる。
【０１５８】
図１１は、第１実施形態に係る機械学習方法をより一般的な内容に記載し直したフローチャートである。
【０１５９】
ステップＳ１１において、機械学習装置は、第１のクラス分類のタスクを学習させる第１のニューラルネットワークを生成する。
【０１６０】
ステップＳ１２において、機械学習装置は、第１の学習データセットを用いて第１のニューラルネットワークを学習する。ステップＳ１２の学習処理によって、学習済みの第１のニューラルネットワークが完成する。
【０１６１】
ステップＳ１１からステップＳ１２の処理は、第１の機械学習装置１０１（図８及び図９参照）によって実施され得る。
【０１６２】
ステップＳ１３において、機械学習装置は、学習済みの第１のニューラルネットワークを取得する。
【０１６３】
ステップＳ１４において、機械学習装置は、追加するクラスの分類に対応した新しい特徴量の計算を行うサブネットワークを生成する。
【０１６４】
ステップＳ１５において、機械学習装置は、学習済みの（既存の）第１のニューラルネットワークにサブネットワークを連結して第２のニューラルネットワークを生成する。
【０１６５】
ステップＳ１６において、機械学習装置は、第２の学習データセットを用いて第２のニューラルネットワークを学習する。このとき、学習済みの第１のニューラルネットワークにおける既存の特徴量に関するパラメータは変更しない。
【０１６６】
ステップＳ１６の第２の学習処理を経て、第２のクラス分類のタスクを行う処理機能を獲得した第２のニューラルネットワークが得られる。
【０１６７】
ステップＳ１７において、機械学習装置は、第１のクラス分類及び第２のクラス分類のタスクを行う処理機能を獲得した学習済みモデルを記憶部に保存する。記憶部は、機械学習装置の内部メモリであってもよいし、機械学習装置に接続された外部記憶装置であってもよい。
【０１６８】
ステップＳ１３からステップＳ１７の処理は、第２の機械学習装置１０２（図８及び図１０参照）によって実施され得る。
【０１６９】
《第２実施形態》
第１実施形態では、第１のニューラルネットワーク１１を学習するプロセスを含む例を説明したが、学習済みの第１のニューラルネットワーク１１は、予め用意されているものであってもよい。例えば、図３に示したステップＳ１及びステップＳ２の処理は省略されてもよい。また、図１１に示したステップＳ１１及びステップＳ１２の処理は省略されてもよい。
【０１７０】
図１２は、第２実施形態に係る機械学習方法の手順を示すフローチャートである。図１２において、図３に示すフローチャートと同一の処理には同一のステップ番号を付し、その説明は省略する。
【０１７１】
図１２に示す機械学習方法は、学習済みの第１のニューラルネットワーク１１が既に存在していることを前提として、この学習済みの第１のニューラルネットワーク１１を用いて、第２のニューラルネットワーク１４の生成と再学習を行うものである。
【０１７２】
図１０で説明した第２の機械学習装置１０２は、第２実施形態に係る機械学習方法を実施し得る。
【０１７３】
《各実施形態の利点》
上述した各実施形態に係る機械学習方法及び機械学習装置によれば、例えば、次のような利点がある。
【０１７４】
（１）学習済みの第１のニューラルネットワークの出力性能を変更せずに、別のタスクの処理機能を追加した新しいニューラルネットワーク（第２のニューラルネットワーク）を提供できる。
【０１７５】
（２）例えば、学習済みの第１のニューラルネットワークを第１の判別モジュールとして、市場にリリースした後に、このリリース済みモジュールの出力性能を変更せずに、別のタスクの処理機能を追加した新モジュール（第２の判別モジュール）を提供することができる。
【０１７６】
（３）また、リリース済みの旧モジュールと、機能追加した新モジュールの間で一部の特徴量を共有しているため、計算量が抑制され、計算の実行速度を高速に維持できる。
【０１７７】
《変形例１》
上述の各実施形態では、マルチクラス分類の例として、画素ごとに（ボクセルごとに）クラス分けを行うセグメンテーションのタスクを説明したが、本発明の適用範囲は、セグメンテーションのタスクに限らず、画像単位でクラス分類を行うタスクについても応用することができる。第１のニューラルネットワーク及び第２のニューラルネットワークの各々は全層畳み込みネットワークに限らず、出力層その他の少なくとも１層に全結合層を備えたネットワーク構造であってもよい。
【０１７８】
《変形例２》
本発明の実施に際しては、ＣＴ画像から複数の臓器を分類するタスクに限らず、様々なタスクへの応用が可能である。例えば、本発明は、内視鏡画像から病変領域を判別するタスクを行う場合にも用いることができる。また、本発明は、風景の画像を１又は複数の対象物の領域に分類するセグメンテーションを行う場合に用いることができる。
【０１７９】
《変形例３》
本発明は、映像監視の分野に応用することができる。例えば、本発明は、監視カメラなどを用いて撮影される動画から、人物若しくは不審者等の抽出を行う用途に用いることができる。また、本発明は、車載カメラを用いて撮影される動画から、道路交通標識、人物、及び車両などの対象物を抽出する用途に用いることができる。
【０１８０】
《変形例４》
本発明は、画像認識の分野に限らず、音声認識、或いは言語認識などの処理を行うシステムについても同様に適用可能である。
【０１８１】
《各処理部のハードウェア構成について》
図９及び図１０で説明した第１の学習処理部１５０、ネットワークデータ取得部１５２、ネットワーク生成部１５６、特徴量追加処理部１５８、学習データ取得部１６０、第１の学習用判別器１６２、出力取得部１６４、誤差算出部１６６、パラメータ更新量算出部１６８、パラメータ更新処理部１７０、パラメータ決定部１７２、第１のニューラルネットワーク１１、サブネットワーク１２及び第２のニューラルネットワーク１４などの各種の制御部並びに処理を実行する処理部（processing unit）のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ（processor）である。
【０１８２】
各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるＣＰＵ、画像処理に特化したプロセッサであるＧＰＵ、ＦＰＧＡ（Field Programmable Gate Array）などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ）、ＡＳＩＣ（Application Specific Integrated Circuit）などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
【０１８３】
１つの処理部は、これら各種のプロセッサのうちの１つで構成されていてもよいし、同種又は異種の２つ以上のプロセッサで構成されてもよい。例えば、１つの処理部は、複数のＦＰＧＡ、或いは、ＣＰＵとＦＰＧＡの組み合わせ、又はＣＰＵとＧＰＵの組み合わせによって構成されてもよい。また、複数の処理部を１つのプロセッサで構成してもよい。複数の処理部を１つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、１つ以上のＣＰＵとソフトウェアの組み合わせで１つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ（System On Chip：ＳｏＣ）などに代表されるように、複数の処理部を含むシステム全体の機能を１つのＩＣ（Integrated Circuit）チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを１つ以上用いて構成される。
【０１８４】
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路（circuitry）である。
【０１８５】
《コンピュータのハードウェア構成の例》
図１３は、第１の機械学習装置１０１、第２の機械学習装置１０２、若しくは判別装置１３４、又はこれらの複数の機能を備えた装置として用いることができるコンピュータのハードウェア構成の例を示すブロック図である。コンピュータには、デスクトップ型、ノート型、又はタブレット型など、各種形態のコンピュータが含まれる。また、コンピュータには、サーバコンピュータであってもよいし、マイクロコンピュータであってもよい。
【０１８６】
コンピュータ５００は、ＣＰＵ５０２と、メモリ５０４と、ＧＰＵ５０６と、記憶装置５０８と、入力インターフェース部５１０と、ネットワーク接続用の通信インターフェース部５１２と、表示制御部５１４と、周辺機器用インターフェース部５１６と、バス５１８と、を備える。図１３において「ＩＦ」の表記は「インターフェース」を表す。
【０１８７】
記憶装置５０８は、例えば、ハードディスク装置を用いて構成されてよい。記憶装置５０８には、学習処理及び／又は認識処理等の画像処理に必要な各種プログラムやデータ等が記憶されている。記憶装置５０８に記憶されているプログラムがメモリ５０４にロードされ、これをＣＰＵ５０２が実行することにより、コンピュータは、プログラムで規定される各種の処理を行う手段として機能する。記憶装置５０８は、第１の学習データセット記憶装置１１１及び／又は第２の学習データセット記憶装置１１２として用いることが可能である。
【０１８８】
入力装置５２０は入力インターフェース部５１０に接続される。表示装置５３０は表示制御部５１４に接続される。入力装置５２０と表示装置５３０は、図８で説明した入力装置１３８と表示装置１３６として機能し得る。
【０１８９】
《コンピュータを動作させるプログラムについて》
上述の各実施形態で説明した機械学習方法による学習機能、並びに、ニューラルネットワークを用いたクラス分類の処理機能のうち少なくとも１つの処理機能をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、若しくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。またこのような有体物たる非一時的な情報記憶媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
【０１９０】
また、上述の各実施形態で説明した機械学習方法による学習機能、並びに、ニューラルネットワークを用いたクラス分類の処理機能のうち少なくとも１つの処理機能の一部又は全部をアプリケーションサーバとして提供し、電気通信回線を通じて処理機能を提供するサービスを行うことも可能である。
【０１９１】
［その他］
以上説明した本発明の実施形態は、本発明の趣旨を逸脱しない範囲で、適宜構成要件を変更、追加、又は削除することが可能である。本発明は以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で同等関連分野の通常の知識を有する者により、多くの変形が可能である。
【符号の説明】
【０１９２】
１０、１０Ａ  ニューラルネットワーク
１１  第１のニューラルネットワーク
１２  サブネットワーク
１４  第２のニューラルネットワーク
２０  ＣＴ画像
２２  入力画像
３０  セグメント化ＣＴ画像
３２  ボリュームレンダリング画像
３４  ３臓器セグメント化画像
３６  ４臓器セグメント化画像
４０  入力層
４２  中間層
４４  出力層
１００  機械学習システム
１０１  第１の機械学習装置
１０２  第２の機械学習装置
１１１  第１の学習データセット記憶装置
１１２  第２の学習データセット記憶装置
１２０  電気通信回線
１３０  画像処理システム
１３２  画像取得部
１３４  判別装置
１３６  表示装置
１３８  入力装置
１４０  学習済みモデル
１５０  第１の学習処理部
１５２  ネットワークデータ取得部
１５４  パラメータ記憶部
１５６  ネットワーク生成部
１５８  特徴量追加処理部
１６０  学習データ取得部
１６２  第１の学習用判別器
１６４  出力取得部
１６６  誤差算出部
１６８  パラメータ更新量算出部
１７０  パラメータ更新処理部
１７２  パラメータ決定部
１７４  学習済パラメータ出力部
１８０  第２の学習処理部
１８２  第２の学習用判別器
５００  コンピュータ
５０４  メモリ
５０８  記憶装置
５１０  入力インターフェース部
５１２  通信インターフェース部
５１４  表示制御部
５１６  周辺機器用インターフェース部
５１８  バス
５２０  入力装置
５３０  表示装置
Ｃ１〜Ｃ１５  畳み込み層
Ｐ１〜Ｐ３  プーリング層
Ｕ１〜Ｕ３  アンプーリング層
Ｆ１Ａ〜Ｆ１Ｃ  フィルタ
Ｆ３Ａ〜Ｆ３Ｋ  フィルタ
Ｆ６Ａ〜Ｆ６Ｎ  フィルタ
Ｆ８Ａ〜Ｆ８Ｆ  フィルタ
ＦＭ１  心臓特徴マップ
ＦＭ２  肝臓特徴マップ
ＦＭ３  腎臓特徴マップ
ＦＭ４  その他特徴マップ
ＦＭ５  膵臓特徴マップ
ＦＭ６  新その他特徴マップ
Ｌ１〜Ｌ８  層
Ｓ１〜Ｓ７  機械学習方法の処理のステップ
Ｓ１１〜Ｓ１７  機械学習方法の処理のステップ
【図１】
0006887055.tif 000002
【図２】
0006887055.tif 000003
【図３】
0006887055.tif 000004
【図４】
0006887055.tif 000005
【図５】
0006887055.tif 000006
【図６】
0006887055.tif 000007
【図７】
0006887055.tif 000008
【図８】
0006887055.tif 000009
【図９】
0006887055.tif 000010
【図１０】
0006887055.tif 000011
【図１１】
0006887055.tif 000012
【図１２】
0006887055.tif 000013
【図１３】
0006887055.tif 000014