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

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

▶ セイコーエプソン株式会社の特許一覧

特開2024-84277生成方法、データ処理方法、生成装置、および、プログラム
<>
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図1
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図2
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図3
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図4
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図5
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図6
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図7
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図8
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図9
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図10
  • 特開-生成方法、データ処理方法、生成装置、および、プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024084277
(43)【公開日】2024-06-25
(54)【発明の名称】生成方法、データ処理方法、生成装置、および、プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240618BHJP
   G06N 3/126 20230101ALI20240618BHJP
【FI】
G06N20/00
G06N3/126
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022198454
(22)【出願日】2022-12-13
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】鈴木 拓実
(57)【要約】
【課題】パラメーターの調整を一から行う必要がない技術を提供する。
【解決手段】データ処理シーケンスの生成方法は、(a)パラメーターを決定するためにデータ処理がなされて出力されたデータを評価することが必要な場合に、サンプルデータとサンプルデータに対応付けられた所望の目標データとパラメーターとを用いてデータ処理を行い、データ処理により得られた出力データと目標データとを用いて出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす評価値が得られたデータ処理において使用されたパラメーターを決定する、ステップと、(b)パラメーターを決定するためにデータ処理がなされて出力されたデータを評価する必要がない場合に、サンプルデータとパラメーターとを用いてデータ処理を行うことにより、パラメーターを決定する、ステップと、(c)決定されたパラメーターを表す情報を記憶部に保存するステップと、を含む。
【選択図】図10
【特許請求の範囲】
【請求項1】
シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成方法であって、
(a)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、前記パラメーターを決定するステップであって、
サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、
前記データ処理を行うことにより得られた出力データと、前記目標データとを用いて、前記出力データを評価する評価値を算出し、
あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定する、ステップと、
(b)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記パラメーターを決定するステップであって、
前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、ステップと、
(c)決定された前記パラメーターを表す情報を記憶部に保存するステップと、
を含む、
生成方法。
【請求項2】
請求項1に記載のデータ処理シーケンスの生成方法であって、
前記ステップ(c)においては、決定された前記パラメーターを表す情報と、前記データ処理シーケンスを表す情報と、が対応付けられて前記記憶部に保存される、
生成方法。
【請求項3】
請求項1に記載の生成方法であって、
前記ステップ(c)においては、決定された前記パラメーターを表す情報と、決定された前記パラメーターが使用される前記データ処理を表す情報と、が対応付けられて前記記憶部に保存される、
生成方法。
【請求項4】
請求項1に記載のデータ処理シーケンスの生成方法であって、
前記ステップ(c)においては、決定された前記パラメーターを表す情報と、前記データ処理シーケンスを表す情報と、前記パラメーターが決定された際に設定されている前記データ処理に関する目的を表す情報と、が対応付けて前記記憶部に保存される、
生成方法。
【請求項5】
請求項2から4のいずれか1項に記載のデータ処理シーケンスの生成方法であって、
(i)複数のデータ処理シーケンスを生成するステップであって、
前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した複数の遺伝子を配列した個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスである、
ステップと、
(ii)前記複数のデータ処理シーケンスのそれぞれによって入力データを処理して得られた出力データと、前記入力データに対応付けられた所望の目標データと、を用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得するステップと、
(iii)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスを特定するステップと、
(iv)交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行うステップと、
(v)あらかじめ決められた終了条件が満たされるまで、前記ステップ(i)から前記ステップ(iv)までを繰り返すステップと、
(vi)特定された前記対象データ処理シーケンスを表す情報を記憶部に格納するステップと、
を含み、
前記ステップ(i)から前記ステップ(vi)までは、前記ステップ(a)から(c)より前に実行される、
生成方法。
【請求項6】
請求項5に記載のデータ処理シーケンスの生成方法であって、
前記対象データ処理シーケンスが特定された後に、前記複数のデータ処理シーケンスのうち、前記対象データ処理シーケンスを除く前記データ処理シーケンスに関するデータと、前記複数のデータ処理シーケンスに含まれる前記データ処理それぞれにおいて使用された前記パラメーターに関するデータと、が破棄される、
生成方法。
【請求項7】
請求項6に記載のデータ処理シーケンスの生成方法であって、
前記データ処理シーケンスが備える前記シーケンス要素の接続関係についての構成が、あらかじめ決められた条件を満たす場合に、前記ステップ(a)または前記ステップ(b)の実行により前記パラメーターを決定するために、前記データ処理シーケンスに含まれる前記データ処理のうち一部だけが実行され、
前記データ処理シーケンスが備える前記構成が、前記あらかじめ決められた条件を満たさない場合に、前記ステップ(a)または前記ステップ(b)の実行により前記パラメーターを決定するために、前記データ処理シーケンスに含まれる前記データ処理のすべてが実行される、
生成方法。
【請求項8】
請求項5に記載の生成方法により決定された前記パラメーターを用いたデータ処理方法であって、
前記記憶部に格納されている前記対象データ処理シーケンスを表す特定データおよび前記パラメーターを表すパラメーターセットを読み出すステップと、
前記特定データおよび前記パラメーターセットを用いて、データ処理を行うステップと、
を含む、
データ処理方法。
【請求項9】
シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成装置であって、
前記データ処理において使用されるパラメーターを決定し、決定した前記パラメーターを表す情報を記憶部に保存する決定部、
を備え、
前記決定部は、
前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、
サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、
前記データ処理を行うことにより得られた出力データと、前記目標データと、を用いて、前記出力データを評価する評価値を算出し、
あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定し、
前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、
前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、
生成装置。
【請求項10】
プログラムであって、
シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する装置として機能するコンピューターに、
(a)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、前記パラメーターを決定する機能であって、
サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、
前記データ処理を行うことにより得られた出力データと、前記目標データと、を用いて、前記出力データを評価する評価値を算出し、
あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定する、機能と、
(b)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記パラメーターを決定する機能であって、
前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、機能と、
(c)決定された前記パラメーターを表す情報を記憶部に保存する機能と、
を実現させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、生成方法、データ処理方法、生成装置、および、プログラムに関する。
【背景技術】
【0002】
特許文献1には、遺伝的プログラミングを用いることにより、複数の画像処理フィルターを使用し木構造で表現される画像処理シーケンスを生成する技術について記載されている。特許文献1に記載された技術においては、配列された複数の遺伝子により構成される個体を生成し、個体を構成する遺伝子と、木構造を決定するための遺伝子テーブルと、を用いて、画像処理シーケンスが生成される。個体を構成する遺伝子は、画像処理フィルターを特定する値である。そして、各個体が表す画像処理シーケンスで学習画像を画像処理した結果画像を評価する。さらに、突然変異、交叉等により遺伝子を世代交代させながら、画像処理シーケンスの生成および結果画像の評価を繰り返す学習を行うことで、基準条件を満たす画像処理シーケンスが特定される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-87055号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された技術においては、パラメーターの調整が必要な画像処理フィルターが想定されていないが、画像処理フィルターにはパラメーターの調整が必要なものがある。また、解決したい課題に応じて、最適なパラメーターは異なる。よって、解決したい課題に応じてパラメーターの調整を一から行う必要があった。
【課題を解決するための手段】
【0005】
本開示の第1形態によれば、データ処理シーケンスの生成方法が提供される。この生成方法は、シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成方法であって、(a)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、前記パラメーターを決定するステップであって、サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、前記データ処理を行うことにより得られた出力データと、前記目標データとを用いて、前記出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定する、ステップと、(b)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記パラメーターを決定するステップであって、前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、ステップと、(c)決定された前記パラメーターを表す情報を記憶部に保存するステップと、を含む。
【0006】
本開示の第2形態によれば、データ処理シーケンスを生成する生成装置が提供される。この生成装置は、シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成装置であって、前記データ処理において使用されるパラメーターを決定し、決定した前記パラメーターを表す情報を記憶部に保存する決定部、を備え、前記決定部は、前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、前記データ処理を行うことにより得られた出力データと、前記目標データと、を用いて、前記出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定し、前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する。
【0007】
本開示の第3形態によれば、プログラムが提供される。このプログラムは、シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する装置として機能するコンピューターに、(a)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、前記パラメーターを決定する機能であって、サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、前記データ処理を行うことにより得られた出力データと、前記目標データと、を用いて、前記出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定する、機能と、(b)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記パラメーターを決定する機能であって、前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、機能と、(c)決定された前記パラメーターを表す情報を記憶部に保存する機能と、を実現させる。
【図面の簡単な説明】
【0008】
図1】生成システムの概略構成を示すブロック図である。
図2】記憶装置の構成を示すブロック図である。
図3】学習データセットの一例を示す図である。
図4】処理定義テーブルの一例を示す図である。
図5】遺伝子テーブルの一例を示す図である。
図6】一つの世代の個体群データの説明図である。
図7】木構造のデータ処理シーケンスについての説明図である。
図8】生成装置が実行する処理を示すフローチャートである。
図9】対象データ処理シーケンスの生成に関する処理の詳細なフローチャートである。
図10】パラメーターの決定に関する処理の詳細なフローチャートである。
図11】対象データ処理シーケンスの利用に関する処理の詳細なフローチャートである。
【発明を実施するための形態】
【0009】
A.実施形態:
図1は、実施形態にかかる生成システム1の概略構成を示すブロック図である。生成システム1は、生成装置100と撮像装置200とを備える。生成装置100と撮像装置200とは有線あるいは無線によってデータを送受信可能である。撮像装置200は、カメラであり、対象物を撮像して撮像画像を取得する。撮像装置200によって取得された撮像画像は生成装置100に送信される。撮像装置200は、対象物の分光反射スペクトルを取得できる分光カメラあるいは分光光度計であってもよい。
【0010】
生成装置100は、入力データに対してデータ処理を行うデータ処理シーケンスを生成するシーケンス生成機能を有する。本明細書においては、データ処理シーケンスとは、入力データに対してなされる複数のデータ処理の実行手順が規定されたものである。また、生成装置100は、生成した複数のデータ処理シーケンスSqの中から所望とする出力データを得るための対象データ処理シーケンスDSqを特定する。本実施形態において、データ処理シーケンスの入力データはモノクロ画像であると仮定する。
【0011】
また、生成装置100は、生成されたデータ処理シーケンスに従って、入力データをデータ処理して処理後のデータである出力データを出力するデータ処理機能を有する。本実施形態では、生成装置100がシーケンス生成機能とデータ処理機能とを有するが、これに限定されるものではない。生成装置100はシーケンス生成機能だけを有し、生成装置100とは異なる他のコンピューターがデータ処理機能を有してもよい。あるいは、シーケンス生成機能とデータ処理機能とはクラウドにより実現されてもよい。
【0012】
生成装置100は、プロセッサー10と、記憶装置70と、インターフェイス部90と、入力装置150と、表示装置160と、を備えるコンピューターである。プロセッサー10は、記憶装置70に記憶されたプログラムを実行することで、生成装置100の各種機能を実現する。記憶装置70は、RAM、ROM等を含むメモリーにより構成され、プログラムおよびプログラムの実行に必要なデータを格納する。インターフェイス部90には、入力装置150と、表示装置160と、撮像装置200とが接続されている。入力装置150は、例えば、キーボード、マウスである。表示装置160は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。
【0013】
プロセッサー10は、記憶装置70に格納されているプログラムを実行することで、シーケンス生成部20と、処理部40と、評価部50と、パラメーター決定部55と、表示制御部60として機能する。
【0014】
シーケンス生成部20は、遺伝的プログラミングを用いて複数のデータ処理シーケンスSqを生成する。データ処理シーケンスSqは、複数のシーケンス要素の組み合わせを表す。シーケンス生成部20を生成部ともよぶ。データ処理シーケンスSqを構成するシーケンス要素は、(i)データ入力層と、(ii)データ入力層とデータ出力層との間の中間のノードである複数のデータ処理層と、(iii)データ出力層とがある。データ入力層は、入力データを入力するデータ入力処理が行われるノードである。データ出力層は、最終的なデータ処理がなされた後のデータである出力データPMを出力するデータ出力処理が行われるノードである。
【0015】
シーケンス生成部20により生成されるデータ処理シーケンスSqは、個体IVによって示された遺伝子の配列によって木構造のように構造的に表現されている。データ処理シーケンスSqは、例えば、データ処理層に割り当てられたデータ処理を識別する層識別子と、データ入力層、各データ処理層、および、データ出力層の接続関係と、によって表される。
【0016】
シーケンス生成部20は、個体生成部22と、遺伝子翻訳部24とを備える。個体生成部22は、一次元または二次元に配列された複数の遺伝子によって構成される個体IVを生成する。さらに、個体生成部22は、1つの世代ごとにあらかじめ決められた数の個体IVから構成される個体群を生成する。生成された個体IVの集合を表す個体群データ84は記憶装置70に格納される。個体群データ84については後述する。本実施形態では、個体生成部22は、一次元に遺伝子を配列することで、あらかじめ決められた遺伝子長の個体IVを生成する。個体生成部22は、一番初めの1世代目については、個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置する。
【0017】
個体生成部22は、二世代以降については、交叉と突然変異との少なくとも一つの手法を用いて前回の親世代の個体IVから新たな個体IVを生成する。具体的には、個体生成部22は、現世代の個体IVのうち優秀な個体を特定し、特定した個体に交叉と突然変異との少なくとも一方を行って新たな世代の個体IVを生成する。また、個体生成部22は、特定された現世代の個体IVのうち優秀な個体を新たな世代の個体IVとする。個体生成部22は、例えば、後述する評価部50により算出される評価値EVを用いて、現世代の個体IVのうち優秀な個体を特定する。よって、新たな世代の個体群は、交叉と突然変異との少なくとも一方により新たに生成された個体IVと、親世代から引き継がれる個体IV、すなわち親世代の個体IVを複製した個体IVと、を含む集合である。世代ごとに個体IVの組み合わせは異なる。
【0018】
遺伝子翻訳部24は、後述する遺伝子テーブル82を参照し、個体IVの各遺伝子を翻訳してデータ処理シーケンスSqを生成する。遺伝子翻訳部24は、1つの世代を構成するあらかじめ決められた数の個体IVそれぞれから、複数のデータ処理シーケンスSqを生成する。世代ごとに個体IVの組み合わせは異なるので、世代ごとに複数のデータ処理シーケンスSqのシーケンス要素の組み合わせは異なる。
【0019】
処理部40は、データ処理シーケンスSqにより規定される処理手順に従って後述する学習データLMを処理して、処理後のデータである出力データPMを出力する。プロセッサー10が処理部40として機能して行う処理の詳細については後述する。
【0020】
評価部50は、各データ処理シーケンスSqについて、処理部40によって出力された出力データPMと、出力データPMの元となる学習データLMに関連付けられた目標データTMとを用いて、データ処理シーケンスSqを評価する評価値EVを求める。評価部50を評価値取得部ともよぶ。具体的には、評価部50は、各データ処理シーケンスSqについて、処理部40によって出力された出力データPMと、出力データPMの元となる学習データLMに関連付けられた目標データTMとの、類似の程度SDを示す評価値EVを算出する。データ処理シーケンスSqの評価は、平均二乗誤差(MSE: Mean Squared Error)、ピーク信号対雑音比(PSNR: Peak signal-to-noise ratio)、構造的類似度(SSIM: Structural Similarity)等の2つの画像の類似の程度SDを表す指標値を用いて行われる。
【0021】
また、1つのデータ処理シーケンスSqによって複数の学習データLMが処理されて、複数の出力データPMが生成される場合には、各出力データPMに対応する評価値EVが算出される。この場合、各評価値EVの統計量が最終的な評価値EVとして扱われる。各評価値EVの統計量としては、平均値、中央値等の値が使用される。
【0022】
評価部50は、複数のデータ処理シーケンスSqのそれぞれについての評価値EVを用いて、あらかじめ決められた基準条件を満たすデータ処理シーケンスSqである対象データ処理シーケンスDSqを特定する。評価部50を特定部ともよぶ。具体的には、評価部50は、複数のデータ処理シーケンスSqのそれぞれに対応する複数の評価値EVのうち最も高い評価値EVであって、あらかじめ決まれた閾値以上の評価値EVを得ることができたデータ処理シーケンスSqを対象データ処理シーケンスDSqとして特定する。このようにして、さまざまな学習データLMに対して、目標データTMに近づけるような処理ができるデータ処理シーケンスであるかの判定を精度よく行うことができる。プロセッサー10が評価部50として機能して行う処理の詳細については後述する。
【0023】
パラメーター決定部55は、対象データ処理シーケンスDSqに含まれるデータ処理それぞれについて必要なパラメーターを決定する。プロセッサー10がパラメーター決定部55として機能して行う処理の詳細については後述する。
【0024】
表示制御部60は、各種情報を表示装置160に表示させる。表示制御部60は、例えば、特定された対象データ処理シーケンスDSqを表す木構造を示す画像を表示装置160に表示させる。
【0025】
図2は、記憶装置70の構成を示すブロック図である。記憶装置70は、データ処理プログラム群71と、学習データセット75と、処理定義テーブル77と、遺伝子テーブル82と、個体群データ84と、特定データ85と、サンプルデータセット86と、パラメーターセット87と、各種プログラム88とを記憶する。記憶装置70を記憶部ともよぶ。
【0026】
データ処理プログラム群71は、シーケンス要素となり得るデータ処理それぞれを実行するのに必要な計算式、プログラム、必要なパラメーター等を含む。シーケンス要素となり得るデータ処理を実行するためのプログラムは、パラメーターを調整する機能を備えたものであってもよい。なお、データ処理プログラム群71には、後述するパラメーター決定部55により決定されたパラメーターは含まれない。
【0027】
図3は、学習データセット75の一例を示す図である。学習データセット75は、学習データLMと、学習データLMに関連付けられた目標データTMとのセットを含む。学習データLMは、生成された複数のデータ処理シーケンスSqに入力される入力データである。目標データTMは、学習データLMそれぞれにあらかじめ関連付けられた目標となる出力である。学習データセット75には、複数個の学習データLMおよび目標データTMのセットが含まれている。
【0028】
例えば、対象データ処理シーケンスDSqを用いて、撮像された工業製品である回路基板の画像に対して処理が行われ、回路基板が良品であるか否かが判定される。この場合、対象データ処理シーケンスDSqの入力データと同様の撮像された回路基板の画像データが学習データLMとして使用される。また、対象データ処理シーケンスDSqの出力データと同様の検査結果を示すデータが目標データTMとして使用される。目標データTMは、検査結果について、良品を示すラベル「0」と不良品を示すラベル「1」とのいずれかの値である。図3に示す例では、学習データLM1は良品の回路基板を撮像した画像である。学習データLM1には、良品を示すラベル0が目標データTMとして関連付けられている。学習データLM2は欠陥部分DAが存在する回路基板を撮像した画像である。学習データLM2には、不良品を示すラベル1が目標データTMとして関連付けられている。
【0029】
図4は処理定義テーブル77の一例を示す図である。図4には、対象データ処理シーケンスDSqの入力データがモノクロ画像であることを前提とした処理定義テーブル77の例を示す。処理定義テーブル77には、データ処理シーケンスSqのシーケンス要素となり得るデータ処理それぞれについて、パラメーターの決定に関する情報が格納されている。処理定義テーブル77の「パラメーター決定要否」の値は、データ処理それぞれについてパラメーターの決定が必要であるか否かを示す。「評価要否」の値は、パラメーターを決定する際にデータ処理の結果を評価する必要があるか否かを示す。「パラメーターの詳細」には、対象のデータ処理に使用されるパラメーターを求める方法、パラメーターの初期値等が定義されている。シーケンス要素となり得るデータ処理を実行するためのプログラムがパラメーターを調整する機能を備えたものである場合、「パラメーターの詳細」には、当該機能を利用することが定義されていてもよい。
【0030】
シーケンス要素となり得るデータ処理には、パラメーターを用いたデータ処理と、パラメーターを用いないデータ処理とが含まれている。さらに、パラメーターを用いたデータ処理のうちには、固定されたパラメーターを用いるデータ処理と、変動するパラメーターを用いるデータ処理とがある。
【0031】
シーケンス要素となるデータ処理が、平滑化フィルター、エッジ抽出フィルター等の画像フィルター処理である場合、このような画像フィルター処理においてカーネルと呼ばれる係数が使用される。本実施形態において、カーネルはパラメーターである。なお、同じ種類の画像フィルター処理であっても、カーネルサイズが異なる場合には、異なる画像処理フィルターとして、データ処理プログラム群71に記憶されている。平滑化フィルター、エッジ抽出フィルター等の画像フィルター処理においては、入力されるデータにかかわらず、カーネルは固定された値をもつ。よって、平滑化フィルター、エッジ抽出フィルター等の画像フィルター処理は、パラメーターを用いたデータ処理である。さらに、このような画像フィルター処理において使用されるパラメーターは、入力されるデータにかかわらず変動しない。処理定義テーブル77においては、平滑化フィルター、エッジ抽出フィルターそれぞれの「パラメーター決定要否」が「不要」であると定義されている。また、パラメーターを決定する必要がないので、「評価要否」が「不要」と定義され、「パラメーターの詳細」の欄は空欄である。
【0032】
シーケンス要素となるデータ処理が標準化処理である場合、平均値および標準偏差が使用される。平均値および標準偏差は、例えば、事前に与えられたサンプルデータから求められる。本実施形態において、平均値および標準偏差はパラメーターである。処理定義テーブル77においては、標準化処理の「パラメーター要否」が「要」と定義されている。データ処理が標準化処理である場合、データ処理の結果を評価する必要はないので、「評価要否」が「不要」と定義されている。「パラメーターの詳細」には、例えば、平均値および標準偏差がパラメーターであることと、サンプルデータから平均値および標準偏差を求める方法とが定義される。
【0033】
また、シーケンス要素となるデータ処理が主成分分析である場合、主成分分析において入力されるデータの次元を削減するための変換行列が使用される。変換行列は、事前に与えられたサンプルデータを用いて生成される。本実施形態において、変換行列はパラメーターである。処理定義テーブル77においては、主成分分析の「パラメーター要否」が「要」と定義されている。データ処理が主成分分析である場合、データ処理の結果を評価する必要はないので、「評価要否」が「不要」と定義されている。「パラメーターの詳細」には、例えば、変換行列がパラメーターであることと、サンプルデータから変換行列を求める方法とが定義される。
【0034】
シーケンス要素となるデータ処理が線形判別分析である場合、線形判別分析において入力されるデータの次元を削減するための変換行列が使用される。変換行列は、事前に与えられたサンプルデータを用いて生成される。この場合、サンプルデータに含まれる各値には分類を示すラベル値が対応付けられている。本実施形態において、変換行列はパラメーターである。処理定義テーブル77においては、線形判別分析の「パラメーター要否」が「要」であると定義されている。また、ラベル値を用いて評価を行う必要があるので、「評価要否」が「要」と定義されている。「パラメーターの詳細」には、例えば、変換行列がパラメーターであることと、サンプルデータから変換行列を求める方法とが定義されている。さらに、「パラメーターの詳細」には、パラメーターを評価するための評価値の算出方法と、評価のためのあらかじめ決められた条件とが定義される。
【0035】
シーケンス要素となるデータ処理がSVM、ランダムフォレスト等の機械学習モデルを用いた処理である場合、それぞれの機械学習モデルに応じたハイパーパラメーターを決定する必要がある。本実施形態において、ハイパーパラメーターはパラメーターである。SVM、ランダムフォレスト等の機械学習モデルは、教師あり学習の機械学習モデルである。よって、このような機械学習モデルは、パラメーターを用いたデータ処理である。処理定義テーブル77においては、SVM、ランダムフォレストそれぞれの「パラメーター要否」が「要」、「評価要否」が「要」と定義されている。「パラメーターの詳細」には、パラメーターとなるハイパーパラメーターの詳細と、パラメーターを評価するための評価値の算出方法と、評価のためのあらかじめ決められた条件とが定義される。
【0036】
また、シーケンス要素となるデータ処理が、2つの画像に対して行う加算、減算等の算術演算である場合、これらの算術演算においてはパラメーターが使用されない。2つの画像に対して行う論理和、論理等の論理演算も同様である。よって、シーケンス要素となるデータ処理が算術演算および論理演算である場合、パラメーターの決定は不要である。処理定義テーブル77においては、「加算」、「論理和」それぞれについての「パラメーター決定要否」が「不要」、「評価要否」が「不要」と定義されている。また、「パラメーターの詳細」の欄は空欄である。
【0037】
なお、上述したデータ処理は、シーケンス要素となり得るデータ処理の例である。シーケンス要素となり得るデータ処理は、上述したデータ処理に限られない。
【0038】
図5は、遺伝子テーブル82の一例を示す図である。遺伝子テーブル82はデータ処理シーケンスSqの生成の際に使用される。遺伝子テーブル82は、遺伝子を表す数値の数値範囲ごとに対応するシーケンス要素と、各シーケンス要素の接続関係を規定したテーブルである。遺伝子テーブル82を参照テーブルともよぶ。遺伝子テーブル82に定義されているシーケンス要素は、データ処理あるいはデータ入力処理である。遺伝子テーブル82は、入力データのタイプに応じて個別に用意される。例えば、データ処理シーケンスに入力されるデータがカラー画像である場合には、対応する遺伝子テーブルが用意される。また、例えば、データ処理シーケンスに入力されるデータが分光反射スペクトルである場合には、対応する遺伝子テーブルが用意される。
【0039】
図5に示す例では、遺伝子テーブル82に、シーケンス要素それぞれについて入力数と出力数と出現範囲とが規定されている。画像処理フィルターFtA~FtCと分析処理Ap1~Ap2とが、シーケンス要素となり得るデータ処理として、データ処理プログラム群71に含まれていると仮定する。遺伝子テーブル82におけるシーケンス要素は、画像処理フィルターFtA~FtCと、分析処理Ap1~Ap2と、データ入力層を識別する識別子「in」とである。入力数は、データ処理が行われるデータ処理層あるいはデータ入力層の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが、データ処理の対象となる。なお、データ処理シーケンスにおいて、データ入力層より前にシーケンス要素が存在しないので、データ入力層の入力数は「0」である。出力数は、データ処理が行われるデータ処理層あるいはデータ入力層の出力側に接続されるシーケンス要素の数を示す。本実施形態では、出力数は全て「1」であり、データ処理層およびデータ入力層は、一つの出力側のシーケンス要素に接続される。
【0040】
遺伝子テーブル82の出現範囲には、遺伝子の数値VGの範囲が規定されている。遺伝子の数値VGは、個体IVを構成する各遺伝子を表す値である。遺伝子の数値VGに応じて、データ入力層あるいはデータ処理層がシーケンス要素に割り当てられる。図5に示す例では、各データ処理が均等な確率でランダムにデータ処理シーケンスSq中に出現するように、0~1の数値範囲を6等分している。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子に対応するシーケンス要素に画像処理フィルターFtAが割り当てられる。
【0041】
図6は、一つの世代Gの個体群データ84の説明図である。個体群データ84は、個体生成部22によって生成される1つの世代における複数の個体IVの集合を表す。個体群データ84はデータ処理シーケンスSqの生成の際に使用される。本実施形態では、1つの世代Gで5つの個体IV1~IV5が生成される例を説明する。各個体IV1~IV5は、遺伝子を配置する複数の遺伝子座が一次元的に配列されている。各個体IV1~IV5の遺伝子長は同じである。各個体IV1~IV5は、No.1~No.10の遺伝子座に遺伝子を順に配列することで構成されている。個体生成部22は、各遺伝子座に、0から1までの小数点第3位までの数値で表された遺伝子を配置する。つまり、本実施形態では、各遺伝子座で遺伝子が取りうる値は、0以上1以下の小数点第3位までの数値である。
【0042】
図2に示す、特定データ85は、評価部50により基準条件を満たすと特定されたデータ処理シーケンスSqである対象データ処理シーケンスDSqを表すデータである。
【0043】
サンプルデータセット86は、後述するパラメーターを決定するために用いられるサンプルデータの集合である。サンプルデータセット86に含まれるデータは、学習データLMと同種のデータである。サンプルデータセット86は、例えば、撮像装置200が学習データLMと同種の対象物を撮像することにより取得された複数の画像データを含む。パラメーターセット87は、後述する、決定されたパラメーターを表す情報の集合である。
【0044】
各種プログラム88は、プロセッサー10によって実行され、生成装置100が備える機能を実現するためのプログラムである。
【0045】
図7は、遺伝子翻訳部24によって生成される木構造のデータ処理シーケンスSqについての説明図である。以下、データ処理シーケンスSqの生成の基本的な流れを説明する。
【0046】
遺伝子翻訳部24は、遺伝子テーブル82および個体群データ84を用いて、データ出力層out側から順に木構造のデータ処理シーケンスSqを生成する。まず、遺伝子翻訳部24は、データ出力層outを終端ノードに設定し、個体IVの遺伝子の配列順にシーケンス要素を接続していく。シーケンス要素の接続は、あらかじめ決められた接続ルールに従い実行される。本実施形態では、遺伝子翻訳部24は、データ出力層outからデータ入力層inに向かうように、遺伝子の配列順に、シーケンス要素を順に配置する。また、シーケンス要素の入力が2つ以上であるため、シーケンス要素の入力側が分岐する場合には、最も左側の枝におけるシーケンス要素の配置が優先される。各枝においてシーケンス要素としてデータ入力層inが配置されたときに、その枝でのシーケンス要素の配置は完了する。その後、次の枝、即ち、シーケンス要素の配置が完了した枝の右隣の枝におけるシーケンス要素の配置が行われる。なお、本実施形態では、データ出力層outの入力数は、「1」である。
【0047】
遺伝子翻訳部24は、遺伝子テーブル82(図5を参照)を参照して、個体IV1(図6を参照)のNo.1の遺伝子の数値VGである「0.534」が分析処理Ap1の出現範囲内にあることを特定する。遺伝子翻訳部24は、データ出力層outの入力側に、接続されるノードに分析処理Ap1を割り当てる。遺伝子翻訳部24は、遺伝子テーブル82を参照して、分析処理Ap1の入力数が「2」であることを特定し、分析処理Ap1が割り当てられたノードの入力側に2つのノードを接続する。
【0048】
さらに、遺伝子翻訳部24は、遺伝子テーブル82を参照して、No.2の遺伝子の数値VGである「0.292」が画像処理フィルターFtBの出現範囲内であることを特定する。遺伝子翻訳部24は、分析処理Ap1が割り当てられたノードの入力側に接続された左側のノードに画像処理フィルターFtBを割り当てる。
【0049】
遺伝子翻訳部24は、遺伝子テーブル82を参照して、画像処理フィルターFtBの入力数が「1」であることを特定し、画像処理フィルターFtBが割り当てられたノードの入力側に1つのノードを接続する。遺伝子翻訳部24は、遺伝子テーブル82を参照して、No.3の遺伝子の数値VGである「0.462」が画像処理フィルターFtCの出現範囲内であることを特定する。遺伝子翻訳部24は、画像処理フィルターFtBが割り当てられたノードの入力側に接続されたノードに画像処理フィルターFtCを割り当てる。
【0050】
次に、遺伝子翻訳部24は、遺伝子テーブル82を参照して、画像処理フィルターFtCの入力数が「1」であることを特定し、画像処理フィルターFtCが割り当てられたノードの入力側に1つのノードを接続する。遺伝子翻訳部24は、遺伝子テーブル82を参照して、No.4の遺伝子の数値VGである「0.856」がデータ入力層inの出現範囲内であることを特定する。遺伝子翻訳部24は、画像処理フィルターFtCが割り当てられたノードの入力側に接続されたノードにデータ入力層inを割り当てる。これにより、図7のデータ処理シーケンスSqの左側部分のシーケンスの生成は終了する。続いて、遺伝子翻訳部24は、データ処理シーケンスSqの右側部分の生成を同様に行う。
【0051】
遺伝子翻訳部24は、入力側のノードすべてにデータ入力層inが割り当てられた場合には、個体IV1の全ての遺伝子を用いていない場合であっても、データ処理シーケンスSqの生成処理を終了する。なお、遺伝子翻訳部24は、個体IV1の全ての遺伝子を用いた場合において、入力側接続先である入力側シーケンス要素が全てデータ入力層inになっていない場合には、残りの未接続の入力側シーケンス要素にデータ入力層inを設定することで、データ処理シーケンスSqの生成を終了する。
【0052】
図8は、生成装置100が実行する処理を示すフローチャートである。図8に示す処理は、ステップS10の対象データ処理シーケンスDSqの生成に関する処理と、ステップS20のパラメーターの特定に関する処理と、ステップS30の対象データ処理シーケンスDSqの利用に関する処理と、を含む。
【0053】
図9は、対象データ処理シーケンスの生成に関する処理(図8のステップS10を参照)の詳細なフローチャートである。図9に示す処理は、処理部40および評価部50として機能する生成装置100のプロセッサー10により実行される。
【0054】
ステップS101において、プロセッサー10は、現世代Gnについての個体群を生成する。生成された個体群を表す個体群データ84は記憶装置70に格納される。個体群データ84が表す個体群は、図6に示すように複数の個体IV1~IV5によって構成されている。ステップS102において、プロセッサー10は、遺伝子テーブル82を参照し、生成した個体群のうちから選択した1つの個体IVの各遺伝子を翻訳してデータ処理シーケンスSqを生成する。
【0055】
ステップS103において、プロセッサー10は、学習データLMを入力データとして、データ処理シーケンスSqに含まれるデータ処理を実行する。学習データLMはモノクロ画像であると仮定する。例えば、図7に示すデータ処理シーケンスSq1に従ってデータ処理が実行される場合、以下のように処理が行われる。左側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データは、画像処理フィルターFtCによって処理された後に、画像処理フィルターFtBによって処理され、第1中間データが生成される。右側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データは、画像処理フィルターFtAによって処理されて第2中間データが生成される。なお、左側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データと、右側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データとは同じデータである。さらに、分析処理Ap1により第1中間データおよび第2中間データは処理されて、データ出力層outによって最終的な出力データPMが出力される。最終的な出力データPMは記憶装置70に格納される。なお、データ処理シーケンスに含まれるデータ処理にパラメーターが使用される場合、あらかじめ決められた初期値がパラメーターとして使用されてもよい。あるいは、決められた数の学習データLMを用いてパラメーターが算出されてもよい。
【0056】
図9に示す、ステップS104において、プロセッサー10は、出力データPMと、出力データPMの元となる学習データLMに対応付けられた目標データTMと、を用いて、データ処理シーケンスSqの処理結果を評価する評価値を算出する。具体的には、プロセッサー10は、出力データPMと目標データTMとの類似の程度SDを示す評価値EVを算出する。算出された評価値EVは、対象となる個体IVを示す情報と学習データLMを示す情報とに関連付けられて記憶装置70に格納される。
【0057】
ステップS105において、プロセッサー10は、現世代Gnにおけるすべての個体IVについてそれぞれから生成されたデータ処理シーケンスSqについて評価値EVが算出されたか否かを判定する。現世代Gnにおけるすべての個体IVについて、評価値EVが算出された場合(ステップS105;YES)、ステップS106が実行される。現世代Gnにおけるすべての個体IVについて評価値EVが算出されていない場合(ステップS105;NO)、ステップS102が再び実行される。2回目以降のステップS102の処理の際には、プロセッサー10は、現世代Gnの個体IVのうち、データ処理シーケンスSqの生成に使用されていない残りの個体IVnから一つを選択する。プロセッサー10は、個体IVの各遺伝子を翻訳してデータ処理シーケンスSqを生成する。
【0058】
ステップS106において、プロセッサー10は、終了条件が満たされているか否かを判定する。終了条件は、複数の個体IV1~IV5それぞれから生成されたデータ処理シーケンスSqそれぞれについて算出された評価値EVのうち、最も高い評価値EVである最大評価値EVmaxが、あらかじめ決められた閾値より高いことである。最も高い評価値EVである最大評価値EVmaxを得ることができたデータ処理シーケンスSqが対象データ処理シーケンスDSqとして特定される。現世代の個体IV1~IV5それぞれから生成されたデータ処理シーケンスSqのうちから対象データ処理シーケンスDSqが特定されたとき、終了条件が満たされているので(ステップS106;YES)、ステップS107が実行される。
【0059】
一方、最大評価値EVmaxが閾値よりも低い場合、現世代の個体IV1~IV5それぞれから生成されたデータ処理シーケンスSqのうちに対象データ処理シーケンスDSqに該当するものがない。この場合には、終了条件が満たされていないので(ステップS106;NO)、ステップS101が再び実行される。2回目以降のステップS101の実行の際には、プロセッサー10は、親世代の個体のうち優秀な個体から交叉と突然変異との少なくとも一つの手法により子世代を構成する新たな個体を生成する。具体的には、プロセッサー10は、現世代Gnの各個体それぞれから生成されたデータ処理シーケンスSqについての評価値EVが下位K番目(Kは1以上の整数)までの個体を新たな個体に入れ替える。また、下位K番目までに該当しない個体に対して交叉や突然変異との少なくとも一つを行うことで新たな個体を生成する。このようにして、個体の世代交代が行われる。
【0060】
ステップS107において、プロセッサー10は、対象データ処理シーケンスDSqを表す特定データ85を記憶装置70に保存する。その後、図9に示す処理が終了される。
【0061】
図10は、パラメーターの決定に関する処理(図8のステップS20を参照)の詳細なフローチャートである。図10に示す処理は、パラメーター決定部55として機能する生成装置100のプロセッサー10により実行される。なお、対象データ処理シーケンスDSqに含まれるデータ処理のうち、少なくとも1つのデータ処理においてパラメーターの決定が必要であることを前提とする。
【0062】
ステップS201において、プロセッサー10は、対象データ処理シーケンスDSqを表す特定データ85を記憶装置70から読み出す。さらに、プロセッサー10は、インデックスiに「1」をセットする。iは1以上N以下の整数を取り得る。Nは、対象データ処理シーケンスDSqに含まれているシーケンス要素のうち、データ処理層にあたるシーケンス要素の数である。インデックスiは、対象データ処理シーケンスDSqに含まれるデータ処理の実行順序を示す。パラメーターの決定の際も、上述したのと同様の順序で、対象データ処理シーケンスDSqにおけるデータ処理それぞれが実行される。例えば、図7に示すデータ処理シーケンスSq1に従ってデータ処理が実行される場合、最も左側の枝においてデータ入力層inに接続されているデータ処理層におけるデータ処理に最も値の小さいインデックス値が割り当てられる。
【0063】
図10に示す、ステップS202において、プロセッサー10は、処理定義テーブル77(図4を参照)を参照して、対象データ処理シーケンスDSqに含まれるi番目データ処理について、パラメーターの決定の要否を判別する。i番目データ処理についてパラメーターの決定が必要な場合(ステップS202;YES)、ステップS203の処理が実行される。一方、i番目データ処理についてパラメーターの決定が不要な場合(ステップS202;NO)、ステップS207の処理が実行される。
【0064】
ステップS203において、プロセッサー10は、処理定義テーブル77を参照して、i番目のデータ処理についてパラメーターを決定する際にデータ処理の結果を評価する必要があるか否かを判別する。データ処理の結果を評価する必要がある場合(ステップS203;YES)、ステップS204の処理が行われる。データ処理の結果を評価する必要がない場合(ステップS203;NO)、ステップS206の処理が行われる。
【0065】
ステップS204において、プロセッサー10は、i番目のデータ処理についてのパラメーターに関する目標データの入力を受けつける。例えば、プロセッサー10は、対象データ処理シーケンスDSqを表す木構造を示す画像と、i番目のデータ処理を表す情報とを、表示装置160に表示させる。ユーザーは、入力装置150を使用して、i番目のデータ処理について、パラメーターに関する目標データである第1データを入力する。
【0066】
ステップS205において、プロセッサー10は、i番目のデータ処理を実行し、i番目のデータ処理において使用すべきパラメーターを決定する。ステップS205において、i番目のデータ処理が割り当てられているデータ処理層が、データ入力層の出力側に接続されている場合、i番目のデータ処理の処理対象はサンプルデータセット86に含まれるサンプルデータである。i番目のデータ処理が割り当てられているデータ処理層が、他のデータ処理層の出力側に接続されている場合、i番目のデータ処理の処理対象は他のデータ処理がなされて出力された中間データである。パラメーターを求める方法は、処理定義テーブル77に定義されている。ステップS205においては、サンプルデータまたは中間データを用いてi番目のデータ処理が実行される。あるいは、ステップS205においては、サンプルデータまたは中間データとパラメーターとを用いてi番目のデータ処理が実行される。この場合、例えば、パラメーターの初期値が用いられる。
【0067】
ステップS205におけるパラメーターの決定の際には、パラメーターが評価される。具体的には、プロセッサー10は、i番目のデータ処理の結果データと、ステップS204で受けつけた第1データとを用いて、パラメーターを評価する評価値を求める。ここで、プロセッサー10は、処理定義テーブル77に定義されているパラメーターを評価するための評価値の算出方法を用いて、パラメーターを評価する評価値を求める。なお、S205において求められる評価値は、データ処理シーケンスSqを評価する評価値EVとは異なる方法により求められる。i番目のデータ処理の結果データとステップS204で受けつけた第1データとの類似の程度を示す評価値として、例えば、平均絶対誤差が使用される。
【0068】
プロセッサー10は、あらかじめ決められた条件を満たす評価値を得ることができたデータ処理において使用されたパラメーターを、i番目のデータ処理において使用すべきパラメーターとして決定する。ここで、プロセッサー10は、処理定義テーブル77に定義されている、評価のためのあらかじめ決められた条件を、評価値が満たすか否かを判定する。なお、あらかじめ決められた条件は、対象データ処理シーケンスDSqを特定する際の基準条件とは異なる条件である。あらかじめ決められた条件は、例えば、評価値が閾値以下であることである。
【0069】
プロセッサー10は、あらかじめ決められた条件を満たす評価値が得られるまで、パラメーターの値を変更しながら、i番目のデータ処理を繰り返し行う。プロセッサー10は、決定したパラメーターを表す情報をi番目のデータ処理を表す情報に対応付けて、パラメーターセット87として記憶装置70に格納する。パラメーターを表す情報は、i番目のデータ処理において使用すべき1または複数のパラメーターである。また、プロセッサー10は、i番目のデータ処理の結果、出力されたデータを記憶装置70に格納する。
【0070】
ステップS206において、プロセッサー10は、i番目のデータ処理を実行し、i番目のデータ処理において使用すべきパラメーターを決定する。ステップS206において、i番目のデータ処理が割り当てられているデータ処理層が、データ入力層の出力側に接続されている場合、i番目のデータ処理の処理対象はサンプルデータセット86に含まれるサンプルデータである。i番目のデータ処理が割り当てられているデータ処理層が、他のデータ処理層の出力側に接続されている場合、i番目のデータ処理の処理対象は他のデータ処理がなされて出力された中間データである。パラメーターを求める方法は、処理定義テーブル77に定義されている。ステップS206においては、サンプルデータまたは中間データを用いてi番目のデータ処理が実行される。あるいは、ステップS206においては、サンプルデータまたは中間データとパラメーターとを用いてi番目のデータ処理が実行される。この場合、例えば、パラメーターの初期値が用いられる。プロセッサー10は、決定したパラメーターを表す情報をi番目のデータ処理を表す情報と対応付けて、パラメーターセット87として記憶装置70に格納する。パラメーターを表す情報は、i番目のデータ処理において使用すべき1または複数のパラメーターである。また、プロセッサー10は、i番目のデータ処理の結果、出力されたデータを記憶装置70に格納する。その後、ステップS208の処理が実行される。
【0071】
ステップS207において、プロセッサー10は、i番目のデータ処理を実行する。プロセッサー10は、i番目のデータ処理の結果、出力されたデータを記憶装置70に格納する。その後、ステップS208の処理が実行される。
【0072】
ステップS208において、インデックスiがNを超えているか否か判別される。インデックスiがNを超えている場合(ステップS208;YES)、図10に示す処理が終了される。一方、インデックスiがN以下である場合(ステップS208;NO)、ステップS209の処理が実行される。
【0073】
ステップS209において、インデックスiの値に1が加算される。その後、ステップS202の処理が実行される。以上が、パラメーターの決定に関する処理の流れである。上述の処理により、記憶装置70に格納されたパラメーターセット87は、対象データ処理シーケンスDSqに含まれるデータ処理のうち、パラメーターの決定が必要なデータ処理それぞれにおいて使用すべきパラメーターを表す情報を含む。
【0074】
図11は、対象データ処理シーケンスDSqの利用に関する処理(図8のステップS30を参照)の詳細なフローチャートである。図11に示す処理は、処理部40として機能する生成装置100のプロセッサー10により実行される。図11に示す処理においては、図10に示す方法で決定されたパラメーターが用いられる。このため、図11に示す処理が実行される前に、対象データ処理シーケンスDSqが特定され(図9を参照)、対象データ処理シーケンスDSqに含まれるデータ処理において使用すべきパラメーターが決定される(図10を参照)ことが前提となる。
【0075】
図11に示すように、ステップS301において、プロセッサー10は、対象データ処理シーケンスDSqを表す特定データ85および決定されたパラメーターを表すパラメーターセット87を記憶装置70から読み出す。よって、図11に示す処理においては、パラメーターの調整を一から行うことなく、対象データ処理シーケンスDSqを使用することができる。さらに、プロセッサー10は、対象データ処理シーケンスDSqに含まれるデータ処理それぞれを実行するのに必要なプログラム等を記憶装置70に格納されているデータ処理プログラム群71から読み出す。
【0076】
ステップS302において、プロセッサー10は、対象データ処理シーケンスDSqの処理の対象となる入力データを記憶装置70から読み出す。入力データは、例えば、撮像装置200が学習データLMと同種の対象物を撮像することにより取得された画像データである。
【0077】
ステップS303において、プロセッサー10は、入力データに対して対象データ処理シーケンスDSqを用いた処理を実行する。つまり、入力データに対して、対象データ処理シーケンスDSqが示す順番に従ってデータ処理が実行される。ステップS304において、プロセッサー10は、対象データ処理シーケンスDSqを用いた処理後のデータである出力データPMを出力する。出力データPMは記憶装置70に格納される。さらに、出力データPMは入力データとともに表示装置160に表示されてもよい。
【0078】
ステップS305において、プロセッサー10は、対象データ処理シーケンスDSqを用いた処理を継続するか否かを判定する。例えば、プロセッサー10は、ユーザーの操作により処理の継続の指示を示す情報が入力された場合に処理を継続すると判定する。また、プロセッサー10は、記憶装置70に未処理の入力データが格納されている場合に処理を継続すると判定する。対象データ処理シーケンスDSqを用いた処理を継続する場合(ステップS305;YES)、ステップS302の処理が再び実行される。対象データ処理シーケンスDSqを用いた処理を継続しない場合(ステップS305;NO)、図11に示す処理が終了される。
【0079】
以上説明したように、本実施形態においては、まず、基準条件を満たす評価値EVを得ることができたデータ処理シーケンスSqが対象データ処理シーケンスDSqとして特定される。その後、対象データ処理シーケンスDSqに応じたパラメーターが決定される。データ処理シーケンスの特定とパラメーターの決定とを同時に行う態様においては、生成された複数のデータ処理シーケンスSqについてパラメーターの調整が行われるので処理が非効率となるが、上記形態においては、効率的に最適なパラメーターを決定できる。
【0080】
また、本実施形態においては、対象データ処理シーケンスDSqに含まれるデータ処理のうち、変動するパラメーターを用いるデータ処理について、パラメーターがあらかじめ決定される。決定されたパラメーターを表す情報を含むパラメーターセット87は記憶装置70に格納されている。よって、対象データ処理シーケンスDSqを利用する処理を行う際に、パラメーターの調整を一から行う必要がない。
【0081】
また、生成装置100とは異なる1つ以上の他のコンピューターで、対象データ処理シーケンスDSqを用いた処理を行うことがある。生成装置100とは異なる他のコンピューターにおいて、生成された対象データ処理シーケンスDSqと決定されたパラメーターとのいずれも流用しない場合には、データ処理シーケンスの生成とパラメーターの調整とを一から行う必要があり、負荷が大きい。しかしながら、他のコンピューターの記憶装置に、特定データ85およびパラメーターセット87を格納することにより、他のコンピューターが生成された対象データ処理シーケンスDSqと決定されたパラメーターとを流用できる。あるいは、特定データ85およびパラメーターセット87は、他のコンピューターがアクセス可能なクラウドサーバーの記憶装置に格納されてもよい。よって、他のコンピューターにおいては、パラメーターの調整を一から行う必要がない。
【0082】
本実施形態において、決定されたパラメーターを表す情報がパラメーターを使用するデータ処理を表す情報に対応付けられて記憶装置70に保存されるので、データ処理シーケンス単位ではなくデータ処理ごとにパラメーターを取り扱うことができる。よって、例えば、ユーザーが所望のデータ処理についてのパラメーターだけを変更することができる。
【0083】
また、データ処理シーケンスを使用する処理の課題が若干変更されることがある。例えば、対象データ処理シーケンス生成時に想定されていたのと同種の回路基板が検査対象であるが、対象データ処理シーケンス生成時に想定されていた欠陥部分の形状および色と若干異なる形状および色を有する欠陥部分を検出する必要が生じることがある。この場合には、対象データ処理シーケンスを新たに生成せず、パラメーターの調整だけを行うことで変更後の課題を解決できることがある。これにより、対象データ処理シーケンスの生成にかかる時間を削減することができる。
【0084】
B1.他の実施形態1:
また、決定したパラメーターを記憶装置70に格納する際には、パラメーターセット87と対象データ処理シーケンスDSqを表す情報とが対応付けられて、記憶装置70に格納されてもよい。これにより、パラメーターを決定した生成装置100と異なる他のコンピューターが対象データ処理シーケンスDSqを実行するときには、保存されたパラメーターを容易に利用できる。
【0085】
また、実施形態では、決定したパラメーターを表す情報が、対応するデータ処理を表す情報と対応付けられる例を説明した。しかしながら、決定したパラメーターを表す情報は、が、対応するデータ処理を表す情報と対応付けられずに保存されてもよい。
【0086】
B2.他の実施形態2:
また、パラメーターを決定するために、対象データ処理シーケンスDSqに含まれるすべてのデータ処理が実行されなくてもよい。対象データ処理シーケンスDSqが備えるシーケンス要素の接続関係についての構成があらかじめ決められた条件を満たす場合には、パラメーターを決定するために、対象データ処理シーケンスDSqに含まれるデータ処理の一部だけを実行してもよい。あらかじめ決められた条件とは、例えば、対象データ処理シーケンスDSqに含まれる複数のデータ処理のうち、データ入力層の出力側に接続されているデータ処理層に割り当てられているデータ処理だけが、決定することが必要なパラメーターを使用する場合である。この場合、データ入力層の出力側に接続されているデータ処理層におけるデータ処理までを実行し、以降のデータ処理を実行しなくてもよい。
【0087】
また、例えば、対象データ処理シーケンスDSqが、図7に示すような木構造により表されるとする。この場合、左側の枝に配置されているデータ処理層だけで、決定することが必要なパラメーターを使用する場合である。この場合、左側の枝におけるデータ処理層に割り当てられているデータ処理だけを実行し、以降のデータ処理を実行しなくてもよい。図7に示す例では、左側の枝の先端ノードに割り当てられたデータ入力層inに入力された入力データは、画像処理フィルターFtCによって処理された後に、画像処理フィルターFtBによって処理され、第1中間データが生成されるところまで、処理を実行し、その他のデータ処理を実行しなくてもよい。なお、この場合、目標データとして、所望とする第1中間データをあらかじめ用意しておく。
【0088】
しかしながら、対象データ処理シーケンスDSqが備えるシーケンス要素の接続関係についての構成が、あらかじめ決められた条件を満たさない場合に、パラメーターを決定するためにデータ処理シーケンスに含まれるデータ処理のすべてが実行される。上記形態によれば、あらかじめ決められた条件が満たされている場合に、パラメーターの決定のためにデータ処理シーケンス全体を実行する必要がないので、パラメーターの決定のためにかかる処理時間を短縮できる。
【0089】
B3.他の実施形態3:
また、生成装置100は、図10に示すパラメーターの決定に関する処理のステップS201の処理の後であって、ステップS202の処理の前に、データ処理に関する目的についての入力をユーザーから受けつけてもよい。例えば、生成装置100は、「判別」および「検量」をデータ処理に関する目的の選択肢として提示し、ユーザーの選択を受けつけてもよい。この場合、生成装置100は、決定したパラメーターを表す情報を、対象データ処理シーケンスDSqを表す情報と、データ処理を表す情報と、指定されたデータ処理に関する目的を表す情報と、に対応付けて、パラメーターセット87として記憶装置70に格納する。あるいは、生成装置100は、決定したパラメーターを表す情報を、データ処理を表す情報と、指定されたデータ処理に関する目的を表す情報と、に対応付けて、パラメーターセット87として記憶装置70に格納してもよい。あるいは、生成装置100は、決定したパラメーターを表す情報を、対象データ処理シーケンスDSqを表す情報と、指定されたデータ処理に関する目的を表す情報と、に対応付けて、パラメーターセット87として記憶装置70に格納してもよい。上記形態によれば、パラメーターを決定した生成装置100とは異なる他のコンピューターがデータ処理シーケンスを実行するときには、データ処理の目的に応じたパラメーターを容易に利用できる。
【0090】
生成装置100とは異なる他のコンピューターが、対象データ処理シーケンスDSqと決定されたパラメーターとを単に流用することも可能である。しかしながら、生成装置100においてパラメーターを決定した際に設定されているデータ処理の目的と、他のコンピューターにおいて、対象データ処理シーケンスDSqを用いる場合に、設定されているデータ処理の目的とが異なることがある。この場合、生成装置100において決定されたパラメーターが、他のコンピューターにおいて最適なパラメーターとはならず、かえって、処理精度が低下することがある。よって、他のコンピューターにおいて、データ処理の目的に応じてパラメーターの調整を一から行う必要が生じる。上記形態によれば、決定した最適なパラメーターを表す情報に、指定されたデータ処理に関する目的を表す情報と、が対応付けられている。よって、他のコンピューターにおいて、所望の目的に応じて決定されたパラメーターを流用することができる。
【0091】
B4.他の実施形態4:
図9に示す処理により対象データ処理シーケンスDSqが特定された後に、生成された複数のデータ処理シーケンスSqのうち、特定された対象データ処理シーケンスDSqを除くデータ処理シーケンスSqに関するデータが破棄されてもよい。例えば、破棄されるデータ処理シーケンスSqに関するデータには、対象データ処理シーケンスDSqを除くデータ処理シーケンスSqそれぞれを表す個体IVのデータが含まれる。また、例えば、破棄されるデータ処理シーケンスSqに関するデータには、複数のデータ処理シーケンスSqのデータ処理それぞれにより生成された中間データが含まれる。さらに、複数のデータ処理シーケンスSqそれぞれに含まれるデータ処理それぞれにおいて使用されたパラメーターに関するデータが破棄されてもよい。例えば、破棄されるパラメーターに関するデータには、複数のデータ処理シーケンスSqのデータ処理それぞれにより使用されたパラメーターが含まれる。このような形態によれば、ひとつの生成装置100で、データ処理シーケンスの特定と、パラメーターの決定とを行う場合に、メモリーの記憶容量を不必要に消費しない。
【0092】
B5.他の実施形態5:
実施形態においては、対象データ処理シーケンスの生成に関する処理(図9を参照)の終了条件が、最大評価値EVmaxがあらかじめ決められた閾値より高いことであった。しかしながら、終了条件はこれに限られない。例えば、あらかじめ決められた回数だけ世代交代が行われたことを終了条件としてもよい。この場合、生成されたすべてのデータ処理シーケンスSqそれぞれについての評価値EVを記憶装置70に保存しておき、最も高い評価値EVを得られたデータ処理シーケンスSqが対象データ処理シーケンスDSqとして特定されてもよい。
【0093】
B6.他の実施形態6:
実施形態では、遺伝的アルゴリズムを用いて複数のデータ処理シーケンスSqを生成していたが、生成方法はこれに限定されるものではない。複数のシーケンス要素を、ランダムに配置することで複数のデータ処理シーケンスSqを生成してもよい。
【0094】
B7.他の実施形態7:
上記実施形態では、データ処理シーケンスSqは個体IVと遺伝子テーブル82とによって表されていていたが、これに限定されるものではない。例えば、データ処理シーケンスSqは、複数のシーケンス要素と各シーケンス要素の接続関係を規定したテーブルとによって表されていてもよい。
【0095】
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0096】
(1)本開示の第1形態によれば、データ処理シーケンスの生成方法が提供される。この生成方法は、シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成方法であって、(a)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、前記パラメーターを決定するステップであって、サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、前記データ処理を行うことにより得られた出力データと、前記目標データとを用いて、前記出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定する、ステップと、(b)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記パラメーターを決定するステップであって、前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、ステップと、(c)決定された前記パラメーターを表す情報を記憶部に保存するステップと、を含む。
この形態によれば、決定されたパラメーターが保存されるので、パラメーターを決定したコンピューターと異なる他のコンピューターが同一のデータ処理シーケンスを実行するときには、新たにパラメーターを決定することなく、保存されたパラメーターを利用できる。よって、パラメーターの調整を一から行う必要がない。
【0097】
(2)上記形態において、前記ステップ(c)においては、決定された前記パラメーターを表す情報と、前記データ処理シーケンスを表す情報と、が対応付けられて前記記憶部に保存されてもよい。
この形態によれば、パラメーターを表す情報がデータ処理シーケンスを表す情報に対応付けられているので、パラメーターを決定したコンピューターと異なる他のコンピューターがデータ処理シーケンスを実行するときには、保存されたパラメーターを容易に利用できる。
【0098】
(3)上記形態において、前記ステップ(c)においては、決定された前記パラメーターを表す情報と、決定された前記パラメーターが使用される前記データ処理を表す情報と、が対応付けられて前記記憶部に保存されてもよい。
この形態によれば、パラメーターを表す情報がパラメーターを使用するデータ処理を表す情報に対応付けられているので、データ処理シーケンス単位ではなくデータ処理ごとにパラメーターを取り扱うことができる。よって、例えば、ユーザーが所望のデータ処理についてのパラメーターだけを変更することができる。
【0099】
(4)上記形態において、前記ステップ(c)においては、決定された前記パラメーターを表す情報と、前記データ処理シーケンスを表す情報と、前記パラメーターが決定された際に設定されている前記データ処理に関する目的を表す情報と、が対応付けて前記記憶部に保存されてもよい。
この形態によれば、パラメーターを決定したコンピューターと異なる他のコンピューターがデータ処理シーケンスを実行するときには、データ処理の目的に応じたパラメーターを容易に利用できる。
【0100】
(5)上記形態において、(i)複数のデータ処理シーケンスを生成するステップであって、前記複数のデータ処理シーケンスは、それぞれ、前記データ処理シーケンスを構成する複数の前記シーケンス要素にそれぞれ対応した複数の遺伝子を配列した個体と、前記データ処理シーケンスを構成する前記シーケンス要素の接続関係を規定した参照テーブルと、によって表され、互いに前記シーケンス要素の組み合わせが異なる、複数のデータ処理シーケンスである、ステップと、(ii)前記複数のデータ処理シーケンスのそれぞれによって入力データを処理して得られた出力データと、前記入力データに対応付けられた所望の目標データと、を用いて、前記複数のデータ処理シーケンスそれぞれを評価する評価値を取得するステップと、(iii)前記複数のデータ処理シーケンスのそれぞれについての前記評価値を用いて、あらかじめ定められた基準条件を満たす前記データ処理シーケンスである対象データ処理シーケンスを特定するステップと、(iv)交叉と突然変異との少なくとも1つを行って前記個体を新たに生成することにより、前記個体の世代交代を行うステップと、(v)あらかじめ決められた終了条件が満たされるまで、前記ステップ(i)から前記ステップ(iv)までを繰り返すステップと、(vi)特定された前記対象データ処理シーケンスを表す情報を記憶部に格納するステップと、を含み、前記ステップ(i)から前記ステップ(vi)までは、前記ステップ(a)から(c)より前に実行されてもよい。
この形態によれば、まず、評価値を用いて、基準条件を満たすデータ処理シーケンスが対象データ処理シーケンスとして特定され、その後、特定されたデータ処理シーケンスに応じたパラメーターが決定される。データ処理シーケンスの特定とパラメーターの決定とを同時に行う態様においては、生成された複数のデータ処理シーケンスについてパラメーターの調整が行われるので処理が非効率となるが、上記形態においては、効率的に最適なパラメーターを決定できる。また、データ処理シーケンスを使用する処理の課題が若干変更された場合には、対象データ処理シーケンスを新たに生成せず、パラメーターの調整だけを行うことで変更後の課題を解決できることがある。これにより、対象データ処理シーケンスの生成にかかる時間を削減することができる。
【0101】
(6)上記形態において、前記対象データ処理シーケンスが特定された後に、前記複数のデータ処理シーケンスのうち、前記対象データ処理シーケンスを除く前記データ処理シーケンスに関するデータと、前記複数のデータ処理シーケンスに含まれる前記データ処理それぞれにおいて使用された前記パラメーターに関するデータと、が破棄されてもよい。
この形態によれば、例えば、同一のコンピューターで、対象データ処理シーケンスの特定と、パラメーターの決定とを行う場合に、メモリーの記憶容量を不必要に消費しない。
【0102】
(7)上記形態において、前記データ処理シーケンスが備える前記シーケンス要素の接続関係についての構成が、あらかじめ決められた条件を満たす場合に、前記ステップ(a)または前記ステップ(b)の実行により前記パラメーターを決定するために、前記データ処理シーケンスに含まれる前記データ処理のうち一部だけが実行され、前記データ処理シーケンスが備える前記構成が、前記あらかじめ決められた条件を満たさない場合に、前記ステップ(a)または前記ステップ(b)の実行により前記パラメーターを決定するために、前記データ処理シーケンスに含まれる前記データ処理のすべてが実行されてもよい。
この形態によれば、あらかじめ決められた条件が満たされている場合に、パラメーターの決定のためにデータ処理シーケンス全体を実行する必要がないので、パラメーターの決定のためにかかる処理時間を短縮できる。
【0103】
(8)上記形態により決定された前記パラメーターを用いたデータ処理方法は、前記記憶部に格納されている前記対象データ処理シーケンスを表す特定データおよび前記パラメーターを表すパラメーターセットを読み出すステップと、前記特定データおよび前記パラメーターセットを用いて、データ処理を行うステップと、を含む。
この形態によれば、パラメーターの調整を一から行うことなく、対象データ処理シーケンスを使用することができる。
【0104】
(9)本開示の第2形態によれば、データ処理シーケンスを生成する生成装置が提供される。この生成装置は、シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する生成装置であって、前記データ処理において使用されるパラメーターを決定し、決定した前記パラメーターを表す情報を記憶部に保存する決定部、を備え、前記決定部は、前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、前記データ処理を行うことにより得られた出力データと、前記目標データと、を用いて、前記出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定し、前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する。
この形態によれば、決定されたパラメーターが保存されるので、パラメーターを決定したコンピューターと異なる他のコンピューターが同一のデータ処理シーケンスを実行するときには、新たにパラメーターを決定することなく、保存されたパラメーターを利用できる。よって、パラメーターの調整を一から行う必要がない。
(10)本開示の第3形態によれば、プログラムが提供される。このプログラムは、シーケンス要素としての、入力データを入力するデータ入力処理と、1つ以上のデータ処理と、前記データ処理がなされたデータを出力するデータ出力処理と、の組み合わせによって構成されるデータ処理シーケンスを生成する装置として機能するコンピューターに、(a)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であり、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価することが必要な場合に、前記パラメーターを決定する機能であって、サンプルデータと、前記サンプルデータに対応付けられた所望の目標データと、前記パラメーターと、を用いて前記データ処理を行い、前記データ処理を行うことにより得られた出力データと、前記目標データと、を用いて、前記出力データを評価する評価値を算出し、あらかじめ決められた条件を満たす前記評価値が得られた前記データ処理において使用された前記パラメーターを、前記データ処理において使用すべきパラメーターとして決定する、機能と、(b)前記データ処理が処理対象とするデータに応じたパラメーターを用いる処理であって、前記パラメーターを決定するために、前記データ処理がなされて出力されたデータを評価する必要がない場合に、前記パラメーターを決定する機能であって、前記サンプルデータと、前記パラメーターと、を用いて前記データ処理を行うことにより、前記データ処理において使用すべきパラメーターを決定する、機能と、(c)決定された前記パラメーターを表す情報を記憶部に保存する機能と、を実現させる。
この形態によれば、決定されたパラメーターが保存されるので、パラメーターを決定したコンピューターと異なる他のコンピューターが同一のデータ処理シーケンスを実行するときには、新たにパラメーターを決定することなく、保存されたパラメーターを利用できる。よって、パラメーターの調整を一から行う必要がない。
【0105】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0106】
1…生成システム、10…プロセッサー、20…シーケンス生成部、22…個体生成部、24…遺伝子翻訳部、40…処理部、50…評価部、55…パラメーター決定部、60…表示制御部、70…記憶装置、71…データ処理プログラム群、75…学習データセット、77…処理定義テーブル、82…遺伝子テーブル、84…個体群データ、85…特定データ、86…サンプルデータセット、87…パラメーターセット、88…各種プログラム、90…インターフェイス部、100…生成装置、150…入力装置、160…表示装置、200…撮像装置、Ap1,Ap2…分析処理、DA…欠陥部分、DSq…対象データ処理シーケンス、EV…評価値、EVmax…最大評価値、FtA,FtB,FtC…画像処理フィルター、G…世代、Gn…現世代、IV,IVn,IV1…個体、LM,LM1,LM2…学習データ、PM…出力データ、SD…程度、Sq,Sq1…データ処理シーケンス、TM…目標データ、VG…数値、in…データ入力層、out…データ出力層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11