(57)【要約】【課題】能力のより高い学習済みの学習モデルを構築するための技術を提供する。【解決手段】本発明の一側面に係るモデル統合装置は、複数の学習装置それぞれから学習済みの学習モデルを収集するモデル収集部と、各学習済みの学習モデルに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する統合処理部と、統合処理の結果を各学習装置に送信し、各学習装置に対して、各学習済みの学習モデル内の統合範囲に統合処理の結果を適用させることで、各学習装置の保持する学習済み学習モデルを更新するモデル更新部と、を備える。【選択図】図１
2020115311.tif 000002
【特許請求の範囲】
【請求項１】
複数の学習装置それぞれから学習済みの学習モデルを収集するモデル収集部であって、前記各学習装置は、ローカル学習データを収集し、かつ収集したローカル学習データを利用した機械学習により所定の能力を獲得した学習済みの学習モデルを構築し、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する、モデル収集部と、
前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行する統合処理部と、
前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するモデル更新部と、
を備える、
モデル統合装置。
【請求項２】
収集した前記各学習済みの学習モデルに含まれる前記共通部分内において前記統合範囲を決定する範囲調整部を更に備える、
請求項１に記載のモデル統合装置。
【請求項３】
前記各学習済みの学習モデルの構造はテンプレートにより与えられ、
前記範囲調整部は、前記テンプレートに基づいて、前記統合範囲を決定する、
請求項２に記載のモデル統合装置。
【請求項４】
前記各学習済みの学習モデルの前記共通部分は、複数の演算モジュールを備えており、
前記共通部分内において前記統合範囲を決定することは、
前記各学習済みの学習モデルに評価用サンプルを入力して、前記共通部分に含まれる前記各演算モジュールから出力を取得すること、
前記各学習済みの学習モデルの対応する前記演算モジュール間の、取得された前記出力の類似性及び相関性の少なくともいずれかを算出すること、及び
算出された類似性及び相関性の少なくともいずれかが所定の条件を満たす前記演算モジュールを前記統合範囲に指定すること、
を含む、
請求項２に記載のモデル統合装置。
【請求項５】
前記範囲調整部は、前記統合処理を実行する前と比べて、前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上するように前記統合範囲を最適化する、
請求項２に記載のモデル統合装置。
【請求項６】
前記範囲調整部は、前記共通部分内において暫定統合範囲を指定し、
前記統合処理部は、前記各学習済みの学習モデルに対して、指定された前記暫定統合範囲に反映された前記機械学習の結果を統合する統合処理を実行し、
前記統合範囲を最適化することは、
前記統合処理を実行する前の前記各学習済みの学習モデルが評価用サンプルに対して前記所定の能力を発揮した第１の結果を取得すること、
前記統合処理を実行した後の前記各学習済みの学習モデルが前記評価用サンプルに対して前記所定の能力を発揮した第２の結果を取得すること、
前記第１の結果及び前記第２の結果を比較することで、前記統合処理を実行する前と比べて、前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上しているか否かを判定すること、及び
前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上していると判定した場合に、前記暫定統合範囲を前記統合範囲に決定すること、
を含む、
請求項５に記載のモデル統合装置。
【請求項７】
前記範囲調整部は、前記共通部分内において複数の暫定統合範囲を指定し、
前記統合処理部は、前記暫定統合範囲毎に、前記各学習済みの学習モデルに対する、指定された前記各暫定統合範囲に反映された前記機械学習の結果を統合する統合処理を実行し、
前記統合範囲を最適化することは、
前記暫定統合範囲毎に、前記統合処理を実行した後の前記各学習済みの学習モデルが評価用サンプルに対して前記所定の能力を発揮した結果を取得すること、
取得した前記各結果に基づいて、前記統合処理を実行した後の前記各学習済みの学習モデルの有する前記所定の能力が最も高い暫定統合範囲を特定すること、
特定した前記暫定統合範囲を前記統合範囲に決定すること、
を含む、
請求項５又は６に記載のモデル統合装置。
【請求項８】
前記複数の学習装置それぞれを複数のグループのうちの少なくともいずれかに割り当てるグルーピング部を更に備え、
前記モデル収集部は、同一のグループに属する複数の学習装置それぞれから前記学習済みの学習モデルを収集し、
前記範囲調整部は、前記同一のグループ内で、収集した前記各学習済みの学習モデルに含まれる共通部分内において前記統合範囲を決定し、
前記統合処理部は、前記同一のグループ内で、前記各学習済みの学習モデルに対して、決定された前記統合範囲に反映された前記機械学習の結果を統合する統合処理を実行し、
前記モデル更新部は、前記同一のグループ内で、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新する、
請求項２から７のいずれか１項に記載のモデル統合装置。
【請求項９】
前記グルーピング部は、前記複数のグループを示すリストを前記各学習装置に配信して、前記各学習装置に対して、前記リストに示される前記複数のグループのうちから１つ以上のグループを選択させ、選択された前記１つ以上のグループに前記各学習装置を割り当てる、
請求項８に記載のモデル統合装置。
【請求項１０】
前記グルーピング部は、
前記所定の能力に関する属性データを前記各学習装置から取得し、
前記各学習装置から取得した前記属性データをクラスタリングし、
前記クラスタリングの結果に基づいて、前記複数の学習装置それぞれを前記複数のグループのうちの少なくともいずれかに割り当てる、
請求項８に記載のモデル統合装置。
【請求項１１】
前記グルーピング部は、前記統合処理を実行する前と比べて、前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上するように、前記複数のグループに対する前記各学習装置の割り当てを最適化する、
請求項８に記載のモデル統合装置。
【請求項１２】
前記グルーピング部は、前記複数のグループに対する前記各学習装置の割り当ての異なる複数の暫定グループ分けを行い、
前記範囲調整部は、前記暫定グループ分け毎に、同一のグループ内で、収集した前記各学習済みの学習モデルに含まれる共通部分内において前記統合範囲を決定し、
前記統合処理部は、前記暫定グループ分け毎に、前記同一のグループ内で、前記各学習済みの学習モデルに対して、決定された前記統合範囲に反映された前記機械学習の結果を統合する統合処理を実行し、
前記各学習装置の割り当てを最適化することは、
前記暫定グループ分け毎に、前記同一のグループ内で、前記統合処理を実行した後の前記各学習済みの学習モデルが評価用サンプルに対して前記所定の能力を発揮した結果を取得すること、
取得した前記各結果に基づいて、前記同一のグループ内で、前記統合処理を実行した後の前記各学習済みの学習モデルの有する前記所定の能力が最も高い暫定グループ分けを特定すること、及び
特定した前記暫定グループ分けに従って、前記複数の学習装置それぞれを複数のグループのうちの少なくともいずれかに割り当てること、
を含む、
請求項１１に記載のモデル統合装置。
【請求項１３】
前記統合範囲に反映された前記機械学習の結果を統合することは、前記統合範囲に含まれる演算パラメータの値を平均化すること又は合計することを含む、
請求項１から１２のいずれか１項に記載のモデル統合装置。
【請求項１４】
前記各学習済みの学習モデルに対して重みを設定する重み設定部であって、前記各重みは、前記統合処理における前記各学習済みの学習モデルの優先度合いを定める、重み設定部を更に備え、
前記統合範囲に反映された前記機械学習の結果を統合することは、設定された前記各重みを使用して、前記各学習済みの学習モデルの前記統合範囲に含まれる演算パラメータの値に重み付けをしてから平均化又は合計することを含む、
請求項１から１２のいずれか１項に記載のモデル統合装置。
【請求項１５】
前記重み設定部は、前記機械学習に利用した前記ローカル学習データの数が多いほど前記重みが大きくなるように、前記各重みを設定する、
請求項１４に記載のモデル統合装置。
【請求項１６】
前記ローカル学習データは、前記所定の能力における特定の要素に関する特定学習データを含み、
前記重み設定部は、前記機械学習に利用した前記ローカル学習データに含まれる前記特定学習データの比率が高いほど前記重みが大きくなるように、前記各重みを設定する、
請求項１４に記載のモデル統合装置。
【請求項１７】
前記統合範囲に反映された前記機械学習の結果の統合は秘密計算により行われる、
請求項１から１６のいずれか１項に記載のモデル統合装置。
【請求項１８】
複数の学習装置と、
モデル統合装置と、
を備え、
前記各学習装置は、
ローカル学習データを収集するステップと、
収集した前記ローカル学習データを利用した機械学習により所定の推論能力を獲得した学習済みの学習モデルを構築するステップと、
を実行し、
前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、
前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有し、
前記モデル統合装置は、
前記複数の学習装置それぞれから前記学習済みの学習モデルを収集するステップと、
前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、
前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、
を実行する、
推論システム。
【請求項１９】
コンピュータが、
複数の学習装置それぞれから学習済みの学習モデルを収集するステップであって、前記各学習装置は、ローカル学習データを収集し、かつ収集したローカル学習データを利用した機械学習により所定の能力を獲得した学習済みの学習モデルを構築し、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する、ステップと、
前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、
前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、
を実行する、
モデル統合方法。
【請求項２０】
コンピュータに、
複数の学習装置それぞれから学習済みの学習モデルを収集するステップであって、前記各学習装置は、ローカル学習データを収集し、かつ収集したローカル学習データを利用した機械学習により所定の能力を獲得した学習済みの学習モデルを構築し、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する、ステップと、
前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、
前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、
を実行させるための、
モデル統合プログラム。
【請求項２１】
複数の検査装置と、
モデル統合装置と、
を備え、
前記各検査装置は、
製品の写る画像データを含むローカル学習データを収集するステップと、
収集した前記ローカル学習データを利用した機械学習により、前記画像データに写る前記製品の状態を判定する能力を獲得した学習済みの学習モデルを構築するステップと、
を実行し、
前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、
前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有し、
前記モデル統合装置は、
前記複数の検査装置それぞれから前記学習済みの学習モデルを収集するステップと、
前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、
前記統合処理の結果を前記各検査装置に配信し、前記各検査装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各検査装置の保持する前記学習済み学習モデルを更新するステップと、
を実行する、
検査システム。
【請求項２２】
植物の生育環境を制御して、当該植物を栽培する栽培装置にそれぞれ接続された複数の制御装置と、
モデル統合装置と、
を備え、
前記各制御装置は、
前記植物の栽培状況に関する状況データ及び当該栽培状況に応じた生育環境の制御を前記栽培装置に指令する制御指令を含むローカル学習データを収集するステップと、
収集した前記ローカル学習データを利用した機械学習により、前記植物の栽培状況に応じて前記栽培装置に与える制御指令を決定する能力を獲得した学習済みの学習モデルを構築するステップと、
を実行し、
前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、
前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有し、
前記モデル統合装置は、
前記複数の制御装置それぞれから前記学習済みの学習モデルを収集するステップと、
前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、
前記統合処理の結果を前記各制御装置に配信し、前記各制御装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各制御装置の保持する前記学習済み学習モデルを更新するステップと、
を実行する、
制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル統合装置、モデル統合方法、モデル統合プログラム、推論システム、検査システム、及び制御システムに関する。
【背景技術】
【０００２】
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献１では、学習済みの第１のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第２のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０２６９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本件発明者は、上記のような、ニューラルネットワーク等の学習モデルを利用した従来の検査方法には、次のような問題点があることを見出した。
【０００５】
すなわち、個々の現場では、学習データの収集するのには限界があるため、検査能力の向上に価値ある学習データ（例えば、製品に異常が発生した時のデータ）を短期間で数多く収集するのは困難である。そこで、この問題を解決するために、多数の現場で得られた学習データを集結し、集結した学習データを利用した機械学習を実施することで、より検査能力の高い学習済みの学習モデルを構築することが考えられる。
【０００６】
しかしながら、各現場は、個々の事情に基づいて、独自に運営される。各現場は、基本的には他の現場とは無関係に学習データを収集する。そのため、そもそも各現場で同じ目的の検査が実施されているとは限らない。よって、各現場で得られた画像データそのままでは共通の機械学習に使用できない可能性があり、また、そもそも機械学習に利用される学習モデルの構造が各現場で一致しているとは限らない。加えて、各現場で得られた大量の学習データをサーバに集結すると、サーバにかかる通信コストが膨大になってしまう。また、集結された大量の学習データを使用した機械学習の計算コストが大きくなってしまう。そのため、計算処理に利用するメモリの不足が生じてしまう、計算処理の時間が長くなってしまう、計算処理が所定時間内に完了しない等の不具合が生じてしまう可能性がある。
【０００７】
このように、機械学習を実施するために学習データを集結するのには様々な技術的な障害が存在する。そのため、この学習データを集結する方法により、より検査能力の高い学習済みの学習モデルを構築するのは現実的ではない。したがって、従来の方法では、学習モデルに獲得させる検査能力の向上には限界がある、換言すると、検査能力のより高い学習済みの学習モデルを構築するのが困難であるという問題点があることを本件発明者は見出した。これに起因して、従来の方法では、画像データを利用した高精度な製品の外観検査を実現するのは困難である。
【０００８】
なお、この問題点は、製品の状態（良否）を判定する能力を学習モデルに習得させる場面に特有のものではない。ローカルの学習データを利用した機械学習により所定の能力を学習モデルに習得させるあらゆる場面で同様の問題点が生じる。所定の能力を学習モデルに習得させる場面とは、例えば、植物の栽培状況に応じて植物の栽培装置に与える制御指令を決定する能力を学習モデルに習得させる場面、運転者を観察することで得られたデータから当該運転者の状態を推定する能力を学習モデルに習得させる場面、気象に関するデータから発電装置の発電量を予測する能力を学習モデルに習得させる場面、対象者のバイタルデータから当該対象者の健康状態を推定する能力を学習モデルに習得させる場面等、である。これらの場面で利用されるローカルの学習データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。これらの場面でも、個々の現場では、能力の向上に価値ある学習データを短期間で数多く収集するのは困難である。また、機械学習を実施するために、多数の現場で得られた学習データを集結するのには様々な技術的な障害がある。そのため、従来の方法では、能力のより高い学習済みの学習モデルを構築するのが困難であるという問題がある。
【０００９】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、能力のより高い学習済みの学習モデルを構築するための技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１１】
すなわち、本発明の一側面に係るモデル統合装置は、複数の学習装置それぞれから学習済みの学習モデルを収集するモデル収集部であって、前記各学習装置は、ローカル学習データを収集し、かつ収集したローカル学習データを利用した機械学習により所定の能力を獲得した学習済みの学習モデルを構築し、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する、モデル収集部と、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行する統合処理部と、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するモデル更新部と、を備える。
【００１２】
当該構成に係るモデル統合装置は、各学習装置により収集されたローカル学習データそのものではなく、ローカル学習データを利用した機械学習により構築された学習済みの学習モデルを各学習装置から収集する。各学習済みの学習モデルは、共通の構造を有する共通部分を含むように構成される。つまり、各学習済みの学習モデルは、共通部分の構造を共有するように構成される。当該構成に係るモデル統合装置は、各学習済みの学習モデルに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する。
【００１３】
よって、当該構成では、ローカル学習データそのものを集結するのではなく、各学習装置により構築された各学習済みの学習モデルを収集し、収集された各学習済みの学習モデルに対して統合処理を実行する。そのため、モデル統合装置にかかる通信コスト及び計算コストを抑えることができる。また、統合処理は、各学習済みの学習モデルに含まれる共通部分に設定された統合範囲に対して実行されるに過ぎないため、各学習モデルの構造が相違していることが許容される。つまり、個々の事情により、各学習モデルの構造が不一致であったとしても、各学習モデルに対する統合処理は実行可能であり、この統合処理によって、各学習モデルに反映された機械学習の結果を他の学習モデルに適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデルは、他の学習済みの学習モデルにおける機械学習の結果に基づいて、各学習装置単独では得られないようなデータに対しても、所定の能力を適切に発揮することができるようになる。したがって、当該構成によれば、学習データを集結する上記の方法に生じ得る種々の問題を解決することができるため、能力のより高い学習済みの学習モデルを構築する環境を実現することができる。
【００１４】
なお、学習モデルは、機械学習により所定の能力を獲得可能なモデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。学習モデルには、例えば、ニューラルネットワーク等が用いられてよい。学習済みの学習モデルには、推定器、識別器等、用途に応じて異なる呼称が用いられてよい。機械学習の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ローカル学習データは、各学習装置において、学習モデルの機械学習に使用される学習データである。ローカル学習データの構成は、学習モデルの種類、学習モデルに獲得させる能力等に応じて適宜選択されてよい。
【００１５】
所定の能力は、与えられたデータに対して何らかの情報処理を実行する能力である。所定の能力は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一例では、所定の能力は、未知の対象データに対して何らかの推定（回帰又は識別）を行う推論能力である。推論能力は、例えば、未知の対象データに含まれる何らかの特徴を推定する能力である。特徴は、データから推論可能なあらゆる要素を含んでよい。このような推論能力として、例えば、画像データに写る製品の状態（良否）を推定する能力、植物の栽培状況に応じて栽培装置に与える制御指令を決定する能力、運転者を観察することで得られたデータから当該運転者の状態を推定する能力、気象に関するデータから発電装置の発電量を予測する能力、対象者のバイタルデータから当該対象者の健康状態を推定する能力等を挙げることができる。
【００１６】
また、各学習モデルは、所定の能力を発揮するための演算処理に利用される演算パラメータを含む。各学習モデルがニューラルネットワークにより構成される場合、演算パラメータは、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。機械学習の結果は、演算パラメータの値に反映される。統合処理は、各学習モデルの統合範囲に含まれる演算パラメータの値を統合することにより、各学習モデルの統合範囲に反映された機械学習の結果を統合する。「モデル更新」は、学習済み学習モデルの更新のために、統合処理の結果を配信することで足り、更新処理を実行するように各学習装置に指示することまでは含まなくてよい。
【００１７】
上記一側面に係るモデル統合装置は、収集した前記各学習済みの学習モデルに含まれる前記共通部分内において前記統合範囲を決定する範囲調整部を更に備えてもよい。当該構成によれば、異なる構造を有する各学習モデルに対して適切な統合範囲を設定することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００１８】
上記一側面に係るモデル統合装置において、前記各学習済みの学習モデルの構造はテンプレートにより与えられてよく、前記範囲調整部は、前記テンプレートに基づいて、前記統合範囲を決定してもよい。当該構成によれば、異なる構造を有する各学習モデルに対して適切な統合範囲を簡易に設定することができる。なお、テンプレートは、学習モデルのひな型を与える情報を含むものであれば、そのデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。また、テンプレートは、学習モデルの構造に関する情報の他に、学習モデルの演算パラメータの初期値に関する情報を含んでもよい。学習モデルがニューラルネットワークにより構成される場合、ニューラルネットワークにおける層の数、各層に含まれるニューロン（ノード）の数、及び隣接する層のニューロン同士の結合関係が、学習モデルの構造の一例である。また、各ニューロン間の結合の重み及び各ニューロンの閾値が、演算パラメータの一例である。
【００１９】
上記一側面に係るモデル統合装置において、前記各学習済みの学習モデルの前記共通部分は、複数の演算モジュールを備えていてもよい。そして、前記共通部分内において前記統合範囲を決定することは、前記各学習済みの学習モデルに評価用サンプルを入力して、前記共通部分に含まれる前記各演算モジュールから出力を取得すること、前記各学習済みの学習モデルの対応する前記演算モジュール間の、取得された前記出力の類似性及び相関性の少なくともいずれかを算出すること、及び算出された類似性及び相関性の少なくともいずれかが所定の条件を満たす前記演算モジュールを前記統合範囲に指定すること、を含んでもよい。当該構成によれば、異なる構造を有する各学習モデルに対して適切な統合範囲を設定することができる。なお、各演算モジュールは、１又は複数の演算パラメータにより構成されてよい。学習モデルがニューラルネットワークにより構成される場合、各演算モジュールは、最も入力側の第１層から第Ｎ番目（Ｎは１以上の自然数）の層までのネットワークにより構成されてよい。
【００２０】
上記一側面に係るモデル統合装置において、前記範囲調整部は、前記統合処理を実行する前と比べて、前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上するように前記統合範囲を最適化してもよい。当該構成によれば、異なる構造を有する各学習モデルに対して最適な統合範囲を設定することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００２１】
上記一側面に係るモデル統合装置において、前記範囲調整部は、前記共通部分内において暫定統合範囲を指定してもよく、前記統合処理部は、前記各学習済みの学習モデルに対して、指定された前記暫定統合範囲に反映された前記機械学習の結果を統合する統合処理を実行してもよい。そして、前記統合範囲を最適化することは、前記統合処理を実行する前の前記各学習済みの学習モデルが評価用サンプルに対して前記所定の能力を発揮した第１の結果を取得すること、前記統合処理を実行した後の前記各学習済みの学習モデルが前記評価用サンプルに対して前記所定の能力を発揮した第２の結果を取得すること、前記第１の結果及び前記第２の結果を比較することで、前記統合処理を実行する前と比べて、前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上しているか否かを判定すること、及び前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上していると判定した場合に、前記暫定統合範囲を前記統合範囲に決定すること、を含んでもよい。当該構成によれば、異なる構造を有する各学習モデルに対して最適な統合範囲を設定することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００２２】
上記一側面に係るモデル統合装置において、前記範囲調整部は、前記共通部分内において複数の暫定統合範囲を指定してもよく、前記統合処理部は、前記暫定統合範囲毎に、前記各学習済みの学習モデルに対する、指定された前記各暫定統合範囲に反映された前記機械学習の結果を統合する統合処理を実行してもよい。そして、前記統合範囲を最適化することは、前記暫定統合範囲毎に、前記統合処理を実行した後の前記各学習済みの学習モデルが評価用サンプルに対して前記所定の能力を発揮した結果を取得すること、取得した前記各結果に基づいて、前記統合処理を実行した後の前記各学習済みの学習モデルの有する前記所定の能力が最も高い暫定統合範囲を特定すること、特定した前記暫定統合範囲を前記統合範囲に決定すること、を含んでもよい。当該構成によれば、異なる構造を有する各学習モデルに対して最適な統合範囲を設定することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００２３】
上記一側面に係るモデル統合装置は、前記複数の学習装置それぞれを複数のグループのうちの少なくともいずれかに割り当てるグルーピング部を更に備えてもよい。前記モデル収集部は、同一のグループに属する複数の学習装置それぞれから前記学習済みの学習モデルを収集してもよい。前記範囲調整部は、前記同一のグループ内で、収集した前記各学習済みの学習モデルに含まれる共通部分内において前記統合範囲を決定してもよい。前記統合処理部は、前記同一のグループ内で、前記各学習済みの学習モデルに対して、決定された前記統合範囲に反映された前記機械学習の結果を統合する統合処理を実行してもよい。前記モデル更新部は、前記同一のグループ内で、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新してもよい。当該構成によれば、各学習装置をグループ分けし、能力のより高い学習済みの学習モデルをグループ毎に構築することができる。
【００２４】
上記一側面に係るモデル統合装置において、前記グルーピング部は、前記複数のグループを示すリストを前記各学習装置に配信して、前記各学習装置に対して、前記リストに示される前記複数のグループのうちから１つ以上のグループを選択させ、選択された前記１つ以上のグループに前記各学習装置を割り当ててもよい。当該構成によれば、簡易な方法により各学習装置をグループ分けすることができる。
【００２５】
上記一側面に係るモデル統合装置において、前記グルーピング部は、前記所定の能力に関する属性データを前記各学習装置から取得し、前記各学習装置から取得した前記属性データをクラスタリングし、前記クラスタリングの結果に基づいて、前記複数の学習装置それぞれを前記複数のグループのうちの少なくともいずれかに割り当ててもよい。当該構成によれば、学習モデルの属性に応じて、各学習装置をグループ分けすることができる。
【００２６】
なお、属性データは、所定の能力に関するあらゆる情報を含んでもよく、例えば、所定の能力の種別を示す情報、学習モデルに要求される仕様に関する情報、等を含んでもよい。所定の能力の種別を示す情報は、例えば、外観検査、栽培装置の制御等の学習モデルに獲得させる能力を識別するための情報を含んでもよい。学習モデルがニューラルネットワークにより構成される場合、ニューラルネットワークの層の数が増えるほど、所定の能力を発揮する精度は高まる一方で、計算コストが増加するため、演算速度は低下する。つまり、学習モデルの構造は、学習モデルの精度、演算速度等の仕様に関連する。そのため、学習モデルに要求される仕様に関する情報は、例えば、精度、演算速度等の学習モデルの構造に関連する情報を含んでもよい。
【００２７】
上記一側面に係るモデル統合装置において、前記グルーピング部は、前記統合処理を実行する前と比べて、前記統合処理を実行した後に前記各学習済みの学習モデルの有する前記所定の能力が向上するように、前記複数のグループに対する前記各学習装置の割り当てを最適化してもよい。当該構成によれば、各学習装置を最適にグループ分けすることができ、これによって、能力のより高い学習済みの学習モデルをグループ毎に構築することができる。
【００２８】
上記一側面に係るモデル統合装置において、前記グルーピング部は、前記複数のグループに対する前記各学習装置の割り当ての異なる複数の暫定グループ分けを行ってもよい。前記範囲調整部は、前記暫定グループ分け毎に、同一のグループ内で、収集した前記各学習済みの学習モデルに含まれる共通部分内において前記統合範囲を決定してもよい。前記統合処理部は、前記暫定グループ分け毎に、前記同一のグループ内で、前記各学習済みの学習モデルに対して、決定された前記統合範囲に反映された前記機械学習の結果を統合する統合処理を実行してもよい。そして、前記各学習装置の割り当てを最適化することは、前記暫定グループ分け毎に、前記同一のグループ内で、前記統合処理を実行した後の前記各学習済みの学習モデルが評価用サンプルに対して前記所定の能力を発揮した結果を取得すること、取得した前記各結果に基づいて、前記同一のグループ内で、前記統合処理を実行した後の前記各学習済みの学習モデルの有する前記所定の能力が最も高い暫定グループ分けを特定すること、及び特定した前記暫定グループ分けに従って、前記複数の学習装置それぞれを複数のグループのうちの少なくともいずれかに割り当てること、を含んでもよい。当該構成によれば、各学習装置を最適にグループ分けすることができ、これによって、能力のより高い学習済みの学習モデルをグループ毎に構築することができる。
【００２９】
上記一側面に係るモデル統合装置において、前記統合範囲に反映された前記機械学習の結果を統合することは、前記統合範囲に含まれる演算パラメータの値を平均化すること又は合計することを含んでもよい。当該構成によれば、各学習済みの学習モデルの統合範囲を適切に統合することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００３０】
上記一側面に係るモデル統合装置は、前記各学習済みの学習モデルに対して重みを設定する重み設定部であって、前記各重みは、前記統合処理における前記各学習済みの学習モデルの優先度合いを定める、重み設定部を更に備えてもよい。そして、前記統合範囲に反映された前記機械学習の結果を統合することは、設定された前記各重みを使用して、前記各学習済みの学習モデルの前記統合範囲に含まれる演算パラメータの値に重み付けをしてから平均化又は合計することを含んでもよい。当該構成によれば、各学習済みの学習モデルの統合範囲を適切に統合することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００３１】
上記一側面に係るモデル統合装置において、前記重み設定部は、前記機械学習に利用した前記ローカル学習データの数が多いほど前記重みが大きくなるように、前記各重みを設定してもよい。当該構成によれば、利用したローカル学習データの数の多い機械学習の結果をより優先的に反映するように各学習モデルの統合範囲を統合することができ、これによって、能力のより高い学習済みの学習モデルを構築することができる。
【００３２】
上記一側面に係るモデル統合装置において、前記ローカル学習データは、前記所定の能力における特定の要素に関する特定学習データを含んでもよく、前記重み設定部は、前記機械学習に利用した前記ローカル学習データに含まれる前記特定学習データの比率が高いほど前記重みが大きくなるように、前記各重みを設定してもよい。当該構成によれば、特定学習データの比率の高い機械学習の結果をより優先的に反映するように各学習モデルの統合範囲を統合することができ、これによって、特定の要素に関して能力のより高い学習済みの学習モデルを構築することができる。
【００３３】
なお、特定学習データとは、ローカル学習データのうちの所定の能力における特定の要素に関する学習データである。特定の要素は、特に限定されなくてもよく、所定の能力に関するあらゆる要素から選択されてよい。一例として、画像データに写る製品の外観検査を行う能力を学習モデルに獲得させる場面において、特定の要素は、シミ、汚れ、傷等の欠陥を含むことであってよい。この場合、ローカル学習データは、製品の写る画像データであってよく、特定学習データは、ローカル学習データのうち、欠陥を含む製品の写る画像データであってよい。
【００３４】
上記一側面に係るモデル統合装置において、前記統合範囲に反映された前記機械学習の結果の統合は秘密計算により行われてよい。当該構成によれば、各学習モデルにおける機械学習の結果の秘匿性を確保した上で、各学習モデルの統合範囲を統合することができる。したがって、各学習装置により得られたローカル学習データに秘匿性の高い学習データが含まれている場合に、そのローカル学習データの秘匿性を保証することができる。
【００３５】
上記各形態に係るモデル統合装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る推論システムは、上記いずれかの形態に係るモデル統合装置及び複数の学習装置により構成されてよい。
【００３６】
例えば、本発明の一側面に係る推論システムは、複数の学習装置と、モデル統合装置と、を備える。前記各学習装置は、ローカル学習データを収集するステップと、収集した前記ローカル学習データを利用した機械学習により所定の推論能力を獲得した学習済みの学習モデルを構築するステップと、を実行するように構成される。前記各学習済みの学習モデルは、共通の構造を有する共通部分を含む。前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する。前記モデル統合装置は、前記複数の学習装置それぞれから前記学習済みの学習モデルを収集するステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、を実行するように構成される。
【００３７】
また、例えば、本発明の一側面に係るモデル統合方法は、コンピュータが、複数の学習装置それぞれから学習済みの学習モデルを収集するステップであって、前記各学習装置は、ローカル学習データを収集し、かつ収集したローカル学習データを利用した機械学習により所定の能力を獲得した学習済みの学習モデルを構築し、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する、ステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、を実行する、情報処理方法である。
【００３８】
また、例えば、本発明の一側面に係るモデル統合プログラムは、コンピュータに、複数の学習装置それぞれから学習済みの学習モデルを収集するステップであって、前記各学習装置は、ローカル学習データを収集し、かつ収集したローカル学習データを利用した機械学習により所定の能力を獲得した学習済みの学習モデルを構築し、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する、ステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、を実行させるための、プログラムである。
【００３９】
上記各形態は、機械学習により所定の能力を学習モデルに習得させるあらゆる場面に適用可能である。上記各形態は、例えば、画像データに写る製品の状態（良否）を推定する能力を学習モデルに習得させる場面、植物の栽培状況に応じて植物の栽培装置に与える制御指令を決定する能力を学習モデルに習得させる場面、運転者を観察することで得られたデータから当該運転者の状態を推定する能力を学習モデルに習得させる場面、気象に関するデータから発電装置の発電量を予測する能力を学習モデルに習得させる場面、対象者のバイタルデータから当該対象者の健康状態を推定する能力を学習モデルに習得させる場面等、に適用されてよい。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等であってよい。
【００４０】
例えば、本発明の一側面に係る画像システムは、複数の学習装置と、モデル統合装置と、を備える。前記各学習装置は、画像データを含むローカル学習データを収集するステップと、収集した前記ローカル学習データを利用した機械学習により、画像データから所定の特徴を推定する能力を獲得した学習済みの学習モデルを構築するステップと、を実行するように構成される。前記各学習済みの学習モデルは、共通の構造を有する共通部分を含む。前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する。前記モデル統合装置は、前記複数の学習装置それぞれから前記学習済みの学習モデルを収集するステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、を実行するように構成される。
【００４１】
例えば、本発明の一側面に係るセンサシステムは、複数の学習装置と、モデル統合装置と、を備える。前記各学習装置は、センサにより得られるセンシングデータを含むローカル学習データを収集するステップと、収集した前記ローカル学習データを利用した機械学習により、センシングデータから所定の特徴を推定する能力を獲得した学習済みの学習モデルを構築するステップと、を実行するように構成される。前記各学習済みの学習モデルは、共通の構造を有する共通部分を含む。前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有する。前記モデル統合装置は、前記複数の学習装置それぞれから前記学習済みの学習モデルを収集するステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各学習装置に配信し、前記各学習装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各学習装置の保持する前記学習済み学習モデルを更新するステップと、を実行するように構成される。
【００４２】
例えば、本発明の一側面に係る検査システムは、複数の検査装置と、モデル統合装置と、を備え、前記各検査装置は、製品の写る画像データを含むローカル学習データを収集するステップと、収集した前記ローカル学習データを利用した機械学習により、前記画像データに写る前記製品の状態を判定する能力を獲得した学習済みの学習モデルを構築するステップと、を実行するように構成され、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有し、前記モデル統合装置は、前記複数の検査装置それぞれから前記学習済みの学習モデルを収集するステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各検査装置に配信し、前記各検査装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各検査装置の保持する前記学習済み学習モデルを更新するステップと、を実行するように構成される。
【００４３】
また、例えば、本発明の一側面に係る制御システムは、植物の生育環境を制御して、当該植物を栽培する栽培装置にそれぞれ接続された複数の制御装置と、モデル統合装置と、を備え、前記各制御装置は、前記植物の栽培状況に関する状況データ及び当該栽培状況に応じた生育環境の制御を前記栽培装置に指令する制御指令を含むローカル学習データを収集するステップと、収集した前記ローカル学習データを利用した機械学習により、前記植物の栽培状況に応じて前記栽培装置に与える制御指令を決定する能力を獲得した学習済みの学習モデルを構築するステップと、を実行するように構成され、前記各学習済みの学習モデルは、共通の構造を有する共通部分を含み、前記各学習済みの学習モデルのうちのいずれかの組み合わせは、前記共通部分以外の部分において異なる構造を有し、前記モデル統合装置は、前記複数の制御装置それぞれから前記学習済みの学習モデルを収集するステップと、前記各学習済みの学習モデルに対して、前記共通部分内に設定された統合範囲に反映された前記機械学習の結果を統合する統合処理を実行するステップと、前記統合処理の結果を前記各制御装置に配信し、前記各制御装置に対して、前記各学習済みの学習モデル内の前記統合範囲に前記統合処理の結果を適用させることで、前記各制御装置の保持する前記学習済み学習モデルを更新するステップと、を実行するように構成される。
【発明の効果】
【００４４】
本発明によれば、能力のより高い学習済みの学習モデルを構築することができる。
【図面の簡単な説明】
【００４５】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係るモデル統合装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係るモデル統合装置のソフトウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係る割当情報の構成の一例を模式的に例示する。
【図６Ａ】図６Ａは、実施の形態に学習装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図６Ｂ】図６Ｂは、実施の形態に学習装置の推論処理に関するソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係る学習装置による機械学習の処理手順の一例を例示する。
【図８】図８は、実施の形態に係る学習装置による所定の能力の発揮に関する処理手順の一例を例示する。
【図９】図９は、実施の形態に係るモデル統合装置の処理手順の一例を例示する。
【図１０】図１０は、実施の形態に係る統合範囲を決定する方法の一例を模式的に例示する。
【図１１】図１１は、実施の形態に係るモデル統合装置による統合範囲の決定に関する処理手順の一例を例示する。
【図１２】図１２は、実施の形態に係る統合範囲を決定する方法の一例を模式的に例示する。
【図１３】図１３は、実施の形態に係るモデル統合装置による統合範囲の決定に関する処理手順の一例を例示する。
【図１４】図１４は、実施の形態に係る統合範囲を決定する方法の一例を模式的に例示する。
【図１５】図１５は、実施の形態に係るモデル統合装置による統合範囲の決定に関する処理手順の一例を例示する。
【図１６】図１６は、実施の形態に係るグルーピング処理を模式的に例示する。
【図１７】図１７は、実施の形態に係るモデル統合装置による学習装置のグルーピングに関する処理手順の一例を例示する。
【図１８】図１８は、実施の形態に係るモデル統合装置による学習装置のグルーピングに関する処理手順の一例を例示する。
【図１９】図１９は、実施の形態に係るモデル統合装置による学習装置のグルーピングに関する処理手順の一例を例示する。
【図２０】図２０は、本発明が適用される他の場面の一例を模式的に例示する。
【図２１】図２１は、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【図２２Ａ】図２２Ａは、他の形態に係る検査装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図２２Ｂ】図２２Ｂは、他の形態に係る検査装置の検査処理に関するソフトウェア構成の一例を模式的に例示する。
【図２３】図２３は、本発明が適用される他の場面の一例を模式的に例示する。
【図２４】図２４は、他の形態に係る制御装置のハードウェア構成の一例を模式的に例示する。
【図２５Ａ】図２５Ａは、他の形態に係る制御装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図２５Ｂ】図２５Ｂは、他の形態に係る制御装置の制御指令の決定処理に関するソフトウェア構成の一例を模式的に例示する。
【図２６】図２６は、本発明が適用される他の場面の一例を模式的に例示する。
【図２７】図２７は、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図２８Ａ】図２８Ａは、他の形態に係る監視装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図２８Ｂ】図２８Ｂは、他の形態に係る監視装置の監視処理に関するソフトウェア構成の一例を模式的に例示する。
【図２９】図２９は、本発明が適用される他の場面の一例を模式的に例示する。
【図３０】図３０は、他の形態に係る予測装置のハードウェア構成の一例を模式的に例示する。
【図３１Ａ】図３１Ａは、他の形態に係る予測装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図３１Ｂ】図３１Ｂは、他の形態に係る予測装置の予測処理に関するソフトウェア構成の一例を模式的に例示する。
【図３２】図３２は、本発明が適用される他の場面の一例を模式的に例示する。
【図３３】図３３は、他の形態に係る診断装置のハードウェア構成の一例を模式的に例示する。
【図３４Ａ】図３４Ａは、他の形態に係る診断装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図３４Ｂ】図３４Ｂは、他の形態に係る診断装置の診断処理に関するソフトウェア構成の一例を模式的に例示する。
【図３５】図３５は、他の形態に係る学習装置の構成の一例を模式的に例示する。
【図３６Ａ】図３６Ａは、変形例において秘密計算により統合処理を実行する場面の一例を模式的に例示する。
【図３６Ｂ】図３６Ｂは、変形例において秘密計算により統合処理を実行する場面の一例を模式的に例示する。
【発明を実施するための形態】
【００４６】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００４７】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を適用した場面の一例を模式的に例示する。図１に示されるとおり、本実施形態に係る推論システム１００は、モデル統合装置１及び複数の学習装置２を備えている。モデル統合装置１及び各学習装置２は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００４８】
本実施形態に係る各学習装置２は、ローカル学習データ３を利用して、学習モデル４の機械学習を実行するように構成されたコンピュータである。具体的には、本実施形態に係る各学習装置２は、ローカル学習データ３を収集する。そして、本実施形態に係る各学習装置２は、収集したローカル学習データ３を利用した機械学習により所定の能力を獲得した学習済みの学習モデル４を構築する。
【００４９】
所定の能力は、与えられたデータに対して何らかの情報処理を実行する能力である。所定の能力は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一例では、所定の能力は、未知の対象データに対して何らかの推定（回帰又は識別）を行う推論能力である。推論能力は、例えば、未知の対象データに含まれる何らかの特徴を推定する能力である。特徴は、データから推論可能なあらゆる要素を含んでよい。このような推論能力として、例えば、画像データに写る製品の状態（良否）を推定する能力、植物の栽培状況に応じて栽培装置に与える制御指令を決定する能力、運転者を観察することで得られたデータから当該運転者の状態を推定する能力、気象に関するデータから発電装置の発電量を予測する能力、対象者のバイタルデータから当該対象者の健康状態を推定する能力等を挙げることができる。
【００５０】
本実施形態では、各学習装置２は、センサＳにより得られたセンシングデータに含まれる何らかの特徴を推論する能力を所定の能力として各学習モデル４に習得させる。センサＳは、例えば、カメラ、マイクロフォン、光度計、温度計、湿度計、バイタルセンサ等であってよい。例えば、製品の外観を撮影するカメラがセンサＳとして採用されてよい。この場合、センシングデータは製品の写る画像データであってよく、何らかの特徴を推論する能力は、画像データに写る製品の状態（良否）を推定する能力であってよい。各学習装置２は、学習済みの学習モデル４を利用して、センサＳにより得られるセンシングデータに含まれる特徴を推論する。
【００５１】
各学習モデル４は、機械学習により所定の能力を獲得可能なモデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。図１に示されるとおり、本実施形態では、各学習モデル４は、ニューラルネットワークにより構成される。各学習済みの学習モデル４には、推定器、識別器等、用途に応じて異なる呼称が用いられてよい。ローカル学習データ３は、各学習装置２において、学習モデル４の機械学習に使用される学習データである。ローカル学習データ３の構成は、学習モデル４の種類、学習モデル４に獲得させる能力等に応じて適宜選択されてよい。
【００５２】
各学習装置２は、例えば、個別の現場に配置され、異なる利用者により利用されてよい。各学習装置２は、個々の事情に応じた推論の目的で、各学習済みの学習モデル４を構築してもよい。ただし、各学習装置２の配置及び利用者は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、少なくとも一部の学習装置２が、同じ現場に配置され、同じ利用者に利用されてもよい。
【００５３】
本実施形態では、各学習済みの学習モデル４は、共通の構造を有する共通部分４０を含むように構成される。つまり、各学習済みの学習モデル４は、共通部分４０の構造を共有するように構成される。各学習済みの学習モデル４のうちいずれかの組み合わせは、共通部分４０以外の部分において異なる構造を有する。各学習モデル４の構造は、各学習モデル４に獲得させる所定の能力の種別、各学習モデル４に要求される仕様等に応じて適宜決定されてよい。例えば、計算速度を犠牲にして性能を高める場合に、各学習モデル４を構成するニューラルネットワークの層の数が比較的に多く設定されてもよい。一方で、性能を犠牲にして計算速度を高める場合には、各学習モデル４を構成するニューラルネットワークの層の数が比較的に少なく設定されてもよい。
【００５４】
図１の例では、３つの学習装置２ａ〜２ｃが存在している。以下、説明の便宜の上、各学習装置を区別する場合に、ａ、ｂ、ｃ等の更なる符号を付し、そうではない場合には、「学習装置２」等のようにそれらの符号を省略する。各学習装置２ａ〜２ｃは、各ローカル学習データ３ａ〜３ｃを収集し、得られた各ローカル学習データ３ａ〜３ｃを利用した機械学習により、学習済みの学習モデル４ａ〜４ｃを構築する。図１の例では、各学習済みの学習モデル４ａ〜４ｃは、６層のニューラルネットワークにより構成されており、入力側の第１番目の層から第３番目の層までのネットワークにおいて、ニューロン（ノード）の数及び結合関係が共通している。一方で、その他の第４番目の層から第６番目の層までのネットワークでは、ニューロンの数及び結合関係が異なっている。そのため、第１番目の層から第３番目の層までのネットワークが、共通部分４０である。
【００５５】
ただし、学習装置２の数、及び各学習モデル４の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。学習装置２の数は、２つであってもよいし、４つ以上であってもよい。ニューラルネットワークの構造は、６層に限られなくてもよい。また、図１の例では、各学習モデル４ａ〜４ｃの全体構造はそれぞれ相違している。しかしながら、各学習モデル４の関係は、このような例に限定されなくてもよく、いずれかの組み合わせが共通部分４０以外の部分において異なる構造を有していれば、その他の組み合わせの全体構造が一致していてもよい。
【００５６】
これに対して、本実施形態に係るモデル統合装置１は、各学習装置２から学習済みの学習モデル４を収集する。次に、本実施形態に係るモデル統合装置１は、収集された各学習済みの学習モデル４に対して、共通部分４０内に設定された統合範囲４１に反映された機械学習の結果を統合する統合処理を実行する。本実施形態に係るモデル統合装置１は、統合処理の結果４３を各学習装置２に配信し、各学習装置２に対して、各学習済みの学習モデル４内の統合範囲４１に統合処理の結果を適用させることで、各学習装置２の保持する学習済みの学習モデル４を更新する。
【００５７】
図１では、第１番目の層から第３番目の層までのネットワークが統合範囲４１に設定されており、各学習済みの学習モデル４ａ〜４ｃに対してこの統合範囲４１を統合する統合処理が実行された場面が例示されている。統合処理の結果４３は、第１番目の層から第３番目の層に含まれる各ニューロンの演算パラメータの値を統合することで得られる。モデル統合装置１は、各学習装置２ａ〜２ｃに対して、第１番目の層から第３番目の層に含まれる各ニューロンの演算パラメータに当該統合処理の結果４３を適用させることで、各学習済みの学習モデル４ａ〜４ｃを更新する。
【００５８】
以上のとおり、本実施形態では、ローカル学習データ３そのものを集結するのではなく、各学習装置２により構築された各学習済みの学習モデル４を収集し、収集された各学習済みの学習モデル４に対して統合処理を実行する。そのため、モデル統合装置１にかかる通信コスト及び計算コストを抑えることができる。また、統合処理は、各学習済みの学習モデル４に含まれる共通部分４０に設定された統合範囲４１に対して実行されるに過ぎないため、各学習モデル４の構造が相違していることが許容される。例えば、図１の例では、各学習モデル４ａ〜４ｃは、共通部分４０以外の部分において異なる構造を有している。つまり、ローカル学習データ３の形式及び各学習モデル４の構造が不一致であったとしても、各学習済みの学習モデル４に対する統合処理は実行可能である。
【００５９】
そして、この統合処理によって、各学習済みの学習モデル４に反映された機械学習の結果を他の学習済みの学習モデル４に適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４は、他の学習済みの学習モデル４における機械学習の結果に基づいて、各学習装置２単独では得られないようなデータに対しても、所定の能力を適切に発揮することができるようになる。例えば、統合処理後の学習済みの学習モデル４ａには、他の学習済みの学習モデル４ｂを構築する際に利用されたローカル学習データ３ｂによる機械学習の結果が反映される。これにより、統合処理後の学習済みの学習モデル４ａは、ローカル学習データ３ａには含まれていないが、ローカル学習データ３ｂには含まれているようなデータに対して、所定の能力を適切に発揮することができるようになる。したがって、本実施形態によれば、能力のより高い学習済みの学習モデル４を構築する環境を実現することができる。
【００６０】
§２  構成例
［ハードウェア構成］
＜モデル統合装置＞
次に、図２を用いて、本実施形態に係るモデル統合装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係るモデル統合装置１のハードウェア構成の一例を模式的に例示する。
【００６１】
図２に示されるとおり、本実施形態に係るモデル統合装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００６２】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、モデル統合プログラム８１、複数件の学習結果データ２２１、統合結果データ１２１、グループリスト１２３、割当情報１２４、テンプレート１２６、評価用サンプル１２９等の各種情報を記憶する。
【００６３】
モデル統合プログラム８１は、各学習モデル４の統合に関する後述の情報処理（図９、図１１、図１３、図１５、図１７〜図１９）をモデル統合装置１に実行させるためのプログラムである。モデル統合プログラム８１は、この情報処理の一連の命令を含む。各件の学習結果データ２２１は、機械学習により構築された各学習済みの学習モデル４に関する情報を示す。統合結果データ１２１は、統合処理の結果４３を示す。統合結果データ１２１は、モデル統合プログラム８１を実行した結果として得られる。グループリスト１２３は、各学習装置２を割り当てる候補となる複数のグループの一覧を示す。割当情報１２４は、各学習装置２と各グループとの対応関係を示す。テンプレート１２６は、学習モデル４の構造のひな型を与える。各学習装置２は、各学習モデル４の構造を決定する際に、このテンプレート１２６を利用してもよい。評価用サンプル１２９は、統合処理後の各学習済みの学習モデル４の能力を評価するために利用される。詳細は後述する。
【００６４】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル統合装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置２）と行うことができる。
【００６５】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を利用することで、モデル統合装置１を操作することができる。
【００６６】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記モデル統合プログラム８１、複数件の学習結果データ２２１、グループリスト１２３、割当情報１２４、テンプレート１２６、及び評価用サンプル１２９の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００６７】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。モデル統合装置１は、この記憶媒体９１から、上記モデル統合プログラム８１、複数件の学習結果データ２２１、グループリスト１２３、割当情報１２４、テンプレート１２６、及び評価用サンプル１２９の少なくともいずれかを取得してもよい。
【００６８】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００６９】
なお、モデル統合装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、出力装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。モデル統合装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル統合装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、ＰＣ（Personal Computer）等であってもよい。
【００７０】
＜学習装置＞
次に、図３を用いて、本実施形態に係る各学習装置２のハードウェア構成の一例について説明する。図３は、本実施形態に係る各学習装置２のハードウェア構成の一例を模式的に例示する。
【００７１】
図３に示されるとおり、本実施形態に係る各学習装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。なお、図３では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００７２】
各学習装置２の制御部２１〜ドライブ２６はそれぞれ、上記モデル統合装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。すなわち、制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部２２は、学習プログラム８２、推論プログラム８３、ローカル学習データ３、学習結果データ２２１等の各種情報を記憶する。
【００７３】
学習プログラム８２は、学習モデル４の機械学習に関する後述の情報処理（図７）を学習装置２に実行させるためのプログラムである。学習プログラム８２は、この情報処理の一連の命令を含む。学習結果データ２２１は、学習プログラム８２を実行した結果として得られる。また、推論プログラム８３は、学習済みの学習モデル４を利用した所定の推論に関する後述の情報処理（図８）を学習装置２に実行させるためのプログラムである。推論プログラム８３は、この情報処理の一連の命令を含む。ローカル学習データ３は、所定の能力を学習モデル４に獲得させるための機械学習に利用される。詳細は後述する。
【００７４】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。各学習装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、モデル統合装置１）と行うことができる。
【００７５】
入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置２５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置２４及び出力装置２５を利用することで、各学習装置２を操作することができる。
【００７６】
ドライブ２６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム８２、推論プログラム８３、及びローカル学習データ３のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、各学習装置２は、記憶媒体９２から、上記学習プログラム８２、推論プログラム８３、及びローカル学習データ３のうちの少なくともいずれかを取得してもよい。
【００７７】
外部インタフェース２７は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース２７の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、各学習装置２は、外部インタフェース２７を介して、センサＳに接続される。これにより、各学習装置２は、所定の推論を実行する対象となるセンシングデータをセンサＳから取得可能に構成される。ただし、センシングデータを取得するための構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、センサＳが通信インタフェースを備える場合、各学習装置２は、外部インタフェース２７ではなく、通信インタフェース２３を介して、センサＳに接続されてもよい。
【００７８】
なお、各学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７の少なくともいずれかは省略されてもよい。各学習装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。本実施形態では、各学習装置２のハードウェア構成は共通している。しかしながら、各学習装置２のハードウェア構成の関係は、このような例に限定されなくてもよい。一の学習装置２と他の学習装置２との間で、ハードウェア構成は異なっていてもよい。また、各学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【００７９】
［ソフトウェア構成］
＜モデル統合装置＞
次に、図４を用いて、本実施形態に係るモデル統合装置１のソフトウェア構成の一例について説明する。図４は、本実施形態に係るモデル統合装置１のソフトウェア構成の一例を模式的に例示する。
【００８０】
モデル統合装置１の制御部１１は、記憶部１２に記憶されたモデル統合プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開されたモデル統合プログラム８１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図４に示されるとおり、本実施形態に係るモデル統合装置１は、モデル収集部１１１、範囲調整部１１２、統合処理部１１３、モデル更新部１１４、重み設定部１１５、及びグルーピング部１１６をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル統合装置１の各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００８１】
モデル収集部１１１は、各学習装置２から学習済みの学習モデル４を収集する。範囲調整部１１２は、収集された各学習済みの学習モデル４に含まれる共通部分４０内において統合範囲４１を決定する。統合処理部１１３は、各学習済みの学習モデル４に対して、共通部分４０内に設定された統合範囲４１に反映された機械学習の結果を統合する統合処理を実行する。モデル更新部１１４は、統合処理の結果４３を示す統合結果データ１２１を各学習装置２に配信し、各学習装置２に対して、各学習済みの学習モデル４内の統合範囲４１に統合処理の結果４３を適用させることで、各学習装置２の保持する学習済みの学習モデル４を更新する。なお、「モデル更新」は、学習済み学習モデル４の更新のために、統合処理の結果４３を配信することで足り、更新処理を実行するように各学習装置２に指示することまでは含まなくてよい。
【００８２】
重み設定部１１５は、各学習済みの学習モデル４に対して重みを設定する。各重みは、統合処理における各学習済みの学習モデル４の優先度合いを定める。これに応じて、統合範囲４１に反映された機械学習の結果を統合することは、設定された各重みを使用して、各学習済みの学習モデル４の統合範囲４１に含まれる演算パラメータの値に重み付けをしてから平均化又は合計することを含んでよい。
【００８３】
グルーピング部１１６は、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。これに応じて、モデル収集部１１１は、同一のグループに属する複数の学習装置２それぞれから学習済みの学習モデル４を収集してもよい。範囲調整部１１２は、同一のグループ内で、収集された各学習済みの学習モデル４に含まれる共通部分４０内において統合範囲４１を決定してもよい。統合処理部１１３は、同一のグループ内で、各学習済みの学習モデル４に対して、決定された統合範囲４１に反映された機械学習の結果を統合する統合処理を実行してもよい。モデル更新部１１４は、同一のグループ内で、統合処理の結果４３を各学習装置２に配信し、各学習装置２に対して、各学習済みの学習モデル４内の統合範囲４１に統合処理の結果４３を適用させることで、各学習装置２の保持する学習済みの学習モデル４を更新してもよい。なお、このグループ内の統合処理は、複数のグループを重複するように実行されてもよい。すなわち、統合処理部１１３は、一のグループ内において学習済みの学習モデル４に対する統合処理を実行した後、その統合処理の結果４３を用いて、その一のグループ内に属する学習装置２の属する他のグループ内において学習済みの学習モデル４に対する統合処理を実行してもよい。この場合、一のグループと他のグループとで異なる範囲が統合範囲４１に設定されてもよい。これに応じて、一のグループ内において統合処理を実行した統合範囲４１と他のグループ内において統合処理を実行した統合範囲４１とは異なっていてもよい。本実施形態では、グルーピング部１１６は、各学習装置２に対するグループの割り当て結果を割当情報１２４に格納する。
【００８４】
図５は、本実施形態に係る割当情報１２４のデータ構成の一例を模式的に例示する。本実施形態では、割当情報１２４は、テーブル形式の構造を有しており、各レコード（行データ）は、「ユーザＩＤ」フィールド及び「グループＩＤ」フィールドを有している。「ユーザＩＤ」フィールドには、各学習装置２を識別するための情報が格納され、「グループＩＤ」フィールドには、対象の学習装置２を割り当てたグループを識別するための情報が格納される。１つのレコードは、１つの割り当て結果を示す。ただし、割当情報１２４のデータ構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【００８５】
（学習モデル）
次に、各学習モデル４の一例について説明する。図４に示されるとおり、本実施形態では、各学習モデル４は、ニューラルネットワークにより構成される。具体的には、各学習モデル４は、６層構造のニューラルネットワークにより構成され、入力側から順に、入力層５１、中間（隠れ）層５２〜５５、及び出力層５６を備えている。ただし、各学習モデル４の構造は、このような例に限定されなくてもよく、各学習装置２において適宜決定されてよい。例えば、各学習モデル４の備える中間層の数は、４つに限定されなくてもよく、３つ以下であってもよいし、５つ以上であってもよい。
【００８６】
各層５１〜５６に含まれるニューロンの数は、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層５１〜５６に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、学習モデルの演算パラメータの一例である。なお、図４に示される各層５１〜５６に含まれるニューロンの数及び隣接する層との結合関係は、説明の便宜のための一例に過ぎず、本発明及び本実施形態を限定するものではない。
【００８７】
図４の例では、モデル収集部１１１が、３つの学習装置２ａ〜２ｃそれぞれから学習済みの学習モデル４ａ〜４ｃを収集した場面を想定している。各学習済みの学習モデル４ａ〜４ｃでは、入力層５１（第１番目の層）から中間層５３（第３番目の層）までのネットワークにおいて、ニューロンの数及び隣接する層との結合関係が共通している。一方、中間層５４（第４番目の層）から出力層５６（第６番目の層）までのネットワークでは、ニューロンの数及び結合関係が異なっている。そのため、入力層５１から中間層５３までのネットワークが共通部分４０である。
【００８８】
範囲調整部１１２は、この入力層５１から中間層５３までの範囲（共通部分４０）内で統合処理を適用する範囲（統合範囲４１）を決定することができる。図４の例では、範囲調整部１１２が、入力層５１から中間層５３までの範囲を統合範囲４１として決定した場面を想定している。機械学習の結果は、各学習モデル４に含まれる演算パラメータの値に反映されている。そのため、統合処理部１１３は、各学習モデル４の統合範囲４１に含まれる演算パラメータの値を統合することにより、各学習モデル４の統合範囲４１に反映された機械学習の結果を統合する。
【００８９】
モデル更新部１１４は、統合処理の結果４３を示す統合結果データ１２１を各学習装置２ａ〜２ｃに配信し、各学習装置２ａ〜２ｃに対して、各学習済みの学習モデル４ａ〜４ｃ内の統合範囲４１に統合処理の結果４３を適用させる。すなわち、モデル更新部１１４は、各学習装置２ａ〜２ｃに対して、統合範囲４１内の各パラメータの値を統合処理により得られた各パラメータの値に置き換えさせる。これにより、モデル更新部１１４は、各学習装置２ａ〜２ｃの保持する各学習済みの学習モデル４ａ〜４ｃを更新する。
【００９０】
＜学習装置＞
（Ａ）学習処理
次に、図６Ａを用いて、本実施形態に係る各学習装置２の学習処理に関するソフトウェア構成の一例について説明する。図６Ａは、本実施形態に係る各学習装置２の学習処理に関するソフトウェア構成の一例を模式的に例示する。
【００９１】
各学習装置２の制御部２１は、記憶部２２に記憶された学習プログラム８２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された学習プログラム８２をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６Ａに示されるとおり、本実施形態に係る各学習装置２は、学習データ収集部２１１、構造決定部２１２、学習処理部２１３、及び保存処理部２１４をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習処理に関する各学習装置２の各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【００９２】
学習データ収集部２１１は、学習モデル４の機械学習に利用するローカル学習データ３を収集する。本実施形態では、学習モデル４はニューラルネットワークにより構成されているため、ローカル学習データ３は、訓練データ３１及び正解データ３２の組み合わせをそれぞれ含む複数の学習データセット３０により構成される。訓練データ３１（入力データ）は、所定の能力を発揮する対象となるデータである。正解データ３２（教師データ）は、訓練データ３１に対して所定の能力を発揮した結果（正解）を示すデータである。正解データ３２は、ラベルと称されてもよい。
【００９３】
訓練データ３１及び正解データ３２は、学習モデル４に習得させる所定の能力に応じて適宜選択されてよい。例えば、画像データに写る製品の状態（良否）を推定する能力を所定の能力として学習モデル４に習得させる場合、訓練データ３１は、製品の写る画像データにより構成されてよく、正解データ３２は、当該製品の状態（良否）を示すデータにより構成されてよい。本実施形態では、学習モデル４は、センサＳにより得られたセンシングデータに含まれる何らかの特徴を推論する能力を所定の能力として習得させられる。そのため、訓練データ３１は、センサＳにより得られるセンシングデータと同種のデータであり、正解データ３２は、訓練データ３１に含まれる特徴に対する推論の正解を示すデータである。
【００９４】
構造決定部２１２は、学習モデル４の構造を決定する。学習モデル４の構造は、演算パラメータによる演算処理を定義する。学習モデル４の構造は、当該学習モデル４の種類に応じて適宜規定されてよい。本実施形態では、学習モデル４は、ニューラルネットワークにより構成される。そのため、学習モデル４の構造は、例えば、ニューラルネットワークの層数、各層に含まれるニューロンの数、各層の結合関係等により規定されてよい。各学習装置２において、各学習モデル４の構造は適宜決定されてよい。その結果、各学習モデル４は、共通の構造を有する共通部分４０を含むように構成され得る。また、各学習モデル４のうちのいずれかの組み合わせは、共通部分４０以外の部分において異なる構造を有するように構成され得る。
【００９５】
学習処理部２１３は、収集されたローカル学習データ３を利用した機械学習により所定の能力を獲得した学習済みの学習モデル４を構築する。本実施形態では、学習処理部２１３は、機械学習により、訓練データ３１を入力すると、正解データ３２に対応する出力値を出力するように学習モデル４を訓練する。これにより、所定の能力を獲得した学習済みの学習モデル４が構築される。
【００９６】
保存処理部２１４は、構築された学習済みの学習モデル４に関する情報を所定の記憶領域に保存する。本実施形態では、保存処理部２１４は、機械学習により構築された学習済みの学習モデル４（ニューラルネットワーク）の構造及び演算パラメータを示す情報を学習結果データ２２１として生成し、生成した学習結果データ２２１を所定の記憶領域に保存する。
【００９７】
（Ｂ）推論処理
次に、図６Ｂを用いて、本実施形態に係る各学習装置２の推論処理に関するソフトウェア構成の一例について説明する。図６Ｂは、本実施形態に係る各学習装置２の推論処理に関するソフトウェア構成の一例を模式的に例示する。
【００９８】
各学習装置２の制御部２１は、記憶部２２に記憶された推論プログラム８３をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された推論プログラム８３をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６Ｂに示されるとおり、本実施形態に係る各学習装置２は、対象データ取得部２１６、推論部２１７、及び出力部２１８をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論処理に関する各学習装置２の各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【００９９】
対象データ取得部２１６は、学習済みの学習モデル４に習得させた所定の能力を発揮する対象となる対象データ２２５を取得する。本実施形態では、対象データ取得部２１６は、対象データ２２５をセンサＳから取得する。推論部２１７は、学習結果データ２２１を保持することで、学習済みの学習モデル４を含んでいる。推論部２１７は、学習済みの学習モデル４を利用して、対象データ２２５に含まれる特徴を推論する。具体的には、推論部２１７は、学習結果データ２２１を参照して、学習済みの学習モデル４の設定を行う。次に、推論部２１７は、取得された対象データ２２５を学習済みの学習モデル４の入力層５１に入力し、学習済みの学習モデル４の演算処理を実行する。これにより、推論部２１７は、対象データ２２５に含まれる特徴を推論した結果に対応する出力値を学習済みの学習モデル４の出力層５６から取得する。本実施形態では、この出力値を得ることが、所定の能力を発揮することに対応する。なお、この「推論」することは、例えば、グループ分け（分類、識別）により離散値（例えば、特定の特徴に対応するクラス）を導出すること、及び回帰により連続値（例えば、特定の特徴が現れている確率）を導出することのいずれかであってよい。出力部２１８は、特徴を推論した結果に関する情報を出力する。
【０１００】
＜その他＞
モデル統合装置１及び各学習装置２の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル統合装置１及び各学習装置２の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、モデル統合装置１及び各学習装置２それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【０１０１】
§３  動作例
［学習装置］
（Ａ）学習処理
次に、図７を用いて、機械学習に関する各学習装置２の動作例について説明する。図７は、各学習装置２による機械学習に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１０２】
（ステップＳ１０１）
ステップＳ１０１では、制御部２１は、学習データ収集部２１１として動作し、学習モデル４の機械学習に利用するローカル学習データ３を収集する。本実施形態では、制御部２１は、訓練データ３１及び正解データ３２の組み合わせをそれぞれ含む複数の学習データセット３０をローカル学習データ３として収集する。
【０１０３】
各学習データセット３０を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサＳと同種のセンサを用意し、用意したセンサにより様々な条件で観測を行うことで、訓練データ３１を取得することができる。そして、取得された訓練データ３１に対して、当該訓練データ３１に現れる特徴を示す正解データ３２を関連付ける。これにより、各学習データセット３０を生成することができる。
【０１０４】
各学習データセット３０は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット３０の生成は、各学習装置２により行われてもよいし、各学習装置２以外の他のコンピュータにより行われてもよい。各学習データセット３０を各学習装置２が生成する場合、制御部２１は、自動的に又は入力装置２４を介したオペレータの操作により手動的に上記一連の処理を実行することで、複数の学習データセット３０により構成されるローカル学習データ３を収集する。一方、各学習データセット３０を他のコンピュータが生成する場合、制御部２１は、例えば、ネットワーク、記憶媒体９２等を介して、他のコンピュータにより生成された複数の学習データセット３０により構成されるローカル学習データ３を収集する。
【０１０５】
収集される学習データセット３０の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ローカル学習データ３を収集すると、制御部２１は、次のステップＳ１０２に処理を進める。
【０１０６】
（ステップＳ１０２）
ステップＳ１０２では、制御部２１は、構造決定部２１２として動作し、学習モデル４の構造を決定する。本実施形態では、学習モデル４は、ニューラルネットワークにより構成される。そのため、本ステップＳ１０２では、制御部２１は、学習モデル４を構成するニューラルネットワークの構造を決定する。ニューラルネットワークの構造は、例えば、ニューラルネットワークの層数、各層に含まれるニューロンの数、各ニューロン間の結合関係等により規定される。
【０１０７】
学習モデル４の構造を決定する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部２１は、入力装置２４を介したオペレータの指定を受け付けることで、ニューラルネットワークの構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値を決定してもよい。また、例えば、制御部２１は、ニューラルネットワークの構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値をテンプレートにより決定してもよい。この場合、制御部２１は、後述するステップＳ７０１〜ステップＳ７０３の処理に対する回答に応じて、モデル統合装置１からテンプレート１２６を取得してもよい。テンプレート１２６は、学習モデル４のひな型を与える情報を含むものであれば、そのデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。テンプレート１２６は、学習モデル４の構造に関する情報の他に、学習モデル４の演算パラメータの初期に関する情報を含んでもよい。本実施形態では、テンプレート１２６は、ニューラルネットワークにおける層の数、各層に含まれるニューロン（ノード）の数、及び隣接する層のニューロン同士の結合関係等を示す情報を学習モデル４の構造に関する情報として含んでもよい。また、テンプレート１２６は、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等を示す情報を演算パラメータの初期値に関する情報として含んでもよい。制御部２１は、取得されたテンプレート１２６に基づいて、学習モデル４を構成するニューラルネットワークの構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値を決定してもよい。
【０１０８】
各学習装置２において各学習モデル４の構造が適宜決定された結果、各学習済みの学習モデル４は、共通の構造を有する共通部分４０を含むように構成される。また、各学習済みの学習モデル４のうちのいずれかの組み合わせは、共通部分４０以外の部分において異なる構造を有するように構成される。学習モデル４の構造を決定すると、制御部２１は、次のステップＳ１０３に処理を進める。
【０１０９】
（ステップＳ１０３）
ステップＳ１０３では、制御部２１は、学習処理部２１３として動作し、収集されたローカル学習データ３を利用した機械学習により、所定の能力を獲得した学習済みの学習モデル４を構築する。本実施形態では、制御部２１は、各学習データセット３０に含まれる訓練データ３１及び正解データ３２を利用して、学習モデル４を構成するニューラルネットワークの学習処理を実行する。この学習処理には、確率的勾配降下法等が用いられてよい。
【０１１０】
例えば、第１のステップでは、制御部２１は、各学習データセット３０について、訓練データ３１を入力層５１に入力し、入力側から順に各層５１〜５６に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、訓練データ３１に対して所定の能力を発揮した結果に対応する出力値を出力層５６から取得する。第２のステップでは、制御部２１は、取得した出力値と対応する正解データ３２との誤差を算出する。第３のステップでは、制御部２１は、誤差逆伝播（Back propagation）法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第４のステップでは、制御部２１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１１１】
制御部２１は、上記第１〜第４のステップを繰り返すことで、各学習データセット３０について、訓練データ３１を入力すると、対応する正解データ３２と一致する出力値が出力層５６から出力されるように、学習モデル４を構成するニューラルネットワークの演算パラメータの値を調整する。例えば、制御部２１は、各学習データセット３０について、出力層５６から得られる出力値と正解データ３２に対応する値との誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返す。正解データ３２の値と出力層５６の出力値とが一致することは、このような閾値による誤差が正解データ３２の値と出力層５６の出力値との間に生じることを含んでよい。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部２１は、訓練データ３１の入力に対して、対応する正解データ３２と一致する出力値を出力するように訓練された学習済みの学習モデル４を構築することができる。ローカル学習データ３を利用した機械学習が完了すると、制御部２１は、次のステップＳ１０４に処理を進める。
【０１１２】
（ステップＳ１０４）
ステップＳ１０４では、制御部２１は、保存処理部２１４として動作し、機械学習により構築された学習済みの学習モデル４に関する情報を所定の記憶領域に保存する。本実施形態では、制御部２１は、ステップＳ１０３の機械学習により構築された学習済みのニューラルネットワーク（学習モデル４）の構造及び演算パラメータを示す情報を学習結果データ２２１として生成する。そして、制御部２１は、生成された学習結果データ２２１を所定の記憶領域に保存する。
【０１１３】
所定の記憶領域は、例えば、制御部２１内のＲＡＭ、記憶部２２、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、ＣＤ、ＤＶＤ等であってよく、制御部２１は、ドライブ２６を介して記憶メディアに学習結果データ２２１を格納してもよい。外部記憶装置は、例えば、ＮＡＳ（Network Attached Storage）等のデータサーバであってよい。この場合、制御部２１は、通信インタフェース２３を利用して、ネットワークを介してデータサーバに学習結果データ２２１を格納してもよい。また、外部記憶装置は、例えば、学習装置２に接続された外付けの記憶装置であってもよい。
【０１１４】
また、学習結果データ２２１には、機械学習に使用された学習データセット３０の件数、後述する特定学習データの比率等を示す付加情報が含まれてもよい。これにより、学習結果データ２２１の保存が完了すると、制御部２１は、学習モデル４の機械学習に関する一連の処理を終了する。
【０１１５】
（Ｂ）推論処理
次に、図８を用いて、推論処理に関する各学習装置２の動作例について説明する。図８は、各学習装置２による推論処理に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１１６】
（ステップＳ２０１）
ステップＳ２０１では、制御部２１は、対象データ取得部２１６として動作し、学習済みの学習モデル４に習得させた所定の能力を発揮する対象となる対象データ２２５を取得する。本実施形態では、各学習装置２は、外部インタフェース２７を介してセンサＳに接続されている。そのため、制御部２１は、外部インタフェース２７を介してセンサＳから対象データ２２５を取得する。
【０１１７】
ただし、対象データ２２５を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各学習装置２とは異なる他のコンピュータが、センサＳに接続されていてもよい。この場合、制御部２１は、他のコンピュータから対象データ２２５の送信を受け付けることで、対象データ２２５を取得してもよい。対象データ２２５を取得すると、制御部２１は、次のステップＳ２０２に処理を進める。
【０１１８】
（ステップＳ２０２）
ステップＳ２０２では、制御部２１は、推論部２１７として動作し、学習済みの学習モデル４を利用して、対象データ２２５に含まれる特徴を推論する。本実施形態では、制御部２１は、学習結果データ２２１を参照して、学習済みの学習モデル４の設定を行う。次に、制御部２１は、取得された対象データ２２５を学習済みの学習モデル４に入力し、当該学習済みの学習モデル４の演算処理を実行する。すなわち、制御部２１は、学習済みの学習モデル４の入力層５１に対象データ２２５を入力し、入力側から順に各層５１〜５６に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象データ２２５に含まれる特徴を推論した結果に対応する出力値を学習済みの学習モデル４の出力層５６から取得する。
【０１１９】
本実施形態では、この出力値を得ることが、所定の能力を発揮すること、本実施形態では、対象データ２２５に含まれる特徴を推論することに対応する。推論の内容は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習済みの学習モデル４が、上記機械学習により画像データに写る製品の状態を推定する能力を習得している場合、対象データ２２５に含まれる特徴を推論することは、当該対象データ２２５である画像データに写る製品の状態を推定することであってよい。対象データ２２５に含まれる特徴の推論が完了すると、制御部２１は、次のステップＳ２０３に処理を進める。
【０１２０】
（ステップＳ２０３）
ステップＳ２０３では、制御部２１は、出力部２１８として動作し、特徴を推論した結果に関する情報を出力する。
【０１２１】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、ステップＳ２０２により対象データ２２５に含まれる特徴を推論した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、特徴を推論した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を推論の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論の結果に応じて警告等の特定のメッセージを出力すること、推論の結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置２５、制御対象装置等であってよい。推論の結果に関する情報の出力が完了すると、制御部２１は、学習済みの学習モデル４を利用した所定の推論処理に関する一連の処理を終了する。
【０１２２】
［モデル統合装置］
次に、図９を用いて、モデル統合装置１の動作例について説明する。図９は、モデル統合装置１によるモデル統合に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル統合方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１２３】
（ステップＳ３０１）
ステップＳ３０１では、制御部１１は、モデル収集部１１１として動作し、各学習装置２から学習済みの学習モデル４を収集する。本実施形態では、各学習済みの学習モデル４を収集することは、各学習装置２により生成された学習結果データ２２１を収集することにより構成される。
【０１２４】
学習結果データ２２１を収集する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、ネットワークを介して各学習装置２にアクセスすることで、当該各学習装置２から直接的に学習結果データ２２１を収集してもよい。また、例えば、各学習装置２により生成された学習結果データ２２１は、データサーバ等の外部記憶装置に格納されていてもよい。この場合、制御部１１は、外部記憶装置から各件の学習結果データ２２１を取得することで、各学習装置２から間接的に学習結果データ２２１を収集してもよい。各学習装置２から学習済みの学習モデル４を収集すると、制御部１１は、次のステップＳ３０２に処理を進める。
【０１２５】
（ステップＳ３０２）
ステップＳ３０２では、制御部１１は、範囲調整部１１２として動作し、収集された各学習済みの学習モデル４に含まれる共通部分４０内において統合範囲４１を決定する。統合範囲４１を決定する方法の詳細については後述する。統合範囲４１を決定すると、制御部１１は、次のステップＳ３０３に処理を進める。
【０１２６】
なお、本ステップＳ３０２は、ステップＳ３０１の前に実行されてもよい。この場合、制御部１１は、各学習装置２で利用される各学習モデル４の構造に関する情報を保持していてもよい。各学習モデル４の構造が、テンプレート１２６により与えられる場合、各学習モデル４の構造に関する情報は、当該テンプレート１２６により構成されてよい。制御部１１は、この各学習モデル４の構造に関する情報に基づいて、各学習モデル４の共通部分４０内において統合範囲４１を決定してもよい。そして、ステップＳ３０１では、制御部１１は、学習結果データ２２１のうち統合範囲４１に関するデータのみを取得してもよい。
【０１２７】
（ステップＳ３０３）
ステップＳ３０３では、制御部１１は、統合処理部１１３として動作し、各学習済みの学習モデル４に対して、共通部分４０内に設定された統合範囲４１に反映された機械学習の結果を統合する統合処理を実行する。
【０１２８】
機械学習の結果は、各学習モデル４に含まれる演算パラメータ（例えば、各ニューロン間の結合の重み、各ニューロンの閾値等）の値に反映されている。そのため、本実施形態では、各学習モデル４の統合範囲４１に反映された機械学習の結果を統合することは、各学習済みの学習モデル４の統合範囲４１に含まれる演算パラメータの値を統合することにより構成される。演算パラメータの値を統合する方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部１１は、以下の２つの方法のうちのいずれかの方法により、統合範囲４１に含まれる演算パラメータの値を統合する。
【０１２９】
（Ａ）第１の方法
第１の方法では、制御部１１は、統合範囲４１に含まれる演算パラメータの値を平均化又は合計することにより、統合範囲４１に含まれる演算パラメータの値を統合する。この第１の方法によれば、各学習済みの学習モデル４の統合範囲４１に含まれる演算パラメータの値が均等に反映された統合処理の結果４３を得ることができる。
【０１３０】
（Ｂ）第２の方法
第２の方法では、制御部１１は、統合処理において、各学習済みの学習モデル４の統合範囲４１に含まれる演算パラメータの値に重み付けを行う。この場合、本ステップＳ３０３を実行する前に、制御部１１は、重み設定部１１５として動作し、各学習済みの学習モデル４に対して重みを設定する。各重みは、本ステップＳ３０３の統合処理における各学習済みの学習モデル４の優先度合いを定める。本実施形態では、制御部１１は、以下の２つの設定方法のうちのいずれかの方法により、各学習済みの学習モデル４に対する重みを設定する。
【０１３１】
（Ｉ）第１の重み設定方法
機械学習に利用したローカル学習データ３の数（すなわち、学習データセット３０の件数）が多いほど、学習済みの学習モデル４の所定の能力を発揮する精度は高く成り得る。そこで、第１の設定方法では、制御部１１は、機械学習に利用したローカル学習データ３の数が多いほど重みが大きくなるように、各重みを設定する。これにより、利用したローカル学習データ３の数の多い機械学習の結果をより優先的に反映するように各学習済みの学習モデル４の統合範囲４１を統合することができる。
【０１３２】
なお、機械学習に利用したローカル学習データ３の数を示す情報は適宜取得されてよい。例えば、各件の学習結果データ２２１に、各学習装置２の機械学習に利用されたローカル学習データ３の数を示す情報が含まれてもよい。この場合、制御部１１は、各件の学習結果データ２２１に含まれる当該情報を参照することで、各学習済みの学習モデル４の構築に利用されたローカル学習データ３の数を特定し、当該特定の結果に応じて各重みを設定することができる。各学習装置２の機械学習に利用されたローカル学習データ３の数と設定される各重みとの対応関係は、実施の形態に応じて適宜決定されてよい。例えば、各重みは、ローカル学習データ３の数に比例するように設定されてよい。
【０１３３】
（ＩＩ）第２の重み設定方法
例えば、画像データに写る製品の外観検査を行う能力を各学習モデル４に取得させる場面を想定する。この場面において、シミ、汚れ、傷等の欠陥を含む製品の写る画像データがローカル学習データ３に含まれている比率が高いほど、そのローカル学習データ３を利用した機械学習により構築された学習済みの学習モデル４の欠陥を推定する精度は高くなり得る。そこで、第２の設定方法では、ローカル学習データ３が、所定の能力における特定の要素に関する特定学習データを含む場合に、制御部１１は、機械学習に利用したローカル学習データ３に含まれる特定学習データの比率が高いほど重みが大きくなるように、各重みを設定する。
【０１３４】
ここで、特定学習データとは、ローカル学習データ３のうちの所定の能力における特定の要素に関する学習データである。特定の要素は、特に限定されなくてもよく、所定の能力に関するあらゆる要素から選択されてよい。上記の例のとおり、画像データに写る製品の外観検査を行う能力を学習モデルに獲得させる場面において、特定の要素は、シミ、汚れ、傷等の欠陥を含むことであってよい。この場合、ローカル学習データ３を構成する各学習データセット３０に含まれる訓練データ３１は、製品の写る画像データであってよい。また、特定学習データを構成する各学習データセット３０に含まれる訓練データ３１は、欠陥を含む製品の写る画像データ（以下、「欠陥製品の画像データ」とも記載する）であってよい。この場合、特定学習データの比率は、ローカル学習データ３に含まれる欠陥製品の画像データの比率に対応する。この第２の設定方法によれば、特定学習データの比率の高い機械学習の結果をより優先的に反映するように各学習済みの学習モデル４の統合範囲４１を統合することができる。
【０１３５】
なお、ローカル学習データ３に含まれる特定学習データの比率を示す情報は適宜取得されてよい。上記第１の設定方法と同様に、例えば、各件の学習結果データ２２１に、各学習装置２の機械学習に利用されたローカル学習データ３に含まれる特定学習データの比率を示す情報が含まれてもよい。この場合、制御部１１は、各件の学習結果データ２２１に含まれる当該情報を参照することで、各学習済みの学習モデル４の構築に利用されたローカル学習データ３に含まれる特定学習データの比率を特定し、当該特定の結果に応じて各重みを設定することができる。各学習装置２の機械学習に利用されたローカル学習データ３に含まれる特定学習データの比率と設定される各重みとの対応関係は、実施の形態に応じて適宜決定されてよい。例えば、各重みは、特定学習データの比率に比例するように設定されてよい。
【０１３６】
本実施形態では、以上の２つの方法のいずれかの設定方法により、制御部１１は、各学習済みの学習モデル４に対して重みを設定する。ただし、各重みを設定する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各重みは、オペレータにより指定されてもよい。この場合、制御部１１は、入力装置１４等を介してオペレータによる各重みの指定を受け付けて、入力された内容に応じて各重みを設定してもよい。
【０１３７】
そして、本ステップＳ３０３では、制御部１１は、設定された各重みを使用して、各学習済みの学習モデル４の統合範囲４１に含まれる演算パラメータの値に重み付けしてから平均化又は合計することにより、統合範囲４１に含まれる演算パラメータの値を統合する。この第２の方法によれば、設定された重みの大きい学習済みの学習モデル４ほど統合範囲４１に含まれる演算パラメータの値が優先的に反映された統合処理の結果４３を得ることができる。
【０１３８】
以上の２つの方法のうちのいずれかの方法により、統合範囲４１に反映された機械学習の結果を統合すると、制御部１１は、次のステップＳ３０４に処理を進める。
【０１３９】
（ステップＳ３０４）
ステップＳ３０４では、制御部１１は、モデル更新部１１４として動作し、統合処理の結果４３を示す統合結果データ１２１を各学習装置２に配信する。これによって、制御部１１は、各学習装置２に対して、各学習済みの学習モデル４内の統合範囲４１に統合処理の結果４３を適用させることで、各学習装置２の保持する学習済みの学習モデル４を更新する。このとき、制御部１１は、配信した統合処理の結果４３により学習済みの学習モデル４を更新する指示を各学習装置２に送信するか否かは、実施の形態に応じて適宜選択あれてよい。
【０１４０】
統合結果データ１２１を配信する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、自身の処理又は各学習装置２からの要求に応じて、ネットワークを介して各学習装置２に統合結果データ１２１を直接的に配信してもよい。また、例えば、制御部１１は、データサーバ等の外部記憶装置に統合結果データ１２１を送信し、各学習装置２に対して、外部記憶装置に保存された統合結果データ１２１を取得させるようにしてもよい。このように、制御部１１は、各学習装置２に統合結果データ１２１を間接的に配信してもよい。
【０１４１】
各学習装置２の制御部２１は、統合結果データ１２１を取得すると、取得された統合結果データ１２１を参照して、統合範囲４１内の各パラメータの値を統合処理により得られた各パラメータの値に置き換える。これにより、制御部１１は、各学習装置２に対して、各学習済みの学習モデル４内の統合範囲４１に統合処理の結果４３を適用させることで、各学習装置２の保持する各学習済みの学習モデル４を更新する。各学習済みの学習モデル４の更新が完了すると、制御部１１は、モデル統合に関する一連の処理を終了する。
【０１４２】
なお、統合結果データ１２１のデータ構成は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。統合結果データ１２１は、統合範囲４１に含まれる演算パラメータの値のみで構成されてもよいし、統合範囲４１以外の演算パラメータの値を含むように構成されてもよい。統合範囲４１以外の演算パラメータの値を含むように構成される場合、制御部１１は、学習装置２毎に統合結果データ１２１を生成してもよく、生成された統合結果データ１２１を各学習装置２に配信してもよい。
【０１４３】
＜統合範囲の決定方法＞
次に、上記ステップＳ３０２における統合範囲４１を決定する方法の具体例について説明する。本実施形態では、制御部１１は、以下の３つの方法のうちの少なくともいずれかの方法により、共通部分４０内において統合範囲４１を決定する。
【０１４４】
（Ａ）第１の方法
各学習装置２における各学習済みの学習モデル４の構造は、テンプレート１２６により与えられてもよい（ステップＳ１０２）。これに対応して、第１の方法では、制御部１１は、テンプレート１２６に基づいて、統合範囲４１を決定する。
【０１４５】
例えば、構造が異なるものの、共通部分４０を有する学習モデル４の構造のひな型を規定した複数のテンプレート１２６が用意されてよい。各テンプレート１２６の規定する共通部分４０には統合範囲４１が予め設定されていてよい。各学習装置２は、上記ステップＳ１０２において、複数のテンプレート１２６のうちのいずれかを利用して、利用する学習モデル４の構造を決定してよい。
【０１４６】
この場合に、制御部１１は、各学習装置２に利用された各テンプレート１２６を参照し、設定された統合範囲４１を特定することにより、ステップＳ３０３の処理の対象となる統合範囲４１を決定してもよい。当該第１の方法によれば、制御部１１は、簡易な方法で統合範囲４１を決定することができる。
【０１４７】
（Ｂ）第２の方法
次に、図１０を用いて、統合範囲４１を決定するための第２の方法の一例について説明する。図１０は、第２の方法により統合範囲４１を決定する場面の一例を模式的に例示する。統合範囲４１が予め設定された上で、各学習モデル４の構造が決定されているとは限らない。そこで、第２の方法では、制御部１１は、各学習済みの学習モデル４の共通部分４０において、演算処理の類似する部分を統合範囲４１に決定する。
【０１４８】
具体的には、各学習済みの学習モデル４の共通部分４０は、複数の演算モジュールを備えている。演算モジュールは、１又は複数の演算パラメータにより構成される。つまり、演算モジュールは、学習モデル４における演算処理を実行する一単位を形成する。本実施形態では、演算モジュールは、例えば、ニューラルネットワークの各層により構成される。図４及び図１０の例では、共通部分４０は、入力層５１から中間層５３までを含んでいる。この場合、例えば、入力層５１のみで構成される第１ネットワーク、入力層５１及び中間層５２で構成される第２ネットワーク、及び入力層５１及び２つの中間層（５２、５３）で構成される第３ネットワークそれぞれが演算モジュールに対応する。各演算モジュールは、統合範囲４１の候補となる。
【０１４９】
第２の方法では、制御部１１は、統合範囲４１の各候補となる各演算モジュールに評価用サンプル１２９を与えることで得られる出力が類似しているか否かを判定する。対応する演算モジュール間、すなわち、共通部分４０内の同一部分同士の出力が類似しているということは、その同一部分が入力データに対して類似する意図の演算処理を実行していることに対応する。そこで、制御部１１は、出力が類似していると判定される候補を統合範囲４１に決定する。
【０１５０】
ここで、図１１を更に用いて、第２の方法の処理手順の一例について説明する。図１１は、第２の方法による統合範囲４１の決定に関する処理手順の一例を示すフローチャートである。統合範囲４１を決定する方法として第２の方法が採用された場合、上記ステップＳ３０２の処理は、以下のステップＳ４０１〜ステップＳ４０４の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１５１】
まず、ステップＳ４０１を実行する前に、制御部１１は、評価用サンプル１２９を取得する。本実施形態では、評価用サンプル１２９は記憶部１２に格納されているため、制御部１１は、評価用サンプル１２９を記憶部１２から取得する。ただし、評価用サンプル１２９を取得する経路は、このような例に限定されなくてもよい。例えば、評価用サンプル１２９は、記憶媒体９１、外部記憶装置等に保存されていてもよい。この場合、制御部１１は、記憶媒体９１、外部記憶装置等から評価用サンプル１２９を取得してもよい。
【０１５２】
図１０に示されるとおり、評価用サンプル１２９は、各演算モジュールの出力を評価するために利用され、ローカル学習データ３と同様に構成される。本実施形態では、評価用サンプル１２９は、各学習データセット３０と同様に、入力データ１２９１及び正解データ１２９２の組み合わせにより構成される。入力データ１２９１は、上記訓練データ３１及び対象データ２２５と同種のデータである。正解データ１２９２は、上記正解データ３２と同様に、入力データ１２９１に対して所定の能力を発揮した結果（正解）を示すデータである。利用する評価用サンプル１２９の件数は、実施の形態に応じて適宜決定されてよい。１又は複数の評価用サンプル１２９を取得すると、制御部１１は、ステップＳ４０１に処理を進める。
【０１５３】
（ステップＳ４０１）
ステップＳ４０１では、制御部１１は、各学習済みの学習モデル４に評価用サンプル１２９を入力して、共通部分４０に含まれる各演算モジュールから出力を取得する。本実施形態では、制御部１１は、評価用サンプル１２９に含まれる入力データを入力層５１に入力し、入力側から順に各ニューロンの発火判定を行う。これにより、制御部１１は、各演算モジュールの出力層に対応する各層５１〜５３から出力値を取得する。
【０１５４】
図１０では、各学習装置（２ａ、２ｂ）から得られた各学習済みの学習モデル（４ａ、４ｂ）の共通部分４０について、入力層５１及び中間層５２により構成される演算モジュールから出力を得ている場面が例示されている。制御部１１は、他の演算モジュールについても同様に出力を得ることができる。各演算モジュールから出力を取得すると、制御部１１は、次のステップＳ４０２に処理を進める。
【０１５５】
（ステップＳ４０２）
ステップＳ４０２では、制御部１１は、各学習済みの学習モデル４の対応する演算モジュール間の、取得された出力の類似性及び相関性の少なくともいずれかを算出する。類似性及び相関性はそれぞれ、公知の方法により算出されてよい。類似性は、例えば、ノルム（距離）等により算出されてよい。相関性は、例えば、相関係数、偏相関係数等により算出されてよい。図１０の例では、各学習済みの学習モデル（４ａ、４ｂ）の入力層５１に入力データ１２９１を入力することで中間層５２から得られる出力同士の類似性及び相関性が算出されている。類似性及び相関性の少なくともいずれかを算出すると、次のステップＳ４０３に処理を進める。
【０１５６】
（ステップＳ４０３）
ステップＳ４０３では、制御部１１は、算出された類似性及び相関性の少なくともいずれかが所定の条件を満たすか否かを判定する。所定の条件は、各学習済みの学習モデル４の対応する演算モジュールの出力が類似しているか否かを評価するように適宜設定される。例えば、所定の条件は、類似性及び相関性それぞれに対する閾値により規定されてよい。この場合、制御部１１は、ステップＳ４０２により算出された類似性及び相関性の少なくともいずれかと閾値とを比較することで、算出された類似性及び相関性の少なくともいずれかが所定の条件を満たすか否かを判定する。各演算モジュールについて当該判定が完了すると、制御部１１は、次のステップＳ４０４に処理を進める。
【０１５７】
（ステップＳ４０４）
ステップＳ４０４では、制御部１１は、上記判定の結果に基づいて、算出された類似性及び相関性の少なくともいずれかが所定の条件を満たす演算モジュールを統合範囲４１に指定する。所定の条件を満たす複数の候補が存在した場合には、制御部１１は、複数の候補から統合範囲４１に指定する候補を適宜選択してもよい。例えば、制御部１１は、最も広い範囲の候補、最も狭い範囲の候補、又は算出された類似性及び相関性の少なくともいずれかの最も高い候補を統合範囲４１に指定してもよい。また、例えば、制御部１１は、複数の候補を出力装置１５に出力し、複数の候補から統合範囲４１に指定する候補の選択を、入力装置１４を介して受け付け、オペレータ等に選択された候補を統合範囲４１に指定してもよい。また、例えば、制御部１１は、複数の候補の中から統合範囲４１に指定する候補をランダムに選択してもよい。統合範囲４１の指定が完了すると、制御部１１は、統合範囲４１の決定に関する一連の処理を終了する。なお、いずれの演算モジュールの出力間で算出された類似性及び相関性も所定の条件を満たさない場合には、その他の方法により統合範囲４１が決定されてもよい。或いは、ステップＳ３０３以下の統合処理が省略されてもよい。
【０１５８】
これにより、制御部１１は、演算処理の類似する部分を統合範囲４１に決定することができる。この第２の方法によれば、予め統合範囲４１が設定されていない場合であっても、各学習済みの学習モデル４に対して適切な統合範囲４１を決定することができる。なお、この第２の方法を採用する場合には、評価用サンプル１２９において正解データ１２９２は省略されてよい。
【０１５９】
（Ｃ）第３の方法
ステップＳ３０３の統合処理は、一の学習済みの学習モデルに反映された機械学習の結果を他の学習済みの学習モデルに反映することで、各学習済みの学習モデルの能力の向上を図ることを目的として実行される。そこで、第３の方法では、制御部１１は、ステップＳ３０３の統合処理を実行する前と比べて、当該統合処理を実行した後に各学習済みの学習モデル４の有する所定の能力が向上する、つまり、所定の能力を発揮する精度が上がるように統合範囲４１を最適化する。
【０１６０】
具体的には、制御部１１は、共通部分４０内において暫定的な統合範囲（以下、「暫定統合範囲」とも称する）を指定する。次に、制御部１１は、指定された暫定統合範囲に対してステップＳ３０３と同様の暫定的な統合処理（以下、「暫定統合処理」とも称する）を実行する。そして、制御部１１は、評価用サンプル１２９を利用して、統合処理後の各学習済みの学習モデル４の能力を評価し、その評価結果に基づいて、統合範囲４１を最適化する。最適化の方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部１１は、以下の２つの方法のうちの少なくともいずれかの方法により、統合範囲４１を最適化する。
【０１６１】
（Ｃ−１）第１の最適化方法
まず、図１２及び図１３を用いて、第１の最適化方法の一例について説明する。図１２は、第１の最適化方法により統合範囲４１を最適化する場面の一例を模式的に例示する。図１３は、第１の最適化方法による統合範囲４１の決定に関する処理手順の一例を示すフローチャートである。第１の最適化方法では、制御部１１は、暫定的な統合処理前の各学習済みの学習モデル４の能力と暫定的な統合処理後の各学習済みの学習モデル４の能力とを比較することで、統合範囲４１を最適化する。
【０１６２】
なお、統合範囲４１を決定する方法としてこの第１の最適化方法が採用された場合、上記ステップＳ３０２及びステップＳ３０３の処理は、以下のステップＳ５０１〜ステップＳ５０７の処理を含む。特に、統合範囲４１を最適化することは、以下のステップＳ５０３〜ステップＳ５０７の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１６３】
（ステップＳ５０１）
ステップＳ５０１では、制御部１１は、範囲調整部１１２として動作し、各学習済みの学習モデル４の共通部分４０内において暫定統合範囲を指定する。例えば、制御部１１は、共通部分４０内で設定可能な統合範囲４１の複数の候補（演算モジュール）の中から暫定統合範囲に指定する候補を選択する。図１２では、共通部分４０内で指定可能な３つの候補のうち、入力層５１及び中間層５２により構成される第２ネットワークを暫定統合範囲に指定した場面が例示されている。暫定統合範囲を指定すると、制御部１１は、次のステップＳ５０２に処理を進める。
【０１６４】
（ステップＳ５０２）
ステップＳ５０２では、制御部１１は、統合処理部１１３として動作し、各学習済みの学習モデル４に対して、指定された暫定統合範囲に反映された機械学習の結果を統合する暫定統合処理を実行する。この暫定統合処理は、上記統合処理と同様に実行される。暫定統合処理において、暫定統合範囲に含まれる演算パラメータの値を統合する方法として、上記２つの方法のうちのいずれかの方法が採用されてよい。これにより、制御部１１は、暫定統合範囲に対する暫定統合処理の結果を得ることができる。そして、図１２に示されるとおり、制御部１１は、この暫定統合処理の結果を各学習済みの学習モデル４の暫定統合範囲に適用することで、統合処理後の各学習済みの学習モデル４を得ることができる。暫定統合処理の結果を適用する方法は、上記統合処理の結果４３を適用する方法と同様である。暫定統合処理を実行すると、制御部１１は、次のステップＳ５０３に処理を進める。
【０１６５】
（ステップＳ５０３及びステップＳ５０４）
ステップＳ５０３では、制御部１１は、範囲調整部１１２として動作し、暫定統合処理前の各学習済みの学習モデル４、すなわち、暫定統合処理の結果を適用していない各学習済みの学習モデル４が評価用サンプル１２９に対して所定の能力を発揮した第１の結果を取得する。ステップＳ５０３は、上記ステップＳ２０２と同様に実行されてよい。すなわち、制御部１１は、暫定統合処理前の各学習済みの学習モデル４の入力層５１に入力データ１２９１を入力し、入力側から順に各層５１〜５６に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、入力データ１２９１に対して所定の能力を発揮した結果（本実施形態では、入力データ１２９１に含まれる特徴を推論した結果）に対応する出力値を暫定統合処理前の各学習済みの学習モデル４の出力層５６から取得する。なお、以下のステップＳ５０４以降の各処理についても、制御部１１は、範囲調整部１１２として動作し、各処理を実行する。
【０１６６】
ステップＳ５０４では、制御部１１は、暫定統合処理後の各学習済みの学習モデル４、すなわち、暫定統合処理の結果を適用した後の各学習済みの学習モデル４が評価用サンプル１２９に対して所定の能力を発揮した第２の結果を取得する。第２の結果を取得する方法は、上記ステップＳ５０３の第１の結果を取得する方法と同様である。制御部１１は、暫定統合処理後の各学習済みの学習モデル４の入力層５１に入力データ１２９１を入力し、入力側から順に各層５１〜５６に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、入力データ１２９１に対して所定の能力を発揮した結果に対応する出力値を暫定統合処理後の各学習済みの学習モデル４の出力層５６から取得する。
【０１６７】
第１の結果及び第２の結果を取得すると、制御部１１は、次のステップＳ５０５に処理を進める。なお、ステップＳ５０３及びステップＳ５０４の処理順序は、このような例に限定されなくてもよい。例えば、ステップＳ５０３及びステップＳ５０４の処理順序は入れ替わってもよい。また、ステップＳ５０３及びステップＳ５０４において利用する評価用サンプル１２９の件数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【０１６８】
（ステップＳ５０５）
ステップＳ５０５では、制御部１１は、第１の結果及び第２の結果を比較することで、暫定統合処理を実行する前と比べて、暫定統合処理を実行した後に各学習済みの学習モデル４の有する所定の能力が向上しているか否かを判定する。
【０１６９】
当該判定の方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、各学習済みの学習モデル４から得られた出力値が正解データ１２９２と一致していることは、各学習済みの学習モデル４が入力データ１２９１に対して所定の能力を適正に発揮できたことを示す。一方で、得られた出力値が正解データ１２９２と一致していないことは、各学習済みの学習モデル４が入力データ１２９１に対して所定の能力を適正に発揮できなかったことを示す。つまり、この出力値と正解データ１２９２とを照合し、各評価用サンプル１２９の入力データ１２９１に対する所定の能力を発揮した結果の正答率を算出することで、制御部１１は、各学習済みの学習モデル４の所定の能力を評価することができる。
【０１７０】
そこで、制御部１１は、暫定統合処理を実行する前及び実行した後それぞれについて、各学習済みの学習モデル４の入力データ１２９１に対する正答率を各結果から算出し、算出された正答率を比較することで、暫定統合処理により各学習済みの学習モデル４の所定の能力が向上したか否かを判定する。暫定統合処理後の各学習済みの学習モデル４の正答率が暫定統合処理前の各学習済みの学習モデル４の正答率よりも高い場合、制御部１１は、暫定統合処理を実行する前と比べて、暫定統合処理を実行した後に各学習済みの学習モデル４の有する所定の能力が向上していると判定する。一方、そうではない場合に、制御部１１は、暫定統合処理を実行する前と比べて、暫定統合処理を実行した後に各学習済みの学習モデル４の有する所定の能力は向上していないと判定する。当該判定が完了すると、制御部１１は、次のステップＳ５０６に処理を進める。
【０１７１】
（ステップＳ５０６）
ステップＳ５０６では、制御部１１は、ステップＳ５０５の判定結果に基づいて、処理の分岐先を決定する。ステップＳ５０５において、暫定統合処理を実行する前と比べて、暫定統合処理を実行した後に各学習済みの学習モデル４の有する所定の能力が向上していると判定した場合、制御部１１は、次のステップＳ５０７に処理を進める。一方、そうではない場合に、制御部１１は、ステップＳ５０１に処理を戻し、ステップＳ５０１以下の処理を繰り返す。この繰り返しでは、制御部１１は、ステップＳ５０１において、異なる暫定統合範囲を指定することで、暫定統合範囲を変更して、ステップＳ５０２以降の処理を実行する。
【０１７２】
（ステップＳ５０７）
ステップＳ５０７では、制御部１１は、ステップＳ５０１により指定された暫定統合範囲を統合範囲４１に決定（採用）する。統合範囲４１の決定が完了すると、制御部１１は、第１の最適化方法による統合範囲４１の決定に関する一連の処理を終了する。なお、この第１の最適化方法を採用する場合、制御部１１は、ステップＳ５０７まで到達した一連の処理において、ステップＳ５０２により得られた暫定統合処理の結果をステップＳ３０３の統合処理の結果４３として利用する。
【０１７３】
これにより、制御部１１は、統合処理後に各学習済みの学習モデル４の所定の能力が向上するように統合範囲４１を決定することができる。したがって、この第１の最適化方法によれば、予め統合範囲４１が設定されていない場合であっても、各学習済みの学習モデル４に対して、統合処理後に所定の能力が向上するような最適な統合範囲４１を決定することができる。
【０１７４】
（Ｃ−２）第２の最適化方法
次に、図１４及び図１５を用いて、第２の最適化方法の一例について説明する。図１４は、第２の最適化方法により統合範囲４１を最適化する場面の一例を模式的に例示する。図１５は、第２の最適化方法による統合範囲４１の決定に関する処理手順の一例を示すフローチャートである。第２の最適化方法では、制御部１１は、複数の暫定統合範囲を指定し、指定された複数の暫定統合範囲の中から統合処理により所定の能力が最も向上する暫定統合範囲を特定することで、統合範囲４１を最適化する。
【０１７５】
なお、統合範囲４１を決定する方法としてこの第２の最適化方法が採用された場合、上記ステップＳ３０２及びステップＳ３０３の処理は、以下のステップＳ６０１〜ステップＳ６０５の処理を含む。特に、統合範囲４１を最適化することは、以下のステップＳ６０３〜ステップＳ６０５の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１７６】
（ステップＳ６０１）
ステップＳ６０１では、制御部１１は、範囲調整部１１２として動作し、各学習済みの学習モデル４の共通部分４０内において複数の暫定統合範囲を指定する。暫定統合範囲を指定する方法は、上記ステップＳ５０１と同様であってよい。指定する暫定統合範囲の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。図１４では、入力層５１及び中間層５２により構成される第２ネットワーク、並びに入力層５１及び２つの中間層（５２、５３）により構成される第３ネットワークの２つの候補を複数の暫定統合範囲として指定した場面が例示されている。複数の暫定統合範囲を指定すると、制御部１１は、次のステップＳ６０２に処理を進める。
【０１７７】
（ステップＳ６０２）
ステップＳ６０２では、制御部１１は、統合処理部１１３として動作し、指定された暫定統合範囲毎に、各学習済みの学習モデル４に対する、指定された各暫定統合範囲に反映された機械学習の結果を統合する暫定統合処理を実行する。暫定統合範囲毎の暫定統合処理は、上記ステップＳ５０２と同様に実行されてよい。これにより、制御部１１は、暫定統合処理の結果を暫定統合範囲毎に得ることができる。そして、図１４に示されるとおり、制御部１１は、暫定統合範囲毎に、暫定統合処理の結果を各学習済みの学習モデル４に適用することで、暫定統合処理後の各学習済みの学習モデル４を得ることができる。暫定統合処理の結果を適用する方法は、上記統合処理の結果４３を適用する方法と同様である。指定された暫定統合範囲毎に暫定統合処理を実行すると、制御部１１は、次のステップＳ６０３に処理を進める。
【０１７８】
（ステップＳ６０３）
ステップＳ６０３では、制御部１１は、範囲調整部１１２として動作し、指定された暫定統合範囲毎に、暫定統合処理を実行した後の各学習済みの学習モデル４が評価用サンプル１２９に対して所定の能力を発揮した結果を取得する。各結果を取得する方法は、上記ステップＳ５０４と同様であってよい。すなわち、制御部１１は、指定された暫定統合範囲毎に、暫定統合処理後の各学習済みの学習モデル４の入力層５１に入力データ１２９１を入力し、入力側から順に各層５１〜５６に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、指定された暫定統合範囲毎に、入力データ１２９１に対して所定の能力を発揮した結果に対応する出力値を暫定統合処理後の各学習済みの学習モデル４の出力層５６から取得する。各結果を取得すると、制御部１１は、次のステップＳ６０４に処理を進める。なお、以下のステップＳ６０４以降の各処理についても、制御部１１は、範囲調整部１１２として動作し、各処理を実行する。
【０１７９】
（ステップＳ６０４）
ステップＳ６０４では、制御部１１は、取得された各結果に基づいて、暫定統合処理を実行した後の各学習済みの学習モデル４の有する所定の能力が最も高い暫定統合範囲を特定する。指定された各暫定統合範囲に対する暫定統合処理により得られた各学習済みの学習モデル４の所定の能力を比較する方法は、上記ステップＳ５０５と同様であってよい。すなわち、制御部１１は、指定された暫定統合範囲毎に、各学習済みの学習モデル４から得られた出力値と正解データ１２９２とを照合することで、暫定統合処理後の各学習済みの学習モデル４の入力データ１２９１に対する正答率を各結果から算出してもよい。次に、制御部１１は、暫定統合範囲毎に算出された各学習済みの学習モデル４の正答率を比較してもよい。そして、この比較の結果に基づいて、制御部１１は、正答率の最も高い各学習済みの学習モデル４を与えた暫定統合範囲を特定してもよい。これにより、制御部１１は、暫定統合処理を実行した後の各学習済みの学習モデル４の有する所定の能力が最も高い暫定統合範囲を特定することができる。所定の能力の最も高い暫定統合処理後の各学習済みの学習モデル４を与える暫定統合範囲を特定すると、制御部１１は、次のステップＳ６０５に処理を進める。
【０１８０】
（ステップＳ６０５）
ステップＳ６０５では、制御部１１は、ステップＳ６０４により特定された暫定統合範囲を統合範囲４１に決定（採用）する。統合範囲４１の決定が完了すると、制御部１１は、第２の最適化方法による統合範囲４１の決定に関する一連の処理を終了する。なお、この第２の最適化方法を採用する場合、制御部１１は、所定の能力の最も高い暫定統合処理後の各学習済みの学習モデル４を与える暫定統合範囲に対してステップＳ６０２により暫定統合処理を実行した結果をステップＳ３０３の統合処理の結果４３として利用する。
【０１８１】
これにより、制御部１１は、複数の統合範囲の候補の中から統合処理により所定の能力が最も向上する候補を統合範囲４１として決定することができる。したがって、この第２の最適化方法によれば、予め統合範囲４１が設定されていない場合であっても、各学習済みの学習モデル４に対して、統合処理後に所定の能力が最も向上するような最適な統合範囲４１を決定することができる。制御部１１は、統合範囲４１を決定する方法として、この第２の最適化方法及び上記第１の最適化方法の両方を採用してもよい。また、制御部１１は、第１の最適化方法及び第２の最適化方法の少なくとも一方による統合範囲４１の決定処理を複数回実行し、統合処理後に所定の能力が最も向上する統合範囲４１を特定してもよい。統合範囲４１の決定処理を繰り返す回数は、閾値等により適宜設定されてよい。
【０１８２】
以上の３つの方法の少なくともいずれかの方法を採用することで、制御部１１は、各学習済みの学習モデル４の共通部分４０内において統合範囲４１を適切に決定することができる。制御部１１は、以上の３つの方法を組み合わせて採用し、統合範囲４１を決定してもよい。ただし、統合範囲４１を決定する方法は、これらの例に限られなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、入力装置１４を介したオペレータによる統合範囲４１の指定を受け付けてもよい。この場合、制御部１１は、オペレータの指定に応じて統合範囲４１を決定してもよい。
【０１８３】
＜学習装置のグルーピング＞
次に、図１６を用いて、各学習装置２のグルーピングの一例について説明する。図１６は、各学習装置２をグルーピングする場面の一例を模式的に例示する。
【０１８４】
ステップＳ３０３の統合処理は、一の学習済みの学習モデルに反映された機械学習の結果を他の学習済みの学習モデルに反映することで、各学習済みの学習モデルの能力の向上を図ることを目的として実行される。例えば、各学習モデルに習得させる所定の能力が共通している等により、一の学習済みの学習モデル及び他の学習済みの学習モデルの演算処理が類似し得ると想定する。この場合には、上記ステップＳ３０３の統合処理により、一の学習済みの学習モデルに反映された機械学習の結果を他の学習済みの学習モデルに適切に反映することができる。一方で、例えば、各学習モデルに習得させる所定の能力が全く異なっている等により、一の学習済みの学習モデル及び他の学習済みの学習モデルの演算処理が極めて相違していると想定する。この場合には、上記ステップＳ３０３の統合処理により、一の学習済みの学習モデルに反映された機械学習の結果を他の学習済みの学習モデルに判定することは困難である。
【０１８５】
そこで、本実施形態では、制御部１１は、グルーピング部１１６として動作し、各学習装置２を複数のグループのうちの少なくともいずれかに割り当ててもよい。各グループは、適宜設定されてよい。例えば、各グループは、所定の能力の種別、学習モデルに要求される仕様等に応じて適宜設定されてよい。図１６では、グループＡ及びグループＢの２つのグループに各学習装置２を割り当てる場面が例示されている。制御部１１は、この各学習装置２に対するグループの割り当て結果を割当情報１２４に格納する。
【０１８６】
このグルーピング処理を実行する場合、制御部１１は、同一のグループ内で、換言すると、グループ毎に、ステップＳ３０１〜Ｓ３０４の処理を実行する。すなわち、ステップＳ３０１では、制御部１１は、同一のグループに属する複数の学習装置２それぞれから学習済みの学習モデル４を収集する。ステップＳ３０２では、制御部１１は、同一のグループに属する各学習装置２から収集された各学習済みの学習モデル４に含まれる共通部分４０内において統合範囲４１を決定する。ステップＳ３０３では、制御部１１は、同一のグループに属する各学習装置２から収集された各学習済みの学習モデル４に対して、決定された統合範囲４１に反映された機械学習の結果を統合する統合処理を実行する。そして、ステップＳ３０４では、制御部１１は、同一のグループに属する各学習装置２に統合処理の結果４３を配信し、各学習装置２に対して、各学習済みの学習モデル４内の統合範囲４１に統合処理の結果４３を適用させることで、各学習装置２の保持する学習済みの学習モデル４を更新する。なお、この同一グループ内の統合処理は、複数のグループを重複するように実行されてもよい。すなわち、制御部１１は、一のグループ内において学習済みの学習モデル４に対する統合処理を実行した後、その統合処理の結果４３を用いて、その一のグループ内に属する学習装置２の属する他のグループ内において学習済みの学習モデル４に対する統合処理を実行してもよい。この場合、一のグループと他のグループとで異なる範囲が統合範囲４１に設定されてもよい。これに応じて、一のグループ内において統合処理を実行した統合範囲４１と他のグループ内において統合処理を実行した統合範囲４１とは異なっていてもよい。
【０１８７】
グルーピングの方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部１１は、以下の３つの方法のちの少なくともいずれかの方法により、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。
【０１８８】
（Ａ）第１のグルーピング方法
まず、図１７を用いて、第１のグルーピング方法の一例について説明する。図１７は、第１のグルーピング方法による各学習装置２に対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第１のグルーピング方法では、制御部１１は、グループのリストから所望のグループを各学習装置２に選択させることで、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。
【０１８９】
なお、各学習装置２をグループに割り当てる方法として第１のグルーピング方法が採用された場合、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップＳ７０１〜ステップＳ７０３の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１９０】
ステップＳ７０１では、制御部１１は、複数のグループを示すグループリスト１２３を各学習装置２に配信する。これにより、制御部１１は、各学習装置２に対して、グループリスト１２３に示される複数のグループの中から１つ以上のグループを選択させる。グループリスト１２３に含まれる各グループは、ローカル学習データ３、学習装置２、学習装置２の利用者等の属性に応じて設定されていてもよい。例えば、外観検査の例では、ライン番号、工場名、企業名等の属性に応じてグループが設定されていてもよい。また、各学習装置２からの要求により、グループリスト１２３に新たなグループが設定されてもよい。各学習装置２のオペレータは、出力装置２５に出力されたグループリスト１２３を参照し、入力装置２４を操作して、グループリスト１２３の中から１つ以上のグループを選択することができる。また、オペレータは、入力装置２４を操作して、グループリスト１２３に新たなグループを追加することができる。各学習装置２の制御部２１は、この操作に応じて、グループ選択の回答をモデル統合装置１に返信する。
【０１９１】
ステップＳ７０２では、制御部１１は、この選択の回答を各学習装置２から取得する。そして、ステップＳ７０３では、制御部１１は、取得された回答に基づいて、選択された１つ以上のグループに各学習装置２を割り当てる。１つ以上のグループの割り当てが完了すると、制御部１１は、第１のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第１のグルーピング方法によれば、制御部１１は、簡易な方法により各学習装置２をグループ分けすることができる。
【０１９２】
なお、この場合、モデル統合装置１は、各学習装置２からの回答に基づいて、各学習装置２の利用する学習モデル４の構造をコントロールすることが可能である。そこで、制御部１１は、ステップＳ７０２により取得された回答に応じて複数のテンプレート１２６の中から各学習装置２に利用させるテンプレート１２６を選択し、選択されたテンプレート１２６を各学習装置２に送信してもよい。これにより、制御部１１は、各学習装置２に対して、ステップＳ１０２において、選択されたテンプレート１２６を利用して、各学習モデル４の構造を決定させてもよい。
【０１９３】
（Ｂ）第２のグルーピング方法
次に、図１８を用いて、第２のグルーピング方法の一例について説明する。図１８は、第２のグルーピング方法による各学習装置２に対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第２のグルーピング方法では、制御部１１は、各学習モデル４の属性に応じて、各学習装置２を適切なグループに割り当てる。
【０１９４】
なお、各学習装置２をグループに割り当てる方法として第２のグルーピング方法が採用された場合、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップＳ８０１〜ステップＳ８０３の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１９５】
（ステップＳ８０１）
ステップＳ８０１では、制御部１１は、各学習モデル４に習得させる所定の能力に関する属性データを各学習装置２から取得する。属性データを取得する方法は、上記ステップＳ３０１において学習結果データ２２１を収集する方法と同様であってよい。制御部１１は、各学習装置２から属性データを直接的に又は間接的に取得してよい。また、制御部１１は、上記ステップＳ３０１において、学習結果データ２２１に付随して属性データを取得してもよい。
【０１９６】
属性データは、所定の能力に関するあらゆる情報を含んでもよく、例えば、所定の能力の種別を示す情報、学習モデル４に要求される仕様に関する情報、等を含んでもよい。所定の能力の種別を示す情報は、例えば、外観検査、栽培装置の制御等の学習モデル４に獲得させる能力を識別するための情報を含んでもよい。また、学習モデル４に要求される仕様に関する情報は、例えば、精度、演算速度等の学習モデル４の構造に関連する情報を含んでもよい。属性データは、各学習装置２において、ステップＳ１０２により、学習モデル４の構造を決定する際に生成されてよい。属性データを取得すると、制御部１１は、次のステップＳ８０２に処理を進める。
【０１９７】
（ステップＳ８０２及びステップＳ８０３）
ステップＳ８０２では、制御部１１は、各学習装置２から取得された属性データをクラスタリングする。クラスタリングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。クラスタリングには、例えば、k平均法（k-meansクラスタリング）等の公知の方法が採用されてよい。
【０１９８】
ステップＳ８０３では、制御部１１は、クラスタリングの結果に基づいて、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。一例として、制御部１１は、それぞれから取得された属性データが同一のクラスに割り当てられた複数の学習装置２を同一のグループに割り当てる。この場合、各グループは、属性データのクラスに応じて設定されてよい。また、制御部１１は、クラスタリングの結果に基づいて、各学習装置２を２つ以上のグループに割り当ててもよい。
【０１９９】
クラスタリングの結果に基づくグループの割り当てが完了すると、制御部１１は、第２のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第２のグルーピング方法によれば、制御部１１は、各学習モデル４の属性に応じて、各学習装置２を適切なグループに割り当てることができる。
【０２００】
（Ｃ）第３のグルーピング方法
各学習装置２のグルーピングが変更されると、統合処理を適用する学習済みの学習モデル４も変更される。これにより、統合処理を実行することにより、各学習済みの学習モデル４に習得させた能力の向上する度合いが相違し得る。そこで、第３のグルーピング方法では、上記統合範囲４１を決定する第３の方法と同様に、制御部１１は、ステップＳ３０３の統合処理を実行する前に比べて、統合処理を実行した後に各学習済みの学習モデル４の有する所定の能力が向上するように、複数のグループに対する各学習装置２の割当を最適化する。最適化の方法は、上記統合範囲４１を決定する第３の方法と同様に、実施の形態に応じて適宜決定されてよい。
【０２０１】
図１９は、第３のグルーピング方法による各学習装置２に対するグループの割り当てに関する処理手順の一例を示すフローチャートである。なお、各学習装置２に対するグループの割り当てを最適化することは、以下のステップＳ９０４〜ステップＳ９０６により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０２０２】
（ステップＳ９０１）
ステップＳ９０１では、制御部１１は、グルーピング部１１６として動作し、複数のグループに対する各学習装置２の割り当ての異なる複数の暫定的なグループ分け（以下、「暫定グループ分け」とも記載する）を行う。各暫定的なグループ分けは、適宜決定されてよい。例えば、制御部１１は、複数のグループのうちのいずれかのグループに各学習装置２をランダムに割り当てることで、複数の暫定グループ分けを行ってもよい。また、例えば、制御部１１は、上記第１のグルーピング方法及び第２のグルーピング方法の少なくともいずれかの方法により、暫定グループ分けを行ってもよい。割り当ての異なる複数の暫定グループ分けを行うと、制御部１１は、次のステップＳ９０２に処理を進める。なお、制御部１１は、ステップＳ９０１の前又は後に、上記ステップＳ３０１を実行することで、各学習済みの学習モデル４を各学習装置２から収集する。
【０２０３】
（ステップＳ９０２）
ステップＳ９０２では、制御部１１は、範囲調整部１１２として動作し、暫定グループ分け毎に、同一のグループ内で、収集された各学習済みの学習モデル４に含まれる共通部分４０内において統合範囲４１を決定する。ステップＳ９０２において統合範囲４１を決定する方法は、上記ステップＳ３０２と同様であってよい。暫定グループ分け毎に同一のグループ内で統合範囲４１を決定すると、制御部１１は、次のステップＳ９０３に処理を進める。
【０２０４】
（ステップＳ９０３）
ステップＳ９０３では、制御部１１は、統合処理部１１３として動作し、暫定グループ分け毎に、同一のグループ内で、各学習済みの学習モデル４に対して、決定された統合範囲４１に反映された機械学習の結果を統合する統合処理を実行する。ステップＳ９０３における統合処理は、上記ステップＳ３０３と同様であってよい。暫定グループ分け毎に同一のグループ内で統合処理を実行すると、制御部１１は、次のステップＳ９０４に処理を進める。
【０２０５】
（ステップＳ９０４）
ステップＳ９０４では、制御部１１は、グルーピング部１１６として動作し、暫定グループ分け毎に、同一のグループ内で、統合処理を実行した後の各学習済みの学習モデル４が評価用サンプル１２９に対して所定の能力を発揮した結果を取得する。ステップＳ９０４において各結果を取得する方法は、上記ステップＳ６０３と同様であってよい。すなわち、制御部１１は、暫定グループ分け毎に、同一のグループ内で、統合処理後の各学習済みの学習モデル４の入力層５１に入力データ１２９１を入力し、入力側から順に各層５１〜５６に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、暫定グループ分け毎に、同一のグループ内で、入力データ１２９１に対して所定の能力を発揮した結果に対応する出力値を統合処理後の各学習済みの学習モデル４の出力層５６から取得する。各結果を取得すると、制御部１１は、次のステップＳ９０５に処理を進める。なお、以下のステップ９０５以降の各処理についても、制御部１１は、グルーピング部１１６として動作し、各処理を実行する。
【０２０６】
（ステップＳ９０５）
ステップＳ９０５では、制御部１１は、取得した各結果に基づいて、同一のグループ内で、統合処理を実行した後の各学習済みの学習モデル４の有する所定の能力が最も高い暫定グループ分けを特定する。各暫定グループ分けに対する統合処理により各グループ内で得られた各学習済みの学習モデル４の所定の能力を比較する方法は、上記ステップＳ６０４と同様であってよい。すなわち、制御部１１は、暫定グループ分け毎に、同一のグループ内で、各学習済みの学習モデル４から得られた出力値と正解データ１２９２とを照合することで、統合処理後の各学習済みの学習モデル４の入力データ１２９１に対する正答率を各結果から算出してもよい。次に、制御部１１は、暫定グループ分け毎に各グループで算出された各学習済みの学習モデル４の正答率を比較してもよい。そして、この比較の結果に基づいて、制御部１１は、正答率の最も高い各学習済みの学習モデル４を与えた暫定グループ分けを特定してもよい。これにより、制御部１１は、同一のグループ内で、統合処理を実行した後の各学習済みの学習モデル４の有する所定の能力が最も高い暫定グループ分けを特定することができる。所定の能力の最も高い統合処理後の各学習済みの学習モデル４を与える暫定グループ分けを特定すると、制御部１１は、次のステップＳ９０６に処理を進める。
【０２０７】
（ステップＳ９０６）
ステップＳ９０６では、制御部１１は、特定された暫定グループ分けを各学習装置２のグループ分けとして採用する。すなわち、制御部１１は、特定された暫定グループ分けに従って、複数のグループのうちの少なくともいずれかに各学習装置２を割り当てる。各学習装置２の割り当てが完了すると、制御部１１は、第３のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。
【０２０８】
なお、この第３のグルーピング方法を採用する場合、制御部１１は、所定の能力が最も高い統合処理後の各学習済みの学習モデル４を与える暫定グループ分けに対してステップＳ９０２を実行した結果をステップＳ３０２の実行結果として利用する。また、制御部１１は、当該暫定グループ分けに対してステップＳ９０３を実行した結果をステップＳ３０３の実行結果として利用する。
【０２０９】
これにより、制御部１１は、複数のグループ分けの候補（暫定グループ分け）の中から統合処理により所定の能力が向上する候補を各学習装置２のグループ分けとして採用することができる。したがって、この第３のグルーピング方法によれば、統合処理により所定の能力が最も向上するような最適なグループ分けを行うことができる。
【０２１０】
なお、暫定グループ分けに含まれる学習装置２の中に、統合処理後に所定の能力が向上する学習装置２と所定の能力が低下する学習装置２が混在する場合、この暫定グループ分けの取り扱いは、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、当該暫定グループ分けを採用せずに、異なる暫定グループ分けを各学習装置２のグループ分けに採用してもよい。また、例えば、制御部１１は、当該暫定グループ分けを各学習装置２のグループ分けと採用すると共に、統合処理後に所定の能力が向上する学習装置２には統合処理の結果４３を配信し、所定の能力が低下する学習装置２には統合処理の結果４３を配信しないようにしてもよい。
【０２１１】
以上の３つの方法の少なくともいずれかの方法を採用することで、制御部１１は、各学習装置２を適切にグループ分けすることができる。ただし、グルーピングの方法は、これらの例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、入力装置１４を介したオペレータによるグループ分けの指定を受け付けてもよい。この場合、制御部１１は、オペレータの指定に応じて各学習装置２のグループ分けを行ってもよい。
【０２１２】
なお、各学習装置２は、２つ以上のグループに割り当てられてもよい。この場合、２つ以上のグループに割り当てられた学習装置２は、いずれかのグループ内で実行された統合処理の結果４３を、自身の保持する学習済みの学習モデル４の統合範囲４１に選択的に適用してよい。例えば、当該学習装置２は、各グループ内で得られた統合処理の結果から所定の能力が最も向上する統合処理の結果を選択し、選択された統合処理の結果を、自身の保持する学習済みの学習モデル４の統合範囲４１に適用してもよい。
【０２１３】
［特徴］
以上のとおり、本実施形態に係るモデル統合装置１は、ローカル学習データ３そのものを集結するのではなく、ステップＳ３０１及びステップＳ３０３の処理により、各学習装置２により構築された各学習済みの学習モデル４を収集し、収集された各学習済みの学習モデル４に対して統合処理を実行する。そのため、モデル統合装置１にかかる通信コスト及び計算コストを抑えることができる。また、ステップＳ３０３における統合処理は、各学習済みの学習モデル４に含まれる共通部分４０に設定された統合範囲４１に対して実行されるに過ぎないため、各学習モデル４の構造が相違していることが許容される。つまり、ローカル学習データ３の形式及び各学習モデル４の構造が不一致であったとしても、ステップＳ３０３における各学習済みの学習モデル４に対する統合処理は実行可能である。
【０２１４】
そして、この統合処理によって、各学習済みの学習モデル４に反映された機械学習の結果を他の学習済みの学習モデル４に適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４は、他の学習済みの学習モデル４における機械学習の結果に基づいて、各学習装置２単独では得られないようなデータに対しても、所定の能力を適切に発揮することができるようになる。したがって、本実施形態に係るモデル統合装置１によれば、所定の能力のより高い学習済みの学習モデル４を構築する環境を実現することができる。更に、本実施形態に係るモデル統合装置１によれば、ステップＳ３０２及びグルーピングにより、最適な統合範囲４１及び最適なグループ分けを決定することで、所定の能力のより高い学習済みの学習モデル４を得ることができる。
【０２１５】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０２１６】
＜４．１＞
上記実施形態に係るモデル統合装置１は、センサＳにより得られたセンシングデータに含まれる特徴を推論する場面に適用されている。しかしながら、上記実施形態の適用範囲は、このような例に限定される訳ではない。上記実施形態に係るモデル統合装置１は、機械学習により所定の能力を学習モデルに習得させるあらゆる場面に適用可能である。以下、適用場面を限定した５つの変形例を例示する。
【０２１７】
（Ａ）外観検査の場面
図２０は、第１変形例に係る検査システム１００Ａの適用場面の一例を模式的に例示する。本変形例は、生産ラインで生産される製品ＲＡの外観検査を行う場面に上記実施形態に係るモデル統合装置１を適用した例である。図２０に示されるとおり、本変形例に係る検査システム１００Ａは、モデル統合装置１及び複数の検査装置２Ａを備えている。上記実施形態と同様に、モデル統合装置１及び各検査装置２Ａは、ネットワークを介して互いに接続されてよい。
【０２１８】
各検査装置２Ａは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各検査装置２Ａは、上記各学習装置２と同様に構成されてよい。本変形例では、各検査装置２Ａは、カメラＳＡに接続される。各検査装置２Ａは、カメラＳＡにより製品ＲＡを撮影することにより、当該製品ＲＡの写る画像データを取得する。カメラＳＡの種類は、特に限定されなくてもよい。カメラＳＡは、例えば、ＲＧＢ画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。各検査装置２Ａは、得られた画像データに基づいて、製品ＲＡの状態を検査する（つまり、製品ＲＡの良否を判定する）。
【０２１９】
＜検査装置のハードウェア構成＞
図２１は、本変形例に係る各検査装置２Ａのハードウェア構成の一例を模式的に例示する。図２１に示されるとおり、本変形例に係る各検査装置２Ａは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各検査装置２Ａは、外部インタフェース２７を介してカメラＳＡに接続される。ただし、各検査装置２Ａのハードウェア構成は、このような例に限定されなくてもよい。各検査装置２Ａの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各検査装置２Ａは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ、ＰＬＣ（programmable logic controller）等であってもよい。
【０２２０】
本変形例に係る各検査装置２Ａの記憶部２２は、学習プログラム８２Ａ、検査プログラム８３Ａ、ローカル学習データ３Ａ、学習結果データ２２１Ａ等の各種情報を記憶する。学習プログラム８２Ａ、検査プログラム８３Ａ、ローカル学習データ３Ａ、及び学習結果データ２２１Ａは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ａ、検査プログラム８３Ａ、及びローカル学習データ３Ａのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各検査装置２Ａは、記憶媒体９２から、学習プログラム８２Ａ、検査プログラム８３Ａ、及びローカル学習データ３Ａのうちの少なくともいずれかを取得してもよい。
【０２２１】
＜学習処理＞
図２２Ａは、本変形例に係る各検査装置２Ａの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各検査装置２Ａの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ａの実行により実現される。図２２Ａに示されるとおり、取り扱うデータがセンシングデータから画像データに置き換わる点を除き、各検査装置２Ａの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各検査装置２Ａは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２２２】
すなわち、ステップＳ１０１では、各検査装置２Ａの制御部２１は、学習データ収集部２１１Ａとして動作し、学習モデル４Ａの機械学習に利用するローカル学習データ３Ａを収集する。本変形例では、学習モデル４Ａは、上記実施形態に係る学習モデル４と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ａは、画像データ３１Ａ及び正解データ３２Ａの組み合わせをそれぞれ含む複数の学習データセット３０Ａにより構成される。画像データ３１Ａは、訓練データ３１に対応する。
【０２２３】
各学習データセット３０Ａを取得する方法は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、画像データ３１Ａは、シミ、汚れ、傷等の欠陥を含む又は含まない製品ＲＡをカメラにより様々な条件で撮影することで画像データ３１Ａが得られてよい。そして、得られた画像データ３１Ａに対して、当該画像データ３１Ａに写る製品ＲＡの状態（正解）を示す正解データ３２Ａを関連付ける。これにより、各学習データセット３０Ａが生成されてよい。
【０２２４】
ステップＳ１０２では、制御部２１は、構造決定部２１２として動作し、学習モデル４Ａの構造を決定する。ステップＳ１０３では、制御部２１は、学習処理部２１３として動作し、収集されたローカル学習データ３Ａを利用した機械学習を実行する。すなわち、制御部１１は、各学習データセット３０Ａについて、画像データ３１Ａが入力されると、対応する正解データ３２Ａと一致する出力値を出力するように学習モデル４Ａを訓練する。これにより、制御部１１は、画像データ３１Ａに写る製品ＲＡの状態を判定する能力を獲得した学習済みの学習モデル４Ａを構築することができる。ステップＳ１０４では、制御部２１は、保存処理部２１４として動作し、機械学習により構築された学習済みの学習モデル４Ａの構造及び演算パラメータを示す情報を学習結果データ２２１Ａとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ａを所定の記憶領域に保存する。
【０２２５】
＜検査処理＞
図２２Ｂは、本変形例に係る各検査装置２Ａの検査処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各検査装置２Ａの検査処理に関するソフトウェア構成は、制御部２１による検査プログラム８３Ａの実行により実現される。図２２Ｂに示されるとおり、取り扱うデータがセンシングデータから画像データに置き換わる点を除き、各検査装置２Ａの検査処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各検査装置２Ａは、上記各学習装置２と同様に、検査処理に関する一連の処理を実行する。
【０２２６】
すなわち、ステップＳ２０１では、制御部２１は、対象データ取得部２１６として動作し、外観検査の対象となる製品ＲＡの写る対象画像データ２２５ＡをカメラＳＡから取得する。ステップＳ２０２では、制御部２１は、検査部２１７Ａとして動作し、学習済みの学習モデル４Ａを利用して、対象画像データ２２５Ａに写る製品ＲＡの状態（良否）を判定する。具体的には、制御部２１は、学習結果データ２２１Ａを参照して、学習済みの学習モデル４Ａの設定を行う。次に、制御部２１は、取得された対象画像データ２２５Ａを学習済みの学習モデル４Ａに入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象画像データ２２５Ａに写る製品ＲＡの状態を推定した結果に対応する出力値を学習済みの学習モデル４Ａから取得する。なお、検査部２１７Ａは、上記推論部２１７に対応する。検査部２１７Ａは、学習結果データ２２１Ａを保持することで、学習済みの学習モデル４Ａを含んでいる。
【０２２７】
ステップＳ２０３では、制御部２１は、出力部２１８として動作し、製品ＲＡの状態を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、製品ＲＡの状態を判定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、製品ＲＡに欠陥が含まれる場合に、そのことを知らせるための警告を出力装置２５に出力してもよい。また、例えば、各検査装置２Ａが製品ＲＡを搬送するコンベア装置（不図示）に接続される場合に、製品ＲＡの状態を判定した結果に基づいて、欠陥のない製品ＲＡと欠陥のある製品ＲＡとを別のラインで搬送されるようにコンベア装置を制御してもよい。
【０２２８】
＜モデル統合＞
各学習済みの学習モデル４Ａは、上記学習モデル４と同様に、共通の構造を有する共通部分を含むように構成される。また、各学習済みの学習モデル４Ａのうちのいずれかの組み合わせは、共通部分以外の部分において異なる構造を有する。このような各学習済みの学習モデル４Ａに対して、モデル統合装置１は、上記実施形態と同様に、上記ステップＳ３０１〜ステップＳ３０４の処理を実行する。
【０２２９】
すなわち、ステップＳ３０１では、モデル統合装置１は、各学習済みの学習モデル４Ａを各検査装置２Ａから収集する。ステップＳ３０２では、モデル統合装置１は、収集された各学習済みの学習モデル４Ａに含まれる共通部分内において統合範囲を決定する。ステップＳ３０３では、モデル統合装置１は、各学習済みの学習モデル４Ａに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する。ステップＳ３０４では、モデル統合装置１は、統合処理の結果を各検査装置２Ａに配信し、各検査装置２Ａに対して、各学習済みの学習モデル４Ａ内の統合範囲に統合処理の結果を適用させることで、各検査装置２Ａの保持する学習済みの学習モデル４Ａを更新する。
【０２３０】
本変形例によれば、画像データに写る製品の状態を検査する場面において、各学習済みの学習モデル４Ａに反映された機械学習の結果を他の学習済みの学習モデル４Ａに適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４Ａは、他の学習済みの学習モデル４Ａにおける機械学習の結果に基づいて、各検査装置２Ａ単独では得られないような対象画像データ２２５Ａに対しても、製品ＲＡの状態を適切に推定することができるようになる。例えば、ある検査装置２Ａにおいて、経験のない欠陥が発生した場面を想定する。この場面において、他の検査装置２Ａでその欠陥の経験があれば、当該他の検査装置２Ａで構築された学習済みの学習モデル４Ａを介して、当該検査装置２Ａの学習済みの学習モデル４Ａにその経験を反映させることができる。そのため、当該検査装置２Ａは、統合処理後の学習済みの学習モデル４Ａを利用することで、その経験のない欠陥を製品ＲＡが含むことを推定することができる。したがって、本変形例によれば、製品ＲＡの状態を推定する能力のより高い学習済みの学習モデル４Ａを構築することができる。
【０２３１】
なお、本変形例において、製品ＲＡの状態を判定するのに利用するデータは、画像データに限られなくてもよい。例えば、画像データと共に又は代わりに、マイクにより得られた音データ、エンコーダにより得られた測定データ等が利用されてもよい。
【０２３２】
（Ｂ）栽培装置を制御する場面
図２３は、第２変形例に係る制御システム１００Ｂの適用場面の一例を模式的に例示する。本変形例は、栽培状況に応じて栽培装置ＲＢの動作を制御する場面に上記実施形態に係るモデル統合装置１を適用した例である。図２３に示されるとおり、本変形例に係る制御システム１００Ｂは、モデル統合装置１及び複数の制御装置２Ｂを備えている。上記実施形態と同様に、モデル統合装置１及び各制御装置２Ｂは、ネットワークを介して互いに接続されてよい。
【０２３３】
各制御装置２Ｂは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各制御装置２Ｂは、上記各学習装置２と同様に構成されてよい。本変形例では、各制御装置２Ｂは、栽培装置ＲＢ及びセンサＳＢに接続される。
【０２３４】
栽培装置ＲＢは、植物ＧＢの生育環境を制御して、植物ＧＢを栽培するように構成される。栽培装置ＲＢは、植物ＧＢの生育環境を制御可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。生育環境は、植物ＧＢを生育する状況に関し、例えば、植物ＧＢに光を照射する時間、植物ＧＢ周囲の温度、植物ＧＢに与える水の量等である。栽培装置ＲＢは、例えば、カーテン装置、照明装置、空調設備、散水装置等であってよい。カーテン装置は、建物の窓に取り付けられたカーテンを開閉するように構成される。照明装置は、例えば、ＬＥＤ（light emitting diode）照明、蛍光灯等である。空調設備は、例えば、エアコンディショナ等である。散水装置は、例えば、スプリンクラ等である。カーテン装置及び照明装置は、植物ＧＢに光を照射する時間を制御するために利用される。空調設備は、植物ＧＢ周囲の温度を制御するために利用される。散水装置は、植物ＧＢに与える水の量を制御するために利用される。
【０２３５】
各制御装置２Ｂは、センサＳＢにより植物ＧＢの栽培状況をセンシングすることにより、植物ＧＢの栽培状況に関する状況データとしてセンシングデータをセンサＳＢから取得する。栽培状況は、植物ＧＢを栽培するあらゆる要素に関し、例えば、栽培時点までの生育環境、生育状態等により特定されてよい。生育状態は、例えば、植物ＧＢの成長度等により規定されてよい。センサＳＢは、植物ＧＢの栽培状況をセンシング可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳＢは、例えば、光度計、温度計、湿度計、カメラ等であってよい。カメラは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。各制御装置２Ｂは、得られた状況データに基づいて、植物ＧＢの栽培状況を特定し、特定された栽培状況に適した生育環境を実現するように栽培装置ＲＢの動作を制御する。
【０２３６】
＜制御装置のハードウェア構成＞
図２４は、本変形例に係る各制御装置２Ｂのハードウェア構成の一例を模式的に例示する。図２４に示されるとおり、本変形例に係る各制御装置２Ｂは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各制御装置２Ｂは、外部インタフェース２７を介して栽培装置ＲＢ及びセンサＳＢに接続される。ただし、各制御装置２Ｂのハードウェア構成は、このような例に限定されなくてもよい。各制御装置２Ｂの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各制御装置２Ｂは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ、ＰＬＣ等であってもよい。
【０２３７】
本変形例に係る各制御装置２Ｂの記憶部２２は、学習プログラム８２Ｂ、制御プログラム８３Ｂ、ローカル学習データ３Ｂ、学習結果データ２２１Ｂ等の各種情報を記憶する。学習プログラム８２Ｂ、制御プログラム８３Ｂ、ローカル学習データ３Ｂ、及び学習結果データ２２１Ｂは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｂ、制御プログラム８３Ｂ、及びローカル学習データ３Ｂのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各制御装置２Ｂは、記憶媒体９２から、学習プログラム８２Ｂ、制御プログラム８３Ｂ、及びローカル学習データ３Ｂのうちの少なくともいずれかを取得してもよい。
【０２３８】
＜学習処理＞
図２５Ａは、本変形例に係る各制御装置２Ｂの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各制御装置２Ｂの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｂの実行により実現される。図２５Ａに示されるとおり、取り扱うデータがセンシングデータから植物ＧＢの栽培状況に関する状況データに置き換わる点を除き、各制御装置２Ｂの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各制御装置２Ｂは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２３９】
すなわち、ステップＳ１０１では、各制御装置２Ｂの制御部２１は、学習データ収集部２１１Ｂとして動作し、学習モデル４Ｂの機械学習に利用するローカル学習データ３Ｂを収集する。本変形例では、学習モデル４Ｂは、上記実施形態に係る学習モデル４と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｂは、状況データ３１Ｂ及び正解データ３２Ｂの組み合わせをそれぞれ含む複数の学習データセット３０Ｂにより構成される。状況データ３１Ｂは、訓練データ３１に対応する。
【０２４０】
各学習データセット３０Ｂを取得する方法は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、状況データ３１Ｂは、植物ＧＢの栽培状況をセンサにより様々な条件でセンシングすることで得られてよい。そして、得られた状況データ３１Ｂに対して、当該状況データ３１Ｂにより示される栽培状況に応じた生育環境の制御を栽培装置ＲＢに指令する制御指令（正解）を示す正解データ３２Ｂを関連付ける。制御指令（正解）は、例えば、植物ＧＢを栽培した実績、オペレータの入力等により与えられてよい。これにより、各学習データセット３０Ｂが生成されてよい。
【０２４１】
ステップＳ１０２では、制御部２１は、構造決定部２１２として動作し、学習モデル４Ｂの構造を決定する。ステップＳ１０３では、制御部２１は、学習処理部２１３として動作し、収集されたローカル学習データ３Ｂを利用した機械学習を実行する。すなわち、制御部１１は、各学習データセット３０Ｂについて、状況データ３１Ｂが入力されると、対応する正解データ３２Ｂと一致する出力値を出力するように学習モデル４Ｂを訓練する。これにより、制御部１１は、植物ＧＢの栽培状況に応じて栽培装置ＲＢに与える制御指令を決定する能力を獲得した学習済みの学習モデル４Ｂを構築することができる。ステップＳ１０４では、制御部２１は、保存処理部２１４として動作し、機械学習により構築された学習済みの学習モデル４Ｂの構造及び演算パラメータを示す情報を学習結果データ２２１Ｂとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｂを所定の記憶領域に保存する。
【０２４２】
＜制御処理＞
図２５Ｂは、本変形例に係る各制御装置２Ｂの制御処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各制御装置２Ｂの制御処理に関するソフトウェア構成は、制御部２１による制御プログラム８３Ｂの実行により実現される。図２５Ｂに示されるとおり、取り扱うデータがセンシングデータから状況データに置き換わる点を除き、各制御装置２Ｂの制御処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各制御装置２Ｂは、上記各学習装置２と同様に、制御処理に関する一連の処理を実行する。
【０２４３】
すなわち、ステップＳ２０１では、制御部２１は、対象データ取得部２１６として動作し、生育環境を制御する対象となる植物ＧＢの栽培状況に関する対象状況データ２２５ＢをセンサＳＢから取得する。ステップＳ２０２では、制御部２１は、指令決定部２１７Ｂとして動作し、学習済みの学習モデル４Ｂを利用して、対象状況データ２２５Ｂから特定される植物ＧＢの栽培状況に応じて栽培装置ＲＢに与える制御指令を決定する。具体的には、制御部２１は、学習結果データ２２１Ｂを参照して、学習済みの学習モデル４Ｂの設定を行う。次に、制御部２１は、取得された対象状況データ２２５Ｂを学習済みの学習モデル４Ｂに入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象状況データ２２５Ｂから特定される植物ＧＢの栽培状況に応じて栽培装置ＲＢに与える制御指令を決定した結果に対応する出力値を学習済みの学習モデル４Ｂから取得する。なお、指令決定部２１７Ｂは、上記推論部２１７に対応する。指令決定部２１７Ｂは、学習結果データ２２１Ｂを保持することで、学習済みの学習モデル４Ｂを含んでいる。
【０２４４】
ステップＳ２０３では、制御部２１は、出力部２１８として動作し、栽培装置ＲＢに与える制御指定を決定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、決定された制御指令を栽培装置ＲＢに与えて、栽培装置ＲＢの動作を制御してもよい。また、例えば、制御部２１は、決定された制御指令を示す情報を出力装置２５に出力し、植物ＧＢの管理者に栽培装置ＲＢの動作を制御するように促してもよい。この場合、制御装置２Ｂは、栽培装置ＲＢに接続されていなくてもよい。
【０２４５】
＜モデル統合＞
各学習済みの学習モデル４Ｂは、上記学習モデル４と同様に、共通の構造を有する共通部分を含むように構成される。また、各学習済みの学習モデル４Ｂのうちのいずれかの組み合わせは、共通部分以外の部分において異なる構造を有する。このような各学習済みの学習モデル４Ｂに対して、モデル統合装置１は、上記実施形態と同様に、上記ステップＳ３０１〜ステップＳ３０４の処理を実行する。
【０２４６】
すなわち、ステップＳ３０１では、モデル統合装置１は、各学習済みの学習モデル４Ｂを各制御装置２Ｂから収集する。ステップＳ３０２では、モデル統合装置１は、収集された各学習済みの学習モデル４Ｂに含まれる共通部分内において統合範囲を決定する。ステップＳ３０３では、モデル統合装置１は、各学習済みの学習モデル４Ｂに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する。ステップＳ３０４では、モデル統合装置１は、統合処理の結果を各制御装置２Ｂに配信し、各制御装置２Ｂに対して、各学習済みの学習モデル４Ｂ内の統合範囲に統合処理の結果を適用させることで、各制御装置２Ｂの保持する学習済みの学習モデル４Ｂを更新する。
【０２４７】
本変形例によれば、栽培装置の動作を制御する場面において、各学習済みの学習モデル４Ｂに反映された機械学習の結果を他の学習済みの学習モデル４Ｂに適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４Ｂは、他の学習済みの学習モデル４Ｂにおける機械学習の結果に基づいて、各制御装置２Ｂ単独では得られないような栽培状況に対しても、栽培装置ＲＢの動作を適切に制御することができるようになる。例えば、温暖な気候の地域で植物ＧＢを生育する制御装置２Ｂと、寒冷な気候の地域で植物ＧＢを生育する他の制御装置２Ｂとが存在すると想定する。この場面では、温暖な気候の地域の制御装置２Ｂでは、寒冷な気候の地域で発生し得る栽培状況に応じて、栽培装置ＲＢの動作を制御し、植物ＧＢを生育する経験が殆どないと想定される。そのため、制御装置２Ｂ単独では、そのような経験が殆ど得られないため、異常気象等により温暖な気候の地域で寒冷な気候の地域で発生するような栽培状況になった際に、制御装置２Ｂは、栽培装置ＲＢを適切に制御することができない可能性がある。これに対して、本変形例によれば、他の制御装置２Ｂにおいてその経験があれば、当該他の制御装置２Ｂで構築された学習済みの学習モデル４Ｂを介して、当該制御装置２Ｂの学習済みの学習モデル４Ｂにその経験を反映させることができる。そのため、当該制御装置２Ｂは、統合処理後の学習済みの学習モデル４Ｂを利用することで、その地域で殆ど経験が得られないような栽培状況に対しても、栽培装置ＲＢを適切に制御することができる。したがって、本変形例によれば、栽培装置ＲＢを適切に制御する能力のより高い学習済みの学習モデル４Ｂを構築することができる。
【０２４８】
（Ｃ）ドライバモニタリングの場面
図２６は、第３変形例に係る監視システム１００Ｃの適用場面の一例を模式的に例示する。本変形例は、車両を運転する運転者ＲＣの状態を監視する場面に上記実施形態に係るモデル統合装置１を適用した例である。図２６に示されるとおり、本変形例に係る監視システム１００Ｃは、モデル統合装置１及び複数の監視装置２Ｃを備えている。上記実施形態と同様に、モデル統合装置１及び各監視装置２Ｃは、ネットワークを介して互いに接続されてよい。
【０２４９】
各監視装置２Ｃは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各監視装置２Ｃは、上記各学習装置２と同様に構成されてよい。各監視装置２Ｃは、運転者ＲＣを観測することで得られたデータに基づいて、当該運転者ＲＣの状態を推定する。推定に利用するデータは、運転者ＲＣの状態に関するものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。推定に利用するデータは、例えば、運転者ＲＣのバイタルデータ、運転者ＲＣの写り得る画像データ等であってよい。本変形例では、各監視装置２Ｃは、運転者ＲＣを撮影可能に配置されたカメラＳＣに接続される。カメラＳＣは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。各監視装置２Ｃは、カメラＳＣから得られた画像データに基づいて、運転者ＲＣの状態を推定する。推定の対象となる運転者ＲＣの状態は、実施の形態に応じて適宜決定されてよい。推定の対象となる運転者ＲＣの状態は、実施の形態に応じて適宜決定されてよく、例えば、運転者ＲＣの眠気の度合いを示す眠気度、運転者ＲＣの疲労の度合いを示す疲労度、運転者ＲＣの運転に対する余裕の度合いを示す余裕度、又はこれらの組み合わせを含んでもよい。
【０２５０】
＜監視装置のハードウェア構成＞
図２７は、本変形例に係る各監視装置２Ｃのハードウェア構成の一例を模式的に例示する。図２７に示されるとおり、本変形例に係る各監視装置２Ｃは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各監視装置２Ｃは、外部インタフェース２７を介してカメラＳＣに接続される。ただし、各監視装置２Ｃのハードウェア構成は、このような例に限定されなくてもよい。各監視装置２Ｃの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各監視装置２Ｃは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【０２５１】
本変形例に係る各監視装置２Ｃの記憶部２２は、学習プログラム８２Ｃ、監視プログラム８３Ｃ、ローカル学習データ３Ｃ、学習結果データ２２１Ｃ等の各種情報を記憶する。学習プログラム８２Ｃ、監視プログラム８３Ｃ、ローカル学習データ３Ｃ、及び学習結果データ２２１Ｃは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｃ、監視プログラム８３Ｃ、及びローカル学習データ３Ｃのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各監視装置２Ｃは、記憶媒体９２から、学習プログラム８２Ｃ、監視プログラム８３Ｃ、及びローカル学習データ３Ｃのうちの少なくともいずれかを取得してもよい。
【０２５２】
＜学習処理＞
図２８Ａは、本変形例に係る各監視装置２Ｃの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各監視装置２Ｃの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｃの実行により実現される。図２８Ａに示されるとおり、取り扱うデータがセンシングデータから運転者ＲＣの写り得る画像データに置き換わる点を除き、各監視装置２Ｃの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各監視装置２Ｃは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２５３】
すなわち、ステップＳ１０１では、各監視装置２Ｃの制御部２１は、学習データ収集部２１１Ｃとして動作し、学習モデル４Ｃの機械学習に利用するローカル学習データ３Ｃを収集する。本変形例では、学習モデル４Ｃは、上記実施形態に係る学習モデル４と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｃは、画像データ３１Ｃ及び正解データ３２Ｃの組み合わせをそれぞれ含む複数の学習データセット３０Ｃにより構成される。画像データ３１Ｃは、訓練データ３１に対応する。
【０２５４】
各学習データセット３０Ｃを取得する方法は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、画像データ３１Ｃは、車両を運転する被験者（運転者）をカメラにより様々な状況で撮影することで得られてもよい。そして、得られた画像データ３１Ｃに対して、当該状況における被験者の状態（正解）を示す正解データ３２Ｃを関連付ける。被験者の状態（正解）は、例えば、カメラ以外の他のセンサにより得られたデータ、オペレータの入力等により与えられてよい。これにより、各学習データセット３０Ｃが生成されてよい。
【０２５５】
ステップＳ１０２では、制御部２１は、構造決定部２１２として動作し、学習モデル４Ｃの構造を決定する。ステップＳ１０３では、制御部２１は、学習処理部２１３として動作し、収集されたローカル学習データ３Ｃを利用した機械学習を実行する。すなわち、制御部１１は、各学習データセット３０Ｃについて、画像データ３１Ｃが入力されると、対応する正解データ３２Ｃと一致する出力値を出力するように学習モデル４Ｃを訓練する。これにより、制御部１１は、画像データ３１Ｃに写る運転者の状態を推定する能力を獲得した学習済みの学習モデル４Ｃを構築することができる。ステップＳ１０４では、制御部２１は、保存処理部２１４として動作し、機械学習により構築された学習済みの学習モデル４Ｃの構造及び演算パラメータを示す情報を学習結果データ２２１Ｃとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｃを所定の記憶領域に保存する。
【０２５６】
＜監視処理＞
図２８Ｂは、本変形例に係る各監視装置２Ｃの監視処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各監視装置２Ｃの監視処理に関するソフトウェア構成は、制御部２１による監視プログラム８３Ｃの実行により実現される。図２８Ｂに示されるとおり、取り扱うデータがセンシングデータから画像データに置き換わる点を除き、各監視装置２Ｃの監視処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各監視装置２Ｃは、上記各学習装置２と同様に、監視処理に関する一連の処理を実行する。
【０２５７】
すなわち、ステップＳ２０１では、制御部２１は、対象データ取得部２１６として動作し、運転者ＲＣの写り得る対象画像データ２２５ＣをカメラＳＣから取得する。ステップＳ２０２では、制御部２１は、監視部２１７Ｃとして動作し、学習済みの学習モデル４Ｃを利用して、対象画像データ２２５Ｃに写る運転者ＲＣの状態を推定する。具体的には、制御部２１は、学習結果データ２２１Ｃを参照して、学習済みの学習モデル４Ｃの設定を行う。次に、制御部２１は、取得された対象画像データ２２５Ｃを学習済みの学習モデル４Ｃに入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象画像データ２２５Ｃに写る運転者ＲＣの状態を推定した結果に対応する出力値を学習済みの学習モデル４Ｃから取得する。なお、監視部２１７Ｃは、上記推論部２１７に対応する。監視部２１７Ｃは、学習結果データ２２１Ｃを保持することで、学習済みの学習モデル４Ｃを含んでいる。
【０２５８】
ステップＳ２０３では、制御部２１は、出力部２１８として動作し、運転者ＲＣの状態を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、運転者ＲＣの状態を推定した結果をそのまま出力装置２５に出力してもよい。
【０２５９】
また、例えば、制御部２１は、運転者ＲＣの状態に応じて、警告等の特定のメッセージを出力装置２５に出力してもよい。一例として、運転者ＲＣの状態として、眠気度及び疲労度の少なくとも一方を推定した場合、制御部２１は、眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。閾値は適宜設定されてよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、駐車場等に停車し、休憩を取るように運転者ＲＣに促す警告を出力装置２５に出力してもよい。
【０２６０】
また、例えば、車両が自動運転動作可能に構成されている場合、制御部２１は、運転者ＲＣの状態を推定した結果に基づいて、車両の自動運転の動作を制御してもよい。一例として、車両が、システムにより車両の走行を制御する自動運転モード及び運転者ＲＣの操舵により車両の走行を制御する手動運転モードの切り替えが可能に構成されていると想定する。
【０２６１】
このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者ＲＣ又はシステムから受け付けた際に、制御部２１は、運転者ＲＣの推定された余裕度が閾値を超えているか否かを判定してもよい。そして、運転者ＲＣの余裕度が閾値を超えている場合に、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可してもよい。一方、運転者ＲＣの余裕度が閾値以下である場合には、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可せず、自動運転モードでの走行を維持してもよい。
【０２６２】
また、手動運転モードで車両が走行している際に、制御部２１は、眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部２１は、手動運転モードによる車両の走行を維持してもよい。
【０２６３】
また、手動運転モードで車両が走行している際に、制御部２１は、余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、制御部２１は、減速する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部２１は、運転者ＲＣの操作による車両の走行を維持してもよい。
【０２６４】
＜モデル統合＞
各学習済みの学習モデル４Ｃは、上記学習モデル４と同様に、共通の構造を有する共通部分を含むように構成される。また、各学習済みの学習モデル４Ｃのうちのいずれかの組み合わせは、共通部分以外の部分において異なる構造を有する。このような各学習済みの学習モデル４Ｃに対して、モデル統合装置１は、上記実施形態と同様に、上記ステップＳ３０１〜ステップＳ３０４の処理を実行する。
【０２６５】
すなわち、ステップＳ３０１では、モデル統合装置１は、各学習済みの学習モデル４Ｃを各監視装置２Ｃから収集する。ステップＳ３０２では、モデル統合装置１は、収集された各学習済みの学習モデル４Ｃに含まれる共通部分内において統合範囲を決定する。ステップＳ３０３では、モデル統合装置１は、各学習済みの学習モデル４Ｃに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する。ステップＳ３０４では、モデル統合装置１は、統合処理の結果を各監視装置２Ｃに配信し、各監視装置２Ｃに対して、各学習済みの学習モデル４Ｃ内の統合範囲に統合処理の結果を適用させることで、各監視装置２Ｃの保持する学習済みの学習モデル４Ｃを更新する。
【０２６６】
本変形例によれば、運転者の状態を監視する場面において、各学習済みの学習モデル４Ｃに反映された機械学習の結果を他の学習済みの学習モデル４Ｃに適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４Ｃは、他の学習済みの学習モデル４Ｃにおける機械学習の結果に基づいて、各監視装置２Ｃ単独では得られないような運転者ＲＣの属性及び運転環境に対しても、当該運転者ＲＣの状態を適切に推定することができるようになる。したがって、本変形例によれば、運転者ＲＣの状態を適切に推定する能力のより高い学習済みの学習モデル４Ｃを構築することができる。
【０２６７】
（Ｄ）発電量予測の場面
図２９は、第４変形例に係る予測システム１００Ｄの適用場面の一例を模式的に例示する。本変形例は、発電設備ＲＤにおける発電量を予測する場面に上記実施形態に係るモデル統合装置１を適用した例である。図２９に示されるとおり、本変形例に係る予測システム１００Ｄは、モデル統合装置１及び複数の予測装置２Ｄを備えている。上記実施形態と同様に、モデル統合装置１及び各予測装置２Ｄは、ネットワークを介して互いに接続されてよい。
【０２６８】
各予測装置２Ｄは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各予測装置２Ｄは、上記各学習装置２と同様に構成されてよい。各予測装置２Ｄは、発電設備ＲＤの発電に関連するデータに基づいて、当該発電設備ＲＤにおける発電量を予測する。発電設備ＲＤの種類は、特に限定されなくてもよく、例えば、太陽光の発電設備であってよい。発電量の予測に利用するデータは、発電設備ＲＤの発電に関連し得るものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本変形例では、発電設備ＲＤは、太陽光の発電設備であり、各予測装置２Ｄは、気象データに基づいて、発電設備ＲＤの発電量を予測する。
【０２６９】
＜予測装置のハードウェア構成＞
図３０は、本変形例に係る各予測装置２Ｄのハードウェア構成の一例を模式的に例示する。図３０に示されるとおり、本変形例に係る各予測装置２Ｄは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。ただし、各予測装置２Ｄのハードウェア構成は、このような例に限定されなくてもよい。各予測装置２Ｄの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各予測装置２Ｄは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０２７０】
本変形例に係る各予測装置２Ｄの記憶部２２は、学習プログラム８２Ｄ、予測プログラム８３Ｄ、ローカル学習データ３Ｄ、学習結果データ２２１Ｄ等の各種情報を記憶する。学習プログラム８２Ｄ、予測プログラム８３Ｄ、ローカル学習データ３Ｄ、及び学習結果データ２２１Ｄは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｄ、予測プログラム８３Ｄ、及びローカル学習データ３Ｄのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各予測装置２Ｄは、記憶媒体９２から、学習プログラム８２Ｄ、予測プログラム８３Ｄ、及びローカル学習データ３Ｄのうちの少なくともいずれかを取得してもよい。
【０２７１】
＜学習処理＞
図３１Ａは、本変形例に係る各予測装置２Ｄの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各予測装置２Ｄの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｄの実行により実現される。図３１Ａに示されるとおり、取り扱うデータがセンシングデータから気象データに置き換わる点を除き、各予測装置２Ｄの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各予測装置２Ｄは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２７２】
すなわち、ステップＳ１０１では、各予測装置２Ｄの制御部２１は、学習データ収集部２１１Ｄとして動作し、学習モデル４Ｄの機械学習に利用するローカル学習データ３Ｄを収集する。本変形例では、学習モデル４Ｄは、上記実施形態に係る学習モデル４と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｄは、気象データ３１Ｄ及び正解データ３２Ｄの組み合わせをそれぞれ含む複数の学習データセット３０Ｄにより構成される。気象データ３１Ｄは、訓練データ３１に対応する。気象データ３１Ｄは、例えば、天候、気温、降水量、湿度、風量等を示すデータを含んでよい。
【０２７３】
各学習データセット３０Ｄを取得する方法は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、気象データ３１Ｄは、様々な気象条件で得られてよい。そして、得られた気象データ３１Ｄに対して、当該気象条件における発電設備ＲＤの発電量（正解）を示す正解データ３２Ｄを関連付ける。発電量（正解）は、例えば、発電設備ＲＤのセンサ、オペレータの入力等により与えられてよい。これにより、各学習データセット３０Ｄが生成されてよい。
【０２７４】
ステップＳ１０２では、制御部２１は、構造決定部２１２として動作し、学習モデル４Ｄの構造を決定する。ステップＳ１０３では、制御部２１は、学習処理部２１３として動作し、収集されたローカル学習データ３Ｄを利用した機械学習を実行する。すなわち、制御部１１は、各学習データセット３０Ｄについて、気象データ３１Ｄが入力されると、対応する正解データ３２Ｄと一致する出力値を出力するように学習モデル４Ｄを訓練する。これにより、制御部１１は、気象データ３１Ｄに示される気象条件から発電設備ＲＤの発電量を予測する能力を獲得した学習済みの学習モデル４Ｄを構築することができる。ステップＳ１０４では、制御部２１は、保存処理部２１４として動作し、機械学習により構築された学習済みの学習モデル４Ｄの構造及び演算パラメータを示す情報を学習結果データ２２１Ｄとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｄを所定の記憶領域に保存する。
【０２７５】
＜予測処理＞
図３１Ｂは、本変形例に係る各予測装置２Ｄの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各予測装置２Ｄの予測処理に関するソフトウェア構成は、制御部２１による予測プログラム８３Ｄの実行により実現される。図３１Ｂに示されるとおり、取り扱うデータがセンシングデータから気象データに置き換わる点を除き、各予測装置２Ｄの予測処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各予測装置２Ｄは、上記各学習装置２と同様に、予測処理に関する一連の処理を実行する。
【０２７６】
すなわち、ステップＳ２０１では、制御部２１は、対象データ取得部２１６として動作し、発電量を予測する対象となる発電設備ＲＤにおける気象条件に関する対象気象データ２２５Ｄを取得する。対象気象データ２２５Ｄの取得先は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部２１は、公知の気象データサーバから対象気象データ２２５Ｄを取得してもよい。また、例えば、各予測装置２Ｄが、発電設備ＲＤ周辺の気象条件を観測するセンサに接続される場合、制御部２１は、当該センサから対象気象データ２２５Ｄを取得してもよい。
【０２７７】
ステップＳ２０２では、制御部２１は、予測部２１７Ｄとして動作し、学習済みの学習モデル４Ｄを利用して、対象気象データ２２５Ｄに示される気象条件から発電設備ＲＤの発電量を予測する。具体的には、制御部２１は、学習結果データ２２１Ｄを参照して、学習済みの学習モデル４Ｄの設定を行う。次に、制御部２１は、取得された対象気象データ２２５Ｄを学習済みの学習モデル４Ｄに入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象気象データ２２５Ｄに示される気象条件から発電設備ＲＤの発電量を予測した結果に対応する出力値を学習済みの学習モデル４Ｄから取得する。なお、予測部２１７Ｄは、上記推論部２１７に対応する。予測部２１７Ｄは、学習結果データ２２１Ｄを保持することで、学習済みの学習モデル４Ｄを含んでいる。
【０２７８】
ステップＳ２０３では、制御部２１は、出力部２１８として動作し、発電設備ＲＤの発電量を予測した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、発電設備ＲＤの発電量を予測した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、発電設備ＲＤの発電量と閾値とを比較し、発電設備ＲＤの発電量が閾値以下である場合に、他の発電設備により発電を行うことを促すメッセージを出力装置２５に出力してもよい。閾値は適宜設定されてよい。
【０２７９】
＜モデル統合＞
各学習済みの学習モデル４Ｄは、上記学習モデル４と同様に、共通の構造を有する共通部分含むように構成される。また、各学習済みの学習モデル４Ｄのうちのいずれかの組み合わせは、共通部分以外の部分において異なる構造を有する。このような各学習済みの学習モデル４Ｄに対して、モデル統合装置１は、上記実施形態と同様に、上記ステップＳ３０１〜ステップＳ３０４の処理を実行する。
【０２８０】
すなわち、ステップＳ３０１では、モデル統合装置１は、各学習済みの学習モデル４Ｄを各予測装置２Ｄから収集する。ステップＳ３０２では、モデル統合装置１は、収集された各学習済みの学習モデル４Ｄに含まれる共通部分内において統合範囲を決定する。ステップＳ３０３では、モデル統合装置１は、各学習済みの学習モデル４Ｄに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する。ステップＳ３０４では、モデル統合装置１は、統合処理の結果を各予測装置２Ｄに配信し、各予測装置２Ｄに対して、各学習済みの学習モデル４Ｄ内の統合範囲に統合処理の結果を適用させることで、各予測装置２Ｄの保持する学習済みの学習モデル４Ｄを更新する。
【０２８１】
本変形例によれば、発電設備における発電量を予測する場面において、各学習済みの学習モデル４Ｄに反映された機械学習の結果を他の学習済みの学習モデル４Ｄに適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４Ｄは、他の学習済みの学習モデル４Ｄにおける機械学習の結果に基づいて、各予測装置２Ｄ単独では得られないような気象条件に対しても、発電設備ＲＤの発電量を適切に推定することができるようになる。したがって、本変形例によれば、発電設備ＲＤの発電量を適切に予測する能力のより高い学習済みの学習モデル４Ｄを構築することができる。
【０２８２】
（Ｅ）健康状態を診断する場面
図３２は、第５変形例に係る診断システム１００Ｅの適用場面の一例を模式的に例示する。本変形例は、対象者ＲＥの健康状態を推定（診断）する場面に上記実施形態に係るモデル統合装置１を適用した例である。図３２に示されるとおり、本変形例に係る診断システム１００Ｅは、モデル統合装置１及び複数の診断装置２Ｅを備えている。上記実施形態と同様に、モデル統合装置１及び各診断装置２Ｅは、ネットワークを介して互いに接続されてよい。
【０２８３】
各診断装置２Ｅは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各診断装置２Ｅは、上記各学習装置２と同様に構成されてよい。各診断装置２Ｅは、対象者ＲＥの健康状態に関連するデータに基づいて、当該対象者ＲＥの健康状態を診断する。診断に利用するデータは、対象者ＲＥの健康状態に関連し得るものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。診断に利用するデータは、例えば、画像データ、バイタルデータ等であってよい。バイタルデータは、バイタルに関するものであり、例えば、体温、血圧、脈拍等の測定結果を示すデータであってよい。本変形例では、各診断装置２Ｅは、バイタルセンサＳＥに接続される。各診断装置２Ｅは、バイタルセンサＳＥから得られたバイタルデータに基づいて、対象者ＲＥの健康状態を診断する。推定の対象となる健康状態は、実施の形態に応じて適宜決定されてよく、例えば、健康であるか否か、病気になる予兆があるか否か等を含んでよい。
【０２８４】
＜診断装置のハードウェア構成＞
図３３は、本変形例に係る各診断装置２Ｅのハードウェア構成の一例を模式的に例示する。図３３に示されるとおり、本変形例に係る各診断装置２Ｅは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各診断装置２Ｅは、外部インタフェース２７を介してバイタルセンサＳＥに接続される。バイタルセンサＳＥは、例えば、体温計、血圧計、脈拍計等である。ただし、各診断装置２Ｅのハードウェア構成は、このような例に限定されなくてもよい。各診断装置２Ｅの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各診断装置２Ｅは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０２８５】
本変形例に係る各診断装置２Ｅの記憶部２２は、学習プログラム８２Ｅ、診断プログラム８３Ｅ、ローカル学習データ３Ｅ、学習結果データ２２１Ｅ等の各種情報を記憶する。学習プログラム８２Ｅ、診断プログラム８３Ｅ、ローカル学習データ３Ｅ、及び学習結果データ２２１Ｅは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｅ、診断プログラム８３Ｅ、及びローカル学習データ３Ｅのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各診断装置２Ｅは、記憶媒体９２から、学習プログラム８２Ｅ、診断プログラム８３Ｅ、及びローカル学習データ３Ｅのうちの少なくともいずれかを取得してもよい。
【０２８６】
＜学習処理＞
図３４Ａは、本変形例に係る各診断装置２Ｅの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各診断装置２Ｅの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｅの実行により実現される。図３４Ａに示されるとおり、取り扱うデータがセンシングデータからバイタルデータに置き換わる点を除き、各診断装置２Ｅの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各診断装置２Ｅは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２８７】
すなわち、ステップＳ１０１では、各診断装置２Ｅの制御部２１は、学習データ収集部２１１Ｅとして動作し、学習モデル４Ｅの機械学習に利用するローカル学習データ３Ｅを収集する。本変形例では、学習モデル４Ｅは、上記実施形態に係る学習モデル４と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｅは、バイタルデータ３１Ｅ及び正解データ３２Ｅの組み合わせをそれぞれ含む複数の学習データセット３０Ｅにより構成される。バイタルデータ３１Ｅは、訓練データ３１に対応する。
【０２８８】
各学習データセット３０Ｅを取得する方法は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、バイタルデータ３１Ｅは、様々な健康状態の被験者のバイタルをバイタルセンサで測定することで得られてよい。そして、得られたバイタルデータ３１Ｅに対して、当該被験者の健康状態（正解）を示す正解データ３２Ｅを関連付ける。被験者の健康状態（正解）は、例えば、実績データ、オペレータの入力等により与えられてよい。これにより、各学習データセット３０Ｅが生成されてよい。
【０２８９】
ステップＳ１０２では、制御部２１は、構造決定部２１２として動作し、学習モデル４Ｅの構造を決定する。ステップＳ１０３では、制御部２１は、学習処理部２１３として動作し、収集されたローカル学習データ３Ｅを利用した機械学習を実行する。すなわち、制御部１１は、各学習データセット３０Ｅについて、バイタルデータ３１Ｅが入力されると、対応する正解データ３２Ｅと一致する出力値を出力するように学習モデル４Ｅを訓練する。これにより、制御部１１は、バイタルデータ３１Ｅから対象者の健康状態を診断する能力を獲得した学習済みの学習モデル４Ｅを構築することができる。ステップＳ１０４では、制御部２１は、保存処理部２１４として動作し、機械学習により構築された学習済みの学習モデル４Ｅの構造及び演算パラメータを示す情報を学習結果データ２２１Ｅとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｅを所定の記憶領域に保存する。
【０２９０】
＜診断処理＞
図３４Ｂは、本変形例に係る各診断装置２Ｅの診断処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各診断装置２Ｅの診断処理に関するソフトウェア構成は、制御部２１による診断プログラム８３Ｅの実行により実現される。図３４Ｂに示されるとおり、取り扱うデータがセンシングデータからバイタルデータに置き換わる点を除き、各診断装置２Ｅの診断処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各診断装置２Ｅは、上記各学習装置２と同様に、診断処理に関する一連の処理を実行する。
【０２９１】
すなわち、ステップＳ２０１では、制御部２１は、対象データ取得部２１６として動作し、対象者ＲＥのバイタルを測定した結果を示す対象バイタルデータ２２５ＥをバイタルセンサＳＥから取得する。ステップＳ２０２では、制御部２１は、診断部２１７Ｅとして動作し、学習済みの学習モデル４Ｅを利用して、対象バイタルデータ２２５Ｅから対象者ＲＥの健康状態を診断する。具体的には、制御部２１は、学習結果データ２２１Ｅを参照して、学習済みの学習モデル４Ｅの設定を行う。次に、制御部２１は、取得された対象バイタルデータ２２５Ｅを学習済みの学習モデル４Ｅに入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象バイタルデータ２２５Ｅに基づいて対象者ＲＥの健康状態を診断した結果に対応する出力値を学習済みの学習モデル４Ｅから取得する。なお、診断部２１７Ｅは、上記推論部２１７に対応する。診断部２１７Ｅは、学習結果データ２２１Ｅを保持することで、学習済みの学習モデル４Ｅを含んでいる。
【０２９２】
ステップＳ２０３では、制御部２１は、出力部２１８として動作し、対象者ＲＥの健康状態を診断した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、対象者ＲＥの健康状態を診断した結果をそのまま出力装置２５に出力してもよい。また、例えば、診断された対象者ＲＥの健康状態が所定の病気の予兆を示す場合に、制御部２１は、病院での診査を促すメッセージを出力装置２５に出力してもよい。
【０２９３】
＜モデル統合＞
各学習済みの学習モデル４Ｅは、上記学習モデル４と同様に、共通の構造を有する共通部分を含むように構成される。また、各学習済みの学習モデル４Ｅのうちのいずれかの組み合わせは、共通部分以外の部分において異なる構造を有する。このような各学習済みの学習モデル４Ｅに対して、モデル統合装置１は、上記実施形態と同様に、上記ステップＳ３０１〜ステップＳ３０４の処理を実行する。
【０２９４】
すなわち、ステップＳ３０１では、モデル統合装置１は、各学習済みの学習モデル４Ｅを各診断装置２Ｅから収集する。ステップＳ３０２では、モデル統合装置１は、収集された各学習済みの学習モデル４Ｅに含まれる共通部分内において統合範囲を決定する。ステップＳ３０３では、モデル統合装置１は、各学習済みの学習モデル４Ｅに対して、共通部分内に設定された統合範囲に反映された機械学習の結果を統合する統合処理を実行する。ステップＳ３０４では、モデル統合装置１は、統合処理の結果を各診断装置２Ｅに配信し、各診断装置２Ｅに対して、各学習済みの学習モデル４Ｅ内の統合範囲に統合処理の結果を適用させることで、各診断装置２Ｅの保持する学習済みの学習モデル４Ｅを更新する。
【０２９５】
本変形例によれば、対象者の健康状態を診断する場面において、各学習済みの学習モデル４Ｅに反映された機械学習の結果を他の学習済みの学習モデル４Ｅに適切に反映させることができる。これにより、統合処理後の各学習済みの学習モデル４Ｅは、他の学習済みの学習モデル４Ｅにおける機械学習の結果に基づいて、各診断装置２Ｅ単独では得られないような対象者の属性及びバイタルに対しても、当該対象者の健康状態を適切に推定することができるようになる。したがって、本変形例によれば、対象者ＲＥの健康状態を適切に診断する能力のより高い学習済みの学習モデル４Ｅを構築することができる。
【０２９６】
（Ｆ）その他
以上のとおり、上記実施形態に係るモデル統合装置１は、機械学習により所定の能力を学習モデルに習得させるあらゆる場面に適用可能である。なお、モデル統合装置１は、変形例毎にグルーピングしてもよいし、各変形例内でグルーピングしてもよい。例えば、モデル統合装置１は、各検査装置２Ａと制御装置２Ｂとを異なるグループに割り当ててもよい。また、例えば、モデル統合装置１は、第１製品の検査を行う一の検査装置２Ａと第１製品とは異なる第２製品の検査を行う他の検査装置２Ａとを異なるグループに割り当ててもよい。これにより、モデル統合装置１は、上記各変形例が併存していても、グループ毎に上記各処理を実行することで、学習済みの学習モデル（４、４Ａ〜４Ｅ）の統合処理を実現することができる。
【０２９７】
＜４．２＞
上記実施形態では、各学習装置２は、学習処理及び推論処理の両方を実行するコンピュータにより構成されている。しかしながら、各学習装置２の構成は、このような例に限定されなくてもよい。複数の学習装置２の少なくともいずれかは、複数台のコンピュータにより構成されてよい。この場合、学習装置２は、学習処理と推論処理とが別々のコンピュータで実行されるように構成されてよい。
【０２９８】
図３５は、本変形例に係る学習装置２Ｆの構成の一例を模式的に例示する。本変形例では、学習装置２Ｆは、上記学習処理を実行するように構成されるモデル生成装置２００、及び上記推論処理を実行するように構成されるモデル利用装置２０１を備える。モデル生成装置２００及びモデル利用装置２０１それぞれのハードウェア構成は、上記実施形態に係る各学習装置２のハードウェア構成と同様であってよい。モデル生成装置２００は、学習プログラム８２を実行することで、学習データ収集部２１１、構造決定部２１２、学習処理部２１３、及び保存処理部２１４をソフトウェアモジュールとして備えるコンピュータとして動作する。モデル利用装置２０１は、推論プログラム８３を実行することで、対象データ取得部２１６、推論部２１７、及び出力部２１８をソフトウェアモジュールとして備えるコンピュータとして動作する。この場合、モデル生成装置２００を「学習装置」として取り扱ってもよい。なお、上記変形例に係る検査装置２Ａ、制御装置２Ｂ、監視装置２Ｃ、予測装置２Ｄ、及び診断装置２Ｅについても同様である。
【０２９９】
＜４．３＞
上記実施形態では、各学習装置２とモデル統合装置１との間のデータ通信はネットワークを介して行われている。モデル統合装置１は、各学習装置２から収集された学習済みの学習モデル４（学習結果データ２２１）に対して統合処理を実行する。この過程で、学習済みの学習モデル４が開示されてしまうと、各学習装置２の推論処理及びローカル学習データ３の内容の秘匿性が損なわれてしまう可能性がある。そこで、データ通信のセキュリティを高めるために、上記実施形態において、統合範囲４１に反映された機械学習の結果を統合する統合処理は秘密計算により行われてよい。秘密計算の方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本変形例では、秘密分散及び準同型暗号のいずれかを利用した方法が採用されてよい。
【０３００】
（Ａ）秘密分散を利用する方法
図３６Ａは、秘密分散を利用して統合処理を実行する場面の一例を模式的に例示する。秘密分散を利用した方法では、それぞれ信頼性のある第三者機関として第１サーバ６１及び第２サーバ６２がネットワークに設置される。第１サーバ６１及び第２サーバ６２はそれぞれ、モデル統合装置１等と同様にハードウェアプロセッサ及びメモリを備えるコンピュータである。
【０３０１】
この方法では、まず、各学習装置２の制御部２１は、自身の学習済みの学習モデル４を送信する際に、乱数を生成する。乱数を生成する方法は、実施の形態に応じて適宜選択されてよい。次に、制御部２１は、学習済みの学習モデル４の演算パラメータの値と生成された乱数と差分を算出する。そして、制御部２１は、算出された差分を第１サーバ６１に送信する一方で、生成された乱数を第２サーバ６２に送信する。
【０３０２】
これに応じて、第１サーバ６１は、以下の式１のとおり、各学習装置２から受信した差分の総和を計算する。一方、第２サーバ６２は、以下の式２のとおり、各学習装置２から受信した乱数の総和を計算する。
【０３０３】
【数１】
2020115311.tif 000003
【数２】
2020115311.tif 000004
なお、Ｙiは、ｉ番目の学習装置２により構築された学習済みの学習モデル４の演算パラメータの値を示す。ｒiは、ｉ番目の学習装置２により生成された乱数を示す。
【０３０４】
第１サーバ６１及び第２サーバ６２はそれぞれ、総和の計算結果をモデル統合装置１に送信する。モデル統合装置１の制御部１１は、第１サーバ６１及び第２サーバ６２それぞれから受信した総和を加算する。これにより、各学習装置２の保持する各学習済みの学習モデル４の演算パラメータの値が特定されるのを防止しながら、制御部１１は、各学習済みの学習モデル４の演算パラメータの値の総和を得ることができる。制御部１１は、この演算パラメータの値の総和を利用して統合処理を実行する。
【０３０５】
なお、秘密分散の方式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。秘密分散の方式には、例えば、国際標準（ISO/IEC 19592-2:2017）の方式等が用いられてよい。また、モデル統合装置１が信頼性のあるサーバであれば、モデル統合装置１が、第１サーバ６１及び第２サーバ６２のいずれかとして動作してもよい。
【０３０６】
（Ｂ）準同型暗号を利用する方法
図３６Ｂは、準同型暗号を利用して統合処理を実行する場面の一例を模式的に例示する。準同型暗号を利用した方法では、信頼性のある第三者機関としてサーバ６５がネットワークに設置される。サーバ６５は、モデル統合装置１等と同様にハードウェアプロセッサ及びメモリを備えるコンピュータである。
【０３０７】
この方法では、まず、サーバ６５が、公開鍵及び秘密鍵を発行する。公開鍵は、準同型性を有するように生成される。つまり、公開鍵により暗号化された２つの暗号文が与えられた場合に、暗号化された状態のまま２つの暗号文の加算が可能であるように公開鍵が生成される。サーバ６５は、発行された公開鍵及び秘密鍵のうち公開鍵を各学習装置２に配信する。
【０３０８】
各学習装置２の制御部２１は、受信した公開鍵により、自身の学習済みの学習モデル４の演算パラメータの値を暗号化する。そして、制御部２１は、暗号化された演算パラメータの値をモデル統合装置１に送信する。モデル統合装置１の制御部１１は、以下の式３のとおりに、各学習装置２から受信した演算パラメータの値を暗号化された状態のまま総和を計算する。
【０３０９】
【数３】
2020115311.tif 000005
なお、Ｐは、公開鍵により暗号化されていることを示す。
【０３１０】
制御部１１は、暗号化された総和をサーバ６５に送信する。サーバ６５は、秘密鍵により、モデル統合装置１から受信した暗号化された総和を復号化する。そして、サーバ６５は、復号化した演算パラメータの値の総和をモデル統合装置１に返信する。これにより、各学習装置２の保持する各学習済みの学習モデル４の演算パラメータの値が特定されるのを防止しながら、制御部１１は、各学習済みの学習モデル４の演算パラメータの値の総和を得ることができる。制御部１１は、この演算パラメータの値の総和を利用して統合処理を実行する。
【０３１１】
なお、準同型暗号の方式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。準同型暗号の方式には、例えば、modified-ElGamal暗号、Paillier暗号等が用いられてよい。また、モデル統合装置１が信頼性のあるサーバであれば、モデル統合装置１が、サーバ６５として動作してもよい。
【０３１２】
以上のとおり、本変形例によれば、上記２つの方法のうちのいずれかにより、統合範囲４１に反映された機械学習の結果を統合する統合処理を秘密計算により行うことができる。これにより、各学習装置２により構築された各学習済みの学習モデル４の秘匿性が損なわれてしまうのを防止することができる。
【０３１３】
＜４．４＞
上記実施形態では、各学習モデル４は、多層構造のニューラルネットワークにより構成されている。しかしながら、各学習モデル４を構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各学習モデル４は、畳み込み層、プーリング層、及び全結合層を備える畳み込みニューラルネットワークにより構成されてよい。また、時系列データを利用する場合には、各学習モデル４は、再帰型ニューラルネットワークにより構成されてよい。また、各学習モデル４の種類は、ニューラルネットワークに限られなくてもよく、実施の形態に応じて適宜選択されてよい。統合処理の対象となる各学習モデル４は、何らかのデータを生成するように構成された生成モデルであってもよい。
【０３１４】
＜４．５＞
上記実施形態において、各学習装置２により構築される学習モデル４の数は、１つに限られなくてもよく、複数であってもよい。また、各学習装置２は、テンプレート１２６を利用せずに、学習モデル４の構造を決定してもよい。この場合、テンプレート１２６は省略されてよい。
【０３１５】
また、上記実施形態において、予め統合範囲４１が固定されている等、モデル統合装置１が統合範囲４１を決定しない場合、上記ステップＳ３０２の処理は省略されてよい。この場合、モデル統合装置１のソフトウェア構成から範囲調整部１１２は省略されてよい。
【０３１６】
また、上記実施形態において、グルーピングの処理は省略されてよい。第１のグルーピング方法を省略する場合、グループリスト１２３は省略されてよい。グルーピングの処理を省略する場合、割当情報１２４は省略されてよい。また、モデル統合装置１のソフトウェア構成からグルーピング部１１６は省略されてよい。
【０３１７】
また、上記実施形態において、統合範囲４１を決定する方法及びグルーピングの方法それぞれから最適化に関する方法は省略されてよい。統合範囲４１を決定する方法から第２の方法が省略されてよい。この場合、評価用サンプル１２９は省略されてよい。
【０３１８】
また、上記実施形態において、各学習済みの学習モデル４に対して重みを設定する処理は省略されてよい。各重みは、予め設定されてもよい。この場合、モデル統合装置１のソフトウェア構成から重み設定部１１５は省略されてよい。更に、制御部１１は、各重みをランダムに設定してもよい。この場合、上記統合範囲４１及びグルーピングの最適化と同様に、統合処理後の各学習済みの学習モデル４の所定の能力が向上するように各重みを最適化してもよい。例えば、制御部１１は、各重みをランダムに調整しながら、統合処理を試行することで、統合処理後の各学習済みの学習モデル４の所定の能力が向上するように各重みを最適化してもよい。
【０３１９】
また、上記実施形態において、データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等の個別の種類のデータに置き換えられてよい。例えば、ローカル学習データ３が画像データを含むことで、モデル統合装置１及び複数の学習装置２により画像システムを構成することができる。この場合、各学習装置２は、収集したローカル学習データ３を利用した機械学習により、画像データから所定の特徴を推定する能力を獲得した学習済みの学習モデル４を構築する。また、例えば、ローカル学習データ３がセンサにより得られるセンシングデータを含むことで、モデル統合装置１及び複数の学習装置２によりセンサシステムを構成することができる。この場合、各学習装置２は、収集したローカル学習データ３を利用した機械学習により、センシングデータから所定の特徴を推定する能力を獲得した学習済みの学習モデル４を構築する。
【符号の説明】
【０３２０】
１…モデル統合装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…モデル収集部、１１２…範囲調整部、
１１３…統合処理部、１１４…モデル更新部、
１１５…重み設定部、１１６…グルーピング部、
１２１…統合結果データ、１２３…グループリスト、
１２４…割当情報、１２６…テンプレート、
１２９…評価用サンプル、
１２９１…入力データ、１２９２…正解データ、
８１…モデル統合プログラム、９１…記憶媒体、
２…学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
２７…外部インタフェース、
２１１…学習データ収集部、２１２…構造決定部、
２１３…学習処理部、２１４…保存処理部、
２１６…対象データ取得部、２１７…推論部、
２１８…出力部、
２２１…学習結果データ、２２５…対象データ、
８２…学習プログラム、８３…推論プログラム、
９２…記憶媒体、
Ｓ…センサ、
３…ローカル学習データ、
３０…学習データセット、
３１…訓練データ、３２…正解データ、
４…学習モデル、
４０…共通部分、４１…統合範囲、
５１…入力層、５２〜５５…中間（隠れ）層、
５６…出力層
【図１】
2020115311.tif 000006
【図２】
2020115311.tif 000007
【図３】
2020115311.tif 000008
【図４】
2020115311.tif 000009
【図５】
2020115311.tif 000010
【図６Ａ】
2020115311.tif 000011
【図６Ｂ】
2020115311.tif 000012
【図７】
2020115311.tif 000013
【図８】
2020115311.tif 000014
【図９】
2020115311.tif 000015
【図１０】
2020115311.tif 000016
【図１１】
2020115311.tif 000017
【図１２】
2020115311.tif 000018
【図１３】
2020115311.tif 000019
【図１４】
2020115311.tif 000020
【図１５】
2020115311.tif 000021
【図１６】
2020115311.tif 000022
【図１７】
2020115311.tif 000023
【図１８】
2020115311.tif 000024
【図１９】
2020115311.tif 000025
【図２０】
2020115311.tif 000026
【図２１】
2020115311.tif 000027
【図２２Ａ】
2020115311.tif 000028
【図２２Ｂ】
2020115311.tif 000029
【図２３】
2020115311.tif 000030
【図２４】
2020115311.tif 000031
【図２５Ａ】
2020115311.tif 000032
【図２５Ｂ】
2020115311.tif 000033
【図２６】
2020115311.tif 000034
【図２７】
2020115311.tif 000035
【図２８Ａ】
2020115311.tif 000036
【図２８Ｂ】
2020115311.tif 000037
【図２９】
2020115311.tif 000038
【図３０】
2020115311.tif 000039
【図３１Ａ】
2020115311.tif 000040
【図３１Ｂ】
2020115311.tif 000041
【図３２】
2020115311.tif 000042
【図３３】
2020115311.tif 000043
【図３４Ａ】
2020115311.tif 000044
【図３４Ｂ】
2020115311.tif 000045
【図３５】
2020115311.tif 000046
【図３６Ａ】
2020115311.tif 000047
【図３６Ｂ】
2020115311.tif 000048