(57)【要約】  拡充識別器（ＡＤ）および生成器（Ｇ）を訓練するためのコンピュータ実装方法であって、‐現実訓練サンプル（ｘｄ）と、生成器（Ｇ）によって生成された人工訓練サンプル（ｘｇ）とを含む、拡充識別器（ＡＤ）を訓練するための訓練セットを用意するステップと、‐訓練セットの少なくとも１つのデータサンプル（ｘ）にデータ列（ｓ）を割り当てるステップと、を含み、‐データサンプル（ｘ）と割り当てられたデータ列（ｓ）との各対（ｘ，ｓ）が、複数のクラスのうちの１つのクラスに割り当てられ、これにより、複数のクラスのうちの割り当てられた１つのクラスと、割り当てられたデータ列（ｓ）とがまとめられると、データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかが特徴付けられ、方法はさらに、‐データサンプル（ｘ）と割り当てられたデータ列（ｓ）との対（ｘ，ｓ）から、対応する対（ｓ）が割り当てられたそれぞれ１つのクラス（ｒｄ）を計算できるように、拡充識別器（ＡＤ）を訓練するステップと、‐拡充識別器（ＡＤ）が前述の１つのクラス（ｒｄ）を正しく計算できないものとなるような人工訓練サンプル（ｘｄ）を生成できるように、生成器（Ｇ）を訓練するステップと、を含む。
2021536075.tif 000002
【特許請求の範囲】
【請求項１】
拡充識別器（ＡＤ）および生成器（Ｇ）を訓練するためのコンピュータ実装方法であって、
‐現実訓練サンプル（ｘｄ）と、前記生成器（Ｇ）によって生成された人工訓練サンプル（ｘｇ）とを含む、前記拡充識別器（ＡＤ）を訓練するための訓練セットを用意するステップと、
‐前記訓練セットの少なくとも１つのデータサンプル（ｘ）にデータ列（ｓ）を割り当てるステップと
を含み、
‐一緒に取得された複数のクラスのうちの割り当てられた１つのクラスおよび割り当てられたデータ列（ｓ）が、前記データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかを特徴付けるように、データサンプル（ｘ）と割り当てられたデータ列（ｓ）との各対（ｘ，ｓ）が、複数のクラスのうちの１つのクラスに割り当てられ、
前記方法はさらに、
‐データサンプル（ｘ）と割り当てられたデータ列（ｓ）との対（ｘ，ｓ）から、対応する前記対（ｓ）が割り当てられたそれぞれ１つのクラス（ｒｄ）を計算できるように、前記拡充識別器（ＡＤ）を訓練するステップと、
‐前記拡充識別器（ＡＤ）が前述の１つのクラス（ｒｄ）を正しく計算できないものとなるような人工訓練サンプル（ｘｄ）を生成できるように、前記生成器（Ｇ）を訓練するステップと、
を含む、方法。
【請求項２】
前記データ列（ｓ）は、ランダムに選択される、
請求項１記載の方法。
【請求項３】
前記データ列（ｓ）は、予め定義された長さを有し、前記予め定義された長さは、訓練中の前記拡充識別器（ＡＤ）のパフォーマンスの進行に応じて、訓練中に増大される、
請求項１または２記載の方法。
【請求項４】
複数のデータ列（ｓ）が前記訓練セットの各データサンプル（ｘ）に割り当てられて、データサンプル（ｘ）と割り当てられたデータ列（ｓ）との対応する複数の対（ｘ，ｓ）が生成される、
請求項１から３までのいずれか１項記載の方法。
【請求項５】
各データ列（ｓ）は、２つのクラスのうちのいずれか一方に割り当てられており、前記対（ｘ，ｓ）が割り当てられたクラス（ｒｄ）は、前記データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかに応じて、かつ前記データ列（ｓ）が割り当てられたクラス（ｒｄ）に応じて、決定される、
請求項１から４までのいずれか１項記載の方法。
【請求項６】
前記データ列（ｓ）が割り当てられた所与のクラスについて、前記対（ｘ，ｓ）が割り当てられたクラス（ｒｄ）は、前記データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかに応じて異なる、
請求項５記載の方法。
【請求項７】
データ列（ｓ）が割り当てられたクラスは、前記データ列（ｓ）の各ビットに依存する、
請求項５または６記載の方法。
【請求項８】
各クラスに割り当てられるデータ列（ｓ）の数は、全てのクラスについて同じである、
請求項５から７までのいずれか１項記載の方法。
【請求項９】
前記データ列（ｓ）は、前記データ列（ｓ）のチェックサムに応じてクラスに割り当てられる、
請求項５から８までのいずれか１項記載の方法。
【請求項１０】
コンピュータ実装方法であって、
該方法では、請求項１から９までのいずれか１項記載の方法によって訓練された拡充識別器（ＡＤ）を使用して、機械学習システム（６０）に提供された入力信号（ｘ）が現実訓練例サンプル（ｘｄ）により類似しているかまたは人工訓練サンプル（ｘｇ）により類似しているかが分類され、アクチュエータ制御システム（４０）によって生成されるアクチュエータ制御信号（Ａ）が、前記機械学習システム（６０）の出力信号（ｙ）に応じて生成され、
前記出力信号（ｙ）は、前記入力信号（ｘ）が分類されたクラスに応じて生成され、
前記入力信号（ｘ）と生成されたデータ列（ｓ）との対（ｘ，ｓ）は、前記拡充識別器（ＡＤ）に提供され、これにより、前記拡充識別器（ＡＤ）が結果（ｒ）を出力し、
前記現実訓練例サンプル（ｘｄ）により類似しているか前記人工訓練サンプル（ｘｇ）により類似しているかが既知である参照信号（ｘｔ）が提供され、
前記参照信号（ｒｔ）と前記生成されたデータ列（ｓ）との参照対（ｘｔ，ｓ）は、前記拡充識別器（ＡＤ）に提供され、これにより、前記拡充識別器（ＡＤ）が参照結果（ｒｔ）を出力し、
前記結果（ｒ）および前記参照結果（ｒｔ）に応じて、特に前記結果（ｒ）と前記参照結果（ｒｔ）との比較の結果に応じて、前記入力信号（ｘ）が前記現実訓練例サンプル（ｘｄ）により類似しているかまたは前記人工訓練サンプル（ｘｇ）により類似しているかが判定される、方法。
【請求項１１】
識別器（Ｄ）に提供されたデータサンプル（ｘ）が予め定義可能な２つのクラスのうちのいずれに属するかを識別できるように、前記識別器（Ｄ）を訓練するためのコンピュータ実装方法であって、
‐請求項１から９までのいずれか１項記載の方法によって生成器（Ｇ）を訓練するステップと、
‐現実訓練サンプル（ｘｄ）と、前記生成器（Ｇ）によって生成された人工訓練サンプル（ｘｇ）とを含む第２の訓練セットを用意するステップと、
‐前記第２の訓練セットを使用して、データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかを識別できるように、前記識別器（Ｄ）を訓練するステップと、
を含む、方法。
【請求項１２】
前記識別器（Ｄ）は、機械学習システム（６０）に提供された入力信号（ｘ）が、前記現実訓練例サンプル（ｘｄ）により類似しているかまたは前記人工訓練サンプル（ｘｇ）により類似しているかを分類するために使用され、アクチュエータ制御システム（４０）によって生成されるアクチュエータ制御信号（Ａ）は、前記機械学習システム（６０）の出力信号（ｙ）に応じて生成され、
前記出力信号（ｙ）は、前記入力信号（ｘ）が分類されたクラスに応じて生成され、
前記入力信号（ｘ）は、前記拡充識別器（Ｄ）に提供され、これにより、前記識別器（Ｄ）が結果（ｒ）を出力し、前記結果（ｒ）に応じて、前記入力信号（ｘ）が、前記現実訓練例サンプル（ｘｄ）により類似しているかまたは前記人工訓練サンプル（ｘｇ）により類似しているかが判定される、
請求項１１記載の方法。
【請求項１３】
少なくとも１つのアクチュエータ（３０）を備える物理的なシステムを制御するための制御信号（Ａ）を計算する機械学習システム（６０）、特にニューラルネットワークを訓練するための訓練サンプル（ｘ）を生成するためのコンピュータ実装方法であって、
‐請求項１から９までのいずれか１項記載の方法によって生成器（Ｇ）を訓練するステップと、
‐前記生成器（Ｇ）を使用して前記訓練サンプル（ｘ）を生成するステップと、
を含む、方法。
【請求項１４】
少なくとも１つのアクチュエータ（３０）を備える物理的なシステムを制御するためのアクチュエータ制御信号（Ａ）を計算する機械学習システム（６０）、特にニューラルネットワークを訓練するためのコンピュータ実装方法であって、
‐請求項１３記載の方法によって訓練サンプル（ｘ）を生成するステップと、
‐前記訓練サンプル（ｘ）によって前記機械学習システム（６０）を訓練するステップと、
を含む、方法。
【請求項１５】
前記アクチュエータ（１０）は、前記アクチュエータ制御信号（Ａ）にしたがって制御される、
請求項１０または１２または１４記載の方法。
【請求項１６】
前記アクチュエータ（１０）は、少なくとも部分的に自律したロボット（１００）および／または製造機械（２００）および／または自動パーソナルアシスタント（２５０）および／またはアクセス制御システム（３００）を制御する、
請求項１５記載の方法。
【請求項１７】
監視システム（４００）のディスプレイ（１０ａ）が、前記アクチュエータ制御信号（Ａ）にしたがって制御され、前記入力信号（ｘ）が、監視下にあるシーンを検出するセンサ（３０）のセンサ信号（Ｓ）にしたがって提供される、または
撮像システム（５００）のディスプレイ（１０ａ）が、前記アクチュエータ制御信号（Ａ）にしたがって制御され、前記入力信号（ｘ）が、前記撮像システム（５００）の撮像センサ（３０）のセンサ信号（Ｓ）にしたがって提供される、
請求項１０または１２または１４記載の方法。
【請求項１８】
プロセッサ（４５，１４５，１４７）によって実行された場合に、請求項１から１７までのいずれか１項記載の方法の全てのステップを実行するように構成されている、コンピュータプログラム。
【請求項１９】
請求項１８記載のコンピュータプログラムが記憶されている、機械可読記憶媒体（４６，１４６，１４８）。
【請求項２０】
請求項１０記載の方法を実行するように構成されている、アクチュエータ制御システム（４０）。
【請求項２１】
請求項１から９までのいずれか１項記載の方法を実行するように構成されている、敵対的訓練システム（１４１）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡充識別器を訓練するための方法およびシステム、ならびに機械可読記憶媒体に関する。
【０００２】
先行技術
敵対的生成ネットワークまたは“ＧＡＮ”（Generative adversarial network）は、Goodfellow et al., “Generative Adversarial Networks”，arXiv preprint arXiv:1406.2661vl，2014から公知である。
【０００３】
発明の利点
独立請求項１のステップを有する方法は、敵対的生成ネットワークのより強力な生成器を取得し、これにより、敵対的生成ネットワークにおいて訓練されたより強力な識別器も提供するという利点を有する。
【０００４】
発明の開示
機械学習では、機械学習システムを訓練するためのデータが重要であるが、同時に訓練用の現実のデータが希少なリソースである場合がある。生成モデリングは、様々な手法、例えば合成データの生成、データ拡充および転移学習において、データセットを拡充するのに役立ちうる。現実の問題では高次元の確率分布をモデリングすることがしばしば要求されるので、生成モデリングは困難な研究課題でありつづけている。
【０００５】
敵対的生成ネットワークは、最も成功しているモデリングアプローチの一つである。ＧＡＮの背景にある核心的なアイデアは、識別器（Ｄ）および生成器（Ｇ）として一般に知られている２プレーヤ用の競争ゲームを設定することにある。生成器は、訓練データと同じ分布から生じるべきサンプルを作成することに取り組む。対照的に、識別器Ｄは、これらを区別することを目的とする。
【０００６】
数学的に、ＤおよびＧの目的は、ミニマックス問題、すなわち
【数１】
2021536075.tif 000003
として定式化されうる。ここで、σ［・］は、実数値関数Ｄ（ｘ）を単位区間［０，１］にマッピングするシグモイド関数を表す。ＰＧは、生成器Ｇによって支配される生成分布である。識別器Ｄは、２クラスの分類タスクを解き、ここで、２つのクラスはそれぞれＰｄａｔａとＰＧとに関連付けられる。生成器Ｇは、Ｄを欺こうとする。２プレーヤ用のゲームがナッシュ均衡に達すると、得られた生成分布ＰＧがＰｄａｔａと同一となるはずであることが示されうる。
【０００７】
扱いやすさの問題を考慮すると、ＧおよびＤを関数空間内で直接的に最適化することは、理論的には最適であるが、非現実的である。便利なことに、ＤおよびＧは、これらの機能をパラメータ化するためのディープニューラルネットワーク、例えばＤＣＧＡＮを採用しうる（例えば、Alec Radford, Luke Metz, Soumith Chintara, “Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks”，arXiv preprint arXiv:1511.06434v2，2016を参照）。
【０００８】
さらに、Ｇのためのニューラルネットワークは、ほとんどの場合、ＰＧを明示的にモデリングするのではなく、ＰＧに追従するサンプラをモデリングする。サンプラは、ランダムなノイズベクトルｚをその入力として受け取り、合成サンプル＝Ｇ（ｚ）を得るための変換Ｇを適用する。ｚの事前分布ＰｚとＧとが、共同でＰＧを定義する。
【０００９】
確率的勾配降下（Stochastic gradient descent；ＳＧＤ）法が、ミニマックス問題を解くために一般に適用される。ＧおよびＤのためのニューラルネットワークパラメータは、収束するまで、または所定の停止基準を満たすまで、交互にかつ反復的に更新される。このような訓練プロセスが収束する保証、または望ましいナッシュ均衡に収束する保証はないことに留意されたい。このため、ＧＡＮのパフォーマンスは用途にわたって変化し、訓練の初期化、ネットワークアーキテクチャ、およびハイパーパラメータの選択に敏感であることが示されている。要するに、ＧＡＮの訓練は困難なタスクである。
【００１０】
ＧＡＮの潜在的な失敗の根本的な理由の１つは、特に最適化のためにＳＧＤ法と組み合わされたときの、コスト関数の定式化により生じる。コスト関数は、識別器Ｄが最適状態に達していないと飽和しない。Ｄが最大となると、すなわち、Ｄが所与のＧについて十分に最適化され、かつＧによって生成された合成例から現実のサンプルを確実に識別できるようになると、Ｇをさらに更新するための勾配が消失する。最終的に、ミニマックスゲームは、望ましい最適値に達することができない。また、ＰｄａｔａおよびＰＧそれぞれのサポートが低次元の多様体に存在することに留意することも重要である。現実の問題では２つの多様体が重なったり完全に揃ったりすることはないので、Ｄの最大化はほとんど問題にならない。このため、ＧＡＮ訓練の過程では、強力なＤは、Ｇの学習プロセスを阻害する。他方、過度に単純化されたニューラルネットワークの意図的な選択による脆弱なＤは、Ｇがグランドトゥルースを学習するための正しいフィードバックを提供することができない。
【００１１】
問題に取り組むために、文献研究は、典型的には、コスト関数の再定式化および訓練プロセスの正規化を用いる。上述したGoodfellowらによる２０１４年の論文では、式（１）におけるコスト関数の内部最大値が、ＰｄａｔａとＰＧとの間のＪｅｎｓｏｎ‐Ｓｈａｎｎｏｎダイバージェンス（ＪＳＤ）として同定されることが示されている。これは２つの分布の類似度の尺度であり、ゼロに等しいその最小値は、Ｐｄａｔａ＝ＰＧで得られる。
【００１２】
本発明が対象とする課題は、ＧＡＮ訓練の過程でＤが早期に飽和することを回避することである。したがって、本発明は、ＧおよびＤの最適化プロセスのバランスをとる新規な手法を提供する。
【００１３】
提案の方法がなぜ機能するかを示すために、以下の数学的考察を考慮するのが便利である。Ｊｅｎｓｅｎ‐Ｓｈａｎｎｏｎダイバージェンス（ＪＳＤ）は、分布対の類似度の尺度である。ＧＡＮは、Ｐｄａｔａに関するＰＧのＪＳＤが最小化されるようにＰＧを最適化することを目的とする。数学的に、式（１）に取り込まれるＧＡＮは、
【数２】
2021536075.tif 000004
と等価である。
【００１４】
式（２）から始めて、本発明の導出は、以下の要点に基づくものである。すなわち、２つの分布Ｐｄａｔａ（ｘ）およびＰＧ（ｘ）を、混合分布Ｐ（ｘ）、すなわち
【数３】
2021536075.tif 000005
に接続する、一様分布の２値ランダム変数ｓが導入される。すなわち、Ｐｄａｔａ（ｘ）およびＰＧ（ｘ）はＰ（ｘ）の２つのモードであり、ｓはモード指標である。このような構成では、ｘとｓとの間の相互情報は、Ｐｄａｔａ（ｘ）およびＰＧ（ｘ）のＪＳＤに等しく、
【数４】
2021536075.tif 000006
となる。
【００１５】
相互情報Ｉ（ｓ，ｘ）は、同時分布Ｐ（ｘ，ｓ）と非同時（disjoint）分布Ｐ（ｘ）Ｐ（ｓ）との間のＫｕｌｌｂａｃｋ‐Ｌｅｉｂｌｅｒ（ＫＬ）ダイバージェンスの尺度である。式（４）の目的は相互情報を最小化することにあるので、ＫＬダイバージェンスをＪＳＤに置き換えても損失はない。これらは両方とも、同じ条件下で、すなわちＰ（ｘ，ｓ）＝Ｐ（ｓ）Ｐ（ｘ）のもとで最小化される。数学的に、当該同定によって、第２の等価問題
【数５】
2021536075.tif 000007
が導かれる。
【００１６】
非同時分布Ｐ（ｘ）Ｐ（ｓ）は、
Ｐ（ｓ）Ｐ（ｘ）＝０．５Ｐ（ｘ，ｓ）＋０．５Ｑ（ｘ，ｓ）  （６）
のように分解することができ、ここで、
【数６】
2021536075.tif 000008
である。ここで、Ｑ（ｘ，ｓ）は、（３）で定義されたモード反転をＰ（ｘ，ｓ）の上端に適用した結果である。Ｐ（ｘ，ｓ）とＰ（ｘ）Ｐ（ｓ）とを同一にすることは、本質的に、Ｐ（ｘ，ｓ）をＱ（ｘ，ｓ）に等しくすること、すなわち、
【数７】
2021536075.tif 000009
である。
【００１７】
（７）の最初および最後の最小化問題をリンクさせる手法の１つは、ｓをサンプルｘに対する１ビットの拡充とみなすことである。Ｐ（ｘ，ｓ）に基づくルールの１つは、Ｐｄａｔａ（ｘ）およびＰＧ（ｘ）からのサンプルをそれぞれ０および１で拡充することである。Ｑ（ｘ，ｓ）から導かれる他のルールは、単純にその逆である。従来のＧＡＮでは、データおよび合成サンプルを真と偽として分類することによって、識別器Ｄにより、ＰｄａｔａとＰＧとの間のＪＳＤが推定される。
【００１８】
したがって、本発明の第１の態様では、拡充識別器ＡＤおよび生成器（Ｇ）を訓練するためのコンピュータ実装方法を有することが想定される。拡充識別器ＡＤは、拡充されたサンプルを識別する必要がある。したがって、本発明の第１の態様による方法は、
‐現実訓練サンプル（ｘｄ）と、生成器（Ｇ）によって生成された人工訓練サンプル（ｘｇ）とを含む、拡充識別器（ＡＤ）を訓練するための訓練セットを用意するステップと、
‐訓練セットの少なくとも１つのデータサンプル（ｘ）にデータ列（ｓ）を割り当てるステップと、
を含み、
‐データサンプル（ｘ）と割り当てられたデータ列（ｓ）の各対（ｘ，ｓ）が、複数のクラスのうちの１つのクラスに割り当てられ、これにより、複数のクラスのうちの割り当てられた１つのクラスと、割り当てられたデータ列（ｓ）とがまとめられると、データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるか、人工訓練サンプル（ｘｇ）であるかが特徴付けられ、
方法はさらに、
‐データサンプル（ｘ）と割り当てられたデータ列（ｓ）との対（ｘ，ｓ）から、対応する対（ｓ）が割り当てられたそれぞれ１つのクラス（ｒｄ）を計算できるように拡充識別器（ＡＤ）を訓練するステップと、
‐拡充識別器（ＡＤ）が前述の１つのクラス（ｒｄ）を正しく計算できないものとなるような人工訓練サンプル（ｘｄ）を生成できるように、生成器（Ｇ）を訓練するステップと、
を含む。
【００１９】
好ましくは、複数のクラスは、２つのクラスからなり、すなわち、２つより多くも少なくもないクラスを備える。
【００２０】
Ｐ（ｘ，ｓ）およびＱ（ｘ，ｓ）、すなわち（７）の最後のＪＳＤを識別するように識別器Ｄを構成できることに留意されたい。代替的な解決策は、（７）の最後から２番目のＪＳＤに示すような、Ｐ（ｘ，ｓ）およびＰ（ｓ）Ｐ（ｘ）の識別とすることができる。Ｐ（ｓ）Ｐ（ｘ）は（６）におけるＰ（ｘ，ｓ）とＱ（ｘ，ｓ）との組み合わせであるので、対照的な２つの分布が、勾配消失問題を緩和する重なるサポートを保証する。このことを図１５に示す。
【００２１】
図１５ａ）に示すのは、人工訓練サンプルｐｇの所与の分布および現実訓練サンプルｐｄの所与の分布についての同時分布Ｐ（ｘ，ｓ）の説明図であり、図１５ｂ）に示すのは、モード反転した対応する同時分布Ｑ（ｘ，ｓ）の説明図である。ｒｄが対応しうるクラスをそれぞれ真および偽で示す場合、図１５ａ）に示す分布がｒｄ＝真に対応し、図１５ｂ）に示す分布がｒｄ＝偽に対応する。図１５ｃ）に示すのは、Ｐ（ｘ，ｓ）とＱ（ｘ，ｓ）の算術平均の説明図である。
【００２２】
図１５ｃ）に示す分布は、ｓ＝０およびｓ＝１での２つの同一のモードを有する。図１５ａ）に示す分布と図１５ｃ）に示す分布とのサポートが重なることが明らかに見て取れる。識別器を欺くためには、生成器は、図１５ａ）のｓ＝１でのモードがｓ＝０でのモードと同じ形状および同じ場所で水平方向に現れるように、Ｇを最適化しなければならない。このことが生じるときにだけ、図１５ｃ）に示す分布が図１５ａ）に示す分布と同一となる。これは、Ｐｇ＝Ｐｄのとき、Ｐｇの曲線が左に移動し、Ｐｄと水平に揃い、これらが同じ形状を有するためである。
【００２３】
このことが生じると、図１５ｃ）の４つのモードが、図１５ａ）と同じ２つのモードに減少する。この場合、２つの分布が同一となる。拡充識別器ＡＤは、Ｐ（ｘ，ｓ）とＰ（ｘ）Ｐ（ｓ）とのサンプルを識別できなくなる。
【００２４】
本方法に対する改良は、従属請求項の対象となっている。
【００２５】
このような拡充識別器は、多数の用途を有する。例えば、機械学習システムに提供された入力信号が、現実訓練例サンプル（ｘｄ）により類似しているかまたは人工訓練サンプル（ｘｇ）により類似しているかを分類するために、訓練された拡充識別器を使用すること、すなわち、訓練された拡充識別器は、入力信号が現実訓練例サンプル（ｘｄ）により類似しているか、人工訓練サンプル（ｘｇ）により類似しているかに応じて入力信号を分類することが想定されうる。このことは、例えば、入力データの異常を検出するために使用される。
【００２６】
代替的に、拡充識別器の訓練中に訓練された生成器は、識別器Ｄを訓練するために使用されてもよい。このような識別器は、拡充識別器よりも使いやすい。
【００２７】
本発明の別の態様では、訓練された生成器は、訓練サンプルを生成するために使用されてもよく、次いで、機械学習システムを訓練するために使用されてもよい。この場合、当該機械学習システムは、アクチュエータを制御するために使用されうるものであり、よって、制御をより確実にかつ／またはより精確にする。
【００２８】
本発明の実施形態について、以下の図を参照してより詳細に説明する。
【図面の簡単な説明】
【００２９】
【図１】環境中のアクチュエータを制御する、機械学習システムを有するアクチュエータ制御システムを示す図である。
【図２】少なくとも部分的に自律したロボットを制御するアクチュエータ制御システムを示す図である。
【図３】製造機械を制御するアクチュエータ制御システムを示す図である。
【図４】自動パーソナルアシスタントを制御するアクチュエータ制御システムを示す図である。
【図５】アクセス制御システムを制御するアクチュエータ制御システムを示す図である。
【図６】監視システムを制御するアクチュエータ制御システムを示す図である。
【図７】撮像システムを制御するアクチュエータ制御システムを示す図である。
【図８】機械学習システムを制御するための訓練システムを示す図である。
【図９】拡充識別器および生成器を訓練するための敵対的訓練システムを示す図である。
【図１０】前記敵対的訓練システムによって実行される訓練方法のフローチャート図である。
【図１１】図１２に示す訓練システムによって実行される訓練方法を示すフローチャート図である。
【図１２】識別器Ｄを訓練するための訓練システムを示す図である。
【図１３】訓練された拡充識別器を使用するための方法を示すフローチャート図である。
【図１４】訓練された生成器Ｇを使用する方法を示すフローチャート図である。
【図１５】発明がどのように機能するかを示す確率分布の説明図である。
【００３０】
実施形態の説明
図１に示すのは、アクチュエータ１０の、その環境２０における一実施形態である。アクチュエータ１０は、アクチュエータ制御システム４０と相互作用する。アクチュエータ１０およびその環境２０は、併せて、アクチュエータシステムと称される。好ましくは等間隔の距離で、センサ３０がアクチュエータシステムの状態をセンシングする。センサ３０は、複数のセンサを備えていてもよい。センシングされた状況を符号化するセンサ３０の出力信号Ｓ（または、センサ３０が複数のセンサを備えている場合、センサそれぞれの出力信号Ｓ）は、アクチュエータ制御システム４０に送信される。
【００３１】
これにより、アクチュエータ制御システム４０は、センサ信号Ｓのストリームを受信する。制御システムは、次いで、センサ信号Ｓのストリームに応じて一連のアクチュエータ制御コマンドＡを計算し、次いで、当該制御コマンドＡがアクチュエータ１０に送信される。
【００３２】
アクチュエータ制御システム４０は、センサ３０のセンサ信号Ｓのストリームを、任意手段としての受信ユニット５０で受信する。受信ユニット５０は、センサ信号Ｓを入力信号ｘに変換する。代替的に、受信ユニット５０が設けられていない場合、各センサ信号Ｓは、入力信号ｘとして直接に取り込まれてもよい。入力信号ｘは、例えば、センサ信号Ｓの一部として与えられてもよい。代替的に、センサ信号Ｓを処理して入力信号ｘを得るようにしてもよい。入力信号ｘは、例えば、画像またはビデオ記録のフレームを含むこともできる。言い換えれば、入力信号ｘは、センサ信号Ｓにしたがって提供される。
【００３３】
入力信号ｘは、次いで、機械学習システム６０に送られるが、当該機械学習システム６０は、例えば人工ニューラルネットワークによって与えられていてもよい。
【００３４】
機械学習システム６０は、パラメータ記憶部Ｐに記憶されておりかつここから提供されるパラメータθによってパラメータ化される。
【００３５】
機械学習システム６０は、入力信号ｘから出力信号ｙを決定する。出力信号ｙは、変換ユニット８０に送信され、当該変換ユニット８０は、出力信号ｙを制御コマンドＡに変換する。次いで、アクチュエータ制御コマンドＡは、相応にアクチュエータ１０を制御するために、アクチュエータ１０に送信される。
【００３６】
アクチュエータ１０は、アクチュエータ制御コマンドＡを受信し、これにしたがって制御され、アクチュエータ制御コマンドＡに対応する行動を実行する。アクチュエータ１０は、アクチュエータ制御コマンドＡを別の制御コマンドに変換する制御ロジックを備えていてもよく、この場合、当該別の制御コマンドがアクチュエータ１０の制御に使用される。
【００３７】
さらなる実施形態では、アクチュエータ制御システム４０がセンサ３０を備えていてもよい。またさらなる実施形態では、アクチュエータ制御システム４０が、代替的にまたは付加的にアクチュエータ１０を備えていてもよい。
【００３８】
さらに、アクチュエータ制御システム４０は、プロセッサ４５（または複数のプロセッサ）と、実行された場合に本発明の一態様による方法をアクチュエータ制御システム４０に実行させるための命令を記憶した、少なくとも１つの機械可読記憶媒体４６とを備えていてもよい。
【００３９】
アクチュエータ１０に代えてまたはこれに加えて、本実施形態は、アクチュエータ制御コマンドＡにしたがって制御可能な表示ユニット１０ａを備えていてもよい。
【００４０】
上記の実施形態の全てにおいて、機械学習システム６０は、入力信号ｘが予め定義された特性を有するか否かを検出するように構成された識別器を備えていてもよい。例えば、機械学習システム６０は、入力信号ｘがさらなる処理のために信頼されうるか否かを決定するように構成されていてもよい。
【００４１】
出力信号ｙは、入力信号ｘが予め定義された特性を有すると判断されたか否かに応じて決定されうる。例えば、出力信号ｙは、入力信号ｘが信頼できると判定された場合に、通常の出力信号ｙに対応するように選択することができ、入力信号ｘが信頼できないと判定された場合にはアクチュエータ１０および／または表示ユニット１０ａを安全モードで動作させる情報を組み込むことができる。
【００４２】
図２は、少なくとも部分的に自律したロボット、例えば、少なくとも部分的に自律した車両１００を制御するために、アクチュエータ制御システム４０が使用される実施形態を示す。
【００４３】
センサ３０は、１つ以上のビデオセンサおよび／または１つ以上のレーダーセンサおよび／または１つ以上の超音波センサおよび／または１つ以上のＬｉＤＡＲセンサおよび／または１つ以上の（例えばＧＰＳのような）位置センサを備えてもよい。これらセンサの一部または全部が、必須ではないが、好ましくは車両１００に搭載される。代替的にまたは付加的に、センサ３０は、アクチュエータシステムの状態を決定するための情報システムを備えていてもよい。このような情報システムの一例は、環境２０における現在または将来の天候状態を判定する天候情報システムである。
【００４４】
例えば、入力信号ｘを使用して、機械学習システム６０は、例えば、少なくとも部分的に自律したロボットの近傍にある対象物を検出してもよい。出力信号ｙは、少なくとも部分的に自律したロボットの近傍のどこに対象物が位置しているかを特徴付ける情報を含んでもよい。次いで、例えば、前記検出した対象物との衝突を回避するために、当該情報にしたがって制御コマンドＡを決定してもよい。
【００４５】
アクチュエータ１０は、好ましくは、車両１００に搭載されており、車両１００のブレーキ、推進システム、エンジン、駆動系、またはステアリング部によって与えられうる。車両１００と前記検出した対象物との衝突が回避されるようにアクチュエータ（または複数のアクチュエータ）１０を制御すべく、アクチュエータ制御コマンドＡを決定することができる。また、検出した対象物を、例えば歩行者や樹木など、最も可能性が高いと機械学習システム６０が判断するものにしたがって分類し、分類に応じてアクチュエータ制御コマンドＡを決定してもよい。
【００４６】
さらなる実施形態では、少なくとも部分的に自律したロボットは、別の移動ロボット（図示せず）によって与えられうるものであり、移動ロボットは、例えば、飛行、泳行、潜行または歩行によって移動することができる。移動ロボットは、とりわけ、少なくとも部分的に自律した芝刈り機、または少なくとも部分的に自律した清掃ロボットであってもよい。上記の実施形態の全てにおいて、移動ロボットと前記特定した対象物との衝突が回避されうるように移動ロボットの推進ユニットおよび／またはステアリング部および／またはブレーキを制御すべく、アクチュエータコマンド制御Ａを決定することができる。
【００４７】
さらなる実施形態では、少なくとも部分的に自律したロボットは、環境２０における植物の状態を判定するために、センサ３０、好ましくは光学センサを使用した園芸ロボット（図示せず）によって与えられうる。アクチュエータ１０は、化学薬品を散布するためのノズルであってもよい。植物の識別された種および／または識別された状態に応じて、アクチュエータ１０に、適切な化学薬品を植物に対して適量散布させるように、アクチュエータ制御コマンドＡを決定することができる。
【００４８】
またさらなる実施形態では、少なくとも部分的に自律したロボットは、例えば、洗濯機、ストーブ、オーブン、電子レンジ、または食器洗浄機のような家電製品（図示せず）によって与えられうる。センサ３０、例えば光学センサは、家電製品によって処理される対象物の状態を検出することができる。例えば、家電製品が洗濯機である場合、センサ３０は、洗濯機内の洗濯物の状態を検出することができる。次いで、洗濯物の検出した材質に応じてアクチュエータ制御信号Ａを決定することができる。
【００４９】
図３に示すのは、例えば生産ラインの一部としての、製造システム２００の製造機械１１（例えば、パンチカッタ、カッタ、またはガンドリル）を制御するために、アクチュエータ制御システム４０が使用される実施形態である。アクチュエータ制御システム４０は、製造機械１１を制御するアクチュエータ１０を制御する。
【００５０】
センサ３０は、例えば製造品１２の特性を捕捉する光学センサによって与えられうる。機械学習システム６０は、当該捕捉された特性から、製造品１２の状態を判定することができる。製造機械１１を制御するアクチュエータ１０は、次いで、製造品１２の後続の製造工程のために、判定された製造品１２の状態に応じて制御されうる。あるいは、判定された製造品１２の状態に応じて、後続の製造品１２の製造中にアクチュエータ１０が制御されることが想定されうる。
【００５１】
図４に示すのは、自動パーソナルアシスタント２５０を制御するためにアクチュエータ制御システム４０が使用される実施形態である。好ましい実施形態では、センサ３０は、例えば、人間ユーザ２４９の音声コマンドを受信する音響センサであってもよい。センサ３０はまた、例えば、ユーザ２４９のジェスチャのビデオ画像を受信するための光学センサを備えていてもよい。
【００５２】
アクチュエータ制御システム４０は、次いで、自動パーソナルアシスタント２５０を制御するためのアクチュエータ制御コマンドＡを決定する。アクチュエータ制御コマンドＡは、センサ３０のセンサ信号Ｓにしたがって決定される。センサ信号Ｓは、アクチュエータ制御システム４０に送信される。例えば、機械学習システム６０は、例えばユーザ２４９によって行われたジェスチャを識別するジェスチャ認識アルゴリズムを実行するように構成可能であり、またはユーザ２４９によって発せられた発話コマンドを識別する音声コマンド認識アルゴリズムを実行するように構成可能である。アクチュエータ制御システム４０は、次いで、自動パーソナルアシスタント２５０への送信のためのアクチュエータ制御コマンドＡを決定することができる。制御システムは、次いで、前記アクチュエータ制御コマンドＡを自動パーソナルアシスタント２５０に送信する。
【００５３】
例えば、機械学習システム６０によって認識され識別されたユーザジェスチャまたは識別されたユーザ音声コマンドにしたがって、アクチュエータ制御コマンドＡを決定してもよい。この場合、制御コマンドＡは、自動パーソナルアシスタント２５０にデータベースから情報を取得させて、当該取得した情報をユーザ２４９による受信に適した形態で出力させるための、情報を含みうる。
【００５４】
さらなる実施形態では、自動パーソナルアシスタント２５０の代わりに、アクチュエータ制御システム４０が、識別されたユーザジェスチャまたは識別されたユーザ音声コマンドにしたがって制御される家電製品（図示せず）を制御することが想定されうる。家電製品は、洗濯機、ストーブ、オーブン、電子レンジ、または食器洗浄機であってもよい。
【００５５】
図５に示すのは、アクチュエータ制御システムがアクセス制御システム３００を制御する実施形態である。アクセス制御システムは、アクセスを物理的に制御するように設計可能である。アクセス制御システムは、例えばドア４０１を備えていてもよい。センサ３０は、アクセスが許可されるか否かを判別するための関連するシーンを検出するように構成される。センサは、例えば、人物の顔を検出するための画像またはビデオデータを提供するための光学センサであってもよい。機械学習システム６０は、例えばデータベースに記憶されている既知の人物のＩＤとの照合により、当該画像またはビデオデータを解釈し、これにより人物のＩＤを判定するように構成されてもよい。次いで、機械学習システム６０の解釈に応じて、例えば、識別されたＩＤにしたがって、アクチュエータ制御信号Ａを決定することができる。アクチュエータ１０は、アクチュエータ制御信号Ａに応じてアクセスを許可するかまたは許可しない、ロックであってもよい。物理的ではない論理的なアクセス制御も可能である。
【００５６】
図６に示すのは、アクチュエータ制御システム４０が監視システム４００を制御する実施形態である。この実施形態は、図５に示した実施形態とほぼ同一である。したがって、異なる態様についてのみ詳細に記載する。センサ３０は、監視下にあるシーンを検出するように構成される。アクチュエータ制御システムは、必ずしもアクチュエータ１０を制御せず、ディスプレイ１０ａを制御する。例えば、機械学習システム６０は、光学センサ３０によって検出されたシーンが不審であるかどうかを判定することができる。この場合、ディスプレイ１０ａに送信されるアクチュエータ制御信号Ａは、例えば機械学習システム６０によって不審であると判断された対象物をディスプレイ１０ａに強調表示させるように構成されてもよい。
【００５７】
図７に示すのは、撮像システム５００、例えば、ＭＲＩ装置、Ｘ線撮像装置、または超音波撮像装置を制御するためのアクチュエータ制御システム４０の実施形態である。センサ３０は例えば撮像センサであってもよく、当該センサがセンシングした画像が機械学習システム６０によって解釈される。この場合、アクチュエータ制御信号Ａは、当該解釈にしたがって選択され、これにより、ディスプレイ１０ａを制御することができる。例えば、機械学習システム６０は、センシングされた画像の或る領域を潜在的に異常であると解釈することができる。この場合、ディスプレイ１０ａに画像を表示させ、さらに潜在的に異常な領域を強調表示させるように、アクチュエータ制御信号Ａを決定することができる。
【００５８】
図８に示すのは、機械学習システム６０を訓練するための訓練システム１４０の実施形態である。訓練データユニット１５０が入力信号ｘを決定し、当該入力信号ｘが機械学習システム６０に送られる。例えば、訓練データユニット１５０は、訓練データのセットＴが記憶されているコンピュータ実装データベースＱにアクセスすることができる。セットＴは、入力信号ｘと対応する望ましい出力信号ｙｓとの対を含む。訓練データユニット１５０は、例えばランダムに、セットＴからサンプルを選択する。選択されたサンプルの入力信号ｘが、機械学習システム６０に送られる。望ましい出力信号ｙｓは、評価ユニット１８０に送られる。
【００５９】
機械学習システム６０は、入力信号ｘから出力信号ｙを計算するように構成される。当該出力信号ｘも、評価ユニット１８０に送られる。
【００６０】
変更ユニット１６０が、評価ユニット１８０からの入力に応じて、更新されたパラメータθ’を決定する。更新されたパラメータθ’は、パラメータ記憶部Ｐに送信されて、現在のパラメータθを置き換える。
【００６１】
例えば、評価ユニット１８０が、出力信号ｙおよび望ましい出力信号ｙｓに応じて損失関数Ｌの値を決定することが想定されうる。変更ユニット１６０は、次いで、例えば確率的勾配降下を使用して、損失関数Ｌが最適化されるように、更新されたパラメータθ’を計算することができる。
【００６２】
さらに、訓練システム１４０は、プロセッサ１４５（または複数のプロセッサ）と、実行された場合に本発明の一態様による方法をアクチュエータ制御システム１４０に実行させるための命令を記憶した、少なくとも１つの機械可読記憶媒体１４６とを備えていてもよい。
【００６３】
図９に示すのは、拡充識別器ＡＤおよび生成器Ｇを訓練するための敵対的訓練システム１４１である。現実訓練サンプルｘｄが、現実訓練サンプルのデータベースＲに記憶されており、拡充器ＡＵに送信される。
【００６４】
乱数生成器Ｚが、予め定義された分布Ｐ（ｚ）からサンプリングされた乱数ｚを生成する。コンピュータで生成される乱数が疑似乱数でありうることはよく理解されている。この理解は、本特許出願を通して暗示的に想定されているものとする。
【００６５】
予め定義された分布にしたがって乱数を生成するための方法は、当該技術の通常の知識を有する者にとって周知である。例えば、予め定義された分布Ｐ（ｚ）がガウス分布である場合、乱数（または疑似乱数）ｚを、周知のＢｏｘ‐Ｍｕｌｌｅｒ変換を使用して一様分布の乱数から得ることができる。乱数ｚは、生成器Ｇに送られる。生成器Ｇは、生成器パラメータφＧによってパラメータ化された関数として定義可能であり、その入力の乱数ｚを人工訓練サンプルｘｇに変換する。人工訓練サンプルｘｇは、拡充器ＡＵに送られる。
【００６６】
生成器Ｇは、例えば、人工訓練サンプルｘｇと現実訓練サンプルｘｄが同じ次元を有するように理想的な次元に設定された人工ニューラルネットワークによって与えられうる。
【００６７】
データ列生成器Ｒｓが、データ列ｓを生成する。データ列ｓは、ビットストリームであってもよい。例えば、データ列生成器Ｒｓは、一様分布の乱数を作り出す乱数生成器であってもよい。当該生成されたデータ列ｓも、拡充器ＡＵに送られる。
【００６８】
生成器パラメータφＧは、第２のパラメータ記憶部Ｐ２に記憶されており、生成器Ｇに供給される。生成された人工訓練サンプルｘｇは、拡充器ＡＵに送られる。
【００６９】
拡充器ＡＵは、現実訓練サンプルｘｄまたは人工訓練サンプルｘｇのいずれかを訓練サンプルｘとして選択して訓練サンプルｘを生成し、生成した訓練サンプルｘとデータ列ｓとの対を拡充識別器ＡＤに送る。また、拡充器ＡＵは、自身の現実訓練サンプルｘの選択（すなわち訓練サンプルｘとして現実訓練サンプルｘｄを選択したかまたは人工訓練サンプルｘｇを選択したか）とデータ列ｓとから、拡充識別器ＡＤの望ましい結果ｒｄを計算する。前記望ましい結果ｒｄは、評価器ＡＳに送られる。
【００７０】
拡充識別器ＡＤは、識別器パラメータφＤによってパラメータ化された数学的関数、例えば人工ニューラルネットワークを備える。識別器パラメータφＤは、第２のパラメータ記憶部Ｐ２に記憶されており、拡充識別器ＡＤに提供される。当該数学的関数を使用して、拡充識別器ＡＤは、訓練サンプルｘおよびデータ列ｓに応じた結果ｒを計算する。結果ｒは、評価器ＡＳに送られる。
【００７１】
受け取った結果ｒおよび受け取った望ましい結果ｒｄに応じて、評価器ＡＳは、新たな識別器パラメータφ’Ｄおよび／または新たな生成器パラメータφ’Ｇを計算し、既存の識別器パラメータφ’Ｄおよび／または生成器パラメータφ’Ｇを置き換えるために、これらを第２のパラメータ記憶部Ｐ２に送信する。
【００７２】
さらに、敵対的訓練システム１４１は、プロセッサ１４７（または複数のプロセッサ）と、実行された場合に本発明の一態様による方法を敵対的訓練システム１４１に実行させるための命令を記憶した、少なくとも１つの機械可読記憶媒体１４８とを備えていてもよい。
【００７３】
図１０に示すのは、敵対的訓練システム１４１によって実行されうる、生成器Ｇおよび拡充識別器ＡＤを訓練するための方法の実施形態を示すフローチャート図である。
【００７４】
まず（１０００）にて、訓練サンプルのデータベースＲから現実訓練サンプルｘｄを取得する。
【００７５】
次いで（１１００）にて、データ列生成器Ｒｓが、取得された現実訓練サンプルｘｄごとに、予め定義された数のデータ列ｓを生成する。好ましくは、当該予め定義された数は、取得された全ての現実訓練サンプルｘｄについて同じである。当該数は１よりも大きいが、任意手段として、取得された現実訓練サンプルｘｄごとに１つの生成されたデータ列ｓとすることもできる。好ましい実施形態では、ステップ（１０００）の取得操作は、現実訓練サンプルｘｄが全ての訓練サンプルのセットから複数回引き出される可能性を含む。次いで、引き出された各訓練サンプルｘｄについて、対応する１つのデータ列ｓが生成される。同じ訓練サンプルｘｄが再び引き出された場合、対応する新たなデータ列ｓ（最初のものと同じであってもよいが、恐らくそうではない）が生成される。
【００７６】
生成されたデータ列ｓの長さは、予め定義された長さであってもよい。当該予め定義された長さは、全ての繰り返しにわたって一定であってもよい。しかし、別の実施形態では、予め定義された長さは、拡充識別器Ｄの訓練の進行に応じて、実行中に増大されてもよい（以下のステップ（１３００）を参照）。
【００７７】
現実訓練サンプルｘｄは、次いで拡充され、すなわち、各現実訓練サンプルｘｄおよび生成された各データ列ｓについて、現実訓練サンプルｘｄと生成されたデータ列ｓとの対（ｘｄ，ｓ）が提供される。予め定義された数が１よりも大きい場合、現実訓練サンプルｘｄよりも多くの対が存在する。
【００７８】
また、拡充器ＡＵは、好ましくは、論理値である真または偽のいずれか一方に対応するような、望ましい結果ｒｄを計算する。好ましい実施形態では、ｒｄは、データ列ｓのチェックサム（すなわち、そのビット値の合計）が偶数である場合に真であり、奇数である場合に偽である。
【００７９】
次のステップ（１２００）にて、生成器Ｇは、人工訓練サンプルｘｇを生成する。現実訓練サンプルｘｄの場合と同様に、データ列生成器Ｒｓは、生成された人工訓練サンプルｘｇごとに予め定義された数のデータ列ｓを生成する。
【００８０】
人工訓練サンプルｘｇは、次いで拡充され、すなわち、人工的な各訓練サンプルｘｇおよび生成された各データ列ｓについて、人工訓練サンプルｘｇと生成されたデータ列ｓとの対（ｘｇ，ｓ）が提供される。予め定義された数が１よりも大きい場合、人工訓練サンプルｘｇよりも多くの対が存在する。
【００８１】
また、拡充器ＡＵは、望ましい結果ｒｄを計算する。上記の好ましい実施形態では、ｒｄは、データ列ｓのチェックサム（すなわち、そのビット値の合計）が奇数である場合に真であり、偶数である場合に偽である。
【００８２】
次いで（１３００）にて、拡充識別器ＡＤには、訓練サンプルｘと生成されたデータ列ｓとの対（ｘ，ｓ）が提供され、対（ｘ，ｓ）は、ステップ（１１００）にて提供された、現実訓練サンプルｘｄと生成されたデータ列ｓとの対（ｘｄ，ｓ）であるか、またはステップ（１２００）にて提供された、現実訓練サンプルｘｄと生成されたデータ列ｓとの対（ｘｄ，ｓ）であるかのいずれかである。拡充識別器ＡＤは、次いで結果ｒを計算する。評価器ＡＳは、対（ｘ，ｓ）から得られた結果ｒと、対応する望ましい結果ｒｄとを受け取る。次いで、結果ｒと望ましい結果ｒｄとが一致しない場合に制裁を課す損失関数が例えば確率的勾配降下によって最小化されるように、新たな識別器パラメータφ’Ｄが計算される（さらに第２のパラメータ記憶部Ｐ２に記憶される）。
【００８３】
任意手段として、拡充識別器ＡＤのパフォーマンスが閾値レベルよりも良好である場合、損失関数の値に応じて、生成されたデータ列ｓの生成のための予め定義された長さが、後続の全ての実行につき増大されてもよい。
【００８４】
次いで（１４００）にて、生成器Ｇの訓練手順が収束したかどうかが確認される。収束していない場合、次いで（１５００）にて、上記の損失関数が例えば確率的勾配上昇により最大化されるように、新たな生成器パラメータφ’Ｇが計算される（さらに第２のパラメータ記憶部Ｐ２に記憶される）。方法は、次いで、ステップ（１１００）に戻って繰り返される。収束している場合、次いで、任意手段としてのステップ（１６００）にて、現実訓練サンプルｘｄまたは人工訓練サンプルｘｇのいずれかが供給される識別器Ｄが、供給されたデータサンプルが現実訓練サンプルｘｄであるかまたは人工訓練サンプルｘｇであるかを識別するように訓練されうる。本方法の可能な一実施形態を図１１に示す。これで、方法は終了する。
【００８５】
本方法の代替的な実施形態では、生成された各データ列ｓがそれぞれ１つの拡充識別器に関連付け可能である。これらは全て識別器の集団として訓練可能であり、この場合、生成されたデータ列ｓのそれぞれの実現によって異なる識別器が得られる。新たな生成器パラメータφ’Ｇは、平均（すなわち、集団内の識別器の全てまたは一部にわたって平均化された）損失を計算することによって更新されてもよいし、または集団内の識別器の中で最も一般的な結果を取ることによって更新されてもよい。
【００８６】
図１１に示すのは、図１０のステップ（１６００）で概説した識別器Ｄを訓練するための方法の実施形態を示すフローチャート図である。識別器Ｄを訓練するための訓練システム１４１の実施形態を図１２に示す。訓練システムは、図９に示した敵対的訓練システムとほぼ同一である。したがって、相違点のみを強調する。拡充識別器ＡＤの代わりに、システムは識別器Ｄを訓練する。拡充器ＡＵの代わりに選択器ＳＥが使用されており、当該選択器ＳＥは、現実訓練サンプルｘｄと人工訓練サンプルｘｇとを受け取る。なお、データ列生成器Ｒｓもデータ列ｓも必要とされない。拡充器ＡＵとは異なり、選択器ＳＥは、現実訓練サンプルｘｄまたは人工訓練サンプルｘｇのいずれかを選択し、訓練サンプルｘとして識別器Ｄに送るだけである。識別器Ｄによって計算された結果ｒは、識別器Ｄが受け取った訓練サンプルｘを現実訓練サンプルｘｄと判断したかまたは人工訓練サンプルｘｇと判断したかを示す。したがって、望ましい結果ｒｄは、訓練サンプルｘが実際に現実訓練サンプルｘｄであるかまたは人工訓練サンプルｘｇであるかを示す。
【００８７】
図１１に示した方法は、図１０に示した方法、特にそのステップ（１１００）〜（１５００）によって、生成器Ｇが訓練された状態で始まる（２０００）。
【００８８】
次いで、（２１００）にて、当該事前訓練された生成器Ｇは、人工訓練サンプルｘｇを生成する。さらに（２２００）にて、訓練サンプルのデータベースＲから現実訓練サンプルｘｄが取得される。
【００８９】
次いで、（２３００）にて、識別器Ｄに、生成された人工訓練サンプルｘｇまたは取得された現実訓練サンプルｘｄのいずれかから取り込まれた訓練サンプルｘが供給される。各訓練サンプルについて、識別器Ｄは、次いで、訓練サンプルｘが実際に現実訓練サンプルｘｄであるかまたは人工訓練サンプルｘｇであるかを示す結果ｒを計算する。当該訓練サンプルｘに応じて、識別器Ｄは結果ｒを生成する。結果ｒと望ましい結果ｒｄとに基づいて、識別器Ｄを特徴付けるパラメータφＤが、式（１）の内部最大化にしたがって新たなパラメータφ’Ｄに更新される。
【００９０】
任意手段として、次いで、（２４００）にて、停止基準に達したかどうかを判定することができる。達していない場合（２５００）、生成器Ｇを特徴付けるパラメータφＧが、式（１）にしたがって新たなパラメータφ’Ｇに更新され、方法は（２１００）に戻って繰り返される。停止基準に達したと判定された場合、方法は終了する（２６００）。
【００９１】
訓練された識別器Ｄは、入力信号ｘを受け取って、当該入力信号ｘの性質が現実のように見えるかまたは人工のように見えるかを判定することにより、機械学習システム６０の一部として簡単な方法で使用することができる。例えば、生成器Ｇが訓練中に特定の特色を含む信号を生成するように構成されておりかつ当該特色が現実訓練データに存在しない場合、図１１に示したアルゴリズムで例示されるような、生成器ＧによるＧＡＮセットアップで訓練された識別器Ｄは、当該特定の特色が入力信号ｘに存在するか否かを検出するように訓練される。例えば、識別器Ｄは、入力信号ｘがシステムへの侵入者によって変更されたか否かを検出するように訓練可能である。この場合、出力信号ｙは、当該特定の特色が検出されたか否かにしたがって選択されうる。
【００９２】
図１３は、訓練された拡充識別器ＡＤを同じ目的のために機械学習システム６０の一部として使用する方法の実施形態を示す。
【００９３】
まず（３０００）にて、機械学習システム６０は、入力信号ｘ、例えば画像を受信する。データ列ｓ、好ましくは複数のデータ列ｓが、受信された各入力信号ｘについて生成される。このことは、例えば、図９に示したデータ列生成器Ｒｓを使用することにより実現されうる。
【００９４】
次いで、（３１００）にて、入力信号ｘとデータ列ｓとの各対（ｘ，ｓ）につき、拡充識別器ＡＤが結果ｒを計算する。
【００９５】
次いで、（３２００）にて、上記の各対（ｘ，ｓ）について、生成器Ｇによって生成されうる参照信号ｘｔがデータ列ｓと組み合わされ、拡充識別器ＡＤに供給される。当該入力から、拡充識別器ＡＤが参照結果ｒｔを計算する。代替的に、参照信号ｘｔは、現実訓練サンプルのデータベースＲから取り込まれた現実訓練サンプルｘｄの１つであってもよい。
【００９６】
次いで、（３３００）にて、各入力信号ｘにつき、拡充識別器ＡＤが現実サンプルのタイプであると分類したかまたは人工サンプルのタイプであると分類したかが判断される。このために、各データ列ｓについて、拡充識別器ＡＤから得られた結果ｒと参照結果ｒｔとが比較される。これらが同じである場合、入力信号ｘは、参照信号ｘｔと同じタイプ（すなわち、参照信号ｘｔが現実訓練サンプルのデータベースＲから取り込まれている場合には現実サンプルのタイプ、参照信号ｘｔが生成器Ｇによって生成されている場合には人工サンプルのタイプ）であると判断される。これらが同じでない場合、入力信号ｘは、参照信号ｘｔのタイプとは異なるタイプ（すなわち、参照信号ｘｔが現実訓練サンプルのデータベースＲから取り込まれている場合には人工サンプルのタイプ、参照信号ｘｔが生成器Ｇによって生成されている場合には現実サンプルのタイプ）であると判断される。
【００９７】
複数のデータ列ｓが生成されている場合、入力信号ｘが現実サンプルのタイプであるかまたは人工サンプルのタイプであるかは、全てのデータ列ｓを使用した多数決によって判断されてもよい。任意手段として、十分に明らかな多数が存在しない場合（例えば、判断が、例えば全データ列ｓの３０％など、予め定義された割合を超える多数判断に合致しない場合）、不確かであると判断されてもよい。
【００９８】
最後に、（３４００）にて、入力信号ｘに関する上記の判断に基づいて、異なる行動が採用されてもよい。入力信号ｘが人工サンプルのタイプであると判断された場合（３５００）には、アクチュエータＡの動作が安全モードに移行するように、出力信号ｙおよび対応するアクチュエータ制御信号Ａが選択されうる。入力信号ｘが現実サンプルのタイプ（３６００）であると判断された場合には、アクチュエータＡの動作モードが維持されるように、すなわち、通常モードで動作中であれば通常モードでの動作が継続するように、出力信号ｙが選択されうる。安全モードで動作中であれば安全モードでの動作が継続する。入力信号ｘに関する判断が不確かである場合（３７００）、当該入力信号ｘを動作に対して無視し、例えば出力信号ｙを前回の時間ステップからコピーすることもできる。
【００９９】
図１４に示すのは、アクチュエータ制御システム４０の一部であってもよくまたはそうでなくてもよい機械学習システム６０を訓練するために、生成器Ｇが使用される方法の一実施形態を示すフローチャート図である。
【０１００】
最初に、（４０００）にて、生成器Ｇが、図１０に示した方法によって訓練される。次いで、（４１００）にて、生成器Ｇが、人工訓練サンプルｘのセットを生成するために使用される。対応する望ましい出力信号ｙｓが、適切な方法で生成される。例えば、人工訓練サンプルｘを人間の専門家に提示することができ、また前記人間の専門家によって入力された対応する出力信号ｙｓを受信することもできる。
【０１０１】
（代替的に、人間の専門家によってラベル付けされた全ての人工訓練サンプルｘを有する代わりに、生成器Ｇは、人工訓練サンプルｘと共に望ましい出力信号ｙｓを生成するように訓練されていてもよい。この場合、生成器Ｇは、望ましい出力信号ｙｓを生成するために使用可能である。このような方法によって生成器Ｇを訓練するために、（例えば、人間の専門家によってラベル付けされた）幾つかのラベル付けされた訓練データサンプルから始めて、図９および図１０で上述したようにＧを訓練することが可能であるが、訓練サンプルｘが訓練サンプルｘと対応する出力信号ｙｓとの対（ｘ，ｙｓ）によって全体を通して置き換えられなければならないという相違点がある）。
【０１０２】
人工訓練サンプルｘと対応する出力信号ｙｓとの対（ｘ，ｙｓ）は、訓練データのセットＴに追加され、コンピュータ実装データベースＱに記憶されうる。
【０１０３】
次いで、機械学習システム６０が、訓練システム１４０を使用して訓練されうる（４２００）。アクチュエータ制御システム４０は、次いで、機械学習システム６０によって生成された出力信号ｙに応じて、アクチュエータ１０および／または表示ユニット１０ａを制御することができる（４３００）。これで、方法は終了する。
【図１】
2021536075.tif 000010
【図２】
2021536075.tif 000011
【図３】
2021536075.tif 000012
【図４】
2021536075.tif 000013
【図５】
2021536075.tif 000014
【図６】
2021536075.tif 000015
【図７】
2021536075.tif 000016
【図８】
2021536075.tif 000017
【図９】
2021536075.tif 000018
【図１０】
2021536075.tif 000019
【図１１】
2021536075.tif 000020
【図１２】
2021536075.tif 000021
【図１３】
2021536075.tif 000022
【図１４】
2021536075.tif 000023
【図１５ａ）】
2021536075.tif 000024
【図１５ｂ）】
2021536075.tif 000025
【図１５ｃ）】
2021536075.tif 000026
【手続補正書】
【提出日】令和3年3月16日(2021.3.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
拡充識別器（ＡＤ）および生成器（Ｇ）を訓練するためのコンピュータ実装方法であって、
‐現実訓練サンプル（ｘｄ）と、前記生成器（Ｇ）によって生成された人工訓練サンプル（ｘｇ）とを含む、前記拡充識別器（ＡＤ）を訓練するための訓練セットを用意するステップと、
‐前記訓練セットの少なくとも１つのデータサンプル（ｘ）にデータ列（ｓ）を割り当てるステップと
を含み、
‐一緒に取得された複数のクラスのうちの割り当てられた１つのクラスおよび割り当てられたデータ列（ｓ）が、前記データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかを特徴付けるように、データサンプル（ｘ）と割り当てられたデータ列（ｓ）との各対（ｘ，ｓ）が、複数のクラスのうちの１つのクラスに割り当てられ、
前記方法はさらに、
‐データサンプル（ｘ）と割り当てられたデータ列（ｓ）との対（ｘ，ｓ）から、対応する前記対（ｘ，ｓ）が割り当てられたそれぞれ１つのクラス（ｒｄ）を計算できるように、前記拡充識別器（ＡＤ）を訓練するステップと、
‐前記拡充識別器（ＡＤ）が前述の１つのクラス（ｒｄ）を正しく計算できないものとなるような人工訓練サンプル（ｘｇ）を生成できるように、前記生成器（Ｇ）を訓練するステップと、
を含む、方法。
【請求項２】
前記データ列（ｓ）は、ランダムに選択される、
請求項１記載の方法。
【請求項３】
前記データ列（ｓ）は、予め定義された長さを有し、前記予め定義された長さは、訓練中の前記拡充識別器（ＡＤ）のパフォーマンスの進行に応じて、訓練中に増大される、
請求項１または２記載の方法。
【請求項４】
複数のデータ列（ｓ）が前記訓練セットの各データサンプル（ｘ）に割り当てられて、データサンプル（ｘ）と割り当てられたデータ列（ｓ）との対応する複数の対（ｘ，ｓ）が生成される、
請求項１から３までのいずれか１項記載の方法。
【請求項５】
各データ列（ｓ）は、２つのクラスのうちのいずれか一方に割り当てられており、前記対（ｘ，ｓ）が割り当てられたクラス（ｒｄ）は、前記データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかに応じて、かつ前記データ列（ｓ）が割り当てられたクラス（ｒｄ）に応じて、決定される、
請求項１から４までのいずれか１項記載の方法。
【請求項６】
前記データ列（ｓ）が割り当てられた所与のクラスについて、前記対（ｘ，ｓ）が割り当てられたクラス（ｒｄ）は、前記データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかに応じて異なる、
請求項５記載の方法。
【請求項７】
データ列（ｓ）が割り当てられたクラスは、前記データ列（ｓ）の各ビットに依存する、
請求項５または６記載の方法。
【請求項８】
各クラスに割り当てられるデータ列（ｓ）の数は、全てのクラスについて同じである、
請求項５から７までのいずれか１項記載の方法。
【請求項９】
前記データ列（ｓ）は、前記データ列（ｓ）のチェックサムに応じてクラスに割り当てられる、
請求項５から８までのいずれか１項記載の方法。
【請求項１０】
コンピュータ実装方法であって、
該方法では、請求項１から９までのいずれか１項記載の方法によって訓練された拡充識別器（ＡＤ）を使用して、機械学習システム（６０）に提供された入力信号（ｘ）が現実訓練サンプル（ｘｄ）により類似しているかまたは人工訓練サンプル（ｘｇ）により類似しているかが分類され、少なくとも１つのアクチュエータ（１０）を制御するためのアクチュエータ制御システム（４０）によって生成されるアクチュエータ制御信号（Ａ）が、前記機械学習システム（６０）の出力信号（ｙ）に応じて生成され、
前記出力信号（ｙ）は、前記入力信号（ｘ）が分類されたクラスに応じて生成され、
前記入力信号（ｘ）と生成されたデータ列（ｓ）との対（ｘ，ｓ）は、前記拡充識別器（ＡＤ）に提供され、これにより、前記拡充識別器（ＡＤ）が結果（ｒ）を出力し、
前記現実訓練サンプル（ｘｄ）により類似しているか前記人工訓練サンプル（ｘｇ）により類似しているかが既知である参照信号（ｘｔ）が提供され、
前記参照信号（ｘｔ）と前記生成されたデータ列（ｓ）との参照対（ｘｔ，ｓ）は、前記拡充識別器（ＡＤ）に提供され、これにより、前記拡充識別器（ＡＤ）が参照結果（ｒｔ）を出力し、
前記結果（ｒ）および前記参照結果（ｒｔ）に応じて、特に前記結果（ｒ）と前記参照結果（ｒｔ）との比較の結果に応じて、前記入力信号（ｘ）が前記現実訓練サンプル（ｘｄ）により類似しているかまたは前記人工訓練サンプル（ｘｇ）により類似しているかが判定される、方法。
【請求項１１】
識別器（Ｄ）に提供されたデータサンプル（ｘ）が予め定義可能な２つのクラスのうちのいずれに属するかを識別できるように、前記識別器（Ｄ）を訓練するためのコンピュータ実装方法であって、
‐請求項１から９までのいずれか１項記載の方法によって生成器（Ｇ）を訓練するステップと、
‐現実訓練サンプル（ｘｄ）と、前記生成器（Ｇ）によって生成された人工訓練サンプル（ｘｇ）とを含む第２の訓練セットを用意するステップと、
‐前記第２の訓練セットを使用して、データサンプル（ｘ）が現実訓練サンプル（ｘｄ）であるかまたは人工訓練サンプル（ｘｇ）であるかを識別できるように、前記識別器（Ｄ）を訓練するステップと、
を含む、方法。
【請求項１２】
前記識別器（Ｄ）は、機械学習システム（６０）に提供された入力信号（ｘ）が、前記現実訓練サンプル（ｘｄ）により類似しているかまたは前記人工訓練サンプル（ｘｇ）により類似しているかを分類するために使用され、少なくとも１つのアクチュエータ（１０）を制御するためのアクチュエータ制御システム（４０）によって生成されるアクチュエータ制御信号（Ａ）は、前記機械学習システム（６０）の出力信号（ｙ）に応じて生成され、
前記出力信号（ｙ）は、前記入力信号（ｘ）が分類されたクラスに応じて生成され、
前記入力信号（ｘ）は、前記識別器（Ｄ）に提供され、これにより、前記識別器（Ｄ）が結果（ｒ）を出力し、前記結果（ｒ）に応じて、前記入力信号（ｘ）が、前記現実訓練サンプル（ｘｄ）により類似しているかまたは前記人工訓練サンプル（ｘｇ）により類似しているかが判定される、
請求項１１記載の方法。
【請求項１３】
少なくとも１つのアクチュエータ（１０）を備える物理的なシステムを制御するためのアクチュエータ制御信号（Ａ）を計算する機械学習システム（６０）、特にニューラルネットワークを訓練するための訓練サンプル（ｘ）を生成するためのコンピュータ実装方法であって、
‐請求項１から９までのいずれか１項記載の方法によって生成器（Ｇ）を訓練するステップと、
‐前記生成器（Ｇ）を使用して前記訓練サンプル（ｘ）を生成するステップと、
を含む、方法。
【請求項１４】
少なくとも１つのアクチュエータ（１０）を備える物理的なシステムを制御するためのアクチュエータ制御信号（Ａ）を計算する機械学習システム（６０）、特にニューラルネットワークを訓練するためのコンピュータ実装方法であって、
‐請求項１３記載の方法によって訓練サンプル（ｘ）を生成するステップと、
‐前記訓練サンプル（ｘ）によって前記機械学習システム（６０）を訓練するステップと、
を含む、方法。
【請求項１５】
前記アクチュエータ（１０）は、前記アクチュエータ制御信号（Ａ）にしたがって制御される、
請求項１０または１２または１３または１４記載の方法。
【請求項１６】
前記アクチュエータ（１０）は、少なくとも部分的に自律したロボット（１００）および／または製造機械（２００）および／または自動パーソナルアシスタント（２５０）および／またはアクセス制御システム（３００）を制御する、
請求項１５記載の方法。
【請求項１７】
監視システム（４００）のディスプレイ（１０ａ）が、前記アクチュエータ制御信号（Ａ）にしたがって制御され、前記入力信号（ｘ）が、監視下にあるシーンを検出するセンサ（３０）のセンサ信号（Ｓ）にしたがって提供される、または
撮像システム（５００）のディスプレイ（１０ａ）が、前記アクチュエータ制御信号（Ａ）にしたがって制御され、前記入力信号（ｘ）が、前記撮像システム（５００）の撮像センサ（３０）のセンサ信号（Ｓ）にしたがって提供される、
請求項１０または１２記載の方法。
【請求項１８】
プロセッサ（４５，１４５，１４７）によって実行された場合に、請求項１から１７までのいずれか１項記載の方法の全てのステップを実行するように構成されている、コンピュータプログラム。
【請求項１９】
請求項１８記載のコンピュータプログラムが記憶されている、機械可読記憶媒体（４６，１４６，１４８）。
【請求項２０】
請求項１０記載の方法を実行するように構成されている、アクチュエータ制御システム（４０）。
【請求項２１】
請求項１から９までのいずれか１項記載の方法を実行するように構成されている、敵対的訓練システム（１４１）。
【国際調査報告】
2021536075.tif 000027
2021536075.tif 000028