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

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

▶ オムロン株式会社の特許一覧

特許7564616モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-01
(45)【発行日】2024-10-09
(54)【発明の名称】モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241002BHJP
   G01N 21/88 20060101ALI20241002BHJP
   G06N 3/08 20230101ALI20241002BHJP
   G06N 20/00 20190101ALI20241002BHJP
【FI】
G06T7/00 350C
G01N21/88 J
G06N3/08
G06N20/00
【請求項の数】 11
(21)【出願番号】P 2019210873
(22)【出願日】2019-11-21
(65)【公開番号】P2021082154
(43)【公開日】2021-05-27
【審査請求日】2022-09-07
【審判番号】
【審判請求日】2024-01-29
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(72)【発明者】
【氏名】米谷 竜
(72)【発明者】
【氏名】橋本 敦史
(72)【発明者】
【氏名】岡本 大和
【合議体】
【審判長】廣川 浩
【審判官】中木 努
【審判官】本郷 彰
(56)【参考文献】
【文献】特許第7003953(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G06T7/00-7/90
G06N3/00-3/12
G06N7/08-99/00
G01N21/84-21/958
(57)【特許請求の範囲】
【請求項1】
訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、
符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施する学習処理部であって、
前記符号器は、与えられた入力データを特徴量に変換するように構成され、
前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、
前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、
前記機械学習を実施することは、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、
を含み、
前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、
学習処理部と、
を備える、
モデル生成装置。
【請求項2】
前記第3訓練ステップは、前記第1訓練ステップ及び前記第2訓練ステップと共に繰り返し実行される、
請求項1に記載のモデル生成装置。
【請求項3】
前記第2訓練ステップでは、前記各学習データセットについて、前記第2正解データに対応するダミーデータであって、対応する前記第2正解データとは異なる値で構成されるダミーデータが取得され、
前記推定の結果が前記第2正解データに適合しなくなるように前記符号器を訓練することは、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記ダミーデータに適合するように前記符号器を訓練することにより構成される、
請求項1又は2に記載のモデル生成装置。
【請求項4】
前記ダミーデータは、前記ダミーデータに対応する学習データセットとは異なる学習データセットの第2正解データにより構成される、
請求項3に記載のモデル生成装置。
【請求項5】
前記第1特徴は、所定の推定の対象となる第1成分についての特徴であり
前記第2特徴は、前記第1成分とは異なる第2成分であって、前記第1成分についての前記所定の推定に影響を与える第2成分についての特徴である
請求項1から4のいずれか1項に記載のモデル生成装置。
【請求項6】
前記訓練データは、前景及び背景を含む画像データであり、
前記第1特徴は、前記前景についての特徴であり
前記第2特徴は、前記背景についての特徴である
請求項1から4のいずれか1項に記載のモデル生成装置。
【請求項7】
前記訓練データは、対象物の写る画像データであり、
前記第1特徴は、前記対象物の属性であり、
前記第2特徴は、前記対象物の属性以外の他の特徴である、
請求項1から4のいずれか1項に記載のモデル生成装置。
【請求項8】
前記対象物は、製品であり、
前記対象物の属性は、前記製品の欠陥についての属性である
請求項7に記載のモデル生成装置。
【請求項9】
対象データを取得するデータ取得部と、
請求項1から8のいずれか1項に記載のモデル生成装置により生成された訓練済みの前記符号器及び前記第1推定器を利用して、取得された前記対象データに含まれる第1特徴を推定する推定部と、
前記第1特徴を推定した結果についての情報を出力する出力部と、
を備える、
推定装置。
【請求項10】
コンピュータが、
訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、
前記符号器は、与えられた入力データを特徴量に変換するように構成され、
前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、
前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、
前記機械学習を実施することは、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、
を含み、
前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、
ステップと、
を実行する、
モデル生成方法。
【請求項11】
コンピュータに、
訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、
前記符号器は、与えられた入力データを特徴量に変換するように構成され、
前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、
前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、
前記機械学習を実施することは、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、
前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、
を含み、
前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、
ステップと、
を実行させるための、
モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラムに関する。
【背景技術】
【0002】
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-026982号公報
【文献】特開2017-111806号公報
【文献】特開2014-049118号公報
【文献】特開2019-071050号公報
【文献】特許第6264492号公報
【文献】特開2017-194948号公報
【文献】特開2018-175343号公報
【文献】特開2019-083746号公報
【文献】特開2018-189522号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習により構築された訓練済みの機械学習モデルで構成された推定器によれば、与えられた訓練データと同種の未知のデータに対して、回帰、分類等の推定(予測を含む)タスクを実行することができる。そのため、上記特許文献1のような、ニューラルネットワーク等の機械学習モデルを利用する方法によれば、訓練済みの推定器の出力に基づいて製品の外観検査を実施することができる。しかしながら、本件発明者らは、上記のような従来の方法には、次のような問題点があることを見出した。
【0005】
すなわち、従来の方法では、与えられた画像に写る欠陥を検出する能力を機械学習モデルに習得させる機械学習を実施するために、事前に、欠陥を含む製品の写る画像が学習データとして収集される。欠陥の検出は、欠陥の種別を識別することであってもよい。基本的には、収集される学習データが多岐にわたるほど、換言すると、学習データに表れる欠陥の状況が多様であるほど、外観検査の精度の向上を図ることができる。
【0006】
ただし、欠陥の種別、及び製品の外観を含む背景の種別が多くなればなるほど、欠陥の種別及び背景の種別の組み合わせが増加し、学習データとして収集されることが所望されるサンプルの件数(及び種類)も増加する。また、訓練済みの推定器を運用する際に背景が変更されることもあり得る。高精度に外観検査を遂行可能な訓練済みの推定器を生成するためには、欠陥の種別及び背景の種別の全ての組み合わせについてサンプルを収集するのが望ましいが、全ての組み合わせについてサンプルを収集するのにはコストがかかる。そこで、例えば、全ての組み合わせについてのサンプルは得られていないが、検出対象の欠陥の全種別についてはサンプルが得られた時点等、ある程度の学習データが収集された段階で、機械学習モデルの機械学習を実施することが考えられる。
【0007】
しかしながら、学習データにおいてサンプルの得られていない組み合わせが存在する場合に、次のような問題が生じる可能性がある。すなわち、機械学習により、機械学習モデルは、訓練データ(サンプル)に含まれる任意の情報を利用して、所望の推定タスクを遂行するように訓練される。そのため、欠陥及び背景を含む訓練データを使用して、推定器の機械学習を実施した場合、生成される訓練済みの推定器は、データに含まれる欠陥に関する情報だけではなく、背景に関する情報も利用して、欠陥の検出に関する推定タスクを遂行する能力を獲得している場合がある。このような場合、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせを機械学習に反映できないことで、その組み合わせに対する訓練済みの推定器による欠陥の検出に関する推定の精度が低下してしまう可能性がある。
【0008】
加えて、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っている場合、特に、欠陥の種別及び背景の種別が同じ分布でサンプルに表れる場合、このサンプルの偏りが、機械学習により機械学習モデルの習得する能力に悪影響を及ぼす可能性がある。具体的には、組み合わせの偏ったサンプルを使用した機械学習により、推定器は、種別に応じて欠陥を検出する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。
【0009】
一例として、第1製品及び第2製品の2種類の製品に対して、第1欠陥及び第2欠陥の2種類の欠陥が発生すると仮定する。また、この例において、第1製品では第1欠陥が生じやすく、第2製品では第2欠陥が生じやすいと仮定する。更に、得られたサンプルが、第1欠陥を含む第1製品の写る画像、及び第2欠陥を含む第2製品の写る画像に偏っていると仮定する。すなわち、第2欠陥を含む第1製品の写る画像及び第1欠陥を含む第2製品の写る画像が機械学習のサンプルとして得られていないと仮定する。この仮定の下で得られたサンプルを使用して、種別に応じて欠陥を検出する能力を習得させることを意図して機械学習モデルの機械学習を実行したと想定する。この場合、得られるサンプルに上記偏りが生じていることで、当該機械学習により、機械学習モデルは、種別に応じて欠陥を検出識別する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。すなわち、サンプルが偏っていることで、意図した能力とは別の能力を機械学習モデルに習得させてしまう可能性がある。背景の種別を識別する能力を習得してしまった場合には、第2欠陥を含む第1製品の写る画像が与えられたときに、訓練済みの推定器は、第1製品に第1欠陥が生じていると誤検出してしまう。
【0010】
したがって、従来の方法では、機械学習により、訓練済みの推定器は、画像データに含まれる背景に関する情報を考慮して、欠陥検出に関する推定タスクを遂行するように構築される可能性がある。これにより、運用時の背景が学習時の背景と異なっていることで、訓練済みの推定器による欠陥検出に関する推定の精度が悪化してしまうという問題点があった。換言すると、背景の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
【0011】
なお、このような問題点は、製品の外観検査に利用可能な訓練済みの推定器を生成する場面に特有のものではない。この問題点は、所定種類のデータに対して対象の特徴に関する推定タスクの遂行に利用可能な訓練済みの推定器を構築するあらゆる場面で生じ得る。所定種類のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。所定種類のデータに対して対象の特徴に関する推定タスクを遂行する場面とは、例えば、画像データの前景に関する推定を行う場面等である。前景に関する推定は、例えば、画像データに写る対象物の属性を推定することであってよい。この場合、背景に関する特徴は、対象物の属性以外の他の特徴であってよい。対象物は、上記製品の他、例えば、製品の包装、ナンバープレート、撮影範囲内を移動可能な移動体(例えば、車両、人物等)、車両を運転する運転者等であってよい。その他、所定種類のデータに対して対象の特徴に関する推定タスクを遂行する場面とは、例えば、センサにより得られるセンシングデータから対象の属性を推定する場面等である。センサにより得られるセンシングデータから対象の属性を推定する場面は、例えば、車載センサにより得られるセンシングデータから車両の状況を推定する場面、バイタルセンサ又は医療検査装置により得られるセンシングデータから対象者の健康状態を推定する場面、環境センサにより得られるセンシングデータから植物の栽培状況を推定する場面、機械の状態を観測するセンサにより得られるセンシングデータから当該機械の状態を推定する場面等である。
【0012】
具体例として、特許文献2では、訓練済みのニューラルネットワークを利用して、ナンバープレートを認識することが提案されている。特許文献3では、訓練済みの畳み込みニューラルネットワークを利用して、文字を識別することが提案されている。特許文献4では、訓練済みのニューラルネットワークを利用して、撮影画像に写る人物の密度分布及び移動ベクトルの分布を推定することが提案されている。特許文献5では、学習済みのモデルを利用して、撮影画像及び観測情報から運転者の運転に対する集中の程度を推定することが提案されている。特許文献6では、訓練済みのニューラルネットワークを利用して、車載センサにより得られたデータから車両周囲の状況を認識することが提案されている。特許文献7では、訓練済みのニューラルネットワークを利用して、医療用画像から病変領域を検出することが提案されている。特許文献8では、訓練済みのニューラルネットワークを利用して、植物の生育段階を特定することが提案されている。特許文献9では、訓練済みのニューラルネットワークを利用して、音声及び振動の少なくとも一方の測定データから設備の故障の予兆を診断する方法が提案されている。
【0013】
これらの場面でも、従来の方法では、機械学習により、対象の特徴に関する推定タスクを遂行するための訓練済みの推定器を構築した場合に、訓練済みの推定器は、データに含まれる対象の特徴以外の他の特徴に関する情報を考慮して、当該推定タスクを遂行するように構築される可能性がある。そのため、他の特徴の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
【0014】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、対象の特徴以外の他の特徴の相違にロバストな訓練済みの推定器を生成するための技術を提供することである。
【課題を解決するための手段】
【0015】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0016】
すなわち、本発明の一側面に係るモデル生成装置は、訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施する学習処理部であって、前記符号器は、与えられた入力データを特徴量に変換するように構成され、前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、を含み、前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、学習処理部と、を備える。
【0017】
当該構成に係るモデル生成装置では、3つの訓練ステップにより、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習が実施される。上記第1訓練ステップによれば、第2推定器は、符号器により得られる特徴量に含まれる情報、すなわち、第2特徴に対応する成分から当該第2特徴に関する推定タスクを遂行する能力を獲得する。一方、上記第2訓練ステップによれば、符号器は、第2推定器の性能に応じて、第2推定器による第2特徴に関する推定タスクが失敗するような特徴量に入力データを変換する能力を獲得する。
【0018】
当該構成に係るモデル生成装置では、この第1訓練ステップ及び第2訓練ステップが交互に繰り返し実行される。これにより、符号器及び第2推定器の敵対的学習が実施される。その結果、第2推定器の推定性能が向上するのに対応して、この第2推定器による推定タスクが失敗するように、符号器により得られる特徴量には、第2特徴に対応する成分が含まれ難くすることができる。すなわち、第2特徴と関係性の低い(又は無関係な)特徴空間に入力データを射影する能力を符号器に獲得させることができる。加えて、上記第3訓練ステップによれば、符号器により得られる特徴量から第1特徴に関する推定タスクを遂行する能力を第1推定器に獲得させると共に、当該推定タスクを第1推定器が適切に遂行可能なように、第1特徴に対応する成分を含む特徴量に入力データを変換する能力を符号器に獲得させることができる。
【0019】
したがって、当該構成に係る機械学習によれば、訓練済みの符号器により得られる特徴量には、第1特徴に対応する成分が含まれ、かつ第2特徴に対応する成分が含まれ難くすることができる。これにより、第1推定器による第1特徴に関する推定タスクの遂行に第2特徴に関する情報が考慮され難くすることができる。よって、当該構成に係るモデル生成装置によれば、対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、対象の特徴以外の他の特徴の相違にロバストな訓練済みの推定器を生成することができる。すなわち、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。
【0020】
なお、符号器、第1推定器、及び第2推定器はそれぞれ、演算に利用される演算パラメータであって、機械学習により調節される演算パラメータを備える。このような符号器、第1推定器、及び第2推定器の種類はそれぞれ、機械学習可能なモデル(機械学習モデル、学習器)であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。符号器、第1推定器、及び第2推定器それぞれには、例えば、ニューラルネットワーク、サポートベクタマシン、回帰モデル等が用いられてよい。符号器、第1推定器、及び第2推定器それぞれにニューラルネットワークが用いられる場合、各ニューロン間の結合の重み、各ニューロンの閾値等が、上記演算パラメータの一例である。機械学習の方法は、符号器、第1推定器、及び第2推定器それぞれのモデルの種類に応じて適宜選択されてよい。各訓練ステップの処理順序は任意であってよい。
【0021】
上記一側面に係るモデル生成装置において、前記第3訓練ステップは、前記第1訓練ステップ及び前記第2訓練ステップと共に繰り返し実行されてよい。当該構成によれば、敵対的学習の過程において第2訓練ステップにより符号器の演算パラメータの値が調節されるのに対応して、符号器により得られる特徴量から第1特徴を推定する能力を獲得するように第1訓練ステップにより符号器及び第1推定器の演算パラメータの値を調節することができる。これにより、第1特徴に関する推定タスクを高精度に遂行可能な訓練済みの符号器及び第1推定器を得ることができる。
【0022】
上記一側面に係るモデル生成装置において、前記第2訓練ステップでは、前記各学習データセットについて、前記第2正解データに対応するダミーデータであって、対応する前記第2正解データとは異なる値で構成されるダミーデータが取得されてもよい。前記推定の結果が前記第2正解データに適合しなくなるように前記符号器を訓練することは、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記ダミーデータに適合するように前記符号器を訓練することにより構成されてもよい。当該構成によれば、第2訓練ステップにおける符号器の訓練処理を簡易化することができ、これにより、コストの低減を図ることができる。
【0023】
上記一側面に係るモデル生成装置において、前記ダミーデータは、対応する学習データセットとは異なる学習データセットの第2正解データにより構成されてよい。当該構成によれば、ダミーデータを生成する計算量を抑えることができ、これにより、第2訓練ステップの処理コストの低減を図ることができる。
【0024】
上記一側面に係るモデル生成装置において、前記第1特徴は、所定の推定の対象となる第1成分に関するものであってよい。前記第2特徴は、前記第1成分とは異なる第2成分であって、前記第1成分についての前記所定の推定に影響を与える第2成分に関するものであってよい。当該構成によれば、符号器により得られる特徴量に、第1成分についての所定の推定に影響を与える第2成分に対応する情報が含まれ難くすることができる。これにより、第2特徴の相違にロバストで、かつ比較的に高精度に第1特徴に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器の生成を期待することができる。
【0025】
上記各側面に係るモデル生成装置は、所定種類のデータに対する対象の特徴に関する推定タスクの遂行に利用可能な訓練済みのモデルを生成するあらゆる場面に適用されてよい。上記各側面に係るモデル生成装置は、例えば、画像データの前景に含まれる特徴を推定するための訓練済みのモデルを生成する場面に適用されてよい。前景に含まれる特徴を推定することは、例えば、画像データに写る対象物の属性を推定することであってよい。この場合、背景に関する特徴は、対象物の属性以外の他の特徴であってよい。その他、上記各側面に係るモデル生成装置は、例えば、センサにより得られるセンシングデータから対象の属性を推定するための訓練済みのモデルを生成する場面に適用されてよい。対象の属性を推定することは、例えば、車両の状況を推定すること、対象者の健康状態を推定すること、植物の栽培状況を推定すること、機械の状態を推定する場面等である。センサは、各場面に応じて適宜選択されてよい。
【0026】
上記一側面に係るモデル生成装置において、前記訓練データは、前景及び背景を含む画像データであってよい。前記第1特徴は、前記前景に関するものであってよく、前記第2特徴は、前記背景に関するものであってよい。当該構成によれば、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。なお、前景及び背景は、実施の形態に応じて適宜決定されてよい。
【0027】
上記一側面に係るモデル生成装置において、前記訓練データは、対象物の写る画像データであってよい。前記第1特徴は、前記対象物の属性であってもよく、前記第2特徴は、前記対象物の属性以外の他の特徴であってよい。当該構成によれば、対象物の属性以外の特徴の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。なお、対象物は、任意に選択されてよい。対象物は、例えば、製品、製品の包装、ナンバープレート、撮影範囲内を移動可能な移動体(例えば、車両、人物等)、車両を運転する運転者等であってよい。
【0028】
上記一側面に係るモデル生成装置において、前記対象物は、製品であってよい。前記対象物の属性は、前記製品の欠陥に関するものであってよい。当該構成によれば、外観検査を実施する場面において、欠陥以外の特徴(例えば、製品の外装、コンベアのシート等を含む背景)の相違に対してロバストに欠陥検出に関する推定タスクを遂行可能な訓練済みの符号器及び第1推定器を生成することができる。
【0029】
また、本発明の形態は、上記モデル生成装置の形態に限られなくてもよい。本発明の一側面は、上記モデル生成装置により生成された訓練済みのモデルを利用する装置であってもよい。例えば、本発明の一側面は、上記モデル生成装置により生成された訓練済みの符号器及び第1推定器を利用して、所定種類のデータに対して対象の特徴に関する推定タスクを実行するように構成された推定装置であってもよい。この推定装置は、適用場面における推定タスクの種類に応じて、検査装置、識別装置、監視装置、診断装置、予測装置等と読み替えられてよい。
【0030】
例えば、本発明の一側面に係る推定装置は、対象データを取得するデータ取得部と、上記いずれかの側面に係るモデル生成装置により生成された訓練済みの前記符号器及び前記第1推定器を利用して、取得された前記対象データに含まれる第1特徴を推定する推定部と、前記第1特徴を推定した結果に関する情報を出力する出力部と、を備える。当該構成によれば、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行することができる。なお、対象データは、「対象サンプル」、単に「サンプル」等と称されてよい。
【0031】
また、上記各形態に係るモデル生成装置及び推定装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るモデル生成装置及び推定装置により構成される推定システムであってもよい。
【0032】
例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、前記符号器は、与えられた入力データを特徴量に変換するように構成され、前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、を含み、前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、ステップと、を実行する、情報処理方法である。
【0033】
また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、訓練データ、前記訓練データに含まれる第1特徴を示す第1正解データ、及び前記訓練データに含まれる第2特徴であって、前記第1特徴とは異なる第2特徴を示す第2正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、符号器、第1推定器、及び第2推定器を含む学習モデルの機械学習を実施するステップであって、前記符号器は、与えられた入力データを特徴量に変換するように構成され、前記第1推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第1特徴を前記特徴量から推定するように構成され、前記第2推定器は、前記符号器の出力値が入力され、前記入力データに含まれる第2特徴を前記特徴量から推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合するように、前記第2推定器を訓練する第1訓練ステップ、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第2推定器から得られる推定の結果が前記第2正解データに適合しなくなるように、前記符号器を訓練する第2訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記符号器に与えることで前記第1推定器から得られる推定の結果が前記第1正解データに適合するように、前記符号器及び前記第1推定器を訓練する第3訓練ステップ、を含み、前記第1訓練ステップ及び前記第2訓練ステップを交互に繰り返し実行する、ステップと、を実行させるための、プログラムである。
【発明の効果】
【0034】
本発明によれば、データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、対象の特徴以外の他の特徴の相違にロバストな訓練済みの推定器を生成することができる。
【図面の簡単な説明】
【0035】
図1図1は、本発明が適用される場面の一例を模式的に例示する。
図2図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
図3図3は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。
図4図4は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
図5図5は、実施の形態に係るモデル生成装置による機械学習の処理過程の一例を模式的に例示する。
図6図6は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。
図7図7は、実施の形態に係るモデル生成装置の処理手順の一例を例示する。
図8図8は、実施の形態に係るモデル生成装置の機械学習の処理手順の一例を例示する。
図9図9は、実施の形態に係る推定装置の処理手順の一例を例示する。
図10図10は、本発明が適用される他の場面の一例を模式的に例示する。
図11A図11Aは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
図11B図11Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
図12図12は、本発明が適用される他の場面の一例を模式的に例示する。
図13図13は、本発明が適用される他の場面の一例を模式的に例示する。
図14図14は、本発明が適用される他の場面の一例を模式的に例示する。
図15図15は、本発明が適用される他の場面の一例を模式的に例示する。
図16図16は、本発明が適用される他の場面の一例を模式的に例示する。
図17A図17Aは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
図17B図17Bは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
図18図18は、本発明が適用される他の場面の一例を模式的に例示する。
図19A図19Aは、他の形態に係る診断装置のハードウェア構成の一例を模式的に例示する。
図19B図19Bは、他の形態に係る診断装置のソフトウェア構成の一例を模式的に例示する。
図20図20は、本発明が適用される他の場面の一例を模式的に例示する。
図21A図21Aは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
図21B図21Bは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
図22図22は、本発明が適用される他の場面の一例を模式的に例示する。
【発明を実施するための形態】
【0036】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0037】
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推定システム100は、モデル生成装置1及び推定装置2を備えている。
【0038】
本実施形態に係るモデル生成装置1は、学習モデル5の機械学習を実施するように構成されたコンピュータである。具体的に、本実施形態に係るモデル生成装置1は、複数の学習データセット120を取得する。各学習データセット120は、訓練データ121、訓練データ121に含まれる第1特徴を示す第1正解データ122、及び訓練データ121に含まれる第2特徴であって、第1特徴とは異なる第2特徴を示す第2正解データ123の組み合わせにより構成される。
【0039】
訓練データ121は、所定種類のデータのサンプルである。所定種類のデータは、例えば、何らかの特徴が表れ得るデータであれば、データの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定種類のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。所定種類のデータは、例えば、何らかの対象をセンサにより観測することで得られるセンシングデータであってもよい。センサは、例えば、画像センサ(カメラ)、赤外線センサ、音センサ(マイクロフォン)、超音波センサ、光センサ、圧力センサ、気圧センサ、温度センサ等であってよい。また、センサは、例えば、環境センサ、バイタルセンサ、医療検査装置、車載センサ、ホームセキュリティセンサ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT(Computed Tomography)装置、MRI(Magnetic Resonance Imaging)装置等であってよい。車載センサは、例えば、画像センサ、Lidar(light detection and ranging)センサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度(音声)センサ、ガス(CO2等)センサ、電流センサ、スマートメータ(家電、照明等の電力使用量を計測するセンサ)等であってよい。
【0040】
第1特徴及び第2特徴はそれぞれ、実施の形態に応じて適宜選択されてよい。例えば、第1特徴及び第2特徴はそれぞれ、データに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れるとは、画像データに写る等のデータそのものに表れることを指す。間接的に表れるとは、画像データから推定される等のデータから導出されることを指す。第1特徴は、機械学習モデルに習得させる推定タスクに応じて選択されてよい。一方、第2特徴は、データに直接的又は間接的に表れ得る特徴のうち、推定タスクの対象に選択されなかったものから選択されてよい。第1特徴は、例えば、画像データにおける前景(例えば、欠陥部分)等のような、所定種類のデータにおける所定の推定の対象となる第1成分に関するものであってよい。これに対して、第2特徴は、第1成分とは異なる第2成分であって、例えば、画像データにおける背景等のような、第1成分についての所定の推定に影響を与え得る第2成分に関するものであってよい。
【0041】
なお、所定の推定に影響を与えるとは、上記従来の方法により生成された訓練済みのモデルが与えられた場合に、機械学習に使用された訓練データに表れる第1成分及び第2成分の既知の組み合わせを含む対象データと比べて、第1成分及び第2成分の未知の組み合わせを含む対象データに対して、当該訓練済みのモデルによる第1成分についての所定の推定の精度が悪化し得ることである。具体例として、対象データとして画像データを選択し、製品の欠陥に関する成分を第1成分として選択し、背景に関する成分を第2成分として選択することで、画像データに写る製品の欠陥を検出する場面を想定する。この場面において、製品の欠陥及び背景の写る訓練データを使用した機械学習により、訓練済みのモデルを生成する。機械学習に使用される訓練データには、第1欠陥及び第1背景の組み合わせ、並びに第2欠陥及び第2背景の組み合わせは出現しているのに対して、第1欠陥及び第2背景の組み合わせ、並びに第2欠陥及び第1背景の組み合わせは出現していないと仮定する。この場合に、機械学習に使用された訓練データに出現する欠陥及び背景の組み合わせ(第1欠陥、第1背景)又は(第2欠陥、第2背景)を含む画像データと比べて、欠陥及び背景それぞれ個別では訓練データに出現しているものの、訓練データには出現していない欠陥及び背景の組み合わせ(第1欠陥、第2背景)又は(第2欠陥、第1背景)を含む画像データに対して、訓練済みのモデルによる欠陥の検出の精度が悪化し得ることが、上記所定の推定に影響を与えることの一例である。
【0042】
第1正解データ122は、第1特徴に関する推定タスクの正解を示す。第2正解データ123は、第2特徴に関する推定タスクの正解を示す。各正解データ(122、123)は、「教師信号」、「ラベル」等と読み替えられてもよい。「推定」は、「推論」と読み替えられてもよい。各特徴を推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。各特徴を推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。また、各特徴を推定することには、予測することが含まれてもよい。
【0043】
本実施形態に係るモデル生成装置1は、取得された複数の学習データセット120を使用して、学習モデル5の機械学習を実施する。本実施形態に係る学習モデル5は、符号器51、第1推定器52、及び第2推定器53を含んでいる。符号器51は、与えられた入力データを特徴量に変換する、換言すると、入力データの入力を受け付けて、入力された入力データを特徴量に変換した結果に対応する出力値を出力するように構成される。第1推定器52は、符号器51の出力値(すなわち、特徴量)が入力され、入力データに含まれる第1特徴を特徴量から推定するように構成される。第2推定器53は、符号器51の出力値が入力され、入力データに含まれる第2特徴を特徴量から推定するように構成される。
【0044】
特徴量のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、各推定器(52、53)の出力値の形式も、特に限定されなくてもよく、各特徴に関する推定タスクの形式に応じて適宜選択されてよい。符号器51、第1推定器52、及び第2推定器53は、演算パラメータを備える機械学習モデルにより構成される。符号器51、第1推定器52、及び第2推定器53それぞれを構成する機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、符号器51、第1推定器52、及び第2推定器53それぞれを構成する機械学習モデルには、ニューラルネットワークが用いられる。詳細は後述する。
【0045】
本実施形態に係る機械学習を実施することは、第1~第3訓練ステップを含む。第1訓練ステップでは、本実施形態に係るモデル生成装置1は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練する。第2訓練ステップでは、本実施形態に係るモデル生成装置1は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練する。すなわち、第2訓練ステップでは、符号器51は、第2推定器53の推定性能を低下させるような特徴量に訓練データ121を変換するように訓練される。第3訓練ステップでは、本実施形態に係るモデル生成装置1は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練する。本実施形態に係るモデル生成装置1は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。これにより、本実施形態に係るモデル生成装置1は、第1特徴に関する推定タスクの遂行に利用可能な訓練済みの符号器51及び第1推定器52を生成することができる。なお、本実施形態に係るモデル生成装置1は、単に「生成装置」、「学習装置」等と読み替えられてよい。「訓練済み」は、「学習済み」と読み替えられてよい。
【0046】
一方、本実施形態に係る推定装置2は、モデル生成装置1により生成された訓練済みの符号器51及び第1推定器52を利用して、所定種類のデータに対して第1特徴に関する推定タスクを遂行するように構成されたコンピュータである。具体的に、本実施形態に係る推定装置2は、推定タスクの対象となる対象データを取得する。本実施形態に係る推定装置2は、モデル生成装置1により生成された訓練済みの符号器51及び第1推定器52を利用して、取得された対象データに含まれる第1特徴を推定する。本実施形態に係る推定装置2は、第1特徴を推定した結果に関する情報を出力する。
【0047】
以上のとおり、本実施形態では、上記第1訓練ステップにより、第2推定器53は、符号器51により得られる特徴量に含まれる第2特徴に対応する成分から当該第2特徴に関する推定タスクを遂行する能力を獲得するように訓練される。一方、上記第2訓練ステップにより、符号器51は、第2推定器53の推定性能に応じて、当該第2推定器53による第2特徴に関する推定タスクが失敗するような特徴量に入力データ(訓練データ121)を変換する能力を獲得するように訓練される。
【0048】
本実施形態では、当該第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行することで、符号器51及び第2推定器53の敵対的学習が実施される。その結果、第2推定器53の推定性能が向上するのに対応して、第2推定器53による推定タスクが失敗するように、符号器51により得られる特徴量には、第2特徴に対応する成分が含まれ難くすることができる。
【0049】
加えて、上記第3訓練ステップにより、第1推定器52は、符号器51により得られる特徴量から第1特徴に関する推定タスクを遂行する能力を獲得するように訓練される。これと共に、符号器51は、第1特徴に関する推定タスクを第1推定器52が適切に遂行可能なように、第1特徴に対応する成分を含む特徴量に入力データ(訓練データ121)を変換する能力を獲得するように訓練される。
【0050】
したがって、本実施形態に係る機械学習によれば、訓練済みの符号器51により得られる特徴量には、第1特徴に対応する成分が含まれ、かつ第2特徴に対応する成分が含まれ難くすることができる。これにより、第1推定器52による第1特徴に関する推定タスクの遂行に第2特徴に関する情報が考慮され難くすることができる。よって、本実施形態に係るモデル生成装置1によれば、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
【0051】
なお、図1の例では、モデル生成装置1及び推定装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び推定装置2の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び推定装置2の間では、記憶媒体を利用して、データがやりとりされてよい。
【0052】
また、図1の例では、モデル生成装置1及び推定装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る推定システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び推定装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び推定装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
【0053】
§2 構成例
[ハードウェア構成]
<モデル生成装置>
次に、図2を用いて、本実施形態に係るモデル生成装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。
【0054】
図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0055】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の学習データセット120、学習結果データ125等の各種情報を記憶する。
【0056】
モデル生成プログラム81は、学習モデル5の機械学習に関する後述の情報処理(図7及び図8)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。モデル生成プログラム81は、単に「生成プログラム」、「学習プログラム」等と称されてもよい。複数の学習データセット120は、学習モデル5の機械学習に使用される。学習結果データ125は、機械学習により生成された訓練済みの符号器51及び第1推定器52に関する情報を示す。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。詳細は後述する。
【0057】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、推定装置2)と行うことができる。
【0058】
外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。モデル生成装置1は、外部インタフェース14を介して、訓練データ121を得るためのセンサに接続されてよい。
【0059】
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
【0060】
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記モデル生成プログラム81及び複数の学習データセット120の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
【0061】
記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81及び複数の学習データセット120の少なくともいずれかを取得してもよい。
【0062】
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。
【0063】
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0064】
<推定装置>
次に、図3を用いて、本実施形態に係る推定装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る推定装置2のハードウェア構成の一例を模式的に例示する。
【0065】
図3に示されるとおり、本実施形態に係る推定装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。なお、図3では、図2と同様に、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0066】
推定装置2の制御部21~ドライブ27はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17それぞれと同様に構成されてよい。すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、推定プログラム82、学習結果データ125等の各種情報を記憶する。
【0067】
推定プログラム82は、訓練済みの符号器51及び第1推定器52を利用して、所定種類のデータに対して第1特徴に関する推定タスクを遂行する後述の情報処理(図9)を推定装置2に実行させるためのプログラムである。推定プログラム82は、当該情報処理の一連の命令を含む。詳細は後述する。
【0068】
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推定装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、モデル生成装置1)と行うことができる。
【0069】
外部インタフェース24は、例えば、USBポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース24の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。推定装置2は、外部インタフェース14を介して、対象データを取得するためのセンサに接続されてよい。
【0070】
入力装置25は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置26は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置25及び出力装置26を利用することで、推定装置2を操作することができる。
【0071】
ドライブ27は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体92の種類は、ディスク型及びディスク型以外のいずれであってもよい。ドライブ27の種類は、記憶媒体92の種類に応じて適宜選択されてよい。上記推定プログラム82及び学習結果データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、推定装置2は、記憶媒体92から、上記推定プログラム82及び学習結果データ125のうちの少なくともいずれかを取得してもよい。
【0072】
なお、推定装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。推定装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0073】
[ソフトウェア構成]
<モデル生成装置>
次に、図4及び図5を用いて、本実施形態に係るモデル生成装置1のソフトウェア構成の一例について説明する。図4は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。図5は、本実施形態に係るモデル生成装置1による機械学習の処理過程の一例を模式的に例示する。
【0074】
モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、CPUにより、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4に示されるとおり、本実施形態に係るモデル生成装置1は、データ取得部111、学習処理部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0075】
データ取得部111は、訓練データ121、訓練データ121に含まれる第1特徴を示す第1正解データ122、及び訓練データ121に含まれる第2特徴であって、第1特徴とは異なる第2特徴を示す第2正解データ123の組み合わせによりそれぞれ構成される複数の学習データセット120を取得する。学習処理部112は、取得された複数の学習データセット120を使用して、学習モデル5の機械学習を実施する。
【0076】
本実施形態に係る学習モデル5は、符号器51、第1推定器52、及び第2推定器53を備えている。符号器51は、入力側に配置されている。符号器51は、所定種類のデータの入力に対して、入力データを変換することで得られた特徴量に対応する出力値を出力するように構成される。これに対して、第1推定器52及び第2推定器53は、出力側に並列に配置されている。符号器51の出力は、各推定器(52、53)の入力に接続している。これにより、符号器51の出力値、すなわち、入力データを変換することで得られた特徴量が各推定器(52、53)に入力される。第1推定器52は、特徴量の入力に対して、入力データに含まれる第1特徴を入力された特徴量から推定した結果に対応する出力値を出力するように構成される。第2推定器53は、特徴量の入力に対して、入力データに含まれる第2特徴を入力された特徴量から推定した結果に対応する出力値を出力するように構成される。
【0077】
図5に示されるとおり、本実施形態に係る機械学習は、第1~第3訓練ステップを含む。第1訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練する。第2訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練する。学習処理部112は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。第3訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練する。
【0078】
なお、推定結果が第2正解データ123に適合しなくなるように符号器51を訓練する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。一例として、学習処理部112は、各学習データセット120について、第2正解データ123に対応するダミーデータ129であって、対応する第2正解データ123とは異なる値で構成されるダミーデータ129を取得してもよい。この場合、推定結果が第2正解データ123に適合しなくなるように符号器51を訓練することは、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果がダミーデータ129に適合するように訓練することにより構成されてよい。
【0079】
以上の各訓練ステップの実行により、訓練済みの学習モデル5が生成される。図4に示されるとおり、保存処理部113は、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125として生成する。そして、保存処理部113は、生成された学習結果データ125を所定の記憶領域に保存する。なお、訓練済みの第2推定器53の取り扱いについては任意であってよい。学習結果データ125は、訓練済みの第2推定器53に関する情報を含んでもよいし、或いは含まなくてもよい。
【0080】
(機械学習モデルの構成)
次に、符号器51、第1推定器52及び第2推定器53それぞれの構成について説明する。符号器51、第1推定器52及び第2推定器53それぞれには、機械学習を実施可能な任意のモデルが利用されてよい。図4に示されるとおり、本実施形態では、符号器51、第1推定器52及び第2推定器53はそれぞれ、多層構造の全結合型ニューラルネットワークにより構成されている。符号器51、第1推定器52及び第2推定器53はそれぞれ、入力層(511、521、531)、中間(隠れ)層(512、522、532)、及び出力層(513、523、533)を備えている。
【0081】
ただし、符号器51、第1推定器52及び第2推定器53それぞれの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層(512、522、532)の数は、1つに限定されなくてもよく、2つ以上であってもよい。或いは、中間層(512、522、532)は省略されてもよい。それぞれのニューラルネットワークを構成する層の数は、特に限られなくてもよく、任意に選択されてよい。符号器51、第1推定器52及び第2推定器53の少なくともいずれかの組み合わせでは、少なくとも部分的に構造が一致していてもよいし、或いは一致していなくてもよい。また、図4の例では、符号器51、第1推定器52及び第2推定器53それぞれのニューラルネットワークは分離されているが、符号器51、第1推定器52及び第2推定器53の少なくともいずれかの組み合わせは一体のニューラルネットワークにより構成されてよい。
【0082】
各層(511~513、521~523、531~533)は1又は複数のニューロン(ノード)を備えている。各層(511~513、521~523、531~533)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合される。図4の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【0083】
各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(511~513、521~523、531~533)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、符号器51、第1推定器52及び第2推定器53それぞれの演算処理に利用される演算パラメータの一例である。
【0084】
符号器51、第1推定器52及び第2推定器53それぞれの演算パラメータの値は、上記機械学習の各訓練ステップにより調節される。具体的に、第1訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、第2特徴の推定結果に対応する出力値を第2推定器53の出力層533から取得する。学習処理部112は、符号器51の演算パラメータの値を固定した上で、取得される出力値と第2正解データ123との誤差が小さくなるように、第2推定器53の演算パラメータの値を調節する。
【0085】
第2訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、第2特徴の推定結果に対応する出力値を第2推定器53の出力層533から取得する。学習処理部112は、第2推定器53の演算パラメータの値を固定した上で、取得される出力値と第2正解データ123との誤差が大きくなるように、符号器51の演算パラメータの値を調節する。一例として、学習処理部112は、取得される出力値とダミーデータ129との誤差が小さくなるように、符号器51の演算パラメータの値を調節する。
【0086】
第3訓練ステップでは、学習処理部112は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、第1特徴の推定結果に対応する出力値を第1推定器52の出力層523から取得する。学習処理部112は、取得される出力値と第1正解データ122との誤差が小さくなるように、符号器51及び第1推定器52それぞれの演算パラメータの値を調節する。
【0087】
保存処理部113は、上記機械学習により構築された訓練済みの符号器51及び第1推定器52それぞれの構造及び演算パラメータの値を示す情報を学習結果データ125として生成する。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。システム内でモデルの構造が共通化される場合、この構造に関する情報は学習結果データ125から省略されてもよい。保存処理部113は、生成された学習結果データ125を所定の記憶領域に保存する。
【0088】
<推定装置>
次に、図6を用いて、本実施形態に係る推定装置2のソフトウェア構成の一例について説明する。図6は、本実施形態に係る推定装置2のソフトウェア構成の一例を模式的に例示する。
【0089】
推定装置2の制御部21は、記憶部22に記憶された推定プログラム82をRAMに展開する。そして、制御部21は、CPUにより、RAMに展開された推定プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係る推定装置2は、データ取得部211、推定部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推定装置2の各ソフトウェアモジュールは、上記モデル生成装置1と同様に、制御部21(CPU)により実現される。
【0090】
データ取得部211は、推定タスクの遂行対象となる対象データ221を取得する。推定部212は、学習結果データ125を保持することで、モデル生成装置1により生成された訓練済みの符号器51及び第1推定器52を備えている。推定部212は、訓練済みの符号器51及び第1推定器52を利用して、取得された対象データ221に含まれる第1特徴を推定する。出力部213は、第1特徴を推定した結果に関する情報を出力する。
【0091】
<その他>
モデル生成装置1及び推定装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び推定装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置1及び推定装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0092】
§3 動作例
[モデル生成装置]
次に、図7を用いて、モデル生成装置1の動作例について説明する。図7は、本実施形態に係るモデル生成装置1の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0093】
(ステップS101)
ステップS101では、制御部11は、データ取得部111として動作し、複数の学習データセット120を取得する。本実施形態では、各学習データセット120は、訓練データ121、第1正解データ122、及び第2正解データ123の組み合わせにより構成される。
【0094】
各学習データセット120は適宜生成されてよい。例えば、実空間又は仮想空間において、第1特徴及び第2特徴を含む所定種類のデータのサンプルを訓練データ121として取得することができる。サンプルを取得する方法は適宜選択されてよい。所定種類のデータがセンシングデータである場合には、様々な条件でセンサにより対象を観測することで、訓練データ121を取得してもよい。観測の対象は、学習モデル5に習得させる推定タスクに応じて選択されてよい。そして、取得された訓練データ121に含まれる第1特徴及び第2特徴を推定した結果(正解)を示す情報を、第1正解データ122及び第2正解データ123として、取得された訓練データ121に関連付ける。各特徴の推定方法は任意に選択されてよい。例えば、各特徴の推定はオペレータにより行われてよい。これにより、各学習データセット120を生成することができる。
【0095】
各学習データセット120は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動で生成されてもよい。また、各学習データセット120の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各学習データセット120をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動で上記一連の生成処理を実行することで、複数の学習データセット120を取得する。一方、各学習データセット120を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の学習データセット120を取得する。一部の学習データセット120がモデル生成装置1により生成され、その他の学習データセット120が1又は複数の他のコンピュータにより生成されてもよい。
【0096】
取得する学習データセット120の件数は任意に選択されてよい。複数の学習データセット120を取得すると、制御部11は、次のステップS102に処理を進める。
【0097】
(ステップS102)
ステップS102では、制御部11は、学習処理部112として動作し、取得された複数の学習データセット120を使用して、学習モデル5の機械学習を実施する。
【0098】
図8は、本実施形態に係る学習モデル5における、ステップS102の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS102の処理は、以下のステップS121~ステップS124の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0099】
なお、機械学習の処理対象となる符号器51、第1推定器52及び第2推定器53を構成するニューラルネットワークは適宜用意されてよい。用意する符号器51、第1推定器52及び第2推定器53それぞれの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、符号器51、第1推定器52及び第2推定器53それぞれを用意してもよい。
【0100】
(ステップS121)
ステップS121では、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練する。ステップS121は、第1訓練ステップの一例である。この機械学習の訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。後述するステップS122及びステップS123における訓練処理についても同様である。
【0101】
一例として、まず、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えて、符号器51の演算処理を実行する。換言すると、制御部11は、訓練データ121を符号器51の入力層511に入力し、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部11は、訓練データ121を変換することで得られる特徴量に対応する出力値を符号器51の出力層513から取得する。続いて、制御部11は、取得された特徴量を第2推定器53の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。この演算結果により、制御部11は、訓練データ121に含まれる第2特徴を特徴量から推定した結果に対応する出力値を第2推定器53の出力層533から取得する。
【0102】
制御部11は、各学習データセット120について、以上の演算処理で第2推定器53の出力層533から得られる出力値と第2正解データ123との誤差を算出する。誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層533から得られる出力値と当該正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。損失関数には、例えば、平均二乗誤差、交差エントロピー誤差等の公知の損失関数が用いられてよい。
【0103】
制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、第2推定器53の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第2推定器53の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
【0104】
制御部11は、符号器51の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第2推定器53の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の処理による各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、第2推定器53を訓練することができる。この第2推定器53の訓練処理が完了すると、制御部11は、次のステップS122に処理を進める。
【0105】
(ステップS122)
ステップS122では、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練する。ステップS122は、第2訓練ステップの一例である。
【0106】
本実施形態では、上記のように符号器51を訓練するために、対応する第2正解データ123とは異なる値で構成されるダミーデータ129を用いることができる。この場合、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果がダミーデータ129に適合するように符号器51を訓練してもよい。
【0107】
ダミーデータ129は、各学習データセット120の第2正解データ123に対応して適宜取得されてよい。例えば、ダミーデータ129は、対応する学習データセット120とは異なる他の学習データセット120の第2正解データ123により構成されてよい。すなわち、制御部11は、ダミーデータ129を取得する対象の学習データセット120以外の他の学習データセット120を選択し、選択された他の学習データセット120の第2正解データ123を対象の学習データセット120のダミーデータ129として利用してもよい。
【0108】
他の学習データセット120を選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、他の学習データセット120は、複数の学習データセット120の中から、ランダム等の機械的な方法で選択されてもよい。また、例えば、各学習データセット120の訓練データ121に対する第2正解データ123の対応関係を任意の方向にずらすことで、対象の学習データセット120に割り当てられた他の学習データセットの120の第2正解データ123をダミーデータ129として利用してもよい。また、例えば、複数の学習データセット120の中から1つの学習データセット120を任意の方法で選択し、選択された学習データセット120の第2正解データ123を全ての学習データセット120のダミーデータ129として利用してもよい。この方法によれば、ダミーデータ129を生成する計算量を抑えることができ、本ステップS122の処理コストの低減を図ることができる。
【0109】
なお、ダミーデータ129を生成する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。上記の他、例えば、制御部11は、第2正解データ123の値を反転することで、ダミーデータ129を生成してもよい。また、例えば、制御部11は、第2正解データ123の値とは相違するように、ランダム(例えば、乱数)等の機械的な方法で得られた値で構成されるデータを生成し、生成されたデータをダミーデータ129として取得してもよい。複数の学習データセット120のうちダミーデータ129と第2正解データ123とが一致する学習データセット120が存在してもよい。この場合、当該学習データセット120をそのまま訓練に利用してもよいし、或いは当該学習データセット120のダミーデータ129を適宜変更するようにしてもよい。
【0110】
ダミーデータ129を利用した訓練処理は、例えば、次のように実施することができる。まず、制御部11は、各学習データセット120について、上記ステップS121と同様に、符号器51及び第2推定器53の順伝播の演算処理を実行する。これにより、制御部11は、訓練データ121に含まれる第2特徴を特徴量から推定した結果に対応する出力値を第2推定器53の出力層533から取得する。次に、制御部11は、各学習データセット120について、以上の演算処理で第2推定器53の出力層533から得られる出力値とダミーデータ129との誤差を算出する。誤差の算出には、ステップS121と同様の損失関数が用いられてよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を、第2推定器53を介して符号器51の各演算パラメータに逆伝播して、符号器51の各演算パラメータの値の誤差を算出する。そして、制御部11は、算出された各誤差に基づいて、符号器51の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0111】
制御部11は、第2推定器53の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、符号器51の各演算パラメータの値を調節する。ステップS121と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による符号器51の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練することができる。この符号器51の訓練処理が完了すると、制御部11は、次のステップS123に処理を進める。
【0112】
なお、第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように符号器51を訓練する方法は、このダミーデータ129を利用する方法に限られなくてもよい。例えば、訓練処理において、制御部11は、各学習データセット120について、第2推定器53の出力層533から得られる出力値と第2正解データ123との誤差を算出してもよい。制御部11は、算出された誤差の大きくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を符号器51の入力層511まで逆伝播してもよい。この過程で、制御部11は、符号器51の各演算パラメータの値の誤差を算出してもよい。そして、制御部11は、算出された各誤差に基づいて、符号器51の各演算パラメータの値を更新してもよい。この方法によっても、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合しなくなるように、符号器51を訓練することができる。
【0113】
(ステップS123)
ステップS123では、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練する。ステップS123は、第3訓練ステップの一例である。
【0114】
訓練処理の一例として、まず、制御部11は、各学習データセット120について、訓練データ121を符号器51の入力層511に入力し、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、訓練データ121を変換することで得られる特徴量に対応する出力値を符号器51の出力層513から取得する。続いて、制御部11は、取得された特徴量を第1推定器52の入力層521に入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。この演算結果により、制御部11は、訓練データ121に含まれる第1特徴を特徴量から推定した結果に対応する出力値を第1推定器52の出力層523から取得する。
【0115】
制御部11は、各学習データセット120について、以上の演算処理で第1推定器52の出力層523から得られる出力値と第1正解データ122との誤差を算出する。誤差の算出には、任意の損失関数が用いられてよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、符号器51及び第1推定器52の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、符号器51及び第1推定器52の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0116】
制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、符号器51及び第1推定器52の各演算パラメータの値を調節する。ステップS121等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による符号器51及び第1推定器52の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、各学習データセット120について、訓練データ121を符号器51に与えることで第1推定器52から得られる第1特徴の推定結果が第1正解データ122に適合するように、符号器51及び第1推定器52を訓練することができる。この符号器51及び第1推定器52の訓練処理が完了すると、制御部11は、次のステップS124に処理を進める。
【0117】
(ステップS124)
ステップS124では、制御部11は、ステップS121~ステップS123の処理を繰り返すか否かを判定する。制御部11は、所定の基準に従って、処理を繰り返すか否かを判定してもよい。当該所定の基準は、実施の形態に応じて適宜決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。この場合、制御部11は、ステップS121~ステップS123の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部11は、ステップS121に処理を戻し、ステップS121~ステップS123の処理を再度実行する。これにより、ステップS121及びステップS122が交互に繰り返し実行される。また、本実施形態では、ループ内にステップS123も含まれているため、ステップS123も、ステップS121及びステップS122と共に繰り返し実行される。一方、実行回数が規定回数に到達していると判定した場合には、制御部11は、学習モデル5の機械学習の処理を完了し、次のステップS103に処理を進める。
【0118】
なお、学習モデル5の機械学習におけるステップS121~ステップS123による各訓練の処理順序は、上記の例に限定されなくてもよく、任意であってよい。例えば、ステップS123は、上記ステップS122と並行的に実行されてもよい。この場合、ステップS122及びステップS123の順伝播の演算について、符号器51の演算処理は共通に実行されてよい。また、例えば、ループ内において、ステップS123の処理が実行された後に、ステップS121及びステップS122の処理が実行されてもよい。ステップS121及びステップS122の処理順序は入れ替わってもよい。
【0119】
また、例えば、制御部11は、ステップS121及びステップS122の訓練を交互に繰り返し実行する前に、ステップS123のうちの少なくとも符号器51の訓練を実行してもよい。この場合、制御部11は、上記と同様にステップS121及びステップS122の訓練を交互に繰り返す際に、又はステップS121及びステップS122の訓練を交互に繰り返した後に、ステップS123のうちの少なくとも第1推定器52の訓練を実行してもよい。更に、制御部11は、上記各訓練を実行する前に、事前学習として、各学習データセット120について、訓練データ121を符号器51に与えることで第2推定器53から得られる第2特徴の推定結果が第2正解データ123に適合するように、符号器51及び第2推定器53のうちの少なくとも符号器51の訓練を実行してもよい。
【0120】
(ステップS103)
図7に戻り、ステップS103では、制御部11は、保存処理部113として動作し、機械学習により構築された訓練済みの符号器51及び第1推定器52それぞれの構造及び演算パラメータの値を示す情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
【0121】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。学習結果データ125の保存が完了すると、制御部11は、本動作例に係る処理手順を終了する。
【0122】
なお、生成された学習結果データ125は、任意のタイミングで推定装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、学習結果データ125を転送してもよい。推定装置2は、この転送を受信することで、学習結果データ125を取得してもよい。また、推定装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してもよい。また、例えば、推定装置2は、記憶媒体92を介して、学習結果データ125を取得してもよい。また、例えば、学習結果データ125は、推定装置2に予め組み込まれてもよい。
【0123】
更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、学習結果データ125を更新又は新たに生成してもよい。この繰り返しの際には、複数の学習データセット120の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習結果データ125を任意の方法で推定装置2に提供することで、推定装置2の保持する学習結果データ125を更新してもよい。
【0124】
[推定装置]
次に、図9を用いて、推定装置2の動作例について説明する。図9は、本実施形態に係る推定装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0125】
(ステップS201)
ステップS201では、制御部21は、データ取得部211として動作し、対象データ221を取得する。対象データ221は、推定タスクの遂行対象となる所定種類のデータのサンプルである。対象データ221を取得する方法は、データの種類に応じて適宜決定されてよい。対象データ221がセンシングデータである場合、第1特徴に関する推定の対象をセンサにより観測することで、対象データ221を取得することができる。対象データ221を取得すると、制御部21は、次のステップS202に処理を進める。
【0126】
(ステップS202)
ステップS202では、制御部21は、推定部212として動作し、学習結果データ125を参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象データ221を訓練済みの符号器51の入力層511に入力し、訓練済み符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、対象データ221に含まれる第1特徴を推定した結果に対応する出力値を訓練済みの第1推定器52の出力層523から取得することができる。すなわち、本実施形態では、対象データ221に含まれる第1特徴を推定することは、対象データ221を訓練済みの符号器51に与えて、訓練済み符号器51及び第1推定器52の順伝播の演算処理を実行することにより達成される。第1特徴の推定処理が完了すると、制御部21は、次のステップS203に処理を進める。
【0127】
(ステップS203)
ステップS203では、制御部11は、出力部213として動作し、第1特徴を推定した結果に関する情報を出力する。
【0128】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS202により対象データ221に対して第1特徴を推定した結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、第1特徴を推定した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定結果に応じて特定のメッセージを出力すること、推定結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
【0129】
推定結果に関する情報の出力が完了すると、制御部21は、本動作例に係る処理手順を終了する。なお、所定期間の間、制御部21は、ステップS201~ステップS203の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推定装置2は、第1特徴に関する推定タスクを継続的に実施してもよい。
【0130】
[特徴]
以上のとおり、本実施形態では、上記ステップS121により、第2推定器53は、符号器51により得られる特徴量に含まれる第2特徴に対応する成分から当該第2特徴に関する推定タスクを遂行する能力を獲得するように訓練される。一方、上記ステップS122により、符号器51は、第2推定器53の推定性能に応じて、当該第2推定器53による第2特徴に関する推定タスクが失敗するような特徴量に入力データを変換する能力を獲得するように訓練される。このステップS121及びステップS122の訓練処理を交互に繰り返し実行することで、第2推定器53の推定性能が向上するのに対応して、第2推定器53による推定タスクが失敗するように、符号器51により得られる特徴量には、第2特徴に対応する成分が含まれ難くすることができる。加えて、ステップS123により、第1推定器52は、符号器51により得られる特徴量から第1特徴に関する推定タスクを遂行する能力を獲得するように訓練される。これと共に、符号器51は、第1特徴に関する推定タスクを第1推定器52が適切に遂行可能なように、第1特徴に対応する成分を含む特徴量に入力データを変換する能力を獲得するように訓練される。
【0131】
したがって、上記ステップS102の機械学習によれば、訓練済みの符号器51により得られる特徴量には、第1特徴に対応する成分が含まれ、かつ第2特徴に対応する成分が含まれ難くすることができる。これにより、第1推定器52による第1特徴に関する推定タスクの遂行に第2特徴に関する情報が考慮され難くすることができる。よって、本実施形態に係るモデル生成装置1によれば、第2特徴の相違に対してロバストに第1特徴に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本実施形態に係る推定装置2では、上記ステップS202において、訓練済みの符号器51及び第1推定器52を利用することで、第1特徴に関する推定タスクが高精度に遂行されることを期待することができる。
【0132】
また、本実施形態では、ステップS123の処理は、ステップS121及びステップS122と共に繰り返し実行される。これにより、ステップS122の処理により符号器51の各演算パラメータの値が調節されるのに対応して、ステップS123の処理により、符号器51により得られる特徴量から第1特徴を推定する能力をするように符号器51及び第1推定器52の各演算パラメータの値を調節することができる。これにより、第1特徴に関する推定タスクを高精度に遂行可能な訓練済みの符号器51及び第1推定器52を得ることができる。
【0133】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0134】
<4.1>
上記実施形態に係る推定システム100は、所定種類のデータに対して対象の特徴に関する推定タスクの遂行するあらゆる場面に適用されてよい。例えば、上記実施形態に係る推定システム100は、画像データに含まれる前景を推定する場面に適用可能である。前景を推定することは、例えば、画像データに写る対象物の属性を推定することにより構成されてよい。また、例えば、上記実施形態に係る推定システム100は、センサにより対象を観測することで得られたセンシングデータから対象の属性を推定する場面に適用可能である。以下、適用場面を限定した変形例を例示する。
【0135】
(A)外観検査の場面
図10は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、製品の写る画像データを利用して、製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Aは、モデル生成装置1及び検査装置2Aを備えている。上記実施形態と同様に、モデル生成装置1及び検査装置2Aは、ネットワークを介して互いに接続されてよい。
【0136】
本変形例において取り扱われる所定種類のデータ(すなわち、後述する訓練データ121A及び対象画像データ221A)は、製品RAの写る画像データである。画像データのサンプルP10は、カメラSAで製品RAを撮影することにより得られてよい。第1特徴は、製品RAの欠陥P12に関する。一方、第2特徴は、製品RAの写る画像データに表れ得る、欠陥P12以外の他の特徴から適宜選択されてよい。例えば、第2特徴は、製品RAの外装、コンベアのシート等を含む背景P11に関してよい。第2特徴は、例えば、製品RAの種別、製造工場の識別子、製造ラインの種別等の背景P11の属性であってよい。これらの限定を除き、本変形例に係る検査システム100Aは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0137】
なお、製品RAは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品RAは、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。欠陥P12は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。欠陥P12に関する推定は、例えば、製品RAに欠陥P12が含まれるか否かを判定すること、製品RAに欠陥P12が含まれる確率を判定すること、製品RAに含まれる欠陥P12の種類を識別すること、製品RAに含まれる欠陥P12の範囲を特定すること又はこれらの組み合わせにより表現されてよい。
【0138】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Aを取得する。各学習データセット120Aの訓練データ121Aは、製品RAの写る画像データである。第1正解データ122Aは、例えば、欠陥P12の有無、欠陥P12の種別、欠陥P12の存在する範囲等の、訓練データ121Aに写る製品RAの欠陥P12に関する情報(正解)を示す。欠陥P12に関する情報は、上記欠陥P12に関する推定の内容に応じて適宜決定されてよい。第2正解データ123Aは、例えば、背景P11の属性等の欠陥P12以外の他の特徴に関する情報(正解)を示す。
【0139】
モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Aを使用して、学習モデル5の機械学習を実施する。これにより、製品RAの写る画像データの入力に対して、欠陥P12に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Aとして所定の記憶領域に適宜保存する。生成された学習結果データ125Aは、任意のタイミングで検査装置2Aに提供されてよい。
【0140】
(検査装置)
図11Aは、本変形例に係る検査装置2Aのハードウェア構成の一例を模式的に例示する。図11Aに示されるとおり、本変形例に係る検査装置2Aは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
【0141】
本変形例では、記憶部22は、検査プログラム82A、学習結果データ125A等の各種情報を記憶する。検査プログラム82Aは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、検査装置2Aは、外部インタフェース24を介して、カメラSAに接続される。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、製品RAを撮影可能な場所に適宜配置されてよい。例えば、カメラSAは、製品RAを搬送するコンベア装置の近傍に配置されてよい。
【0142】
なお、検査装置2Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置2Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置2Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
【0143】
図11Bは、本変形例に係る検査装置2Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置2Aのソフトウェア構成は、制御部21による検査プログラム82Aの実行により実現される。取り扱われるデータが上記のように限定される点を除き、検査装置2Aのソフトウェア構成は、上記推定装置2と同様である。検査部212Aは、学習結果データ125Aを保持することで、訓練済みの符号器51及び第1推定器52を備えている。検査部212Aは、上記推定部212に対応する。これにより、検査装置2Aは、上記推定装置2の推定処理と同様に、外観検査に関する一連の情報処理を実行することができる。
【0144】
すなわち、ステップS201では、制御部21は、検査対象の製品RAの写る対象画像データ221AをカメラSAから取得する。ステップS202では、制御部21は、検査部212Aとして動作し、学習結果データ125Aを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象画像データ221Aを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、対象画像データ221Aに写る製品RAの欠陥P12について推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。
【0145】
ステップS203では、制御部21は、製品RAの欠陥P12について推定した結果に関する情報を出力する。例えば、制御部21は、製品RAの欠陥P12について推定した結果をそのまま出力装置26に出力してもよい。また、例えば、製品RAに欠陥P12が含まれると判定した場合、制御部21は、そのことを知らせるための警告を出力装置26に出力してもよい。また、例えば、製品RAを搬送するコンベア装置に検査装置2Aが接続される場合、欠陥P12について推定した結果に基づいて、欠陥P12のある製品RAと欠陥P12のない製品RAとを別のラインで搬送されるようにコンベア装置を制御してもよい。
【0146】
(特徴)
本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、欠陥P12に関する情報に対応する成分が含まれ、かつ背景P11に関する情報等の欠陥P12以外の他の特徴に対応する成分が含まれ難くすることができる。よって、背景P11等の他の特徴の相違に対してロバストに欠陥P12に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る検査装置2Aでは、訓練済みの符号器51及び第1推定器52を利用することで、欠陥P12に関する推定タスク(すなわち、外観検査)が高精度に遂行されることを期待することができる。
【0147】
[その他の形態]
上記第1変形例において、製品RAは、対象物の一例であり、欠陥P12に関する情報は、対象物の属性の一例である。背景P11の属性は、対象物の属性以外の他の特徴の一例である。対象物の属性及び他の特徴は、製品RAの欠陥P12及び背景P11の例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに表れる任意の対象物の属性を推定する様々な場面に適用されてよい。この場合、所定種類のデータは、対象物の写る画像データであってよい。これに対応して、第1特徴は、対象物の属性であってよく、第2特徴は、対象物の属性以外の他の特徴であってよい。これにより、対象物の属性以外の他の特徴の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
【0148】
また、製品RA以外の部分を背景P11と捉えた場合、製品RAの写る部分は、前景の一例である。或いは、製品RAの欠陥P12以外の部分を背景P11と捉えた場合、欠陥P12の写る範囲が、前景の一例である。前景及び背景は、このような例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに写る任意の前景に含まれる特徴に関する推定を行う様々な場面に適用されてよい。この場合、所定種類のデータは、前景及び背景を含む画像データであってよい。これに対応して、第1特徴は、前景に関し、第2特徴は、背景に関してもよい。前景には、画像データから抽出可能な任意の要素が選択されてよい。これにより、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
【0149】
なお、前景は、背景と区別して画像データから抽出可能な任意の成分により構成されてよい。第1特徴は、前景から直接的又は間接的に導出可能な何らかの情報であってよい。前景に含まれる特徴を推定することは、例えば、上記画像データに写る対象物の属性を推定することにより構成されてよい。この場合、対象物の属性の導出に関与する成分が、前景の一例である。前景の範囲は、対象物の属性を導出可能に適宜決定されてよい。例えば、前景は、対象物の写る範囲であってよい。或いは、前景は、対象物及び対象物の周囲を含む範囲であってよい。或いは、前景は、推定対象の属性の表れる対象物の一部の範囲であってもよい。
【0150】
(A-1)ナンバープレートの記号を識別する場面
図12は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図12に例示される識別システムは、モデル生成装置1及び識別装置2A1を備えている。識別装置2A1は、上記検査装置2Aに対応する。識別装置2A1の構成は、上記検査装置2Aと同様であってよい。図12の例において取り扱われる所定種類のデータは、ナンバープレートRA1の写る画像データであってよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSA1が用いられてよい。
【0151】
この場合、第1特徴は、ナンバープレートRA1に付与された記号P20に関するものであってよい。ナンバープレートRA1は対象物の一例であり、記号P20の写る領域は前景の一例である。第2特徴は、記号P20の付与された領域以外の背景に関するものであってよい。記号P20は、例えば、数字、文字、マーク、図形、又はこれらの組み合わせにより構成されてよい。ナンバープレートRA1の背景には、模様、図柄等の装飾が施されていてもよい。第1特徴に関する推定は、記号P20を識別することであってよい。
【0152】
これにより、モデル生成装置1は、背景の相違に対してロバストにナンバープレートRA1に付与された記号P20を識別可能な訓練済みの符号器51及び第1推定器52を生成することができる。識別装置2A1は、上記検査装置2Aと同様の手順により、ナンバープレートRA1の写る対象データから記号P20を識別することができる。本変形例に係る識別システムは、ナンバープレートRA1の記号P20を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、道路を走行する車両を監視するための監視カメラにより得られる画像データから当該道路を走行する車両を識別するために利用されてよい。
【0153】
なお、道路を走行する車両を監視する場面では、識別装置2A1は、上記ステップS201及びステップS202の処理により、時系列に得られる画像データに対してナンバープレートRA1の記号P20を識別してもよい。そして、識別装置2A1は、上記ステップS203の処理により、記号P20に基づいて対象の道路を走行する車両を識別した結果を時系列に示す履歴情報を作成してもよい。
【0154】
(A-2)製品の包装に付与された記号を識別する場面
図13は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図13に例示される識別システムは、モデル生成装置1及び識別装置2A2を備えている。識別装置2A2は、上記検査装置2Aに対応する。識別装置2A2の構成は、上記検査装置2Aと同様であってよい。図13の例において取り扱われる所定種類のデータは、製品の包装RA2の写る画像データであってよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSA2が用いられてよい。
【0155】
この場合、第1特徴は、包装RA2に付与された記号P30に関するものであってよい。包装RA2は対象物の一例であり、記号P30の写る領域は前景の一例である。第2特徴は、記号P30の付与された領域以外の背景に関するものであってよい。記号P30は、例えば、数字、文字、マーク、図形、コード、又はこれらの組み合わせにより構成されてよい。コードは、例えば、一次元コード、二次元コード等であってよい。包装RA2の背景には、模様、図柄等の装飾が施されていてもよい。第1特徴に関する推定は、記号P30を識別することであってよい。
【0156】
これにより、モデル生成装置1は、背景の相違に対してロバストに包装RA2に付与された記号P30を識別可能な訓練済みの符号器51及び第1推定器52を生成することができる。識別装置2A2は、上記検査装置2Aと同様の手順により、包装RA2に付与された記号P30を識別することができる。本変形例に係る識別システムは、包装RA2に付与された記号P30を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、製造ラインで搬送される製品を識別するために利用されてよい。
【0157】
(A-3)移動体の属性を推定する場面
図14は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図14に例示される監視システムは、モデル生成装置1及び監視装置2A3を備えている。監視装置2A3は、上記検査装置2Aに対応する。監視装置2A3の構成は、上記検査装置2Aと同様であってよい。図14の例において取り扱われる所定種類のデータは、移動体RA3の存在し得る範囲を撮影することで得られた画像データであってよい。移動体RA3は、例えば、車両、人物等であってよい。画像データの取得には、監視対象の範囲を撮影するように配置されたカメラSA3が用いられてよい。監視対象の範囲は、例えば、道路、建物内等の任意の場所から決定されてよい。監視装置2A3は、例えば、ネットワーク等を介して、カメラSA3に適宜接続されてよい。これにより、監視装置2A3は、監視対象の範囲の写る画像データを取得することができる。
【0158】
この場合、第1特徴は、移動体RA3の属性に関するものであってよく、第2特徴は、道路、建物等の背景に関するものであってよい。移動体RA3は、対象物の一例である。前景は、移動体RA3の写る領域であってよい。或いは、前景は、移動体RA3及び移動体RA3の周囲を含む領域であってよい。この場合、背景は、移動体RA3の周囲より外側の領域であってよい。移動体RA3の属性は、例えば、移動体RA3の写る範囲(バウンディングボックス)、移動体RA3の識別情報、移動体RA3の状態等を含んでもよい。移動体RA3の状態は、例えば、位置、数、混み具合(混雑度、密度)、速度、加速度等を含んでもよい。その他、移動体RA3の状態は、例えば、事故、犯罪等の危険に移動体RA3が遭遇する可能性(危険度)を含んでもよい。移動体RA3の遭遇し得る危険の種類は任意に決定されてよい。更にその他、移動体RA3が人物である場合、移動体RA3の識別情報は、例えば、人物の識別子、名前、性別、年齢、体格等を含んでもよい。また、移動体RA3の状態は、例えば、人物の行動、人物の姿勢等を含んでもよい。
【0159】
これにより、モデル生成装置1は、背景の相違に対してロバストに移動体RA3の属性を推定可能な訓練済みの符号器51及び第1推定器52を生成することができる。監視装置2A3は、上記検査装置2Aと同様の手順により、カメラSA3の撮影範囲における移動体RA3の属性を推定することができる。本変形例に係る監視システムは、移動体RA3を監視するあらゆる場面に利用されてよい。例えば、本変形例に係る監視システムは、道路、建物内の移動体RA3の混雑度を監視する場面、駅のホームから人物が転落する予兆を監視する場面、道路を歩行する人物が犯罪に遭遇する予兆を監視する場面等に利用されてよい。なお、推定結果を出力する形態は任意に決定されてよい。例えば、移動体RA3の危険度を推定する場面では、監視装置2A3は、上記ステップS203において、推定される危険度に応じた警告を出力してもよい。
【0160】
(A-4)運転者の状態を監視する場面
図15は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図15に例示される監視システムは、モデル生成装置1及び監視装置2A4を備えている。監視装置2A4は、上記検査装置2Aに対応する。監視装置2A4の構成は、上記検査装置2Aと同様であってよい。図15の例において取り扱われる所定種類のデータは、運転者RA4の写る画像データであってよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSA4が用いられてよい。カメラSA4は、運転席に存在すると仮定される運転者RA4を撮影するように適宜配置されてよい。
【0161】
この場合、第1特徴は、運転者RA4の状態に関するものであってよく、第2特徴は、車内風景等の背景に関するものであってよい。運転者RA4は、対象物の一例である。前景は、運転者RA4の状態に関与する領域であってよい。運転者RA4の状態に関与する領域は、例えば、運転者RA4の写る領域、運転者RA4の周囲を更に含む領域、運転者RA4の一部(例えば、任意の身体部位)の写る領域、運転に関するツール(ハンドル等)の写る領域等であってよい。運転者RA4の状態は、例えば、健康状態、眠気度、疲労度、余裕度等を含んでよい。健康状態は、例えば、所定の疾患を発症する確率、体調変化が生じる確率等により表現されてよい。眠気度は、運転者RA4の眠気の度合いを示す。疲労度は、運転者RA4の疲労の度合いを示す。余裕度は、運転者RA4の運転に対する余裕の度合を示す。
【0162】
これにより、モデル生成装置1は、背景の相違に対してロバストに運転者RA4の状態を推定可能な訓練済みの符号器51及び第1推定器52を生成することができる。監視装置2A4は、上記検査装置2Aと同様の手順により、運転者RA4の状態を推定することができる。本変形例に係る監視システムは、運転者RA4の状態を監視するあらゆる場面に利用されてよい。更に、本変形例に係る監視システムは、運転者RA4以外の対象者にも利用されてよい。運転者RA4以外の例として、対象者は、例えば、オフィス、工場等で作業を行う作業者であってよい。
【0163】
なお、上記ステップS203において、運転者RA4の状態を推定した結果を出力する形態は任意に決定されてよい。一例として、眠気度及び疲労度の少なくとも一方を推定した場合、監視装置2A4は、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2A4は、駐車場等に車両を停車し、休憩を取るように運転者RA4に促す警告を出力装置に出力してもよい。このように、監視装置2A4は、推定される運転者RA4の状態に応じて、警告等の特定のメッセージを出力装置に出力してもよい。
【0164】
その他の例として、自動運転の動作を制御する制御装置(不図示)を車両が備えている場合、監視装置2A4は、運転者RA4の状態を推定した結果に基づいて、車両の自動運転の動作を指示するための指令を制御装置に送信してもよい。具体例として、制御装置が、車両の走行を制御する自動運転モード及び運転者RA4の操舵により車両の走行を制御する手動運転モードの切り替え可能に構成されていると想定する。このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者RA4又はシステムから受け付けた際に、監視装置2A4は、推定された運転者RA4の余裕度が閾値を超えているか否かを判定してもよい。そして、運転者RA4の余裕度が閾値を超えている場合に、監視装置2A4は、自動運転モードから手動運転モードへの切り替えを許可する指令を制御装置に送信してもよい。一方、運転者RA4の余裕度が閾値以下である場合には、監視装置2A4は、自動運転モードから手動運転モードへの切り替えを許可しない通知を制御装置に送信し、自動運転モードでの走行を維持するようにしてもよい。
【0165】
また、手動運転モードで車両が走行している際に、監視装置2A4は、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2A4は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2A4は、手動運転モードによる車両の走行を維持するようにしてもよい。
【0166】
また、手動運転モードで車両が走行している際に、監視装置2A4は、推定された余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、監視装置2A4は、減速する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2A4は、運転者RA4の操作による車両の走行を維持してもよい。なお、車両の制御装置と監視装置2A4とは一体のコンピュータにより構成されてよい。
【0167】
(B)車両状況を監視する場面
図16は、第2変形例に係る監視システム100Bの適用場面の一例を模式的に例示する。本変形例は、車載センサSBにより得られるセンシングデータを利用して、車両の状況を監視する場面に上記実施形態を適用した例である。本変形例に係る監視システム100Bは、モデル生成装置1及び監視装置2Bを備えている。上記実施形態と同様に、モデル生成装置1及び監視装置2Bは、ネットワークを介して互いに接続されてよい。
【0168】
本変形例において取り扱われる所定種類のデータ(後述する訓練データ121B及び対象センシングデータ221B)は、車載センサSBにより得られるセンシングデータである。車載センサSBの種類は任意に選択されてよい。車載センサSBは、例えば、画像センサ、Lidarセンサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。第1特徴は、車両の状況に関する。車両の状況は、車両の外部及び内部の少なくとも一方に関するものであってよい。車両外部の状況は、例えば、車両周囲に存在する物体の属性、混雑度、事故のリスク等により表現されてよい。車両周囲に存在する物体は、例えば、道路、信号機、障害物(人、物)等であってよい。道路の属性は、例えば、走行車線の種別、道路の種別(例えば、交差点、高速道路)、路面状態等を含んでよい。信号機の属性は、例えば、信号機の点灯状態等を含んでよい。障害物の属性は、例えば、障害物の有無、障害物の種別、障害物の大きさ、障害物の速度、障害物に関するイベント等を含んでよい。障害物に関するイベントは、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等を含んでよい。事故のリスクは、例えば、事故の種別及びその事故の発生確率により表現されてよい。車両内部の状況は、例えば、車両の走行状態、車両に乗車する乗員の属性等により表現されてよい。走行状態は、例えば、速度、加速度、操舵角等の走行動作の変容により表現されてよい。乗員の属性は、例えば、乗員の状態、人数、位置、数、識別情報等を含んでよい。車両の状況に関する推定は、車両の状況を単に推定することの他、車両の状況に応じた車両に対する動作指令を推定することを含んでもよい。動作指令は、例えば、アクセル量、ブレーキ量、ハンドル操舵角、ライトの点灯、クラクションの使用等により規定されてよい。これに対して、第2特徴は、推定タスクの対象となる車両の状況以外の他の特徴から適宜選択されてよい。例えば、第2特徴は、上記車両の状況の一例のうち、推定タスクの対象に選択されなかったものから選択されてもよい。或いは、第2特徴は、例えば、観測環境等の上記車両の状況以外の要素から選択されてもよい。具体例として、第1特徴には、障害物の有無、道路の属性、混雑度、又はこれらの組み合わせが選択され、第2特徴には、天候、時間、道路の存在する場所の属性、又はこれらの組み合わせが選択されてよい。時間は、一定の時間帯により表現されてよい。時間帯の表現には、朝、昼、夜等のような時期により時間帯の長さが変動し得る表現方法が用いられてもよいし、或いは、1時から2時等のような固定的な表現方法が用いられてもよい。場所の属性は、例えば、都会、田舎等のその場所の人口密集度の種別を含んでよい。これらの限定を除き、本変形例に係る監視システム100Bは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0169】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Bを取得する。各学習データセット120Bの訓練データ121Bは、車載センサSBにより得られるセンシングデータである。第1正解データ122Bは、訓練データ121Bに表れる車両の状況であって、推定タスクの対象となる車両の状況に関する情報(正解)を示す。車両の状況に関する推定が、車両の状況に応じた車両に対する動作指令を推定することにより構成される場合、第1正解データ122Bは、訓練データ121Bに表れる車両の状況に応じた車両に対する動作指令(正解)を示す。第2正解データ123Bは、当該推定タスクの対象となる車両の状況以外の他の特徴に関する情報(正解)を示す。
【0170】
モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Bを使用して、学習モデル5の機械学習を実施する。これにより、車載センサSBにより得られるセンシングデータの入力に対して、車両の状況に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Bとして所定の記憶領域に適宜保存する。生成された学習結果データ125Bは、任意のタイミングで監視装置2Bに提供されてよい。
【0171】
(監視装置)
図17Aは、本変形例に係る監視装置2Bのハードウェア構成の一例を模式的に例示する。図17Aに示されるとおり、本変形例に係る監視装置2Bは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
【0172】
本変形例では、記憶部22は、監視プログラム82B、学習結果データ125B等の各種情報を記憶する。監視プログラム82Bは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、監視装置2Bは、外部インタフェース24を介して、車載センサSBに接続される。車載センサSBは、監視対象の車両状況を観測するように適宜配置されてよい。
【0173】
なお、監視装置2Bのハードウェア構成は、このような例に限定されなくてもよい。監視装置2Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置2Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【0174】
図17Bは、本変形例に係る監視装置2Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置2Bのソフトウェア構成は、制御部21による監視プログラム82Bの実行により実現される。取り扱われるデータが上記のように限定される点を除き、監視装置2Bのソフトウェア構成は、上記推定装置2と同様である。監視部212Bは、学習結果データ125Bを保持することで、訓練済みの符号器51及び第1推定器52を備えている。監視部212Bは、上記推定部212に対応する。これにより、監視装置2Bは、上記推定装置2の推定処理と同様に、車両状況の推定に関する一連の情報処理を実行することができる。
【0175】
すなわち、ステップS201では、制御部21は、監視対象の車両状況について、対象センシングデータ221Bを車載センサSBから取得する。ステップS202では、制御部21は、監視部212Bとして動作し、学習結果データ125Bを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象センシングデータ221Bを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、車両の状況を推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。
【0176】
ステップS203では、制御部21は、車両の状況を推定した結果に関する情報を出力する。例えば、制御部21は、車両の状況を推定した結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、推定される車両の状況に基づいて、車両の走行に危険の生じる可能性があるか否かを判定してもよい。判定の基準は任意に設定されてよい。車両の走行に危険の生じる可能性があると判定した場合に、制御部21は、その危険を知らせるための警告を出力装置26に出力してもよい。また、例えば、車両の状況に関する推定が、車両の状況に応じた車両に対する動作指令を推定することにより構成される場合、ステップS202において、制御部21は、車両の状況を推定した結果として、車両の状況に応じた車両に対する動作指令を訓練済みの第1推定器52から取得することができる。この場合、制御部21は、取得された動作指令に基づいて車両の動作を制御してもよい。
【0177】
(特徴)
本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、推定タスクの対象となる車両の状況に関する情報に対応する成分が含まれ、それ以外の他の特徴に対応する成分が含まれ難くすることができる。よって、他の特徴の相違に対してロバストに車両の状況に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る監視装置2Bでは、訓練済みの符号器51及び第1推定器52を利用することで、車両の状況に関する推定タスクが高精度に遂行されることを期待することができる。
【0178】
(C)健康状態を診断する場面
図18は、第3変形例に係る診断システム100Cの適用場面の一例を模式的に例示する。本変形例は、センサSCにより得られるセンシングデータを利用して、対象者の健康状態を診断する場面に上記実施形態を適用した例である。本変形例に係る診断システム100Cは、モデル生成装置1及び診断装置2Cを備えている。上記実施形態と同様に、モデル生成装置1及び診断装置2Cは、ネットワークを介して互いに接続されてよい。
【0179】
本変形例において取り扱われる所定種類のデータ(後述する訓練データ121C及び対象センシングデータ221C)は、センサSCにより得られるセンシングデータである。センサSCは、対象者の状態を観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサSCは、例えば、バイタルセンサ、医療検査装置等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT装置、MRI装置等であってよい。第1特徴は、対象者の健康状態に関する。健康状態に関する情報は、例えば、健康であるか否か、病気になる予兆があるか否か、健康状態の種別、対象の病気になる確率、バイタル値(例えば、血圧、体温等)等により表現されてよい。第2特徴は、推定タスクの対象となる健康状態以外の他の特徴から適宜選択されてよい。例えば、第1特徴には、健康であるか否かを示す情報、バイタル値、又はこれらの組み合わせが選択されるのに対して、第2特徴には、対象者の年齢、性別、人種、国籍、職業、居住地、運動習慣の有無、投薬歴又はこれらの組み合わせが選択されてよい。これらの限定を除き、本変形例に係る診断システム100Cは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0180】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Cを取得する。各学習データセット120Cの訓練データ121Cは、センサSCにより得られるセンシングデータである。第1正解データ122Cは、訓練データ121Cに表れる対象者(被験者)の健康状態であって、推定タスクの対象となる健康状態に関する情報(正解)を示す。第2正解データ123Cは、当該推定タスクの対象となる健康状態以外の他の特徴に関する情報(正解)を示す。
【0181】
モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Cを使用して、学習モデル5の機械学習を実施する。これにより、センサSCにより得られるセンシングデータの入力に対して、対象者の健康状態に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Cとして所定の記憶領域に適宜保存する。生成された学習結果データ125Cは、任意のタイミングで診断装置2Cに提供されてよい。
【0182】
(診断装置)
図19Aは、本変形例に係る診断装置2Cのハードウェア構成の一例を模式的に例示する。図19Aに示されるとおり、本変形例に係る診断装置2Cは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
【0183】
本変形例では、記憶部22は、診断プログラム82C、学習結果データ125C等の各種情報を記憶する。診断プログラム82Cは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、診断装置2Cは、外部インタフェース24を介して、センサSCに接続される。
【0184】
なお、診断装置2Cのハードウェア構成は、このような例に限定されなくてもよい。診断装置2Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。診断装置2Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0185】
図19Bは、本変形例に係る診断装置2Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、診断装置2Cのソフトウェア構成は、制御部21による診断プログラム82Cの実行により実現される。取り扱われるデータが上記のように限定される点を除き、診断装置2Cのソフトウェア構成は、上記推定装置2と同様である。診断部212Cは、学習結果データ125Cを保持することで、訓練済みの符号器51及び第1推定器52を備えている。診断部212Cは、上記推定部212に対応する。これにより、診断装置2Cは、上記推定装置2の推定処理と同様に、対象者の健康状態の推定に関する一連の情報処理を実行することができる。
【0186】
すなわち、ステップS201では、制御部21は、診断対象の対象者について、対象センシングデータ221CをセンサSCから取得する。ステップS202では、制御部21は、診断部212Cとして動作し、学習結果データ125Cを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象センシングデータ221Cを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、対象者の健康状態を推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。
【0187】
ステップS203では、制御部21は、対象者の健康状態を推定した結果に関する情報を出力する。例えば、制御部21は、対象者の健康状態を推定した結果をそのまま出力装置26に出力してもよい。また、例えば、推定された対象者の健康状態が所定の病気の予兆を示す場合、制御部21は、病院での診査を促すメッセージを出力装置26に出力してもよい。また、例えば、制御部21は、登録された病院の端末に対して、対象者の健康状態を推定した結果を送信してもよい。なお、送信先となる端末の情報は、RAM、ROM、記憶部22、記憶媒体92、外部記憶装置等の所定の記憶領域に記憶されていてよい。
【0188】
(特徴)
本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、推定タスクの対象となる健康状態に関する情報に対応する成分が含まれ、それ以外の他の特徴に対応する成分が含まれ難くすることができる。よって、他の特徴の相違に対してロバストに対象者の健康状態に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る診断装置2Cでは、訓練済みの符号器51及び第1推定器52を利用することで、健康状態に関する推定タスクが高精度に遂行されることを期待することができる。
【0189】
(D)栽培状況を監視する場面
図20は、第4変形例に係る監視システム100Dの適用場面の一例を模式的に例示する。本変形例は、環境センサSDにより得られるセンシングデータを利用して、植物RDの栽培状況を監視する場面に上記実施形態を適用した例である。本変形例に係る監視システム100Dは、モデル生成装置1及び監視装置2Dを備えている。上記実施形態と同様に、モデル生成装置1及び監視装置2Dは、ネットワークを介して互いに接続されてよい。
【0190】
本変形例において取り扱われる所定種類のデータ(後述する訓練データ121D及び対象センシングデータ221D)は、環境センサSDにより得られるセンシングデータである。環境センサSDは、植物RDの栽培状況を観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。環境センサSDは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。植物RDの種類は任意に選択されてよい。第1特徴は、植物RDの栽培状況に関する。栽培状況は、植物RDを栽培する任意の要素に関するものであってよい。栽培状況は、例えば、栽培時点までの生育環境、生育状態等により特定されてよい。生育環境は、植物RDを生育する状況に関し、例えば、植物RDに光を照射する時間、植物RD周囲の温度、植物RDに与える水の量等により規定されてよい。生育状態は、例えば、植物RDの成長度等により規定されてよい。第2特徴は、推定タスクの対象となる栽培状況以外の他の特徴から適宜選択されてよい。例えば、第2特徴には、生育場所、環境センサSDの種別、環境センサSDの設置位置、環境センサSDの設置角度、センシングデータの取得時刻、季節、天候又はこれらの組み合わせが選択されてよい。
【0191】
また、本変形例では、監視装置2Dは、栽培装置CDに接続されてよい。栽培装置CDは、植物RDの生育環境を制御するように構成される。栽培装置CDは、植物RDの生育環境を制御可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。栽培装置CDは、例えば、カーテン装置、照明装置、空調設備、散水装置等であってよい。カーテン装置は、建物の窓に取り付けられたカーテンを開閉するように構成される。照明装置は、例えば、LED(light emitting diode)照明、蛍光灯等である。空調設備は、例えば、エアコンディショナ等である。散水装置は、例えば、スプリンクラ等である。カーテン装置及び照明装置は、植物RDに光を照射する時間を制御するために利用される。空調設備は、植物RD周囲の温度を制御するために利用される。散水装置は、植物RDに与える水の量を制御するために利用される。これらの限定を除き、本変形例に係る監視システム100Dは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0192】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、複数の学習データセット120Dを取得する。各学習データセット120Dの訓練データ121Dは、環境センサSDにより得られるセンシングデータである。第1正解データ122Dは、訓練データ121Dに表れる植物RDの栽培状況であって、推定タスクの対象となる植物RDの栽培状況に関する情報(正解)を示す。第2正解データ123Dは、当該推定タスクの対象となる栽培状況以外の他の特徴に関する情報(正解)を示す。
【0193】
モデル生成装置1は、上記ステップS102の処理により、取得された複数の学習データセット120Dを使用して、学習モデル5の機械学習を実施する。これにより、環境センサSDにより得られるセンシングデータの入力に対して、植物RDの栽培状況に関する推定の結果を出力する能力を獲得した訓練済みの符号器51及び第1推定器52を構築することができる。モデル生成装置1は、上記ステップS103の処理により、訓練済みの符号器51及び第1推定器52に関する情報を学習結果データ125Dとして所定の記憶領域に適宜保存する。生成された学習結果データ125Dは、任意のタイミングで監視装置2Dに提供されてよい。
【0194】
(監視装置)
図21Aは、本変形例に係る監視装置2Dのハードウェア構成の一例を模式的に例示する。図21Aに示されるとおり、本変形例に係る監視装置2Dは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
【0195】
本変形例では、記憶部22は、監視プログラム82D、学習結果データ125D等の各種情報を記憶する。監視プログラム82Dは、上記実施形態に係る推定プログラム82に対応する。また、本変形例では、監視装置2Dは、外部インタフェース24を介して、環境センサSD及び栽培装置CDに接続される。
【0196】
なお、監視装置2Dのハードウェア構成は、このような例に限定されなくてもよい。監視装置2Dの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置2Dは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
【0197】
図21Bは、本変形例に係る監視装置2Dのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置2Dのソフトウェア構成は、制御部21による監視プログラム82Dの実行により実現される。取り扱われるデータが上記のように限定される点を除き、監視装置2Dのソフトウェア構成は、上記推定装置2と同様である。監視部212Dは、学習結果データ125Dを保持することで、訓練済みの符号器51及び第1推定器52を備えている。監視部212Dは、上記推定部212に対応する。これにより、監視装置2Dは、上記推定装置2の推定処理と同様に、植物RDの栽培状況の推定に関する一連の情報処理を実行することができる。
【0198】
すなわち、ステップS201では、制御部21は、監視対象の植物RDについて、対象センシングデータ221Dを取得する。ステップS202では、制御部21は、監視部212Dとして動作し、学習結果データ125Dを参照して、訓練済みの符号器51及び第1推定器52の設定を行う。制御部21は、取得された対象センシングデータ221Dを訓練済みの符号器51に与えて、訓練済みの符号器51及び第1推定器52の順伝播の演算処理を実行する。これにより、制御部11は、植物RDの栽培状況を推定した結果に対応する出力値を訓練済みの第1推定器52から取得する。なお、栽培状況を推定することは、収穫量が最大となるような生育環境及び作業内容の少なくとも一方を推定すること、観測される現在の生育環境において最適な作業内容を推定すること等を含んでもよい。
【0199】
ステップS203では、制御部21は、植物RDの栽培状況を推定した結果に関する情報を出力する。例えば、制御部21は、植物RDの栽培状況を推定した結果をそのまま出力装置26に出力してもよい。この場合、制御部21は、収穫量が最大となるような生育環境及び作業内容の少なくとも一方、観測される現在の生育環境において最適な作業内容等の推定結果を出力装置に出力することで、植物RDの栽培状況の改善を作業者に促してもよい。また、例えば、制御部21は、推定された栽培状況に応じて、栽培装置CDに与える制御指令を決定してもよい。栽培状況と制御指令との対応関係はテーブル形式等の参照情報により与えられてもよい。この参照情報は、RAM、ROM、記憶部22、記憶媒体92、外部記憶装置等に格納されていてもよく、制御部21は、この参照情報を参照することで、推定された栽培状況に応じて制御指令を決定してもよい。そして、制御部21は、決定された制御指令を栽培装置CDに与えることで、栽培装置CDの動作を制御してもよい。また、例えば、制御部21は、決定された制御指令を示す情報を出力装置26に出力し、植物RDの管理者に栽培装置CDの動作を制御するように促してもよい。
【0200】
(特徴)
本変形例によれば、モデル生成装置1の機械学習により、訓練済みの符号器51の出力する特徴量に、推定タスクの対象となる植物RDの栽培状況に関する情報に対応する成分が含まれ、それ以外の他の特徴に対応する成分が含まれ難くすることができる。よって、他の特徴の相違に対してロバストに植物RDの栽培状況に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。本変形例に係る監視装置2Dでは、訓練済みの符号器51及び第1推定器52を利用することで、栽培状況に関する推定タスクが高精度に遂行されることを期待することができる。
【0201】
なお、環境センサSDにより植物RDの状態を観測することで得られるセンシングデータは、植物RDの栽培状況の監視に利用可能な観測データの一例である。植物RDに関する観測データは、当該センシングデータの例に限定されなくてもよい。植物RDに関する観測データは、例えば、環境センサSDにより得られるセンシングデータ、作業者の入力により得られる植物RDの観察データ、又はこれらの組み合わせにより構成されてよい。観察データは、例えば、作業記録データ、環境記録データ、又はこれらの組み合わせにより構成されてよい。作業記録データは、例えば、摘花、摘葉、摘芽等の作業の有無、実行日時、量等を示す情報により構成されてよい。また、環境記録データは、作業者が植物RD周囲の環境(例えば、天候、気温、湿度等)を観測した結果を示す情報により構成されてよい。上記第4変形例では、このような観測データが、所定種類のデータとして取り扱われてよい。
【0202】
(E)その他
上記各変形例は、センサにより得られるセンシングデータから観測の対象の属性を推定する場面の一例である。センサ及び観測の対象は、上記の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、センシングデータに表れる任意の対象の属性に関する推定を行う様々な場面に適用されてよい。この場合、第1特徴は、センサにより観測する対象の属性であってよく、第2特徴は、センシングデータに表れ得る対象の属性以外の他の特徴であってよい。これにより、他の特徴の相違に対してロバストに観測対象の属性に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。
【0203】
図22は、センシングデータに表れる対象の属性を推定する他の場面の一例を模式的に例示する。図22に例示される監視システムは、モデル生成装置1及び監視装置2Eを備えている。監視装置2Eの構成は、上記検査装置2A等と同様であってよい。図22の例において取り扱われる所定種類のデータは、機械REの状態を監視するためのセンサSEにより得られるセンシングデータであってよい。センサSEは、例えば、マイクロフォン、加速度センサ、振動センサ等であってよい。これに応じて、得られるセンシングデータは、機械REの振動(音を含む)に関するものであってよい。
【0204】
この場合、第1特徴は、機械REの経年劣化、故障、動作不良等の機械REの異常に関するものであってよい。一方、第2特徴は、機械REの異常以外の他の特徴であってよく、例えば、機械REの通常運転時に生じる振動、機械REの周囲の振動等の運用環境で通常的に生じる振動に関するものであってよい。機械RE及び異常の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械REは、例えば、コンベア装置、産業用ロボット、成型機、半導体製造装置、基板実装機等の製造ラインを構成する装置であってよい。製造ラインは、組み立てラインを含んでよい。機械REは、装置全体であってもよいし、スイッチ、モータ等の装置の一部であってもよい。機器REが、製造ラインを構成する装置である場合、機器REの異常は、例えば、位置ずれ、圧力の過不足、部品又は製品の噛み込み、しわの発生、ライン速度の異常、部品又は製品に欠陥が発生する等の装置の動作不良であってもよい。機器REがモータである場合、異常は、例えば、トルク、回転数等に関するモータの動作不良であってよい。第1特徴に関する推定は、例えば、機械REに異常が生じているか否かを判定すること、機械REに異常が生じている確率を判定すること、機械REに発生した又は予兆のある異常の種類を識別すること、異常の発生した箇所を特定すること又はこれらの組み合わせにより表現されてよい。
【0205】
これにより、モデル生成装置1は、運用環境で通常的に生じる振動等の他の特徴の相違に対してロバストに機械REの異常に関する推定タスクを遂行可能な訓練済みの符号器51及び第1推定器52を生成することができる。監視装置2Eは、上記検査装置2Aと同様の手順により、機械REの異常に関する推定タスクを遂行することができる。本変形例に係る監視システムは、機械REの状態を監視するあらゆる場面に利用されてよい。
【0206】
その他の一例として、所定種類のデータは、ホームセキュリティセンサにより得られるセンシングデータであってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度(音声)センサ、ガス(CO2等)センサ、電流センサ、スマートメータ(家電、照明等の電力使用量を計測するセンサ)等であってよい。この場合、第1特徴は、侵入者が存在するか否か等の監視範囲のセキュリティ状態に関するものであってよい。第2特徴は、セキュリティ状態以外の他の特徴であってよく、例えば、運用環境で通常的に生じる成分等に関するものであってよい。
【0207】
<4.2>
上記実施形態では、符号器51、第1推定器52、及び第2推定器53それぞれには、全結合型のニューラルネットワークが用いられている。しかしながら、それぞれを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。符号器51、第1推定器52、及び第2推定器53それぞれには、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。
【0208】
また、上記実施形態において、符号器51、第1推定器52、及び第2推定器53それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。符号器51、第1推定器52、及び第2推定器53それぞれには、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル等が用いられてよい。機械学習の方法は、それぞれの機械学習モデルの種類に応じて適宜選択されてよい。
【0209】
また、上記実施形態において、符号器51、第1推定器52、及び第2推定器53それぞれの入力及び出力の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、第1推定器52は、特徴量以外の情報の入力を更に受け付けるように構成されてもよい。また、第1推定器52の出力は、第1特徴の推定結果を直接的に示すように構成されてもよい。或いは、第1推定器52の出力は、例えば、対象の状態にあるか否かを判定するために対象の状態にある確率を示す等のように、第1特徴の推定結果を間接的に示すように構成されてもよい。その他についても同様である。
【0210】
<4.3>
上記実施形態では、ステップS123の処理は、ステップS121及びステップS122の処理と共に繰り返し実行される。しかしながら、学習モデル5の機械学習の処理手順は、このような例に限定されなくてもよい。ステップS123の処理は、ステップS121及びステップS122の処理を交互に繰り返し実行する前後の少なくともいずれかに実行されてよい。
【符号の説明】
【0211】
1…モデル生成装置、
11…制御部、12…記憶部、
13…通信インタフェース、14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
111…データ取得部、112…学習処理部、
113…保存処理部、
120…学習データセット、
121…訓練データ、
122…第1正解データ、123…第2正解データ、
125…学習結果データ、
81…モデル生成プログラム、91…記憶媒体、
2…推定装置、
21…制御部、22…記憶部、
23…通信インタフェース、24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
211…データ取得部、212……推定部、
213…出力部、
221…対象データ、
5…学習モデル、
51…符号器、52…第1推定器、
53…第2推定器
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13
図14
図15
図16
図17A
図17B
図18
図19A
図19B
図20
図21A
図21B
図22