Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7423905B2 - 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル - Google Patents
[go: Go Back, main page]

JP7423905B2 - 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル - Google Patents

機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル Download PDF

Info

Publication number
JP7423905B2
JP7423905B2 JP2019092212A JP2019092212A JP7423905B2 JP 7423905 B2 JP7423905 B2 JP 7423905B2 JP 2019092212 A JP2019092212 A JP 2019092212A JP 2019092212 A JP2019092212 A JP 2019092212A JP 7423905 B2 JP7423905 B2 JP 7423905B2
Authority
JP
Japan
Prior art keywords
data
machine learning
learning model
pair
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019092212A
Other languages
English (en)
Other versions
JP2020187583A (ja
Inventor
航平 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019092212A priority Critical patent/JP7423905B2/ja
Priority to PCT/JP2020/018932 priority patent/WO2020230777A1/ja
Publication of JP2020187583A publication Critical patent/JP2020187583A/ja
Application granted granted Critical
Publication of JP7423905B2 publication Critical patent/JP7423905B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Description

本明細書は、機械学習モデルや該機械学習モデルを用いてデータを生成する技術に関する。
近年、注目される機械学習モデルとして、敵対的生成ネットワーク(GANs: Generative Adversarial Networks)が知られている。敵対的生成ネットワークでは、ディスクリミネータとジェネレータと呼ばれる2つのネットワークが利用される。ディスクリミネータは実データと偽データとを識別することを目的としてトレーニングされ、ジェネレータは、ディスクリミネータが上述の識別を誤るような偽データを生成することを目的としてトレーニングされる。
非特許文献1には、条件付き敵対的生成ネットワークを利用して、特定の区分(ドメインと呼ばれる)に属する画像(例えば、線画)を、他の区分に属する画像(例えば、写真)に変換する技術が開示されている。この技術では、ジェネレータは、入力される画像をエンコードするエンコーダと、エンコードして得られたデータをデコードして変換後の画像を生成するデコーダと、を備えている。
Isola, P. et al "Image-to-Image Translation with Conditional Adversarial Networks." IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017) Taigman, Y. et al "Unsupervised cross-domain image generation." arXivpreprint arXiv:1611.02200 (2016).
上記技術では、入力データと偽データとディスクリミネータによる識別結果を用いてジェネレータとを用いてジェネレータのトレーニングが行われるが、ジェネレータのトレーニングのさらなる改善が求められている。
本明細書は、機械学習モデルを効果的にトレーニングして、機械学習モデルを用いて入力データの特徴が適切に反映されたデータを生成する技術を開示する。
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]機械学習モデルのトレーニング方法であって、入力データを第1の機械学習モデルに入力することによって前記入力データに対応する偽データを出力させる第1工程であって、前記第1の機械学習モデルは、前記入力データに対して、次元数を削減する次元削減処理を実行して第1の特徴データを生成するエンコーダと、前記第1の特徴データに対して、次元数を復元する次元復元処理を実行して前記偽データを生成するデコーダと、を含み、前記第1の機械学習モデルは、複数個の第1の演算パラメータを用いて前記次元削減処理および前記次元復元処理を実行する、前記第1工程と、第1のペアと第2のペアとを含む複数個のデータペアを第2の機械学習モデルに入力して、前記複数個のデータペアに対応する複数個の識別データを出力させる第2工程であって、前記第1のペアは、前記入力データと、前記入力データに対応する実データと、から成る一対のデータであり、前記第2のペアは、前記入力データと、前記入力データに対応する前記偽データと、から成る一対のデータであり、前記識別データは、対応する前記データペアが前記第1のペアと前記第2のペアとのいずれであるかを識別した結果を示し、前記第2の機械学習モデルは、複数個の第2の演算パラメータを用いた演算を実行して前記識別データを生成する、前記第2工程と、前記識別データと前記識別データの目標値を示す教師データとを用いて、前記識別データと前記教師データとの差分が小さくなるように、前記複数個の第2の演算パラメータを調整する第3工程と、前記偽データに対して、前記エンコーダによる前記次元削減処理を実行して第2の特徴データを生成する第4工程と、前記識別データと前記教師データと前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとの差分が大きくなり、かつ、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第5工程と、を備え、前記第1工程~前記第5工程を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする、方法。
上記構成によれば、第1の機械学習モデルの第1の演算パラメータは、識別データと教師データとの差分が大きくなるように調整されるだけでなく、第1の特徴データと第2の特徴データとを用いて、これらの特徴データの差分が小さくなるように調整される。この結果、入力データの特徴が第1の特徴データに適切に反映されるように、第1の演算パラメータを調整できる。従って、第1の機械学習モデルを効果的にトレーニングできるので、上記方法を用いてトレーニングされた機械学習モデルを用いれば、入力データの特徴が反映された適切な偽データを生成できる。
[適用例2]
適用例1に記載の方法であって、さらに、
前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとを用いずに、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第6工程を備え、
前記第1工程と前記第4工程と前記第6工程とを複数回繰り返すことによって、前記第1の機械学習モデルをトレーニングした後に、前記第1工程~前記第5工程を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする、方法。
[適用例]機械学習モデルのトレーニング方法であって、入力データを第1の機械学習モデルに入力することによって前記入力データに対応する偽データを出力させる第1工程であって、前記第1の機械学習モデルは、前記入力データに対して、次元数を削減する次元削減処理を実行して第1の特徴データを生成するエンコーダと、前記第1の特徴データに対して、次元数を復元する次元復元処理を実行して前記偽データを生成するデコーダと、を含み、前記第1の機械学習モデルは、複数個の第1の演算パラメータを用いて前記次元削減処理および前記次元復元処理を実行する、前記第1工程と、第1のペアと第2のペアとを含む複数個のデータペアを第2の機械学習モデルに入力して、前記複数個のデータペアに対応する複数個の識別データを出力させる第2工程であって、前記第1のペアは、前記入力データと、前記入力データに対応する実データと、から成る一対のデータであり、前記第2のペアは、前記入力データと、前記入力データに対応する前記偽データと、から成る一対のデータであり、前記識別データは、対応する前記データペアが前記第1のペアと前記第2のペアとのいずれであるかを識別した結果を示し、前記第2の機械学習モデルは、複数個の第2の演算パラメータを用いた演算を実行して前記識別データを生成する、前記第2工程と、前記識別データと前記識別データの目標値を示す教師データとを用いて、前記識別データと前記教師データとの差分が小さくなるように、前記複数個の第2の演算パラメータを調整する第3工程と、前記偽データに対して、前記エンコーダによる前記次元削減処理を実行して第2の特徴データを生成する第4工程と、前記識別データと前記教師データとを用いて、前記識別データと前記教師データとの差分が大きくなるように、前記複数個の第1の演算パラメータを調整する第5工程と、前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとを用いずに、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第6工程と、を備え、前記第1工程と前記第4工程と前記第6工程とを複数回繰り返すことによって、前記第1の機械学習モデルをトレーニングした後に、前記第1工程~前記第5工程を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする、方法。
上記構成によれば、第1の特徴データと第2の特徴データとを用いて、これらの特徴データの差分が小さくなるように第1の機械学習モデルをトレーニングした後に、第1の機械学習モデルと第2の機械学習モデルとを並行してトレーニングする。この結果、入力データの特徴が第1の特徴データに適切に反映されるように、第1の機械学習モデルを効果的にトレーニングできるので、上記方法を用いてトレーニングされた機械学習モデルを用いれば、入力データの特徴が反映された適切な出力データを生成できる。
[適用例4]
適用例2または3のいずれかに記載の方法であって、
前記第6工程において、さらに、特定の前記入力データに対応する前記実データおよび前記偽データを用いて、前記実データと前記偽データとの差分が小さくなるように、前記第1の演算パラメータを調整する、方法。
[適用例5]
適用例1~4のいずれかに記載の方法であって、
前記第5工程において、さらに、特定の前記入力データに対応する前記実データおよび前記偽データを用いて、前記実データと前記偽データとの差分が小さくなるように、前記第1の演算パラメータを調整する、方法。
[適用例]データ生成装置であって、学習済みの第1の機械学習モデルを用いて入力データに対応する出力データを生成する生成部と、前記出力データを出力する出力部と、を備え、前記第1の機械学習モデルは、前記入力データに対して、次元数を削減する次元削減処理を実行して第1の特徴データを生成するエンコーダと、前記第1の特徴データに対して、次元数を復元する次元復元処理を実行して前記出力データを生成するデコーダと、を含み、複数個の第1の演算パラメータを用いて前記次元削減処理および前記次元復元処理を実行するモデルであり、学習済みの前記第1の機械学習モデルの前記複数個の第1の演算パラメータは、トレーニング処理によって調整済みであり、前記トレーニング処理は、前記入力データを第1の機械学習モデルに入力することによって前記入力データに対応する前記出力データを偽データとして出力させる第1処理と、第1のペアと第2のペアとを含む複数個のデータペアを第2の機械学習モデルに入力して、前記複数個のデータペアに対応する複数個の識別データを出力させる第2処理であって、前記第1のペアは、前記入力データと、前記入力データに対応する実データと、から成る一対のデータであり、前記第2のペアは、前記入力データと、前記入力データに対応する前記偽データと、から成る一対のデータであり、前記識別データは、対応する前記データペアが前記第1のペアと前記第2のペアとのいずれであるかを識別した結果を示し、前記第2の機械学習モデルは、複数個の第2の演算パラメータを用いた演算を実行して前記識別データを生成する、前記第2処理と、前記識別データと前記識別データの目標値を示す教師データとを用いて、前記識別データと前記教師データとの差分が小さくなるように、前記複数個の第2の演算パラメータを調整する第3処理と、前記偽データに対して、前記エンコーダによる前記次元削減処理を実行して第2の特徴データを生成する第4処理と、前記識別データと前記教師データと前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとの差分が大きくなり、かつ、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第5処理と、を備え、前記第1処理~前記第5処理を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする処理である、データ生成装置。
上記構成によれば、第1の機械学習モデルの第1の演算パラメータは、トレーニング処理において、識別データと教師データとの差分が大きくなるように調整されるだけでなく、第1の特徴データと第2の特徴データとを用いて、これらの特徴データの差分が小さくなるように調整されている。これによって、入力データの特徴が第1の特徴データに適切に反映されるように、第1の機械学習モデルが効果的にトレーニングされている。従って、データ生成装置は、機械学習モデルを用いて、入力データの特徴が反映された適切な出力データを生成できる。
[適用例]データ生成装置であって、学習済みの第1の機械学習モデルを用いて入力データに対応する出力データを生成する生成部と、前記出力データを出力する出力部と、を備え、前記第1の機械学習モデルは、前記入力データに対して、次元数を削減する次元削減処理を実行して第1の特徴データを生成するエンコーダと、前記第1の特徴データに対して、次元数を復元する次元復元処理を実行して前記出力データを生成するデコーダと、を含み、複数個の第1の演算パラメータを用いて前記次元削減処理および前記次元復元処理を実行するモデルであり、学習済みの前記第1の機械学習モデルの前記複数個の第1の演算パラメータは、トレーニング処理によって調整済みであり、前記トレーニング処理は、前記入力データを第1の機械学習モデルに入力することによって前記入力データに対応する前記出力データを偽データとして出力させる第1処理と、第1のペアと第2のペアとを含む複数個のデータペアを第2の機械学習モデルに入力して、前記複数個のデータペアに対応する複数個の識別データを出力させる第2処理であって、前記第1のペアは、前記入力データと、前記入力データに対応する実データと、から成る一対のデータであり、前記第2のペアは、前記入力データと、前記入力データに対応する前記偽データと、から成る一対のデータであり、前記識別データは、対応する前記データペアが前記第1のペアと前記第2のペアとのいずれであるかを識別した結果を示し、前記第2の機械学習モデルは、複数個の第2の演算パラメータを用いた演算を実行して前記識別データを生成する、前記第2処理と、前記識別データと前記識別データの目標値を示す教師データとを用いて、前記識別データと前記教師データとの差分が小さくなるように、前記複数個の第2の演算パラメータを調整する第3処理と、前記偽データに対して、前記エンコーダによる前記次元削減処理を実行して第2の特徴データを生成する第4処理と、前記識別データと前記教師データとを用いて、前記識別データと前記教師データとの差分が大きくなるように、前記複数個の第1の演算パラメータを調整する第5処理と、前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとを用いずに、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第6処理と、を備え、前記第1処理と前記第4処理と前記第6処理とを複数回繰り返すことによって、前記第1の機械学習モデルをトレーニングした後に、前記第1処理~前記第5処理を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする処理である、データ生成装置。
上記構成によれば、第1の機械学習モデルは、第1の特徴データと第2の特徴データとを用いて、これらの特徴データの差分が小さくなるようにトレーニングされた後に、第2の機械学習モデルとを並行してさらにトレーニングされている。この結果、第1の機械学習モデルは、入力データの特徴が第1の特徴データに適切に反映されるように、効果的にトレーニングされている。従って、データ生成装置は、機械学習モデルを用いて、入力データの特徴が反映された適切な偽データを生成できる。
[適用例8]
適用例6または7に記載のデータ生成装置であって、
前記入力データは、第1の属性と第2の属性を有し、かつ、第3の属性を有しない画像データであり、
前記出力データは、前記第1の属性と前記第3の属性を有し、かつ、前記第2の属性を有しない画像データである、データ生成装置。
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、上記トレーニング方法を実行するトレーニング装置、学習済みの機械学習モデル、これらの方法や装置を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
本実施例のデータ生成装置200の構成を示すブロック図である。 画像生成処理のフローチャートである。 入力画像と出力画像との一例を示す図である。 生成ネットワークGNの構成を示すブロック図である。 エンコーダECの構成を示すブロック図である。 デコーダDCの構成を示すブロック図である。 本実施例のトレーニング装置100の構成を示すブロック図である。 入力画像と実画像との一例を示す図である。 本実施例のネットワークシステム1000の概念図である。 識別ネットワークDNの構成を示すブロック図である。 トレーニング処理のフローチャートである。 事前処理のフローチャートである。 メイン処理のフローチャートである。
A.実施例
A-1.データ生成装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、本実施例のデータ生成装置200の構成を示すブロック図である。
データ生成装置200は、パーソナルコンピュータやスマートフォンなどの計算機である。データ生成装置200は、データ生成装置200のコントローラとしてのCPU210と、RAMなどの揮発性記憶装置220と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置230と、液晶ディスプレイなどの表示部240と、キーボードやマウスなどの操作部250と、通信インタフェース(IF)270と、を備えている。通信インタフェース270は、外部機器(例えば、プリンタ300)と接続するためのインタフェースである。通信インタフェース270は、例えば、プリンタ300が接続されたネットワークNWに接続するための有線または無線のインタフェースを含む。
揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置230には、コンピュータプログラムPGgと、後述する複数個の入力データIDを含む入力データ群IGと、が格納されている。揮発性記憶装置220や不揮発性記憶装置230は、データ生成装置200の内部メモリである。
コンピュータプログラムPGgは、例えば、プリンタ300の製造者が運用するサーバからダウンロードされる形態で提供される。これに代えて、コンピュータプログラムPGgは、DVD-ROMなどに格納される形態で提供されてもよい。CPU210は、コンピュータプログラムPGgを実行することにより、後述する画像生成処理を実行する。
コンピュータプログラムPGgは、後述する生成ネットワーク(generator)GNの機能をCPU210に実現させるコンピュータプログラムである生成ネットワークプログラムGNMをモジュールとして含んでいる。
プリンタ300は、インクジェット方式や電子写真方式の印刷装置であり、印刷材としてのインクやトナーを用いて用紙などの印刷媒体上に画像を印刷する。
A-2.画像生成処理
図2は、画像生成処理のフローチャートである。この画像生成処理は、例えば、データ生成装置200において、ユーザの開始指示に基づいて開始される。
S10では、CPU210は、1個の入力データIDを取得する。この入力データIDは、例えば、不揮発性記憶装置230に格納された入力データ群IGの中から、ユーザの指定に基づいて選択された1個のデータである。入力データIDは、入力画像IIを示す画像データである。
図3は、入力画像と出力画像との一例を示す図である。本実施例の入力画像IIは、第1種の書体(フォント)で特定の文字を示す画像である。入力画像IIは、縦方向および横方向にマトリクス状に配列された(H×W)個の画素を含む。Hは、入力画像IIの縦方向の画素数であり、Wは、入力画像IIの横方向の画素数である。本実施例では、H=W=256である。例えば、図3(A)の入力画像IIaは、第1種の書体で「A」の文字を示す画像である。図3(B)の入力画像IIbは、第1種の書体で「B」の文字を示す画像である。
本実施例では、入力データIDは、複数個の画素を含む画像を示すビットマップデータであり、具体的には、RGB値によって画素ごとの色を表すRGB画像データである。RGB値は、3個の色成分の階調値(以下、成分値とも呼ぶ)、すなわち、R値、G値、B値を含むRGB表色系の色値である。R値、G値、B値は、例えば、所定の階調数(例えば、256)の階調値である。
S20では、CPU210は、入力データIDを生成ネットワークGNに入力して、入力データIDに対応する出力データODを生成させる。出力データODは、出力画像OIを示す画像データであり、入力データIDと同様にRGB画像データである。本実施例の出力画像OIは、第1種の書体とは異なる第2種の書体で、対応する入力画像IIと同一の文字を示す画像である。例えば、図3(A)の出力画像OIaは、入力画像IIaに対応する出力画像であり、第2種の書体で「A」の文字を示す画像である。図3(B)の出力画像OIbは、入力画像IIbに対応する出力画像であり、第2種の書体で「B」の文字を示す画像である。本実施例では、出力画像OIのサイズは、入力画像IIのサイズと同じである。生成ネットワークGNの具体的な構成については後述する。
S30では、CPU210は、生成された出力データODを出力する。例えば、CPU210は、出力データODを用いて出力画像OIを示す印刷データを生成して、プリンタ300に送信する。プリンタ300は、印刷データを用いて出力画像OIを印刷媒体上に印刷する。あるいは、CPU210は、出力データODを用いて出力画像OIを表示部240に表示する。
A-3.生成ネットワークGNの構成
図4は、生成ネットワークGNの構成を示すブロック図である。生成ネットワークGNは、エンコーダECとデコーダDCとを含んでいる。
A-3-1.エンコーダECの構成
エンコーダECは、入力データIDに対して、複数個の演算パラメータPeを用いて、次元削減処理を実行して、入力データIDの特徴(すなわち、入力画像IIの特徴)を示す特徴データCDを生成する。本実施例では、入力データIDは、(256×256)個の画素のそれぞれの3個の成分値(R値、G値、B値)を含むので、(256×256×3)個の値を含むデータ、すなわち、(256×256×3)次元のデータである。特徴データCDは、本実施例では、(1×1×512)個の値を含むデータ、すなわち、512次元のデータである。このように、次元削減処理では、入力データIDの次元数が削減される。
図5は、エンコーダECの構成を示すブロック図である。エンコーダECは、入力層EL_0と、複数個の畳込層EL_1~畳込層EL_8を有するニューラルネットワークである。
入力層EL_0は、入力データIDが入力される層である。1番目の畳込層EL_1には、入力層EL_0に入力された入力データIDがそのまま入力される。畳込層EL_1は、(256×256×3)次元の入力データIDに対して、後述する演算処理を実行して(A×B×C)次元のデータを生成する(A、B、Cは正の整数)。
k番目(kは、2~8の整数)の畳込層EL_kには、(k-1)番目の畳込層EL_(k-1)によって生成される(Ak-1×Bk-1×Ck-1)次元のデータに対して、所定の後処理(後述)を実行して得られる(Ak-1、Bk-1、Ck-1)次元の処理済データが入力される。畳込層EL_kは、(Ak-1×Bk-1×Ck-1)次元の処理済データに対して、後述する演算処理を実行して(A×B×C)次元のデータを生成する(A、B、Cは正の整数)。
各畳込層EL_1~EL_8が実行する演算処理は、畳込処理(convolution)とバイアスの加算処理とを含む。畳込処理は、入力されたデータに対して、(p×q×r)次元のs個のフィルタを順次に適用して入力されたデータとフィルタとの相関を示す相関値を算出する処理である。各フィルタを適用する処理では、フィルタをスライドさせながら複数個の相関値が順次に算出される。1個のフィルタは、(p×q×r)個の重みを含んでいる。バイアスの加算処理は、算出された相関値に、1個のフィルタに対して1個ずつ準備されたバイアスを加算する処理である。s個のフィルタに含まれる(p×q×r×s)個の重みと、s個のフィルタに対応するs個のバイアスと、は、上述した複数個の演算パラメータPeであり、後述するトレーニング処理において更新される。
各畳込層EL_1~EL_8によって生成されるデータの各値は、上述した相関値にバイアスを加えた値である。各畳込層EL_1~EL_8によって生成されるデータに含まれるデータの個数(例えば、畳込層EL_1の場合は(A×B×C))は、畳込処理におけるストライド(フィルタをスライドさせる量)と、フィルタの個数sと、によって決定される。
畳込層EL_1によって生成されるデータの各値は、上述した後処理として、活性化関数に入力されて変換される。本実施例では、活性化関数には、いわゆるLeakyReLU(Leaky Rectified Linear Unit)が用いられる。
畳込層EL_2~畳込層EL_8によって生成されるデータの各値は、上述した後処理として、バッチノーマライゼーション(Batch Normalization)によって変換された後に、さらに、活性化関数に入力されて変換される。バッチノーマライゼーションは、後述するトレーニング処理では、用いられる入力データの集合(バッチ)分について、各値の平均と分散を計算して、各値を正規化する処理である。画像生成処理では、トレーニング処理時にバッチごとに算出された平均と分散の移動平均値を用いて、各値が正規化される。
畳込層EL_8によって生成されるデータに対して、上述した後処理を実行して得られる処理済データが、上述した特徴データCDである。
なお、本実施例にて、各畳込層EL_1~EL_8によって生成されるデータの次元数(A×B×C)~(A×B×C)は、以下の通りである。
(A×B×C)=(128×128×64)
(A×B×C)=(64×64×128)
(A×B×C)=(32×32×256)
(A×B×C)=(16×16×512)
(A×B×C)=(8×8×512)
(A×B×C)=(4×4×512)
(A×B×C)=(2×2×512)
(A×B×C)=(1×1×512)
A-3-2.デコーダDCの構成
デコーダDCは、エンコーダECによって生成された特徴データCDに対して、複数個の演算パラメータPdを用いて、次元復元処理を実行して、上述した出力データODを生成する。本実施例では、特徴データCDは、上述したように(1×1×512)個の値を含むデータ、すなわち、512次元のデータである。本実施例では、出力データODは、入力データIDと同様に、(256×256×3)個の値を含むデータ、すなわち、(256×256×3)次元のデータである。本実施例では、このように、本実施例の次元復元処理では、特徴データCDの次元数が復元される。
図6は、デコーダDCの構成を示すブロック図である。デコーダDCは、複数個の転置畳込層DL_1~転置畳込層DL_8を有するニューラルネットワークである。
1番目の転置畳込層DL_1には、特徴データCDが入力される。転置畳込層DL_1は、特徴データCDに対して、後述する演算処理を実行して(D×E×F)次元のデータを生成する(D、E、Fは正の整数)。
m番目(mは、2~8の整数)の転置畳込層DL_mには、(m-1)番目の転置畳込層DL_(m-1)によって生成される(Dm-1、Em-1、Fm-1)次元のデータに対して所定の後処理(後述)を実行して得られる(Dm-1、Em-1、Fm-1)次元の処理済データが入力される。さらに、m番目の転置畳込層DL_mには、エンコーダECの(9-m)番目の畳込層EL_(9-m)によって生成されるデータに対して上述した後処理を実行して得られる(A9-m、B9-m、C9-m)次元の処理済みデータが入力される。例えば、図5、図6に示すように、デコーダDCの転置畳込層DL_2には、エンコーダECのEL_7によって生成されるデータに基づく処理済みデータが入力され、転置畳込層DL_4には、エンコーダECのEL_5によって生成されるデータに基づく処理済みデータが入力される。したがって、m番目(mは、2~8の整数)の転置畳込層DL_mには、{(Dm-1、Em-1、Fm-1)+(A9-m、B9-m、C9-m)}次元の処理済データが入力される。転置畳込層DL_mは、入力される処理済データに対して、後述する演算処理を実行して(D×E×F)次元のデータを生成する(D、E、Fは正の整数)。
各転置畳込層DL_1~DL_8が実行する演算処理は、転置畳込処理(transposed convolution)とバイアスの加算処理とを含む。転置畳込処理は、入力されたデータに対して、ストライドに応じて適宜に値(例えばゼロの値)を追加して次元数を増加させた後に、上述した畳込処理と同様に(p×q×r)次元のフィルタを用いた畳み込み演算を行う処理である。バイアスの加算処理は、転置畳込演算で算出された相関値に、1個のフィルタに対して1個ずつ準備されたバイアスを加算する処理である。s個のフィルタに含まれる(p×q×r×s)個の重みと、s個のフィルタに対応するs個のバイアスと、は、上述した複数個の演算パラメータPdであり、後述するトレーニング処理において更新される。
各転置畳込層DL_1~DL_8によって生成されるデータの各値は、上述した相関値にバイアスを加えた値である。各転置畳込層DL_1~DL_8によって生成されるデータに含まれるデータの個数(例えば、転置畳込層DL_1の場合は(D×E×F))は、転置畳込処理におけるストライド(ゼロ等の値を追加する量)と、フィルタの個数sと、によって決定される。
転置畳込層DL_1~DL_3によって生成されるデータの各値は、上述した後処理として、上述したバッチノーマライゼーションによって変換される。そして、トレーニング処理では、バッチノーマライゼーションによって変換された各値は、さらに後処理として、ドロップアウトよって変換された後に、活性化関数に入力されて変換される。ドロップアウトは、過学習を抑制するために、ランダムに選択された一部の値を無効化(0にする)する処理である。活性化関数には、いわゆるReLU(Rectified Linear Unit)が用いられる。画像生成処理では、ドロップアウト処理は行われず、バッチノーマライゼーションによって変換された各値は、活性化関数に入力されて変換される。
転置畳込層DL_4~DL_7によって生成されるデータの各値は、上述した後処理として、上述したバッチノーマライゼーションによって変換され、その後に活性化関数に入力されて変換される。転置畳込層DL_4~DL_7の後処理では、トレーニング処理でも画像生成処理でもドロップアウトは行われない。
転置畳込層DL_8によって生成される(D×E×F)次元のデータが、上述した出力データODである。したがって、転置畳込層DL_8によって生成されるデータの次元数(D×E×F)は、出力データODの次元数(256×256×3)と等しい。
なお、本実施例にて、各転置畳込層DL_1~DL_8によって生成されるデータの次元数(D×E×F)~(D×E×F)は、以下の通りである。
(D×E×F)=(2×2×512)
(D×E×F)=(4×4×512)
(D×E×F)=(8×8×512)
(D×E×F)=(16×16×512)
(D×E×F)=(32×32×256)
(D×E×F)=(64×64×128)
(D×E×F)=(128×128×64)
(D×E×F)=(256×256×3)
A-4.生成ネットワークGNのトレーニング
上述した生成ネットワークGNは、入力データIDが入力された場合に、所望の出力データODを生成できるように、トレーニングされている。以下では、生成ネットワークGNのトレーニングについて説明する。
A-4-1.トレーニング装置の構成
図7は、本実施例の生成ネットワークGNのトレーニングを実行するトレーニング装置100の構成を示すブロック図である。
トレーニング装置100は、パーソナルコンピュータやサーバなどの計算機である。トレーニング装置100は、トレーニング装置100のコントローラとしてのCPU110と、RAMなどの揮発性記憶装置120と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置130と、液晶ディスプレイなどの表示部140と、キーボードやマウスなどの操作部150と、外部機器(例えば、プリンタ300)と接続するための通信インタフェース(IF)170と、を備えている。
揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、コンピュータプログラムPGtと、トレーニング用の複数個の入力データIDを含む入力データ群IGと、複数個の実データRDを含む実データ群RGと、教師データLDと、が格納されている。揮発性記憶装置120や不揮発性記憶装置130は、トレーニング装置100の内部メモリである。
コンピュータプログラムPGtは、例えば、プリンタ300の製造者が運用するサーバからダウンロードされる形態で提供される。これに代えて、コンピュータプログラムPGtは、DVD-ROMなどに格納される形態で提供されてもよい。CPU110は、コンピュータプログラムPGtを実行することにより、後述するトレーニング処理を実行する。
トレーニング処理で用いられる入力データIDは、上述した画像生成処理で用いられる入力データIDと同様のRGB画像データである。入力データIDによって示される入力画像IIは、上述したように、第1の書体(フォント)で特定の文字を示す画像である。実データRDは、上述した画像生成処理で生成される出力データODと同様のRGB画像データである。複数個の実データRDは、入力データ群IGに含まれる複数個の入力データIDのそれぞれに一対一で対応している。本実施例では、実データRDによって示される実画像RIは、第2の書体で、対応する入力画像IIと同一の文字を示す画像である。
図8は、入力画像と実画像との一例を示す図である。図8(A)の入力画像IIcは、第1の書体で「C」の文字を示す画像である。図8(A)の入力画像IIcに対応する実画像RIcは、第2の書体で「C」の文字を示す画像である。図8(B)の入力画像IIdは、第1種の書体で「d」の文字を示す画像である。図8(B)の入力画像IIdに対応する実画像RIdは、第2の書体で「d」の文字を示す画像である。
入力データIDと実データRDとのペアは、トレーニングを実行する作業者によって、所定数、例えば、1000個準備される。
教師データLDは、後述する識別ネットワークDNが出力すべき識別データDDの目標値を示すデータである。教師データLDは、トレーニングを実行する作業者によって準備される。教師データLDについてはさらに後述する。
A-4-2.ネットワークシステムの構成
図9は、本実施例のネットワークシステム1000の概念図である。ネットワークシステム1000は、生成ネットワークGNをトレーニングするために利用されるシステムであり、上述した生成ネットワークGNに加えて、識別ネットワーク(discriminator)DNを含んでいる。生成ネットワークGNと識別ネットワークDNとは、いわゆる敵対的生成ネットワーク(GANs(Generative adversarial networks))を構成している。
識別ネットワークDNには、入力データIDと、その入力データIDに対応する実データと、から成る一対のデータ(実データペアPrとも呼ぶ)が入力される。さらに、識別ネットワークDNには、入力データIDと、その入力データIDに対応する出力データODと、から成る一対のデータ(偽データペアPfとも呼ぶ)が入力される。入力データIDに対応する出力データODは、その入力データを生成ネットワークGNに入力することによって生成される出力データODを意味する。また、敵対的生成ネットワークでは、出力データODは「偽データOD」とも呼ばれる。ここで、特定の実データRDに対応する入力データIDを生成ネットワークGNに入力することによって生成される偽データODを、該特定の実データRDに対応する偽データODとも呼ぶ。
識別ネットワークDNは、実データペアPrと偽データペアPfとのいずれかが入力されると、入力されたデータペアの真偽を識別する。すなわち、識別ネットワークDNは、は、入力されたデータペアに対して、複数個の演算パラメータPdnを用いた演算処理を実行して、入力されたデータペアが実データペアと偽データペアとのいずれであるかを識別した結果を示す識別データDDを出力する。
識別データDDは、本実施例では、(30×30×1)個の値を含む(30×30×1)次元のデータである。識別ネットワークDNは、実データペアPrが入力される場合には、入力されたデータペアが実データペアPrであることを示す識別データDDを出力し、偽データペアPfが入力される場合には、入力されたデータペアが偽データペアPfであることを示す識別データDDを出力するようにトレーニングされる。
このために、本実施例では、教師データLD(図7)として、実データペアPrに対応する教師データLDrと、偽データペアPfに対応する教師データLDfと、の2種類が準備される。教師データLDrは、入力されたデータペアが実データペアPrであることを示すデータであり、全ての値が「1」である(30×30×1)次元のデータである。教師データLDfは、入力されたデータペアが偽データペアPfであることを示すデータであり、全ての値が「0」である(30×30×1)次元のデータである。
仮に、識別データDDを1次元のデータとする場合には、識別ネットワークDNにおいて1次元まで次元数を削減する過程で、入力された実データや偽データによって示される画像を大域的な特徴を示す情報が失われる可能性がある。この場合には、識別ネットワークDNのトレーニングが進まなくなる可能性がある。また、識別データDDを1次元のデータとする場合には、識別ネットワークDNの層数、ひいては、演算パラメータの個数が過度に大きくなり、トレーニングに要する時間が過度に長くなる。本実施例では、識別データDDを(30×30×1)次元のデータとすることによって、入力されたデータペアの真偽を識別するための情報が失われることを抑制し、かつ、迅速なトレーニングを実現することができる。
図10は、識別ネットワークDNの構成を示すブロック図である。識別ネットワークDNは、入力層L_0と、複数個の畳込層L_1~畳込層L_5を有するニューラルネットワークである。
入力層L_0は、偽データペアPfと実データペアPrとのいずれかが入力される層である。1番目の畳込層L_1には、入力層L_0に入力されたデータペアがそのまま入力される。データペアを構成する入力データIDの次元数は(256×256×3)であり、データペアを構成する実データRDまたは偽データODの次元数は(256×256×3)である。このため、データペアの次元数は、(256×256×6)である。畳込層L_1は、(256×256×6)次元の入力データIDに対して、後述する演算処理を実行して(G×H×I)次元のデータを生成する(G、H、Iは正の整数)。
n番目(nは、2~5の整数)の畳込層L_nには、(n-1)番目の畳込層L_(n-1)によって生成される(Gn-1×Hn-1×In-1)次元のデータに対して、所定の後処理(後述)を実行して得られる(Gn-1、Hn-1、In-1)次元の処理済データが入力される。畳込層L_nは、(Gn-1×Hn-1×In-1)次元の処理済データに対して、後述する演算処理を実行して(G×H×I)次元のデータを生成する(G、H、Iは正の整数)。
各畳込層L_1~L_5が実行する演算処理は、エンコーダECの畳込層の演算処理と同様に、畳込処理(convolution)とバイアスの加算処理とを含む。畳込処理で用いられるフィルタに含まれる複数個の重みと、各フィルタに対応するバイアスと、は、上述した複数個の演算パラメータPeであり、後述するトレーニング処理において更新される。なお、畳込処理では、生成されるデータの次元数を調整するためにデータを補うゼロパディングが適宜に行われる。
畳込層L_1によって生成されるデータの各値は、上述した後処理として、活性化関数に入力されて変換される。本実施例では、活性化関数には、いわゆるLeakyReLU(Leaky Rectified Linear Unit)が用いられる。
畳込層L_2~畳込層L_4によって生成されるデータの各値は、上述した後処理として、バッチノーマライゼーション(Batch Normalization)によって変換された後に、さらに、活性化関数に入力されて変換される。バッチノーマライゼーションは、上述したデコーダDCの説明において説明した通りである。
畳込層L_5によって生成される(G×H×I)次元のデータが、上述した識別データDDである。したがって、畳込層L_5によって生成されるデータの次元数(G×H×I)は、識別データDDの次元数(30×30×1)と等しい。
なお、本実施例にて、各畳込層L_1~L_8によって生成されるデータの次元数(G×H×I)~(G×H×I)は、以下の通りである。
(G×H×I)=(128×128×64)
(G×H×I)=(64×64×128)
(G×H×I)=(32×32×256)
(G×H×I)=(31×31×512)
(G×H×I)=(30×30×1)
本実施例では、識別ネットワークDNおよび生成ネットワークGNをトレーニングするために、識別データDDと教師データLDとの間の誤差値Eganが用いられる。誤差Eganは、本実施例では、シグモイドクロスエントロピー誤差が用いられる。例えば、Eganは、以下の式(1)を用いて算出される。誤差値Eganは、識別データDDが、対応する教師データLDに近づくほど大きくなる。換言すれば、誤差値Eganは、識別データDDと、対応する教師データLDと、の差分が小さくなるほど大きくなる。
Figure 0007423905000001
ここで、pは、識別データDDおよび教師データLDの次元数(本実施例では、p=(30×30×1))である。aは、識別データDDの各値をシグモイド関数に入力して正規化した値であり、tは、値aに対応する教師データLDの各値(上述したように0または1)である。
本実施例では、生成ネットワークGNをトレーニングするために、誤差値Eganに加えて、2種類の誤差値E1と、E2とが用いられる。誤差値E1は、上述した入力データIDの特徴データCDと、該入力データIDに対応する偽データODの特徴データCDfと、の間の誤差を示す。偽データODの特徴データCDfは、入力データIDを生成ネットワークGNに入力することによって生成された偽データODを、生成ネットワークGNのエンコーダECに入力することによって、生成されるデータである。すなわち、特徴データCDを生成する際に入力データIDに対して実行される演算と同じ演算を偽データODに対して実行することによって、特徴データCDfが生成される。誤差値E1には、平均二乗誤差(MSE(Mean Squared Error))が用いられる。例えば、誤差値E1は、以下の式(2)を用いて算出される。
Figure 0007423905000002
ここで、qは、特徴データCD、CDfの次元数(本実施例では、q=(1×1×512))である。bは、特徴データCDの各値であり、cは、値bに対応する特徴データCDfの各値である。誤差値E1は、特徴データCDfが特徴データCDに近いほど小さくなる。換言すれば、誤差値E1は、特徴データCDfと特徴データCDとの差分が小さくなるほど小さくなる。
誤差値E2は、実データRDと、実データRDに対応する偽データODと、の間の誤差を示す。誤差値E2には、例えば、平均絶対誤差(MAE(Mean Absolute Error))が用いられる。例えば、誤差値E2は、以下の式(3)を用いて算出される。
Figure 0007423905000003
ここで、sは、実データRDおよび偽データODの次元数(本実施例では、s=(256×256×3))である。dは、実データRDの各値であり、eは、値dに対応する出力データODの各値である。式(3)から解るように、誤差値E2は、実データRDによって示される画像と、偽データODによって示される画像と、の間の画素ごとの誤差である。誤差値E2は、偽データODと実データRDとが近いほど小さくなる。換言すれば、誤差値E2は、偽データODと実データRDとの差分が小さくなるほど小さくなる。
識別ネットワークDNは、誤差値Eganが大きくなるようにトレーニングされる。換言すれば、識別ネットワークDNは、入力されたデータペアの真偽を正しく識別することを目的としてトレーニングされる。
生成ネットワークGNは、誤差値Eganが小さくなるようにトレーニングされる。同時に、生成ネットワークGNは、誤差値E1、E2が小さくなるようにトレーニングされる。換言すれば、生成ネットワークGNは、識別ネットワークDNによって、偽データペアPfが実データペアPrであると誤って識別されること、および、特徴データCDfと特徴データCDとが近づくこと、および、偽データODが実データRDに近づくことを目的としてトレーニングされる。
A-4-3.トレーニング処理
以下では、具体的なトレーニング処理について説明する。トレーニング処理は、生成ネットワークGNの上述した複数個の演算パラメータPe、Pdおよび識別ネットワークDNの上述した複数個の演算パラメータPdnを調整することで、生成ネットワークGNが適切な出力データ(偽データ)ODを出力できるようにトレーニングする処理である。上述したデータ生成装置200の不揮発性記憶装置230に格納されたコンピュータプログラムPGtに組み込まれた生成ネットワークGNは、本トレーニング処理によってトレーニングされた学習済みモデルである。
図11は、トレーニング処理のフローチャートである。S100では、CPU110は、事前処理を実行する。事前処理は、識別ネットワークDNを用いることなく、生成ネットワークGNのみを用いて、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する処理である。GANsでは、生成ネットワークGNのタスク(画像データの生成)が識別ネットワークDNのタスク(画像データの識別)よりも重い。このために、生成ネットワークGNを事前にある程度トレーニングしておくことが好ましいためである。
S200では、CPU210は、メイン処理を実行する。メイン処理は、識別ネットワークDNと生成ネットワークGNとを用いて、識別ネットワークDNの複数個の演算パラメータPdnと、生成ネットワークGNの複数個の演算パラメータPe、Pdと、を調整する処理である。メイン処理が完了すると、生成ネットワークGNのトレーニングは完了し、生成ネットワークGNの学習済みモデルが完成する。
A-4-3-1.事前処理
図12は、事前処理のフローチャートである。S110では、生成ネットワークGNの複数個の演算パラメータPe、Pdと、識別ネットワークDNの複数個の演算パラメータPdnと、を初期化する。例えば、これらの演算パラメータPe、Pd、Pdnの初期値は、同一の分布(例えば、正規分布)から独立に取得された乱数に設定される。
S120では、CPU210は、不揮発性記憶装置230に格納された複数個(例えば、1000個)の実データペアPrから、バッチサイズ分の実データペアPr、例えば、V個(Vは、2以上の整数、例えば、V=100)の実データペアPrを選択する。不揮発性記憶装置230に格納された複数個の実データペアPrは、V個ずつの実データペアPrをそれぞれ含む複数個のグループ(バッチ)に予め分割されている。CPU210は、これらの複数個のグループから1個のグループを順次に選択することによって、V個の使用すべき実データペアPrを選択する。これに代えて、V個ずつの実データペアPrは、不揮発性記憶装置230に格納された複数個の実データペアPrから、毎回、ランダムに選択されても良い。
S130では、CPU210は、選択されたV個の実データペアPrに含まれるV個の入力データIDをそれぞれ、生成ネットワークGNのエンコーダECに入力して、V個の入力データIDの特徴データCDを生成する。
S140では、CPU210は、V個の特徴データCDをそれぞれ、生成ネットワークGNのデコーダDCに入力して、V個の実データRDおよび入力データIDに対応するV個の偽データODを生成する。
S150では、CPU210は、V個の実データRDのそれぞれについて、実データRDと、該実データRDに対応する偽データODと、の間の誤差値E2を算出する。
S160では、CPU210は、V個の偽データODのそれぞれを、生成ネットワークGNのエンコーダECに入力して、V個の偽データODの特徴データCDfを生成する。
S170では、CPU210は、V個の入力データIDの特徴データCDのそれぞれについて、特徴データCDと、対応する特徴データCDfと、の間の誤差値E1を算出する。
S180では、CPU210は、V個の誤差値E1とV個の誤差値E2とを用いて、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する。具体的には、CPU210は、以下の式(4)に示す損失関数Lpreを用いて指標値を算出する。CPU210は、損失関数Lpreを用いて算出される指標値が小さくなるように、所定のアルゴリズムに従って演算パラメータPe、Pdを調整する。所定のアルゴリズムには、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
Figure 0007423905000004
ここで、L1は、V個の誤差値E1の平均値であり、L2は、V個の誤差値E2の平均値であり、αは、所定の係数である。
S190では、CPU210は、トレーニングが完了したか否かを判断する。本実施例では、作業者からの完了指示が入力された場合にはトレーニングが完了したと判断し、トレーニングの継続指示が入力された場合にはトレーニングが完了していないと判断する。例えば、CPU210は、トレーニング用に用いられた入力データIDとは別の複数個のテスト用の入力データIDを、生成ネットワークGNに入力して、複数個の偽データODを生成する。CPU210は、生成された偽データODによって示される画像を表示部240に表示する。作業者は、表示された画像を確認して、事前処理の段階の画像として十分な画像(例えば、ある程度の文字が認識できる画像)が生成されているか否かを確認し、確認結果に応じて、操作部250を介して、トレーニングの完了指示または継続指示を入力する。変形例では、例えば、S120~S180の処理が所定回数だけ繰り返された場合に、トレーニングが完了されたと判断されても良い。
トレーニングが完了していないと判断される場合には(S190:NO)、CPU210は、S120に処理を戻す。トレーニングが完了したと判断される場合には(S190:YES)、CPU210は、事前処理を終了する。
A-4-3-2.メイン処理
図13は、メイン処理のフローチャートである。S205では、図12のS120と同様に、CPU210は、不揮発性記憶装置230に格納された複数個の実データペアPrから、バッチサイズ分の実データペアPr、例えば、V個の実データペアPrを選択する。なお、メイン処理のバッチサイズ、すなわち、本ステップで選択される実データペアPrの個数は、事前処理のバッチサイズとは異なっていても良い。
S210では、図12のS130と同様に、CPU210は、選択されたV個の実データペアPrに含まれるV個の入力データIDをそれぞれ、生成ネットワークGNのエンコーダECに入力して、V個の入力データIDの特徴データCDを生成する。
S215では、図12のS140と同様に、CPU210は、V個の特徴データCDをそれぞれ、生成ネットワークGNのデコーダDCに入力して、V個の実データRDおよび入力データIDに対応するV個の偽データODを生成する。
S220では、CPU210は、V個の実データペアPrを識別ネットワークDNに入力して、V個の実データペアPrに対応するV個の識別データDDを生成する。
S225では、CPU210は、V個の偽データペアPfを識別ネットワークDNに入力して、V個の偽データペアPfに対応するV個の識別データDDを生成する。V個の偽データペアPfのそれぞれは、V個の実データペアPrに含まれるV個の入力データIDのそれぞれと、該入力データIDに対応する偽データODと、のペアである。入力データIDに対応する偽データODは、S210、S215にて該入力データIDを生成ネットワークGNに入力して生成された偽データODを意味する。
S230では、CPU210は、S220にて実データペアPrについて生成されたV個の識別データDDと、S225にて偽データペアPfについて生成されたV個の識別データDDと、のそれぞれについて、識別データDDと教師データLDとの間の誤差値Eganを算出する。
S235では、CPU210は、算出された(2×V)個の誤差値Eganを用いて、識別ネットワークDNの複数個の演算パラメータPdnを調整する。具体的には、CPU210は、以下の式(5)に示す損失関数Lganを用いて指標値を算出する。CPU210は、損失関数Lganを用いて算出される指標値が大きくなるように、所定のアルゴリズムに従って演算パラメータPdnを調整する。所定のアルゴリズムには、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
Figure 0007423905000005
式(5)に示すように、損失関数Lganは、(2×V)個の誤差値Eganの平均値を示す関数である。
S240では、図12のS150と同様に、CPU210は、V個の実データRDのそれぞれについて、実データRDと、該実データRDに対応する偽データODと、の間の誤差値E2を算出する。
S245では、図12のS160と同様に、CPU210は、V個の偽データODのそれぞれを、生成ネットワークGNのエンコーダECに入力して、V個の偽データODの特徴データCDfを生成する。
S250では、図12のS170と同様に、CPU210は、V個の入力データIDの特徴データCDのそれぞれについて、特徴データCDと、対応する特徴データCDfと、の間の誤差値E1を算出する。
S255では、CPU210は、(2×V)個の誤差値EganとV個の誤差値E1とV個の誤差値E2とを用いて、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する。具体的には、CPU210は、以下の式(6)に示す損失関数Lgを用いて指標値を算出する。CPU210は、損失関数Lgを用いて算出される指標値が小さくなるように、所定のアルゴリズムに従って演算パラメータPe、Pdを調整する。所定のアルゴリズムには、例えば、誤差逆伝播法と勾配降下法とを用いたアルゴリズムが用いられる。
Figure 0007423905000006
ここで、上述したように、Lganは(2×V)個の誤差値Eganの平均値であり、L1はV個の誤差値E1の平均値であり、L2はV個の誤差値E2の平均値である。β、γは、所定の係数である。
S260では、CPU210は、トレーニングが完了したか否かを判断する。本実施例では、作業者からの完了指示が入力された場合にはトレーニングが完了したと判断し、トレーニングの継続指示が入力された場合にはトレーニングが完了していないと判断する。例えば、CPU210は、トレーニング用に用いられた入力データIDとは別の複数個のテスト用の入力データIDを、生成ネットワークGNに入力して、複数個の偽データODを生成する。CPU210は、生成された偽データODによって示される画像を表示部240に表示する。作業者は、表示された画像を確認して、最終的な画像として十分な画像(例えば、第2の書体で特定の文字を精度良く表現する画像)が生成されているか否かを確認し、確認結果に応じて、操作部250を介して、トレーニングの完了指示または継続指示を入力する。変形例では、例えば、S205~S255の処理が所定回数だけ繰り返された場合に、トレーニングが完了されたと判断されても良い。
トレーニングが完了していないと判断される場合には(S260:NO)、CPU210は、S205に処理を戻す。トレーニングが完了したと判断される場合には(S260:YES)、CPU210は、トレーニング処理を終了する。以上説明したトレーニング処理が終了した時点で、生成ネットワークGNは、演算パラメータPe、Pdが調整された学習済みモデルになっている。したがって、トレーニング処理は、学習済みモデルを生成(製造)する処理である、と言うことができる。
以上説明した本実施例によれば、トレーニング処理(図11)のメイン処理(図13)は、入力データIDを生成ネットワークGNに入力することによって入力データIDに対応する偽データODを出力させる第1工程(図13のS210、S215)と、実データペアPrと偽データペアPfとを含む複数個のデータペアを識別ネットワークDNに入力して、複数個のデータペアに対応する複数個の識別データDDを出力させる第2工程(図13のS220、S225)と、識別データDDと教師データLDとを用いて、識別データDDと教師データLDとの差分が小さくなるように(本実施例では、誤差値Eganが大きくなるように)、識別ネットワークDNの複数個の演算パラメータPdnを調整する第3工程(図13のS230、S235)と、を備える。
さらに、メイン処理は、偽データODに対して、エンコーダECによる次元削減処理を実行して特徴データCDfを生成する第4工程(図13のS245)と、識別データDDと教師データLDと特徴データCDと特徴データCDfとを用いて、識別データDDと教師データLDとの差分が大きくなり(本実施例では、誤差値Eganが小さくなり)、かつ、特徴データCDと特徴データCDfとの差分が小さくなるように(本実施例では誤差値E1が小さくなるように)、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する第5工程(図13のS250、S255)と、を備える。
メイン処理では、第1工程~第5工程を複数回繰り返す(図13のS260)ことによって、生成ネットワークGNと識別ネットワークDNとを並行してトレーニングする。このメイン処理によれば、生成ネットワークGNの複数個の演算パラメータPe、Pdは、識別データDDと教師データLDとの差分が大きくなるように調整されるだけでなく、特徴データCD、CDfとを用いて、これらの特徴データCD、CDf間の差分が小さくなるように調整される。この結果、入力データIDの特徴が特徴データCDに適切に反映されるように、演算パラメータPe、Pdを調整できる。従って、上記トレーニング処理を用いてトレーニングされた生成ネットワークGNを用いれば、入力データIDの特徴が反映された適切な偽データODを生成できる。
例えば、エンコーダECが入力データIDの特徴(例えば、入力画像IIに示される文字の書体に依存しない本質的な特徴)を、特徴データの空間(潜在空間(latent space)とも呼ぶ)に適切にマッピングできており、デコーダDCによって、その特徴が適切に偽データODに再現されているとする。この場合には、特徴データCDと特徴データCDfとの差分は十分に小さくなると考えられる。このために、特徴データCDと特徴データCDfとの差分が小さくなるように、生成ネットワークGNをトレーニングすることで、エンコーダECが潜在空間に入力データIDの特徴をマッピングする精度を向上できるとともに、デコーダDCがその特徴を偽データODに再現する精度を向上することができる。換言すれば、例えば、入力データIDの特定の属性(例えば、表現すべき文字の種類)を保持しつつ、変換すべき別の属性(例えば、書体)を変換できるように、生成ネットワークGNをトレーニングすることができる。また、限られた入力データIDだけでなく、多様な入力データID(例えば、様々な文字を示す入力データID)に対応して、変換すべき属性(例えば、書体)を変換した偽データODを生成できるように、生成ネットワークGNをトレーニングできる(多様性の確保)。さらには、エンコーダECが潜在空間に誤ったマッピングを行う方向にトレーニングが進むことを抑制できるので、生成ネットワークGNのトレーニングを安定させることができる。
さらに、本実施例のメイン処理では、上述した第5工程において、さらに、一の入力データに対応する実データRDおよび偽データODを用いて、実データRDと偽データODとの差分が小さくなるように(本実施例では、誤差値E2が小さくなるように)、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する(図13のS240、S255)。この結果、所望の偽データODが生成されるように、生成ネットワークGNをトレーニングできる。換言すれば、実データRDと偽データODとの差分が小さくなるように生成ネットワークGNをトレーニングすることで、生成ネットワークGNは、単に識別ネットワークDNが真偽の識別を誤るような偽データODを生成するだけでなく、実データRDに近い偽データODを生成するようにトレーニングされる。例えば、本実施例では、偽データODにおいて、実データRDで表現された書体が適切に再現されるように、生成ネットワークGNをトレーニングできる。
また、本実施例の事前処理(図12)は、メイン処理(図13)と同様に、入力データIDを生成ネットワークGNに入力することによって入力データIDに対応する偽データODを出力させる第1工程(図12のS130、S140)と、偽データODに対して、エンコーダECによる次元削減処理を実行して特徴データCDfを生成する第4工程(図12のS160)と、を備える。事前処理は、さらに、特徴データCDと特徴データCDfとを用いて、識別データDDと教師データLDとを用いずに、特徴データCDと特徴データCDfとの差分が小さくなるように(本実施例では誤差値E1が小さくなるように)、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する第6工程(図12のS180)を備える。そして、事前処理では、第1工程と第4工程と第6工程とを複数回繰り返す(図12のS190)ことによって、生成ネットワークGNをトレーニングする。事前処理の後に、上述したメイン処理が実行される(図11)。このように、特徴データCD、CDfの差分が小さくなるように、生成ネットワークGNをトレーニングした後に、生成ネットワークGNと識別ネットワークDNとを並行してトレーニングする。この結果、事前処理において、エンコーダECが潜在空間に入力データIDの特徴をマッピングする精度をある程度保証することができる。したがって、入力データIDの特徴が第1の特徴データに適切に反映されるように、生成ネットワークGNを効果的にトレーニングできるので、上記トレーニング処理を用いてトレーニングされた生成ネットワークGNを用いれば、入力データIDの特徴が反映された適切な偽データODを生成できる。
ここで、上述したように、GANsでは、生成ネットワークGNのタスク(画像データの生成)が識別ネットワークDNのタスク(画像データの識別)よりも重い。メイン処理において、生成ネットワークGNのトレーニングは、識別ネットワークDNのトレーニングに対して遅れがちである。仮に、事前処理を実行しない場合には、メイン処理において、生成ネットワークGNのトレーニングが識別ネットワークDNのトレーニングに対して過度に遅れる可能性がある。この場合には、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する際に、勾配の消失が発生して生成ネットワークGNのトレーニングが進まなくなる場合がある。本実施例によれば、事前処理において、特徴データCDと特徴データCDfとの差分が小さくなるように、生成ネットワークGNの複数個の演算パラメータPe、Pdが調整されるので、このような不都合の発生を抑制できる。したがって、本実施例によれば、トレーニングの安定化およびトレーニング時間の短縮を実現できる。
さらに、本実施例の事前処理では、第6工程において、さらに、一の入力データに対応する実データRDおよび偽データODを用いて、実データRDと偽データODとの差分が小さくなるように(本実施例では、誤差値E2が小さくなるように)、生成ネットワークGNの複数個の演算パラメータPe、Pdを調整する(図12のS150、S180)。この結果、メイン処理の前に、所望の偽データODが生成されるように、生成ネットワークGNの複数個の演算パラメータPe、Pdをできる。この結果、所望の偽データODが生成されるように、生成ネットワークGNを効率良くトレーニングできる。また、生成ネットワークGNのトレーニングの進み具合が識別ネットワークDNのトレーニングの進み具合よりも遅れる不都合を、さらに抑制できる。
さらに、本実施例では、入力データIDは、第1の属性(例えば、「A」の文字であるという属性)と第2の属性(例えば、第1の書体であるという属性)を有し、かつ、第3の属性(例えば、第2の書体であるという属性)を有しない画像データである。そして、出力データ(偽データ)ODは、第1の属性と第3の属性を有し、かつ、第2の属性を有しない画像データである。したがって、本実施例によれば、学習済みの生成ネットワークGNは、入力データIDの第1の属性を維持しつつ、入力データIDの第2の属性を第3の属性に変換することによって出力データ(偽データ)ODを生成することができる。
さらに、本実施例のトレーニング装置100(図1)、および、学習済みの生成ネットワークGNによれば、生成ネットワークGNは、上述したトレーニング処理によってトレーニングされているので、入力データIDの特徴が反映された適切な偽データODを生成できる。また、限られた入力データIDだけでなく、多様な入力データID(例えば、様々な文字を示す入力データID)に対応して、変換すべき属性(例えば、書体)を変換した偽データODを生成できる。
以上の説明から解るように、本実施例の実データペアPrは、第1のペアの例であり、偽データペアPfは、第2のペアの例である。また、入力データIDの特徴データCDは、第1の特徴データの例であり、偽データODの特徴データCDfは、第2の特徴データの例である。また、生成ネットワークGNの演算パラメータPe、Pdは、第1の演算パラメータの例であり、識別ネットワークDNの演算パラメータPdnは、第2の演算パラメータの例である。生成ネットワークGNは、第1の機械学習モデルの例であり、識別ネットワークDNは、第2の機械学習モデルの例である。
B.変形例:
(1)上記実施例では、生成ネットワークGNをトレーニングする際に、事前処理とメイン処理との両方にて、特徴データCDと特徴データCDfとの間の誤差値E1が用いられている。これに限らず、事前処理とメイン処理との少なくとも一方だけで、誤差値E1が用いられても良い。例えば、上記実施例にて、メイン処理のS255では、誤差値E1を用いて、生成ネットワークGNの演算パラメータPe、Pdを調整し、事前処理のS180では、誤差値E1を用いずに、誤差値E2のみを用いて、生成ネットワークGNの演算パラメータPe、Pdを調整しても良い。あるいは、メイン処理のS255では、誤差値E1を用いずに、誤差値Egan、E2のみを用いて、生成ネットワークGNの演算パラメータPe、Pdを調整し、事前処理のS180では、誤差値E1を用いて、生成ネットワークGNの演算パラメータPe、Pdを調整しても良い。
(2)上記実施例のメイン処理のS255では、誤差値Eganと、誤差値E1と、誤差値E2と、を用いて、生成ネットワークGNのトレーニング、すなわち、演算パラメータPe、Pdの調整が行われている。これに代えて、メイン処理のS255では、誤差値E2を用いることなく、誤差値Eganと誤差値E1とのみを用いて、演算パラメータPe、Pdの調整が行われても良い。
(3)上記実施例の事前処理のS180では、誤差値E1と誤差値E2とを用いて、生成ネットワークGNのトレーニング、すなわち、演算パラメータPe、Pdの調整が行われている。これに代えて、事前処理のS180では、誤差値E2を用いることなく、誤差値E1のみを用いて、演算パラメータPe、Pdの調整が行われても良い。
(4)上記実施例のトレーニング処理において、事前処理を省略して、メイン処理のみで、生成ネットワークGNのトレーニングが実行されても良い。
(5)上記実施例では、誤差値Eganには、シグモイドクロスエントロピー誤差が用いられ、誤差値E1には、平均二乗誤差が用いられ、誤差値E1には、平均絶対誤差が用いれている。これに代えて、誤差値Egan、E1、E2には、他の種類の誤差値が用いれても良い。例えば、誤差値Eganには、ソフトマックスクロスエントロピー誤差が用いられても良い。誤差値E1には、平均絶対誤差が用いられても良い。誤差値E2には、平均二乗誤差が用いられても良い。
(6)上記実施例は、生成ネットワークGNは、一般的には、上述したように、第1の属性(例えば、「A」の文字であるという属性)と第2の属性(例えば、第1の書体であるという属性)を有し、かつ、第3の属性(例えば、第2の書体であるという属性)を有しない画像データを、第1の属性と第3の属性を有し、かつ、第2の属性を有しない画像データに変換するモデルである。このような変換は、一般的には、「スタイル変換(style transfer)」「画像翻訳(image-to-image translation)」とも呼ばれる。他の具体例としては、生成ネットワークGNは、例えば、所定の物(建物、靴などの静物や馬、犬などの動物)を示す線画(線のみで描画された画像)を、所定の物を示すカラー画像に変換するモデルであっても良い。また、生成ネットワークGNは、例えば、所定の場所を示す航空写真を、該所定の場所を示す地図に変換するモデルであっても良い。これらの場合にも、生成ネットワークGNは、第1の属性(所定の物を示すという属性、所定の場所を示すという属性)と第2の属性(線画であるという属性、航空写真であるという属性)を有し、かつ、第3の属性(カラー画像であるという属性、地図であるという属性)を有しない画像データを、第1の属性と第3の属性を有し、かつ、第2の属性を有しない画像データに変換するモデルである、と言うことができる。
(7)上記実施例では、生成ネットワークGNでは、入力データIDと偽データODとは共に、画像データである。これに限らず、入力データIDや偽データODの両方または片方は、テキストや音声を示すデータであっても良い。例えば、生成ネットワークGNは、特定の物を表現する画像データを、特定の物を表現するテキストや音声に変換するモデルであっても良い。あるいは、生成ネットワークGNは、特定の物を表現するテキストを、特定の物を表現する画像や音声に変換するモデルであっても良い。
(8)生成ネットワークGNや識別ネットワークDNの具体的な構成は、図5、図6に示す構成に限られず、他の様々な構成であっても良い。例えば、生成ネットワークGNや識別ネットワークDNにおいて、畳込層や転置畳込層の層数は、適宜に変更されて良い。また、生成ネットワークGNや識別ネットワークDNは、畳込層や転置畳込層の全部または一部に代えて、プーリング層や全結合層を備えても良い。また、各層で出力された値に対して実行される後処理も任意の様々な構成が採用される。例えば、後処理に用いられる活性化関数は、任意の他の関数、例えば、PReLU、ソフトマックス、シグモイドが用いられても良い。また、バッチノーマリゼイション、ドロップアウトなどの処理も後処理として適宜に追加や省略がされ得る。さらに、上記実施例の生成ネットワークGNでは、デコーダDCのm番目の転置畳込層DL_mには、エンコーダECの(9-m)番目の畳込層EL_(9-m)から出力される値が入力されるが、該入力は省略されても良い。
また、識別ネットワークDNは、ニューラルネットワークとは異なる機械学習モデルであって、教師データを用いてトレーニングされる機械学習モデル、例えば、サポートベクターマシーン(SVM)であっても良い。
(9)図1のデータ生成装置200や図7のトレーニング装置100のハードウェア構成は、一例であり、これに限られない。例えば、データ生成装置200やトレーニング装置100のプロセッサは、CPUに限らず、GPU(Graphics Processing Unit)やASIC(application specific integrated circuit)、あるいは、これらとCPUとの組み合わせであっても良い。また、トレーニング装置100やデータ生成装置200は、ネットワークを介して互いに通信可能な複数個の計算機(例えば、いわゆるクラウドサーバ)であっても良い。
(10)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、生成ネットワークGNや識別ネットワークDNは、プログラムモジュールに代えて、ASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100…トレーニング装置、110…CPU、120…揮発性記憶装置、130…不揮発性記憶装置、140…表示部、150…操作部、200…データ生成装置、210…CPU、220…揮発性記憶装置、230…不揮発性記憶装置、240…表示部、250…操作部、270…通信インタフェース、300…プリンタ、1000…ネットワークシステム、EL_0、L_0…入力層、EL_1~EL_8、L_0~L_5…畳込層、DL_1~DL_8…転置畳込層、EC…エンコーダ、DC…デコーダ、ID…入力データ、OD…出力データ(偽データ)、CD、CDf…特徴データ、LD…教師データ、GN…生成ネットワーク、DN…識別ネットワーク、Pd、Pe、Pdn…演算パラメータ、Pr…実データペア、PGg、PGt…コンピュータプログラム

Claims (4)

  1. 機械学習モデルのトレーニング方法であって、
    入力データを第1の機械学習モデルに入力することによって前記入力データに対応する偽データを出力させる第1工程であって、前記第1の機械学習モデルは、前記入力データに対して、次元数を削減する次元削減処理を実行して第1の特徴データを生成するエンコーダと、前記第1の特徴データに対して、次元数を復元する次元復元処理を実行して前記偽データを生成するデコーダと、を含み、前記第1の機械学習モデルは、複数個の第1の演算パラメータを用いて前記次元削減処理および前記次元復元処理を実行する、前記第1工程と、
    第1のペアと第2のペアとを含む複数個のデータペアを第2の機械学習モデルに入力して、前記複数個のデータペアに対応する複数個の識別データを出力させる第2工程であって、前記第1のペアは、前記入力データと、前記入力データに対応する実データと、から成る一対のデータであり、前記第2のペアは、前記入力データと、前記入力データに対応する前記偽データと、から成る一対のデータであり、前記識別データは、対応する前記データペアが前記第1のペアと前記第2のペアとのいずれであるかを識別した結果を示し、前記第2の機械学習モデルは、複数個の第2の演算パラメータを用いた演算を実行して前記識別データを生成し、前記第2の機械学習モデルのタスクは、前記第1の機械学習モデルのタスクよりも軽い、前記第2工程と、
    前記識別データと前記識別データの目標値を示す教師データとを用いて、前記識別データと前記教師データとの差分が小さくなるように、前記複数個の第2の演算パラメータを調整する第3工程と、
    前記偽データに対して、前記エンコーダによる前記次元削減処理を実行して第2の特徴データを生成する第4工程と、
    前記識別データと前記教師データと前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとの差分が大きくなり、かつ、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第5工程と、
    前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとを用いずに、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第6工程と、
    を備え、
    前記第2工程と前記第3工程と前記第5工程とを行うことなく、前記第1工程と前記第4工程と前記第6工程とを複数回繰り返すことによって、前記第1の機械学習モデルをトレーニングした後に、前記第1工程~前記第5工程を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする、方法。
  2. 機械学習モデルのトレーニング方法であって、
    入力データを第1の機械学習モデルに入力することによって前記入力データに対応する偽データを出力させる第1工程であって、前記第1の機械学習モデルは、前記入力データに対して、次元数を削減する次元削減処理を実行して第1の特徴データを生成するエンコーダと、前記第1の特徴データに対して、次元数を復元する次元復元処理を実行して前記偽データを生成するデコーダと、を含み、前記第1の機械学習モデルは、複数個の第1の演算パラメータを用いて前記次元削減処理および前記次元復元処理を実行する、前記第1工程と、
    第1のペアと第2のペアとを含む複数個のデータペアを第2の機械学習モデルに入力して、前記複数個のデータペアに対応する複数個の識別データを出力させる第2工程であって、前記第1のペアは、前記入力データと、前記入力データに対応する実データと、から成る一対のデータであり、前記第2のペアは、前記入力データと、前記入力データに対応する前記偽データと、から成る一対のデータであり、前記識別データは、対応する前記データペアが前記第1のペアと前記第2のペアとのいずれであるかを識別した結果を示し、前記第2の機械学習モデルは、複数個の第2の演算パラメータを用いた演算を実行して前記識別データを生成し、前記第2の機械学習モデルのタスクは、前記第1の機械学習モデルのタスクよりも軽い、前記第2工程と、
    前記識別データと前記識別データの目標値を示す教師データとを用いて、前記識別データと前記教師データとの差分が小さくなるように、前記複数個の第2の演算パラメータを調整する第3工程と、
    前記偽データに対して、前記エンコーダによる前記次元削減処理を実行して第2の特徴データを生成する第4工程と、
    前記識別データと前記教師データとを用いて、前記識別データと前記教師データとの差分が大きくなるように、前記複数個の第1の演算パラメータを調整する第5工程と、
    前記第1の特徴データと前記第2の特徴データとを用いて、前記識別データと前記教師データとを用いずに、前記第1の特徴データと前記第2の特徴データとの差分が小さくなるように、前記複数個の第1の演算パラメータを調整する第6工程と、
    を備え、
    前記第2工程と前記第3工程と前記第5工程とを行うことなく、前記第1工程と前記第4工程と前記第6工程とを複数回繰り返すことによって、前記第1の機械学習モデルをトレーニングした後に、前記第1工程~前記第5工程を複数回繰り返すことによって、前記第1の機械学習モデルと前記第2の機械学習モデルとを並行してトレーニングする、方法。
  3. 請求項1または2のいずれかに記載の方法であって、
    前記第6工程において、さらに、特定の前記入力データに対応する前記実データおよび前記偽データを用いて、前記実データと前記偽データとの差分が小さくなるように、前記第1の演算パラメータを調整する、方法。
  4. 請求項1~3のいずれかに記載の方法であって、
    前記第5工程において、さらに、特定の前記入力データに対応する前記実データおよび前記偽データを用いて、前記実データと前記偽データとの差分が小さくなるように、前記第1の演算パラメータを調整する、方法。
JP2019092212A 2019-05-15 2019-05-15 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル Active JP7423905B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019092212A JP7423905B2 (ja) 2019-05-15 2019-05-15 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル
PCT/JP2020/018932 WO2020230777A1 (ja) 2019-05-15 2020-05-12 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019092212A JP7423905B2 (ja) 2019-05-15 2019-05-15 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル

Publications (2)

Publication Number Publication Date
JP2020187583A JP2020187583A (ja) 2020-11-19
JP7423905B2 true JP7423905B2 (ja) 2024-01-30

Family

ID=73221754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019092212A Active JP7423905B2 (ja) 2019-05-15 2019-05-15 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル

Country Status (2)

Country Link
JP (1) JP7423905B2 (ja)
WO (1) WO2020230777A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7692283B2 (ja) 2021-04-29 2025-06-13 株式会社スクウェア・エニックス スタイルトランスファープログラムおよびスタイルトランスファー方法
JP2022174516A (ja) * 2021-05-11 2022-11-24 ブラザー工業株式会社 画像処理方法、コンピュータプログラム、画像処理装置、および、訓練方法
JP7311120B1 (ja) 2022-03-16 2023-07-19 ソフトバンク株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018139071A (ja) 2017-02-24 2018-09-06 株式会社リコー 生成モデル学習方法、生成モデル学習装置およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018139071A (ja) 2017-02-24 2018-09-06 株式会社リコー 生成モデル学習方法、生成モデル学習装置およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PENG, Xue Bin et. al.,Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constrai,米国,arXiv.org,2018年12月29日,pp.1-27,https://arxiv.org/pdf/1810.00821.pdf
TAIGMAN, Yaniv et. al.,Unsupervised Cross-Domain Image Generation,米国,arXiv.org,2016年11月07日,pp.1-14,https://arxiv.org/pdf/1611.02200.pdf
篠崎隆志,GAN-敵対的生成ネットワーク-の発展,人工知能,日本,一般社団法人人工知能学会,2018年03月01日,第33巻,第2号(通巻188号),pp.181-188,ISSN 2188-2266

Also Published As

Publication number Publication date
WO2020230777A1 (ja) 2020-11-19
JP2020187583A (ja) 2020-11-19

Similar Documents

Publication Publication Date Title
US11325398B2 (en) Image processing device generating dot data using machine learning model and method for training machine learning model
WO2021027759A1 (en) Facial image processing
AU2019202063B2 (en) Synthesizing new font glyphs from partial observations
JP7423905B2 (ja) 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル
CN110781895A (zh) 一种基于卷积神经网络的图像语义分割方法
KR102537207B1 (ko) 머신 러닝에 기반한 이미지 처리 방법 및 장치
CN110706303B (zh) 基于GANs的人脸图像生成方法
US11615292B2 (en) Projecting images to a generative model based on gradient-free latent vector determination
CN114299327B (zh) 一种基于内容特征的对抗补丁伪装生成方法
JP7207846B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7513947B2 (ja) 学習済みの機械学習モデル、画像データ生成装置、および、方法
US20240371049A1 (en) Method, computer device, and non-transitory computer-readable recording medium for generating image
CN111860293B (zh) 遥感场景分类方法、装置、终端设备及存储介质
CN116681627A (zh) 一种跨尺度融合的自适应水下图像生成对抗增强方法
CN117934952A (zh) 一种基于扩散模型低秩适配的数据集增强方法
US12299966B2 (en) Information processing apparatus, information processing method, non-transitory computer-readable storage medium storing program, and system
JP7498421B2 (ja) 機械学習モデルのトレーニング方法、データ生成装置、および、学習済みの機械学習モデル
US12462449B2 (en) Mask conditioned image transformation based on a text prompt
CN112884679A (zh) 一种图像转换方法、装置、存储介质和电子设备
JP7148078B2 (ja) 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム
US11900564B2 (en) Storage medium storing program, image processing apparatus, and training method of machine learning model
CN114078149A (zh) 一种图像估计方法、电子设备及存储介质
JP5867669B2 (ja) 色処理装置および色処理プログラム
JP7453828B2 (ja) プログラム、ニューラルネットワークシステム、情報処理方法およびニューラルネットワークモデルの生成方法
CN114170098A (zh) 一种带雾图像修复方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240101

R150 Certificate of patent or registration of utility model

Ref document number: 7423905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150