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

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

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

特開2024-143898データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム
<>
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図1
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図2
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図3
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図4
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図5
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図6
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図7
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図8
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図9
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図10
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図11
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図12
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図13
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図14
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図15
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図16
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図17
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図18
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図19
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図20
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図21
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143898
(43)【公開日】2024-10-11
(54)【発明の名称】データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム
(51)【国際特許分類】
   G06N 3/0985 20230101AFI20241004BHJP
   G06N 3/086 20230101ALI20241004BHJP
【FI】
G06N3/0985
G06N3/086
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023056837
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】鈴木 拓実
(72)【発明者】
【氏名】金井 政史
(72)【発明者】
【氏名】笠原 秀明
(57)【要約】
【課題】基準条件を満たすデータ処理シーケンスを効率良く特定できる技術を提供する。
【解決手段】データ処理シーケンスの生成方法は、(a)特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する工程と、(b)参照テーブルを用いて複数のデータ処理シーケンスを生成する工程と、(c)前記複数のデータ処理シーケンスの中から、基準条件を満たす特定データ処理シーケンスを特定する工程と、を備え、工程(a)は、前記参照テーブルにおいて、(a1)データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける工程と、(a2)複数の要素セットのうち、非出現データが関連付けられた前記特定要素セットとは異なる要素セットに対して、データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける工程と、を備える。
【選択図】図14
【特許請求の範囲】
【請求項1】
予め定めた基準条件を満たすデータ処理シーケンスの生成方法であって、
前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成され、
前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスであり、
前記生成方法は、
(a)前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する工程と、
(b)前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成する工程と、
(c)前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する工程と、を備え、
前記工程(a)は、前記参照テーブルにおいて、
(a1)接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける工程と、
(a2)前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける工程と、を備える、生成方法。
【請求項2】
請求項1に記載の生成方法であって、
前記特定データ処理シーケンスは、少なくとも1つの前記データ処理層を用いたデータ処理工程を複数含み、
複数の前記データ処理工程の順番が設定順番として予め定められている場合において、
前記工程(a1)は、
前記設定順番とは異なる順番となる前記要素セットを前記特定要素セットとして特定する工程と、
特定した前記特定要素セットに対して前記データ処理シーケンスの前記構成要素として出現させないことを示す非出現データを関連付ける工程と、を有する、生成方法。
【請求項3】
請求項1に記載の生成方法であって、さらに、
(d)前記工程(a)よりも前に実行され、前記特定データ処理シーケンスの前記シーケンス要素の候補となる前記複数のデータ処理層の入力を受け付ける工程を備え、
前記工程(a1)は、
(a1a)前記工程(d)で受け付けた前記複数のデータ処理層のそれぞれの種類を判定し、判定した前記種類に応じて前記特定要素セットを特定する工程を含む、生成方法。
【請求項4】
請求項3に記載の生成方法であって、
前記工程(a1a)は、前記判定した種類が、入力された前記データに対して前記データの種別を判定して出力する第1特定データ処理層を示す第1種類である場合には、前記複数の要素セットのうち、第1要素セットとは異なる前記要素セットを前記特定要素セットとして特定し、
前記第1要素セットは、前記入力側の前記シーケンス要素が前記第1特定データ処理層であり、前記出力側の前記シーケンス要素が前記データ出力層である、生成方法。
【請求項5】
請求項3に記載の生成方法であって、
前記工程(a1a)は、前記判定した種類が、入力された前記データに対して前記データに応じたスカラー量を出力する第2特定データ処理層を示す第2種類である場合には、前記複数の要素セットのうち、第2要素セットとは異なる前記要素セットを前記特定要素セットとして特定し、
前記第2要素セットは、前記入力側の前記シーケンス要素が前記第2特定データ処理層であり、前記出力側の前記シーケンス要素が前記データ出力層である、生成方法。
【請求項6】
請求項1に記載の生成方法であって、
前記工程(a1)において関連付ける前記非出現データは、前記接続参考値が取り得る予め設定された数値範囲から外れた値である、生成方法。
【請求項7】
請求項1に記載の生成方法であって、
前記工程(b)は、前記シーケンス要素の組み合わせが異なる前記複数のデータ処理シーケンスによって構成されるシーケンスセットを生成する工程であって、前記データ入力層および前記データ処理層のそれぞれに対応した複数の遺伝子を配列した個体と、前記参照テーブルと、を少なくとも用いて前記シーケンスセットを生成する工程を含み、
前記工程(c)は、
(c1)前記複数のデータ処理シーケンスのそれぞれによって学習データをデータ処理し、前記複数のデータ処理シーケンスごとに前記データ処理後のデータである出力データを生成する工程と、
(c2)前記複数のデータ処理シーケンスごとに、前記出力データと、前記学習データに関連付けられた目標となる目標データとを比較して、前記出力データと前記目標データとの類似度を示す評価値を算出する工程と、
(c3)前記複数のデータ処理シーケンスのそれぞれに対応する複数の前記評価値が示す複数の前記類似度を用いて、前記基準条件を満たす前記特定データ処理シーケンスを特定する工程と、を含む、生成方法。
【請求項8】
予め定めた基準条件を満たすデータ処理シーケンスの生成装置であって、
前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成され、
前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスであり、
前記生成装置は、
前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する参照テーブル生成部と、
前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成するシーケンス生成部と、
前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する特定部と、を備え、
前記参照テーブル生成部は、前記参照テーブルにおいて、
接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付け、
前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける、生成装置。
【請求項9】
予め定めた基準条件を満たすデータ処理シーケンスの生成をコンピューターに実行させるためのコンピュータープログラムであって、
前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成され、
前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスであり、
前記コンピュータープログラムは、
(a)前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する機能と、
(b)前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成する機能と、
(c)前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する機能と、をコンピューターに実行させ、
前記機能(a)は、前記参照テーブルにおいて、
(a1)接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける機能と、
(a2)前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける機能と、を備える、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理シーケンスを生成する技術に関する。
【背景技術】
【0002】
従来、遺伝的プログラミングを用いることにより、個体を木構造のように構造的に表現する技術が知られている(特許文献1)。従来の技術では、遺伝的プログラミングを用いることにより、複数の画像処理層を木構造に組み合わせたデータ処理シーケンスを生成している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-87055号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、遺伝的プログラミングを用いることにより、複数の画像処理シーケンスを生成し、画像処理シーケンスの評価を世代ごとに繰り返し行うことで、基準条件を満たす画像処理シーケンスを特定している。しかしながら、従来の技術では、画像処理シーケンスのシーケンス要素間の接続関係に制限がないため、画像処理の目的に応じて使用を制限した方が好ましい接続関係の設定や、画像処理層の順番の設定を行うことができない。このため、基準条件を満たすまで、より多くの画像処理シーケンスを生成する必要が生じ得るため、基準条件を満たす画像処理シーケンスを効率良く特定することができない場合が生じ得る。このような課題は、遺伝的プログラミングを用いて複数の画像処理シーケンスを生成して、基準条件を満たす画像処理シーケンスを特定する技術に限らず、複数のデータ処理シーケンスを生成して、基準条件を満たすデータ処理シーケンスを特定する技術に共通する。
【課題を解決するための手段】
【0005】
本開示の第1形態によれば、予め定めた基準条件を満たすデータ処理シーケンスの生成方法が提供される。前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成されている。前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスである。この生成方法は、(a)前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する工程と、(b)前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成する工程と、(c)前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する工程と、を備え、前記工程(a)は、前記参照テーブルにおいて、(a1)接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける工程と、(a2)前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける工程と、を備える。
【0006】
本開示の第2形態によれば、予め定めた基準条件を満たすデータ処理シーケンスの生成装置が提供される。前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成されている。前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスである。前記生成装置は、前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する参照テーブル生成部と、前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成するシーケンス生成部と、前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する特定部と、を備え、前記参照テーブル生成部は、前記参照テーブルにおいて、接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付け、前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける。
【0007】
本開示の第3形態によれば、予め定めた基準条件を満たすデータ処理シーケンスの生成をコンピューターに実行させるためのコンピュータープログラムが提供される。前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成される。前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスである。このコンピュータープログラムは、(a)前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する機能と、(b)前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成する機能と、(c)前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する機能と、コンピューターに実行させ、前記機能(a)は、前記参照テーブルにおいて、(a1)接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける機能と、(a2)前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける機能と、を備える。
【図面の簡単な説明】
【0008】
図1】実施形態の生成システムを説明するための図。
図2】記憶装置を説明するための図。
図3】学習データの一例を示す図。
図4】遺伝子テーブルを説明するための図。
図5】一つの世代の個体群を説明するための図。
図6】遺伝子翻訳部によって生成された木構造のデータ処理シーケンスを示す図。
図7】参照テーブルを説明するための図。
図8】生成装置が実行する処理を示すフローチャート。
図9】ステップS10の参照テーブルの生成処理の詳細フローチャート。
図10】参照テーブルの初期化工程の詳細フローチャート。
図11】参照テーブルの生成処理を説明するための第1図。
図12】参照テーブルの生成処理を説明するための第2図。
図13】種別条件テーブルを示す図。
図14】参照テーブルの生成処理を説明するための第3図。
図15】特定データ処理シーケンスの生成処理の詳細フローチャート。
図16】ステップS308の詳細フローチャートを示す図。
図17】ステップS316~ステップS322までの処理を説明するための図。
図18】遺伝子と出現範囲との関係を示す出現範囲テーブルを示す図。
図19】遺伝子と出現範囲との関係を示す出現範囲テーブルを示す図。
図20】遺伝子と出現範囲との関係を示す出現範囲テーブルを示す図。
図21】遺伝子と出現範囲との関係を示す出現範囲テーブルを示す図。
図22】利用処理のフローチャート。
【発明を実施するための形態】
【0009】
A.実施形態:
図1は、実施形態の生成システム10を説明するための図である。生成システム10は、生成装置20とセンサー装置200とを備える。生成装置20とセンサー装置200とは、有線や無線によってデータを送受信可能である。センサー装置200は、対象の物理量を取得するセンサーであり、物理量である光の強さを検出して画像を生成する撮像装置や、物理量である電圧を取得する電圧センサーなどがある。本実施形態は、センサー装置200は撮像装置である。センサー装置200によって取得された撮像画像は、生成装置20に送信される。
【0010】
生成装置20は、データ処理後の所望とするデータを得るための特定データ処理シーケンスDSqを生成するシーケンス生成機能と、参照テーブル生成機能と、特定データ処理シーケンスDSqを用いたデータ処理機能とを有する。参照テーブル生成機能は、シーケンス生成機能を実行する際に参照する参照テーブル88を生成する機能である。データ処理機能は、データ処理シーケンスSqを用いて入力データをデータ処理する機能である。
【0011】
例えば、生成装置20は、撮像画像を元に、所望の目的を達成するための所望データを得るための特定データ処理シーケンスDSqを自動で生成する。また例えば、生成装置20は、撮像画像を元に、センサー装置200によって撮像された工業製品である回路基板の画像を、特定データ処理シーケンスDSqを用いてデータ処理することで、欠陥部分が黒画像、それ以外の部分が白画像で表された二値化画像を所望画像として出力する。この二値化画像を元に、欠陥部分の有無や位置がユーザーや装置によって特定されることで、工業製品の検査が行われる。また例えば、生成装置20は、入力データである撮像画像を元に、入力データの種別を判別したり、入力データに応じた1つ以上スカラー量を出力したりする、特定データ処理シーケンスDSqを自動で生成してもよい。入力データの種別とは、入力データに応じた判別結果であり、例えば、データ処理層としての機械学習モデルから出力されたラベル判別結果である。入力データに応じたスカラー量とは、温度や電圧値などであり、例えば、データ処理層としての機械学習モデルによる回帰分析によって出力された出力結果である。
【0012】
シーケンス生成機能は、遺伝的プログラミングを用いて複数のデータ処理シーケンスSqを生成し、生成した複数のデータ処理シーケンスSqの中から所望とするデータ処理後のデータを得るための特定データ処理シーケンスDSqを特定する。参照テーブル生成機能は、遺伝子座に配置された遺伝子の数値VGがどのシーケンス要素に対応するのかを決定するための参照テーブル88を生成する。本実施形態では、シーケンス生成機能と参照テーブル生成機能とデータ処理機能とは、一つの生成装置20に搭載されているが、これに限定されるものではない。他の実施形態では、シーケンス生成機能と参照テーブル生成機能とデータ処理機能とはそれぞれ、別々の装置に搭載されていてもよいし、クラウド上に存在していてもよい。
【0013】
生成装置20は、パーソナルコンピューターなどの電子計算機である。生成装置20は、プロセッサー25と、記憶装置70と、入力部150と、表示部160とを備える。プロセッサー25は、記憶装置70に記憶された各種プログラムを実行することで、生成装置20の動作を制御する。プロセッサー25の詳細な機能は後述する。記憶装置70は、RAMやROMなどのメモリーにより構成されている。記憶装置70には、プロセッサー25の各機能を実現するための各種プログラムと、データ処理シーケンスSqの生成のために用いる各種データとが記憶されている。記憶装置70の詳細は後述する。入力部150は、外部からの情報を受け付けるインターフェースである。入力部150は、例えば、センサー装置200からの撮像画像の入力を受け付けたり、ユーザーが他の装置を用いて生成した画像の入力を受け付けたりする。表示部160は、各種情報を表示する。表示部160は、例えば、液晶モニターである。
【0014】
プロセッサー25は、記憶装置70の各種プログラムを実行することで、シーケンス生成部30と、データ処理部40と、特定部50と、参照テーブル生成部55と、表示制御部60として機能する。なお、プロセッサー25によって実行される機能の一部は、ハードウェア回路によって実現されてもよい。ここで、本開示において、「プロセッサー」は、CPUやGPUを包含する用語である。
【0015】
シーケンス生成部30は、個体IVによって示された遺伝子の配列を木構造のように構造的に表現することで、シーケンス要素の組み合わせが異なる複数のデータ処理シーケンスSqによって構成されるシーケンスセットを生成する。データ処理シーケンスSqは、複数のシーケンス要素の組み合わせによって表されている。シーケンス要素は、(i)データを入力するノードであるデータ入力層と、(ii)データ入力層とデータ出力層との間の中間のノードであるデータ処理層と、(iii)最終的なデータ処理後のデータである出力データPMを出力するノードであるデータ出力層とを有する。データ処理シーケンスSqはデータ入力層と、少なくとも2つのデータ処理層と、データ出力層とによって構成されている。なお、データ処理シーケンスを構成する少なくとも2つのデータ処理層は、入力されたデータをそのまま出力する処理層であってもよい。
【0016】
シーケンス生成部30は、個体生成部32と、遺伝子翻訳部34とを備える。個体生成部32は、遺伝的アルゴリズムに基づいて、一次元または二次元に配列された複数の遺伝子によって構成される個体IVを生成する。個体IVを構成する各遺伝子は、データ入力層と、データ処理層の種類、本実施形態ではデータ処理層と、をそれぞれ表す数値である。出現範囲を示す数値範囲ごとに、データ入力層や異なるデータ処理層が割り当てられる。つまり、個体IVは、データ入力層およびデータ処理層のそれぞれに対応した遺伝子を配列することで生成される。個体生成部32は、一つの世代ごとに、予め定めた数の個体IVを生成する。本実施形態では、個体生成部32は、一次元に遺伝子を配列することで、予め定めた遺伝子長の個体IVを生成する。一つの世代ごとにおいて、複数のデータ処理シーケンスSqのシーケンス要素の組み合わせは異なる。個体生成部32は、一番初めの1世代目については、個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置することで、複数の個体IVから構成される個体群84を生成する。個体生成部32は、二世代以降については、前回の親世代の個体IVのうちで後述する評価値が高い個体IVから交叉と突然変異との少なくとも一つの手法を用いて個体IVを新たに生成することで、新たに生成した個体IVと、親世代で維持、すなわち親世代の個体IVを複製した個体IVとの集合である個体群84を生成する。
【0017】
遺伝子翻訳部34は、記憶装置70に記憶された後述する遺伝子テーブル82や参照テーブル88を参照することで、個体IVの各遺伝子を翻訳して木構造で表されたデータ処理シーケンスSqを生成する。遺伝子テーブル82や参照テーブル88は、遺伝子である数値の数値範囲ごとに対応するデータ処理層と、各シーケンス要素の接続関係を規定したテーブルである。データ処理シーケンスSqは、個体IVと遺伝子テーブル82、または個体IVと参照テーブル88とによって表される。
【0018】
データ処理部40は、遺伝子翻訳部34が生成したデータ処理シーケンスSqや、記憶装置70に記憶された特定データ処理シーケンスDSqを用いて、データ入力層に入力されたデータをデータ処理してデータ出力層からデータ処理後の出力データPMを出力する。
【0019】
特定部50は、学習画像LMを個体IVが示すデータ処理シーケンスSqによってデータ処理して得られたデータ処理後の画像である出力データPMと、学習画像LMに関連付けられた目標となる目標データTMとを比較して、出力データPMと目標データTMとの類似度SDを示す評価値EVを算出する。特定部50は、1つの世代Gにおける複数の個体IVが示す複数のデータ処理シーケンスSqごとに、評価値EVを算出する。算出された評価値EVは、個体IVと関連付けて記憶装置70に記憶される。また特定部50は、算出した評価値EVを用いてデータ処理シーケンスSqが予め定めた基準条件を満たすか否かを判定し、基準条件を満たすデータ処理シーケンスSqを特定データ処理シーケンスDSqとして特定する。
【0020】
評価値EVとしては、例えば、平均二乗誤差(MSE:Mean Squared Error)や、ピーク信号対雑音比(PSNR:Peak signal-to-noise ratio)や、構造的類似度(SSIM:Structural Similarity)の一つを用いることができる。MSEが評価値として用いられる場合、MSEの値が小さい程、出力データPMと目標データTMとの類似度SDは高い。つまり、MSEの逆数が、類似度SDを示す。PSNRが評価値EVとして用いられる場合には、PSNRが大きい程、出力データPMと目標データTMとの類似度SDは高い。つまり、PSNRは類似度SDを示す。SSIMが用いられる場合には、例えば、画像を小領域に分割して、小領域ごとに算出されたSSIMの平均値であるMSSIM(Mean SSIM)が評価値EVとして用いられる。MSSIMが評価値EVとして用いられる場合、MSSIMが大きい程、類似度SDは高い。つまり、MSSIMは類似度SDを示す。入力データIDが良品または不良品であるかなどの判別結果を示す場合には、類似度SDは、例えば、複数の入力データIDに応じた出力データPMおよび目標データTMの一致率としてもよい。
【0021】
参照テーブル生成部55は、特定データ処理シーケンスDSqの候補となる複数のデータ処理シーケンスSqを生成するために用いる参照テーブル88を生成する。参照テーブル生成部55は、特定部50によって算出された評価値EVと、評価値EVに関連付けられた個体IVとを用いて、参照テーブル88を生成する。参照テーブル88は、接続された入力側と出力側の一対のシーケンス要素である要素セットごとに、データ処理シーケンスSqの構成要素として出現する出現確率を示す接続参考値RVを関連付けたテーブルである。接続参考値RVは、入力データをデータ処理して目標データTMを目標とする所望データを出力するための接続の相性を表す指標である。所望データは、目標データTMと一致または目標データTMに類似するデータである。参照テーブル88の生成方法および参照テーブル88の詳細については後述する。
【0022】
表示制御部60は、各種情報を表示部160に表示させる。表示制御部60は、例えば、特定データ処理シーケンスDSqや、出力データPMや、目標データTMや、評価値EVを表示部160に表示させる。
【0023】
図2は、記憶装置70を説明するための図である。記憶装置70は、学習データ74と、シーケンス要素群80と、遺伝子テーブル82と、個体群84と、参照テーブル88と、特定データ処理シーケンスDSqと、各種条件92と、各種プログラム94とを記憶する。特定データ処理シーケンスDSqは、特定部50によって予め定めた基準条件を満たすと判定されたデータ処理シーケンスSqである。特定データ処理シーケンスDSqは、例えば、複数のデータ処理層である複数のデータ処理層を識別する層識別子と、層識別子の順番、すなわち接続関係とによって表される。各種条件92は、シーケンス生成機能や、参照テーブル生成機能や、データ処理機能における各種条件が記憶されている。各種条件92は、例えば、シーケンス生成機能で用いる基準条件や、参照テーブル生成機能で用いる情報などである。各種プログラム94は、プロセッサー25によって実行されるプログラムである。
【0024】
図3は、学習データ74の一例を示す図である。学習データ74は、データ処理シーケンスSqによるデータ処理対象である学習データLMと、学習データLMに関連付けられた目標データTMとによって構成された学習セットSMを複数セット有する。学習データLMは、例えば、工業製品である回路基板の画像である。目標データTMは、欠陥部分DAが黒画像、それ以外の部分が白画像で表された二値化画像である。目標データTMは、例えば、予め欠陥部分の箇所が特定できている学習データLMを参考に、ユーザーが欠陥部分DAを黒画像に設定し、それ以外の部分を白画像に設定することで生成される。複数の学習データLMはそれぞれ、製造番号が異なる同種の回路基板をセンサー装置200で撮像した画像である。各学習データLMと、各学習データLMに対応する各目標データTMには、識別番号が付与されている。なお、他の実施形態では、目標データTMは学習データLMと同種のデータである必要はなく、特定データ処理シーケンスDSqによるデータ処理の目的に応じて、目標データTMは設定される。例えば、特定データ処理シーケンスDSqが入力データに対して良品や不良品などのラベル判別を行うことを目的としている場合には、目標データTMは、入力データに関連付けられた良品や不良品を示すラベルとなる。
【0025】
図2のシーケンス要素群80は、データ処理シーケンスSqにおいてシーケンス要素の候補となる複数のデータ処理層を含む。複数のデータ処理層としては、平均値フィルター、最大値フィルター、最小値フィルター、二値化フィルター、移動平均フィルター、ラプラシアンフィルター、ガウシアンフィルター、ソーベルフィルター、ガンマ補正フィルター、2つの画像を一つの画像に合成するフィルターなどが挙げられる。また、複数のデータ処理層は、入力データの特徴量を抽出する処理層や、データ量を削減するための処理層や、入力データの判別処理や回帰処理を機械学習モデルなどのアルゴリズムによって行う処理層を含んでもよい。なお、データ処理層は、同じ種類のデータ処理層であっても、カーネルサイズや係数などのパラメーター値が異なる場合には、異なるデータ処理層としてシーケンス要素群80に記憶されてもよい。
【0026】
遺伝子テーブル82は、データ処理シーケンスSqの候補となるシーケンス要素の接続関係と、遺伝子が示す数値に対応するデータ処理層の種別との対応関係とを示すテーブルである。
【0027】
図4は、遺伝子テーブル82を説明するための図である。以下では、理解の容易の為に、シーケンス要素群80は、5つのデータ処理層FtA~FtEで構成されているとする。実際には、5つよりも多い数のデータ処理層が、シーケンス要素群80に記憶されていてもよい。遺伝子テーブル82は、データ処理層の種別を示す要素種別ごとに、入力数と出力数と出現範囲とが規定されている。要素種別は、シーケンス要素群80の各データ処理層や、データ入力層の種別を表す。図4では、データ入力層は、要素種別が「in」で表されている。入力数は、データ処理層やデータ入力層の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが、データ処理層に入力される。出力数は、データ処理層の出力側に接続されるシーケンス要素の数を示す。本実施形態では、出力数は全て「1」であり、データ処理層やデータ入力層は、一つの出力側のシーケンス要素に接続される。なお、本実施形態の遺伝子テーブル82は、出力側シーケンス要素ごとに、出力側シーケンス要素に接続される候補となる入力側シーケンス要素の要素種別と、出現範囲を規定しているが、図4の遺伝子テーブル82は理解の容易のために簡略化して示している。
【0028】
遺伝子テーブル82の出現範囲には、遺伝子の数値VGの範囲が規定されている。本実施形態では、各データ処理層が均等な確率でランダムにデータ処理シーケンスSq中に出現するように、0~1の数値を6等分して出現範囲として設定している。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子にはデータ処理層FtAが割り当てられる。なお、本実施形態の遺伝子テーブル82について、後述する参照テーブル88の初期化によって、非出現データが関連付けれた入力側シーケンス要素と出力側シーケンス要素の要素セットに対しては、出現範囲が設定されず、残りの要素セットが均等な確率で出現するように出現範囲が設定される。非出現データは、データ処理シーケンスSqの構成要素として出現させないことを示す。つまり、後述する非出現データが関連付けられた要素セットは、データ処理シーケンスの構成要素として出現しない。
【0029】
図2に示す個体群84は、個体生成部32によって生成された1つの世代における複数の個体IVの集合である。図5は、一つの世代Gの個体群84を説明するための図である。本実施形態では、1つの世代Gで5つの個体IV1~IV5が生成される例を説明する。各個体IV1~IV5は、遺伝子を配置する複数の遺伝子座が一次元的に配列されている。各個体IV1~IV5の遺伝子長は同じであり、各個体IV1~IV5はNo.1~No.10の遺伝子座に遺伝子を順に配列することで構成されている。個体生成部32は、各遺伝子座に、0から1までの小数点第3位までの数値で表された遺伝子を配置する。つまり、本実施形態では、各遺伝子座で遺伝子が取りうる値は、0以上1以下の小数点第3位までの数値である。
【0030】
図2のさらなる説明を行う前に、図6を用いて、遺伝子翻訳部34によるデータ処理シーケンスSqの生成処理を説明する。図6は、遺伝子翻訳部34によって生成された木構造のデータ処理シーケンスSqを示す図である。図6に示すデータ処理シーケンスSqは、図5に示す個体IV1を元に生成されたデータ処理シーケンスSq1である。
【0031】
本実施形態において、遺伝子翻訳部34によるデータ処理シーケンスSqの生成処理は、事前生成処理と、特定生成処理との2種類がある。事前生成処理は、参照テーブル生成機能を実行して参照テーブル88が生成される際に実行される処理である。特定生成処理は、参照テーブル88を用いたシーケンス生成機能が実行される際に実行される処理である。データ処理シーケンスSqを生成する際に参照するテーブルが、事前生成処理では遺伝子テーブル82であり、特定生成処理では参照テーブル88である点で異なる。事前生成処理と特定生成処理における、個体IVからデータ処理シーケンスSqを生成するアルゴリズムは同じであるため、以下では、まず事前生成処理におけるデータ処理シーケンスSqの生成について説明する。
【0032】
事前生成処理では、遺伝子翻訳部34は、個体IVと、遺伝子テーブル82と、シーケンス要素群80とを用いて、データ出力層out側から入力側へと向かう順に木構造のデータ処理シーケンスSqを生成する。図6に示すように、まず遺伝子翻訳部34は、データ出力層outを出力側の端部である終端ノードに設定し、個体IVの遺伝子の配列順に入力側へとシーケンス要素を接続することでデータ処理シーケンスSqを生成する。シーケンス要素の接続は、予め定めた接続ルールに従い実行される。本実施形態では、遺伝子の配列順に、終端ノード側から優先して配置すると共に、図6に示す左側の接続先を右側の接続先よりも優先して配置するという深さ優先のルールに従って、データ処理シーケンスSqが生成される。つまり、遺伝子の配列順に、データ出力層out側からデータ処理層またはデータ入力層inを配置すると共に、入力側が複数に分かれている場合には、左側のシーケンスがデータ入力層inとなるまで、左側を優先させる。なお、本実施形態では、データ出力層outの入力数は、「1」に予め設定されている。
【0033】
遺伝子翻訳部34は、個体VI1のNo.1の遺伝子の数値VGである「0.534」と、遺伝子テーブル82とを参照して、「0.534」がデータ処理層FtDの出現範囲内にあることを特定する。これにより、データ出力層outの入力側に、データ処理層FtDを接続する。次に、遺伝子翻訳部34は、遺伝子テーブル82を参照してデータ処理層FtDの入力数が「2」であることを特定することで、データ処理層FtDの入力側に2つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、個体VI1のNo.2の遺伝子に対応するシーケンス要素を図6に示す左側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.2の遺伝子の数値VGである「0.292」と、遺伝子テーブル82とを参照して、「0.292」がデータ処理層FtBの出現範囲内であることを特定する。これにより、データ処理層FtDの左側の入力側接続先にデータ処理層FtBを配置する。
【0034】
次いで、遺伝子翻訳部34は、No.2の遺伝子が表すデータ処理層FtBと、遺伝子テーブル82とを参照して、データ処理層FtBの入力数が「1」であることを特定することで、データ処理層FtBの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.3の遺伝子の数値VGである「0.462」と、遺伝子テーブル82とを参照して、「0.462」がデータ処理層FtCの出現範囲内であることを特定する。これにより、No.3の遺伝子が示すデータ処理層FtBの入力側接続先にデータ処理層FtCを配置する。
【0035】
次に、遺伝子翻訳部34は、No.3の遺伝子が表すデータ処理層FtCと、遺伝子テーブル82とを参照して、データ処理層FtCの入力数が「1」であることを特定することで、データ処理層FtCの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.4の遺伝子の数値VGである「0.856」と、遺伝子テーブル82とを参照して、「0.856」がデータ入力層inの出現範囲内であることを特定する。これにより、No.3の遺伝子が示すデータ処理層FtCの入力側接続先にデータ入力層inを配置する。これにより、図6のデータ処理シーケンスSqの左側のシーケンスの生成は終了する。
【0036】
ついで、遺伝子翻訳部34は、個体VI1のNo.5の遺伝子に対応するシーケンス要素を図6に示す右側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.5の遺伝子の数値VGである「0.138」と、遺伝子テーブル82とを参照して、「0.138」がデータ処理層FtAの出現範囲内であることを特定する。これにより、データ処理層FtDの右側の入力側接続先にデータ処理層FtAを配置する。
【0037】
また、遺伝子翻訳部34は、No.5の遺伝子が表すデータ処理層FtAと、遺伝子テーブル82とを参照して、データ処理層FtAの入力数が「1」であることを特定することで、データ処理層FtAの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.6の遺伝子の数値VGである「0.932」と、遺伝子テーブル82とを参照して、「0.932」がデータ入力層inの出現範囲内であることを特定する。これにより、No.5の遺伝子が示すデータ処理層FtAの入力側接続先にデータ入力層inを配置する。これにより、図6のデータ処理シーケンスSqの右側のシーケンスの生成は終了する。
【0038】
遺伝子翻訳部34は、入力側シーケンス要素が全てデータ入力層inになった場合には、個体IV1の全ての遺伝子を用いていない場合であっても、事前生成処理を用いたデータ処理シーケンスSqの生成処理を終了する。なお、遺伝子翻訳部34は、個体IV1の全ての遺伝子を用いた場合において、入力側シーケンス要素が全てデータ入力層inになっていない場合には、残りの未接続の入力側シーケンス要素にデータ処理層inを設定することで、データ処理シーケンスSqの生成処理を終了する。
【0039】
個体VI1で表されるデータ処理シーケンスSq1は、2つのデータ入力層inを有する。一方のデータ入力層inに入力された入力データは、データ処理層FtCによってデータ処理された後に、次いでデータ処理層FtBによってデータ処理され、第1処理データが生成される。他方のデータ入力層inに入力された入力データは、データ処理層FtAによってデータ処理されて第2処理データが生成される。第1処理データと第2処理データとは、データ処理層FtDによってデータ処理されて、データ出力層outによってデータ処理後の1つの出力データPMが出力される。
【0040】
図2に示す参照テーブル88は、遺伝子翻訳部34が特定生成処理によって個体IVからデータ処理シーケンスSqを生成する際に参照される。図7は、参照テーブル88を説明するための図である。参照テーブル88は、入力側に配置される候補となる入力側シーケンス要素の種別を示す入力側識別子と、入力側シーケンス要素に接続される候補となる出力側シーケンス要素の種別を示す出力側識別子と、入力数と、出力数と、接続参考値RVとしての平均値ARVと非出現データである「-1」とが規定されている。入力側シーケンス要素は、データ処理層FtA~FtEとデータ入力層inである。出力側シーケンス要素は、データ処理層FtA~FtEとデータ出力層outである。つまり、参照テーブル88には、接続候補となる入力側と出力側の一対のシーケンス要素である要素セットが複数規定されている。入力数は、入力側シーケンス要素の入力側に接続されるシーケンス要素の数を示す。出力数は、入力側シーケンス要素の出力側に接続されるシーケンス要素の数を示す。接続参考値RVとしての平均値ARVは、要素セットごとに規定された値であり、入力データをデータ処理して目標データTMを目標とした所望データを出力するための接続の相性を示す。例えば、入力側にデータ処理層FtA、出力側にデータ処理層FtCが接続された要素セットの平均値ARVは「0.478」である。平均値ARVは、参照テーブル生成機能によって決定される。特定データ処理シーケンスDSqを得るために複数のデータ処理シーケンスSqを生成するシーケンス生成機能においては、遺伝子翻訳部34は、遺伝子テーブル82に代えて参照テーブル88を用いてデータ処理シーケンスSqを生成する。接続参考値が大きいほど出現範囲が大きくなるように、シーケンス要素ごとの出現範囲が設定される。また参照テーブル88には、複数の要素セットのうち、接続を禁止する特定要素セットに対して、データ処理シーケンスSqの構成要素として出現させないことを示す非出現データとしての「-1」が関連付けられている。参照テーブル88についての詳細は後述する。なお、本実施形態では、所望データは、欠陥部分が黒画像、それ以外の部分が白画像で表された二値化画像であり、図3に示す目標データTMと同様の画像である。
【0041】
図8は、生成装置20が実行する処理を示すフローチャートである。生成装置20の参照テーブル生成機能は、まず、ステップS10において参照テーブル88の生成処理を実行する。次いで、生成装置20のシーケンス生成機能は、ステップS30において、参照テーブル88を用いた特定データ処理シーケンスDSqの生成処理を実行する。次いで、生成装置20のデータ処理機能は、ステップS50において、特定データ処理シーケンスDSqを利用した利用処理を実行する。
【0042】
図9は、ステップS10の参照テーブル88の生成処理の詳細フローチャートである。図10は、参照テーブル88の初期化工程の詳細フローチャートである。図11は、参照テーブル88の生成処理を説明するための第1図である。図12は、参照テーブル88の生成処理を説明するための第2図である。図13は、種別条件テーブル925を示す図である。図14は、参照テーブル88の生成処理を説明するための第3図である。
【0043】
図9に示すように、まず、記憶装置70は、ステップS100において、シーケンス要素である複数のデータ処理層をシーケンス要素群80として記憶する。ステップS100は、ユーザーが、特定データ処理シーケンスDSqで用いる候補となる複数のデータ処理層を生成装置20に入力することで実行される。つまり、ステップS100は、特定データ処理シーケンスDSqのシーケンス要素の候補となる複数のデータ処理層の入力を受け付ける工程である。また、記憶装置70は、ステップS101において、複数の学習セットSMから構成される学習データ74を記憶する。ステップS101は、ユーザーが、学習データ74を生成装置20に入力することで実行される。また、ステップS102において、参照テーブル生成部55は、参照テーブル88を初期化する初期化工程が実行される。
【0044】
参照テーブル88の初期化工程では、例えば図11に示すように、参照テーブル生成部55は、入力側シーケンス要素と出力側シーケンス要素の要素セットごとに対して、初期値としての「1」と非出現データとしての「-1」とのいずれかを関連付ける。非出現データは、複数の要素セットのうち、接続を禁止する特定要素セットに対して、データ処理シーケンスSqの構成要素として出現させないことを示すデータである。なお、初期値は「1」に限定されるものではなく、接続参考値RVが取り得る予め設定された数値範囲である0以上1以下の範囲であればよい。また、非出現データは、「-1」に限定されるものではなく、接続参考値RVが取り得る数値範囲から外れる値であればよい。このようにすれば、生成装置20は、参照テーブル88において、非出現データと接続参考値RVとの区別を容易にできる。ここで、参照テーブル88における各要素セットをES[入力側識別子,出力側識別子]で表すものとする。例えば、要素セットES[0,5]は、入力側にデータ処理層FtA、出力側にデータ出力層outが配置された要素セットを示す。以下に初期化工程の詳細について説明する。
【0045】
図10に示すように、参照テーブル88の初期化工程では、ステップS103において、全ての要素セットに対して初期値である「1」を関連付けることで設定する。
【0046】
次に、参照テーブル生成部55はステップS104において、入力情報による特定要素セットの特定を行い、特定した特定要素セットに対して初期値に代えて非出現データを関連付けることで設定する。入力情報は、ユーザーによって生成装置20に入力された情報であり、図2に示す各種条件92に記憶されている。入力情報は、非出現データを関連付ける要素セットである特定要素セットを示す情報である。つまり、ステップS104は、ユーザーからの指示によって特定要素セットに非出現データを関連付けるための工程である。なお、参照テーブル生成部55は、記憶装置70に入力情報が記憶されていない場合には、入力情報による非出現データの関連付けは行わない。
【0047】
例えば、ステップS104において、入力情報が示す情報が、要素セットES[5,5],[4,4]である場合には、図11に示すように、入力側が入力層inで出力側が出力層outである要素セットと、入力側がデータ処理層FtEで出力側がデータ処理層FtEである要素セットとに対して、初期値に代えて非出現データの「-1」が関連付けられる。
【0048】
また図10に示すように、参照テーブル生成部55は、ステップS106において、設定順番による特定要素セットの特定を行い、特定した特定要素セットに対して初期値に代えて非出現データを関連付けることで設定する。例えば、特定データ処理シーケンスDSqは予め設定されたデータ処理工程を複数含み、複数のデータ処理工程の順番が設定順番として予め定められている場合がある。複数のデータ処理工程のそれぞれは、少なくとも1つのデータ処理層を用いて実行される。つまり、所望とするデータを得るために入力データに対して行うデータ処理工程と、データ処理工程の順番が、ユーザーによって予め定められている場合がある。設定順番を示す情報は、ユーザーによって生成装置20に入力され、図2に示す各種条件92に記憶されている。なお、データ処理工程は、入力されたデータをそのまま出力する工程であってもよい。
【0049】
図12に示すように、データ処理工程として、第1処理工程と第2処理工程がある場合において、設定順番を示す情報が、入力層inの次に第1処理工程を実行し、第1処理工程の次に第2処理工程を実行し、第2処理工程の実行後に出力層outからデータを出力することを示す情報である場合を例に説明する。ここで、第1処理工程で用いることができるデータ処理層はデータ処理層FtA,FtBであり、第2処理工程で用いることができるデータ処理層はデータ処理層FtC,FtD,FtEであるとする。各工程と、各工程に用いることができるデータ処理層との対応関係は、予め記憶装置70に記憶されている。この場合、参照テーブル生成部55は、設定順番とは異なる順番となる要素セットを特定要素セットとして特定し、特定した要素セットに対して初期値に代えて非出現データの「-1」を関連付ける。なお、参照テーブル生成部55は、記憶装置70に設定順番が示す情報が記憶されていない場合には、設定順番を示す情報による非出現データの関連付けは行わない。
【0050】
また図10に示すように、参照テーブル生成部55は、ステップS108において、生成装置20に入力されることで受け付けられシーケンス要素群80として記憶された複数のデータ処理層のそれぞれの種類を判定し、判定した種類に応じて特定要素セットを特定する。また、ステップS108において、参照テーブル生成部55は、特定した特定要素セットに対して初期値に代えて非出現データを関連付けることで設定する。データ処理層の種類は、例えば、データ処理層から出力されるデータの種類に応じて種類分けされる。本実施形態において、参照テーブル生成部55は、図13に示す種別条件テーブル925を参照してデータ処理層の種類と、特定要素セットとを特定する。種別条件テーブル925は、図2に示す各種条件92の一部であり、ユーザーによる生成装置20への入力によって予め記憶装置70に記憶されている。
【0051】
本実施形態におけるデータ処理層の種類は、図13に示すように、第1特定データ処理層を示す第1種類と、第2特定データ処理層を示す第2種類とを有する。第1特定データ処理層は、第1特定データ処理層に入力されたデータに対してデータの種別を判定して出力する処理層である。データの種別を判定する第1特定データ処理層としては、入力されたデータの種別を判定できるアルゴリズムを有するデータ処理層であればよく、例えば、分類木モデルやニューラルネットワークやk近傍法などの判別結果を出力できるアルゴリズムを有するデータ処理層である。第2特定データ処理層は、第2特定データ処理層に入力されたデータに応じたスカラー量を出力する処理層である。出力されるスカラー量は、1つであってよいし複数であってもよい。スカラー量を出力する第2特定データ処理層としては、例えば、回帰木モデルやニューラルネットワークなどの回帰分析を行うアルゴリズムを有するデータ処理層である。
【0052】
種別条件テーブル925には、第1特定データ処理層や第2特定処理層の具体的な処理層を特定するための情報、例えば、処理層識別子が登録されていてもよいし、第1特定データ処理層や第2特定データ処理層の定義が登録されていてもよい。種別条件テーブル925において処理層識別子が登録されている場合には、参照テーブル生成部55は、シーケンス要素群80の複数のデータ処理層のうちから、同じ層識別子を有するデータ処理層があるか否かを判定して、第1特定データ処理層や第2特定データ処理層を特定する。一方で、種別条件テーブル925において第1特定データ処理層や第2データ処理層の定義が登録されている場合には、参照テーブル生成部55は、シーケンス要素群80の複数のデータ処理層のうちから、データ処理層のアルゴリズムを分析して定義に一致するデータ処理層を第1特定データ処理層や第2特定データ処理層として特定する。
【0053】
参照テーブル生成部55は、ステップS108において、判定した種類が第1特定データ処理層を示す第1種類である場合には、複数の要素セットのうち、第1要素セットとは異なる要素セット、すなわち第1要素セット以外を特定要素セットとして特定する。そして、参照テーブル生成部55は、ステップS108において、特定した要素セットに対して初期値に代えて非出現データである「-1」を関連付ける。第1要素セットは、種別条件テーブル925に定義されており、入力側のシーケンス要素が第1特定データ処理層であり、出力側のシーケンス要素がデータ出力層outの要素セットである。
【0054】
また参照テーブル生成部55は、ステップS108において、判定した種類が第2特定データ処理層を示す第2種類である場合には、複数の要素セットのうち、第2要素セットとは異なる要素セット、すなわち第2要素セット以外を特定要素セットとして特定する。そして、参照テーブル生成部55は、ステップS108において、特定した要素セットに対して初期値に代えて非出現データである「-1」を関連付ける。第2要素セットは、種別条件テーブル925に定義されており、入力側のシーケンス要素が第2特定データ処理層であり、出力側のシーケンス要素がデータ出力層outの要素セットである。
【0055】
なお、ステップS108において、記憶装置70に種別条件テーブル925が記憶されていない場合には、データ処理層の種類に応じた非出現データの関連付けは行わない。以上のように、ステップS104~ステップS108は、特定要素セットに対して非出現データを関連付ける工程である。
【0056】
以上の図10に示すステップS103~ステップS108の処理を実行することでステップS102の参照テーブル88の初期化工程は終了する。なお、ステップS102において、ステップS104,S106,S108の順番は上記に限定されるものではなく、任意の順番で実行できる。また参照テーブル88の初期化工程において、ステップS103において、まずは全ての要素セットに初期値を設定していたが、これに限定されるものではない。例えば、参照テーブル生成部55は、ステップS103において、参照テーブル88において全ての要素セットに対応する欄をブランクにした後に、ステップS104~ステップS108によって特定した特定要素セットに非出現データを関連付けてもよい。この場合、参照テーブル生成部55は、参照テーブル88において、非出現データが関連付けられていない要素セットに関連付けて初期値を設定する。
【0057】
次に図9に示すように、ステップS123において、個体生成部32は、現世代Gについての複数の個体IVから構成される個体群84を生成する。一つの世代Gにおける個体群84は、複数の個体IV1~IV5によって構成されている。生成された個体群84は、記憶装置70に記憶される。次に、ステップS124において、遺伝子翻訳部34は、各個体IV1~IV5のうちで一つを選択して、遺伝子テーブル82を参照することで選択した一つの個体IVを翻訳してデータ処理シーケンスSqを生成する。
【0058】
次に、ステップS125において、データ処理部40はステップS104で生成されたデータ処理シーケンスSqを用いて複数の学習データLMをデータ処理して複数の出力データPMを生成する。次に特定部50は、ステップS109において、ステップS105によって生成された複数の出力データPMと、複数の出力データPMのそれぞれの生成元の学習データLMに関連付けられた目標データTMとを比較して、評価値EVを複数算出することで処理結果の評価を行う。特定部50は、複数の評価値EVの平均値を、類似度SDを示す最終的な評価値EVとして用いる。また、特定部50は、ステップS109において、最終的な評価値EVから、接続参考値RVを算出する。本実施形態では、特定部50は、類似度SDを接続参考値RVに用いる。つまり、最終的な評価値EVが、平均二乗誤差である場合、接続参考値RVは評価値EVの逆数である。また最終的な評価値EVがPNSRやMSEやSSIMが用いられる場合には、接続参考値RVは評価値EVの値が用いられる。
【0059】
次に、参照テーブル生成部55は、ステップS130において、参照テーブル88の更新を実行する。例えば、図6に示すデータ処理シーケンスSq1の最終的な評価値EVから算出された接続参考値RVが「0.800」であった場合について説明する。まず、参照テーブル生成部55は、データ処理シーケンスSq1を構成する一対の入力側シーケンス要素と出力側シーケンス要素の要素セットを全て抽出する。そして参照テーブル生成部55は、抽出した要素セットのうち非出現データである「-1」が関連付けられていない要素セットを表す欄、すなわち要素セットに関連付けられた値に対して接続参考値RVである「0.800」を加算する。ここで、参照テーブル88の一つの要素セットを表す欄には、平均値ARVが最終的な接続参考値RVとして規定される。つまり、n回目の接続参考値RVの加算によって算出される要素セットの平均値ARVは、以下の式(A)を用いて算出される。式(A)の右辺の分母が「n+1」であるのは、初期値が設定されているためである。
【0060】
ARV={RV+ARVn-1×n}/(n+1) ・・・式(A)
ここで、RVは、n回目で加算する接続参考値であり、ARVn-1は前回までの要素セットの欄に規定されていた平均値である。
【0061】
データ処理シーケンスSq1に同じ要素セットがある場合には、同じ要素セットの数だけ接続参考値RVを加算してもよいし、接続参考値RVを1回だけ加算してもよい。本実施形態では、1つのデータ処理シーケンスSq1において、同じ要素セットが複数ある場合でも、接続参考値RVは1回だけ加算している。入力側シーケンス要素と出力側シーケンス要素の要素セットを[入力側シーケンス要素,出力側シーケンス要素]として表す場合、図6に示すデータ処理シーケンスSq1は、以下の要素セットを有する。参照テーブル生成部55は、以下の要素セットのそれぞれについて、図14に示すように、対応する参照テーブル88の各要素セットの欄に接続参考値である「0.800」を加算して平均値ARVを算出する。
<加算対象の要素セット>
ES[3,5],ES[1,3],ES[2,1],ES[5,2],ES[0,3],ES[5,0]
【0062】
以上のように、ステップS130は、複数の要素セットのうち、非出現データが関連付けられた特定要素セットとは異なる要素セットに対して、接続参考値RVを関連付ける工程である。
【0063】
図9に示すように、ステップS131において、参照テーブル生成部55は、一つの世代Gの個体IV全てにおいてステップS124~ステップS130の処理を実行したか否かを判定する。ステップS131で「No」の判定が成された場合には、プロセッサー25は、一つの世代Gの個体IVのうちでステップS124~ステップS130を実行していない個体IVから一つを選択してステップS124~ステップS131の処理を再び実行する。
【0064】
一方で、ステップS131で「Yes」の判定が成された場合には、参照テーブル生成部55は、ステップS133において、終了条件を満たすか否かを判定する。終了条件は、図2に示す各種条件の一部である。終了条件は、予め定めた事前回数だけステップS103~ステップS111の処理ルーチンが実行されたという条件である。予め定めた事前回数は、例えば、参照テーブル88の全ての要素セットに関連付けて、少なくとも1回、好ましくは2回以上、接続参考値RVが加算される程度の回数に設定される。例えば、参照テーブル88に規定された要素セットの数の2倍以上の個体IVについてステップS124~ステップS131の処理ルーチンが実行される程度に事前回数が設定される。
【0065】
以上のように、参照テーブル88は、非出現データが関連付けられた要素セットを除く一対のシーケンス要素において、出力側シーケンス要素に対して、ランダムな確率で入力側シーケンス要素が接続される関係を有するように、ステップS124の処理によって生成された複数のデータ処理シーケンスSqのそれぞれを用いて生成された類似度SDを、接続参考値RVに用いることで生成される。これにより、接続の相性が高い要素セットがデータ処理シーケンスSqに含まれる可能性を高くできる。また、参照テーブル88において、接続を禁止する特定要素セットに対して非出現データが関連付けられていることで、特定データ処理シーケンスSqの候補となるデータ処理シーケンスSqを大量になることを抑制できる。
【0066】
終了条件が満たされていない場合には、個体生成部32は、次処理ルーチンにおいてステップS123を再び実行する。再び実行されるステップS123は、前回の処理ルーチンにおけるステップS123で生成された親世代Gの個体IV1~IM5のうちで、類似度SDが下位J番目までの個体IVを新たな個体IVに入れ替えることで実行される。「J」は1以上の整数である。つまり、個体生成部32は、類似度SDが下位J番目までに該当しない個体IVについては複製し、また、下位J番目までに該当しない個体IVに対して交叉や突然変異との少なくとも一つを行うことで新たな個体IVを生成する。これにより、前回までに生成されたデータ処理シーケンスSqとはシーケンス要素の組み合わせが異なる新たなデータ処理シーケンスSqを容易に生成できる。再び実行されたステップS123によって生成された個体IVを対象に、再びステップS124以降の処理を実行する。
【0067】
一方で終了条件が満たされた場合には、参照テーブル生成部55は、ステップS135において、終了条件を満たした時点の参照テーブル88を出力することで記憶装置70に記憶させる。
【0068】
図15は、特定データ処理シーケンスDSqの生成処理の詳細フローチャートである。まず、ステップS300において、シーケンス要素である複数のデータ処理層をシーケンス要素群80として記憶する。ステップS300は、ユーザーが、特定データ処理シーケンスDSqで用いる候補となる複数のデータ処理層を生成装置20に入力することで実行される。なお、特定データ処理シーケンスDSqの生成処理が、参照テーブル88の生成処理が実行された生成装置20と同じ装置で実行される場合には、既にシーケンス要素群80が記憶装置70に記憶されている。よって、この場合には、ステップS300は省略可能である。
【0069】
また、記憶装置70は、ステップS301において、複数の学習セットSMから構成される学習データ74を記憶する。ステップS301は、ユーザーが、学習データ74を生成装置20に入力することで実行される。なお、特定データ処理シーケンスDSqの生成処理が、参照テーブル88の生成処理が実行された生成装置20と同じ装置で実行される場合であって、同じ学習データ74が用いられる場合には、ステップS301は省略可能である。一方で、例えば、参照テーブル88の生成処理で用いた学習データ74の元となる対象製品である回路基板と、同種ではあるが例えば異なる工場で製造された回路基板を元に生成された学習データ74や、欠陥部分DAの有無を検査する目的は同じであるが学習データ74の元となる製品が異なる場合には、ステップS301が実行される。
【0070】
またステップS304において、記憶装置70は、参照テーブル88の生成処理で生成した参照テーブル88を記憶する。なお、特定データ処理シーケンスDSqの生成処理が、参照テーブル88の生成処理が実行された生成装置20と同じ装置で実行される場合には、既に参照テーブル88は記憶装置70に記憶されている。よって、この場合には、ステップS304は省略可能である。なお、ステップS300~ステップS304の順番は上記の順番に限定されるものではない。
【0071】
次に、ステップS306において、個体生成部32は、現世代Gについての複数の個体IVから構成される個体群84を生成する。ステップS306は、図9のステップS103と同様の処理である。つまり、ステップS306において、一つの世代Gにおける個体群84は、複数の個体IV1~IV5によって構成されている。生成された個体群84は、記憶装置70に記憶される。
【0072】
次に、ステップS308において、遺伝子翻訳部34は、各個体IV1~IV5のうちで一つを選択して、参照テーブル88を参照することで選択した一つの個体IVを翻訳してデータ処理シーケンスSqを生成する。ステップS308におけるデータ処理シーケンスSqの生成は、上述の特定生成処理によって行われる。ステップS308の詳細については後述する。
【0073】
次に、ステップS350において、データ処理部40はステップS308で生成されたデータ処理シーケンスSqを用いて複数の学習画像LMをデータ処理して複数の出力データPMを生成する。
【0074】
次に、ステップS352において、特定部50は、ステップS350によって生成された複数の出力データPMと、複数の出力データPMのそれぞれの生成元の学習データLMに関連付けられた目標データTMとを比較して、評価値EVを複数算出することで処理結果を評価する。特定部50は、複数の評価値EVの平均値を、出力データPMと目標データTMとの類似度SDを示す最終的な評価値EVとして用いる。また、一つの世代Gの全個体IVに対して行われるステップS356や基準条件を満たすまで繰り返し実行されるステップS356は、複数のデータ処理シーケンスSqのそれぞれに対応する複数の評価値EVが示す複数の類似度SDを用いて、基準条件を満たす特定データ処理シーケンスDSqを特定する工程である。出力データPMと目標データTMとの類似度SDを用いて基準条件を満たすデータ処理シーケンスSqを容易に特定できる。
【0075】
次に、ステップS354において、特定部50は、一つの世代Gの個体IV全てにおいてステップS308~ステップS352の処理を実行したか否かを判定する。ステップS354で「No」の判定が成された場合には、プロセッサー25は、一つの世代Gの個体IVのうちでステップS308~ステップS352を実行していない個体IVから一つを選択してステップS308~ステップS352の処理を再び実行する。つまり、データ処理部40は、一つの世代Gを構成する複数の個体IVに対応した複数のデータ処理シーケンスSqのそれぞれによって学習データLMをデータ処理して、複数のデータ処理シーケンスSqごとにデータ処理後の出力データPMを生成する。そして、特定部50は、複数のデータ処理シーケンスSqごとに生成した複数の出力データPMと、対応する目標データTMとを比較して評価値EVを算出する。
【0076】
一方で、ステップS354で「Yes」の判定が成された場合には、特定部50は、ステップS356において、現世代における算出した複数の評価値EVを用いて、予め定めた基準条件を満たすデータ処理シーケンスSqがあるか否かを判定する。具体的には、評価判定部46は、現世代の複数の個体IVを元に算出した複数の評価値EVが示すそれぞれの類似度SDのうちで、最も高い類似度SDmaxが、予め定めた終了閾値以上である場合には、基準条件を満たすデータ処理シーケンスSqがあると判定する。つまり、ステップS356の工程は、複数のデータ処理シーケンスSqのそれぞれに対応する複数の評価値EVが示す類似度SDを用いて、複数のデータ処理シーケンスSqの中から予め定めた基準条件を満たすデータ処理シーケンスSqを特定する工程である。
【0077】
基準条件を満たすデータ処理シーケンスSqがある場合、特定部50は、ステップS358において、基準条件を満たすデータ処理シーケンスSqを特定データ処理シーケンスDSqとして出力する。出力された特定データ処理シーケンスDSqは、記憶装置70に記憶される。
【0078】
一方で、基準条件を満たすデータ処理シーケンスSqが無い場合、ステップS306~ステップS356の処理が次ルーチンとして実行される。つまり、次ルーチンのステップS306では、個体生成部32は、前回のルーチンで生成した複数のデータ処理シーケンスSqのうちで評価値EVが示す類似度SDが低い1つ以上のデータ処理シーケンスSqである対象データ処理シーケンスSqを、シーケンス要素が異なる新たなデータ処理シーケンスSqに置き換えることで、シーケンスセットを生成する。本実施形態では、個体生成部32は、前回のルーチンで用いた親世代の複数の個体IVのうちで、類似度SDが下位J番目までの個体IVについては、類似度SDが下位J番目までに該当しない個体IVをもとに交叉と突然変異との少なくとも一つを用いて、今回のルーチンにおける現世代の個体IVを新たに生成する。なお、個体生成部32は、親世代の複数の個体IVのうちで、類似度SDが下位J番目には該当しない個体IVについては複製する。複製した個体IVと交叉や突然変異を用いて新たに生成した個体IVとによって新たなシーケンスセットが構成される。そして、新たなシーケンスセットを対象としてステップS308~ステップS356の処理が再び実行される。なお、他の実施形態では、親世代の複数の個体IVのうちで、類似度SDが予め定めた複製基準値以下の個体IVについては、類似度SDが複製基準値より大きい個体IVをもとに交叉や突然変位を用いて新たな個体IVを生成してもよい。以上のように、類似度SDが低い1つ以上のデータ処理シーケンスSqを、類似度SDが高いデータ処理シーケンスSqを元にシーケンス要素の組み合わせが異なる新たなデータ処理シーケンスを生成して置き換えることで、類似度SDが低いデータ処理シーケンスSqについては、処理対象から外すことができる。これにより、より効率良く基準条件を満たすデータ処理シーケンスSqを特定できる。
【0079】
新たなシーケンスセットを対象としたステップS308~ステップS356の処理において、前回までのルーチンで用いたシーケンスセットを構成するデータ処理シーケンスSqと同じデータ処理シーケンスSqについては、前回までのルーチンで算出された評価値EVが用いられる。これにより、評価値EVを再度計算する必要がないので、特定データ処理シーケンス生成処理の処理効率を向上できる。
【0080】
以上のように、基準条件が満たされるまで繰り返し実行されるステップS308は、参照テーブル88を用いて複数の個体IVから対応する複数のデータ処理シーケンスSqを生成する工程である。
【0081】
図16は、ステップS308の詳細フローチャートを示す図である。まず、遺伝子翻訳部34は、ステップS311において、現世代Gを構成するIV1~IV5のうちで、未処理の一つを選択する。また、ステップS314において、遺伝子翻訳部34は、記憶装置70に記憶された参照テーブル88を読み出す。
【0082】
次に、ステップS316において、遺伝子翻訳部34は、入力側シーケンス要素が接続されていない未接続の出力側シーケンス要素である接続先を一つ選択する。本実施形態では、データ出力層outを終端ノードに設定し、データ出力層out側から順にシーケンス要素が接続される。よって、最初のルーチンにおけるステップS316では、遺伝子翻訳部34は、接続先としてデータ出力層outを選択する。なお、シーケンス要素の接続は、上述のごとく予め定めた接続ルールに従い実行される。上述のごとく、まず遺伝子翻訳部34は、データ出力層outを出力側の端部である終端ノードに設定し、個体IVの遺伝子の配列順に入力側へとシーケンス要素を接続することでデータ処理シーケンスSqを生成する。また、遺伝子翻訳部34は、上述のごとく、遺伝子の配列順に、終端ノード側から優先して配置すると共に、図6に示す左側の接続先を右側の接続先よりも優先して配置するというルールである。
【0083】
ステップS316の次に、遺伝子翻訳部34は、ステップS318において、接続先である出力側シーケンス要素に接続される入力側シーケンス要素を、参照テーブル88を参照して選択する。具体的には、遺伝子翻訳部34は、参照テーブル88を用いて、出力側シーケンス要素に対して、接続参考値RVとしての平均値ARVが高い入力側シーケンス要素ほど、出力側シーケンス要素に接続される接続確率が高くなる確率関係を有するように、データ処理シーケンスSqを生成する。上記確率関係を有するデータ処理シーケンスSqは、以下の入力側シーケンス要素の選択アルゴリズムに従って入力側シーケンス要素が選択されることで生成される。
【0084】
<入力側シーケンス要素の選択アルゴリズム>
選択アルゴルズムの前提条件は以下のとおりである。
・遺伝子の数値・・・VG(VGは、0から1までの小数点第3位までの数値)
・出力側シーケンス要素識別子・・・j
ここで、jは、0以上の整数で表され、出力側シーケンス要素ごとに異なる値が割り当てられている。本実施形態では、入力側シーケンス要素FtA~outの順に、識別子jは、0~5が割り当てられている。
・接続される入力側シーケンス要素識別子・・・i
ここで、iは、0以上の整数で表され、0~Nまでの識別子によって表される。Nfは、入力側シーケンス要素の候補となる数から1を引いた値であり、本実施形態では、図7に示すように、入力側シーケンス要素の数は6であるため、Nは5である。また、入力側シーケンス要素FtA~inの順に、識別子iは、0~5が割り当てられている。
・参照テーブル88の要素セットに関連付けられた値・・・tij
ijは、図7に示す平均値ARVまたは非出現データである「-1」であり、添え字の「ij」は、要素セットを特定するための識別子であり、入力側シーケンス要素と出力側シーケンス要素の識別子に対応する。例えば、t12は、図7において入力側シーケンス要素がデータ処理層FtB、出力側シーケンス要素がデータ処理層FtCの要素セットの平均値ARVである0.086を示す。
・接続参考値RVが取り得る値・・・H
本実施形態では、接続参考値RVは評価値EVであり、0以上1以下の値を取り得る。
【0085】
選択アルゴリズムにおいて、出力側シーケンス要素jの入力側に入力側シーケンス要素iが接続される確率Pijは以下の式(1)によって算出される。
【数1】
【0086】
ここで、上記式(1)のSijは、以下の式(2)によって算出される。
【数2】
上記式(2)から理解できるように、参照テーブル88の値tijが接続参考値RVの取り得る値Hの範囲内、すなわち0以上1以下でれば、値Sijは値tijと同じ値となる。一方、参照テーブル88に非出現データである「-1」が関連付けられている場合には、値tijは「-1」であり、値Hの範囲外となるため値Sijは「0」となる。
【0087】
上記式(1)および式(2)から理解できるように、参照テーブル88の値tijに非出現データが関連付けられている場合は、確率Pijは「0」となることから、非出現データが関連付けられた要素セットは、データ処理シーケンスSqの構成要素として出現する確率はゼロである。
【0088】
また選択アルゴリズムにおいて、非出現データが関連付けられていない要素セットに対して、入力側シーケンス要素iが出力側シーケンス要素jに対して接続される遺伝子の数値範囲の上限閾値Tijは以下の式(3)を用いて算出される。なお、下限閾値は、非出現データが関連付けられた要素セットを除く一つ前の識別子に応じた入力側シーケンス要素の上限閾値に設定される。一つ前の識別子が無い場合には、下限閾値は「0」に設定される。
【数3】
【0089】
上記の選択アルゴリズムを用いて遺伝子の出現範囲を示す数値範囲を決定することで、同じ出力側シーケンス要素に対する接続候補である各入力側シーケンス要素の各接続参考値である各平均値ARVの比が、出力側シーケンス要素に接続される接続確率の比となるように、データ処理シーケンスSqが生成される。
【0090】
遺伝子翻訳部34は、上記式(3)で算出された上限閾値を用いて、データ入力層inおよび複数のデータ処理層である複数のデータ処理層FtA~FtEの入力側シーケンス要素のそれぞれに対して、異なる出現範囲としての数値範囲を設定する。そして、遺伝子の数値が、設定した数値範囲内に対応したデータ入力層inまたはデータ処理層としてのデータ処理層を入力側シーケンス要素として選択する。
【0091】
出現範囲としての数値範囲と、選択されるシーケンス要素の例を以下に示す。
<識別子jの出力側シーケンス要素に対する入力側シーケンス要素の選択>
0≦VG<T0jのときは、識別子iが「0」の入力側シーケンス要素が選択される。
0j≦VG<T1jのときは、識別子iが「1」の入力側シーケンス要素が選択される。
1j≦VG<T2jのときは、識別子iが「2」の入力側シーケンス要素が選択される。
以下も同様であるので、最後に一例を示す。
(Nf-1),j≦VG≦TNf,jのときは、識別子iがNfの入力側シーケンス要素が選択される。
【0092】
なお、数値範囲の不等号については、遺伝子の値VGがいずれかの出現範囲に含まれている限り、等号の有無を変更してもよい。
【0093】
図16に示すステップS318の次に、ステップS320において、遺伝子翻訳部34は、データ処理シーケンスSqの生成が完了したか否かを判定する。具体的には、遺伝子翻訳部34は、上流側のノードが全てデータ入力層inとなり、未接続のノードが無い場合にはデータ処理シーケンスSqの生成が完了したと判定する。この場合、遺伝子翻訳部34は、ステップS322において生成したデータ処理シーケンスSqをデータ処理部40に出力する。一方で、遺伝子翻訳部34は、データ処理シーケンスSqの生成が完了していないと判定した場合には、再びステップS316以降の処理を実行する。
【0094】
以上のように、図15に示すステップS306と図16に示すステップS308は、シーケンス要素の組み合わせが異なる複数のデータ処理シーケンスによって構成されるシーケンスセットを生成する工程である。また、図15に示すステップS306と図16に示すステップS308は、データ入力層およびデータ処理層のそれぞれに対応した複数の遺伝子を配列した個体と、参照テーブル88とを少なくとも用いてシーケンスセットを生成する工程である。
【0095】
上記の選択アルゴリズムを用いた入力側シーケンス要素の選択について、個体IVaからデータ処理シーケンスSqを生成する具体例を用いて以下に説明する。図17は、図16のステップS316~ステップS322までの処理を説明するための図である。図18は、参照テーブル88を元に生成された遺伝子と出現範囲との関係を示す出現範囲テーブル889aを示す図である。図19は、参照テーブル88を元に生成された遺伝子と出現範囲との関係を示す出現範囲テーブル889bを示す図である。図20は、参照テーブル88を元に生成された遺伝子と出現範囲との関係を示す出現範囲テーブル889cを示す図である。図21は、参照テーブル88を元に生成された遺伝子と出現範囲との関係を示す出現範囲テーブル889dを示す図である。
【0096】
図17に示すように、最初のルーチンRt1では、遺伝子翻訳部34は、ステップS316において、接続先としてデータ出力層outを選択する。次に遺伝子翻訳部34は、図7に示す参照テーブル88の出力側シーケンス要素がデータ出力層outである要素セットの値である平均値ARVおよび非出現データとしての「-1」と、上述の式(1)~式(3)を用いて、上限閾値Tijを算出することで、入力側シーケンス要素が出現する数値範囲を決定する。また、遺伝子翻訳部34は、決定した数値範囲を元に、図18に示す出現範囲テーブル889aを生成してもよい。遺伝子翻訳部34は、選択アルゴリズムを実行することによって、出力側シーケンス要素をデータ出力層outとする要素セットの入力側シーケンス要素ごとにおいて、接続参考値RVである平均値ARVが高い入力側シーケンス要素ほど、出現範囲を示す数値範囲を広く設定する。遺伝子翻訳部34は、図17に示すNo.1の遺伝子の数値0.892と、図18に示す数値範囲を比較して、数値範囲内に該当するデータ処理層FtEを、データ出力層outの入力側シーケンス要素として選択する。また、遺伝子翻訳部34は、参照テーブル88を参照し、データ処理層FtEの入力数が「2」であることから、データ処理層FtBの入力側に2つの探索枝である未接続端子を設定する。
【0097】
図17に示すように、次のルーチンRt2では、遺伝子翻訳部34は、ステップS316において、接続先としてデータ処理層FtEを選択する。次に遺伝子翻訳部34は、図7に示す参照テーブル88の出力側シーケンス要素がデータ処理層FtEである要素セットに関連付けられた平均値ARVおよび非出現データである「-1」と、上述の式(1)~式(3)を用いて、上限閾値Tijを算出することで、入力側シーケンス要素の数値範囲を決定する。また、遺伝子翻訳部34は、決定した数値範囲を元に、図19に示す出現範囲テーブル889bを生成してもよい。遺伝子翻訳部34は、選択アルゴリズムを実行することで、出力側シーケンス要素がデータ処理層FtEとする要素セットの入力側シーケンス要素ごとにおいて、平均値ARVが高い入力側シーケンス要素ほど、出現範囲を示す数値範囲を広く設定する。遺伝子翻訳部34は、図17に示すNo.2の遺伝子の数値0.942と、図19に示す数値範囲を比較して、数値範囲内に該当するデータ入力層inを、データ処理層FtBの左側の入力側シーケンス要素として選択する。
【0098】
また図17に示すように、次のルーチンRt3では、遺伝子翻訳部34は、ステップS316において、接続先としてデータ処理層FtEを選択する。次に遺伝子翻訳部34は、図7に示す参照テーブル88の出力側シーケンス要素がデータ処理層FtEである要素セットに関連付けられた平均値ARVおよび非出現データである「-1」と、上述の式(1)~式(3)を用いて、上限閾値Tijを算出することで、入力側シーケンス要素の数値範囲を決定する。この数値範囲は、図19に示す数値範囲となるため、遺伝子翻訳部34は、前回のルーチンRt2で用いた数値範囲を用いる。遺伝子翻訳部34は、図17に示すNo.3の遺伝子の数値0.075と、図17に示す数値範囲を比較して、数値範囲内に該当するデータ処理層FtAを、データ処理層FtBの右側の入力側シーケンス要素として選択する。また、遺伝子翻訳部34は、参照テーブル88を参照し、データ処理層FtAの入力数が「1」であることから、データ処理層FtAの入力側に1つの探索枝である未接続端子を設定する。
【0099】
図17に示すように、次のルーチンRt4では、遺伝子翻訳部34は、ステップS316において、接続先としてデータ処理層FtAを選択する。次に遺伝子翻訳部34は、図7に示す参照テーブル88の出力側シーケンス要素がデータ処理層FtAである要素セットの平均値ARVと、上述の式(1)~式(3)を用いて、上限閾値Tijを算出することで、入力側シーケンス要素の数値範囲を決定する。また、遺伝子翻訳部34は、決定した数値範囲を元に、図20に示す出現範囲テーブル889cを生成してもよい。遺伝子翻訳部34は、選択アルゴリズムを実行することにより、出力側シーケンス要素がデータ処理層FtAとする要素セットの入力側シーケンス要素ごとにおいて、平均値ARVが高い入力側シーケンス要素ほど、出現範囲を示す数値範囲を広く設定する。遺伝子翻訳部34は、図17に示すNo.4の遺伝子の数値0.412と、図20に示す数値範囲を比較して、数値範囲内に該当するデータ処理層FtBを、データ処理層FtAの入力側シーケンス要素として選択する。また、遺伝子翻訳部34は、参照テーブル88を参照し、データ処理層FtBの入力数が「1」であることから、データ処理層FtAの入力側に1つの探索枝である未接続端子を設定する。
【0100】
図17に示すように、次のルーチンRt5では、遺伝子翻訳部34は、ステップS316において、接続先としてデータ処理層FtBを選択する。次に遺伝子翻訳部34は、図7に示す参照テーブル88の出力側シーケンス要素がデータ処理層FtBである要素セットの平均値ARVと、上述の式(1)~式(3)を用いて、上限閾値Tijを算出することで、入力側シーケンス要素の数値範囲を決定する。決定した数値範囲を元に、図21に示す出現範囲テーブル889dを生成してもよい。遺伝子翻訳部34は、選択アルゴリズムを実行することによって、出力側シーケンス要素がデータ処理層FtBとする要素セットの入力側シーケンス要素ごとにおいて、平均値ARVが高い入力側シーケンス要素ほど、出現範囲を示す数値範囲を広く設定する。遺伝子翻訳部34は、図17に示すNo.5の遺伝子の数値0.995と、図21に示す数値範囲を比較して、数値範囲内に該当するデータ入力層inを、データ処理層FtBの入力側シーケンス要素として選択する。これにより、上流側のノードが全てデータ入力層inとなったため、データ処理シーケンスSqの生成が完了する。つまり、遺伝子翻訳部34は、出力側シーケンス要素に対して未接続の入力側シーケンス要素が無い場合には、個体IVを構成する複数の遺伝子の全てがデータ処理シーケンスSqとして用いられていない場合でも、個体IVに対応するデータ処理シーケンスSqの生成処理を終了する。これにより、遺伝子翻訳部34は、複数の遺伝子全てが用いられていない場合でもデータ処理シーケンスSqを生成できる。
【0101】
図22は、利用処理のフローチャートである。利用処理は、図15の生成処理によって、特定データ処理シーケンスDSqが特定された後に実行される。まず記憶装置70は、ステップS500において、入力部150によって受け付けたシーケンス要素である複数のデータ処理層をシーケンス要素群80として記憶する。ステップS500において記憶されるシーケンス要素群80の複数のデータ処理層は、特定データ処理シーケンスDSqで用いられるデータ処理層のみであってもよい。なお、利用処理と、図15の生成処理とが同じ生成装置20で実行される場合には、ステップS500は省略でき、ステップS300によって記憶装置70に記憶されたシーケンス要素群80を用いることができる。
【0102】
次に、ステップS501において、記憶装置70は、図15のステップS358で出力された特定データ処理シーケンスDSqを記憶する。なお、ステップS500とステップS501の順番は上記に限定されるものではない。
【0103】
次に、ステップS503において、データ処理部40は、入力部150を介して記憶装置70に記憶されたデータであって特定データ処理シーケンスDSqのデータ処理の対象となるデータを読み出すことで取得する。ステップS503によって取得される処理対象のデータは、例えば、学習画像LMと同種の対象物を撮像した画像である。なお、データ処理部40は、データ処理の対象となるデータが複数ある場合には、記憶装置70に予め記憶された複数のデータのうちの一つを読み出すことでデータを取得してもよいし、後述するデータ処理を実行するタイミングで対象となるデータをセンサー装置200からその都度取得してもよい。
【0104】
次に、データ処理部40は、ステップS504において、ステップS503によって取得された画像に対して特定データ処理シーケンスDSqを用いたデータ処理を実行する。つまり、処理対象のデータに対して、特定データ処理シーケンスDSqが示す順番に従って、記憶装置70のシーケンス要素群80に記憶されたデータ処理層を適用してデータ処理を実行する。
【0105】
次に、ステップS505において、特定データ処理シーケンスDSqを用いたデータ処理後のデータである出力データPMが出力される。ステップS505は、例えば、出力データPMが記憶装置70に記憶されることで実行されたり、表示部160に表示されたりすることで実行される。
【0106】
次に、データ処理部40は、ステップS506において、特定データ処理シーケンスDSqを用いたデータ処理を継続するかどうかを判定する。例えば、データ処理部40は、ユーザーからデータ処理の継続を示す情報が入力された場合や、データ処理の対象となる未処理のデータが記憶装置70にまだ残っている場合に、データ処理を継続すると判定する。データ処理を継続する場合には、再びステップS503以降の処理が実行される。一方で、データ処理部40は、ユーザーからデータ処理の終了を示す情報が入力された場合や、データ処理の対象となる未処理のデータが記憶装置70に残っていない場合には、利用処理を終了する。
【0107】
上記実施形態によれば、図10図13に示すように、参照テーブル生成部55は、参照テーブル88において、特定要素セットに対してデータ処理シーケンスSqの構成要素として出現させないことを示す非出現データを関連付けることで、予めデータ処理シーケンスSqの構成要素として出現させない要素セットを容易に設定できる。例えば、データ処理の目的を達成するための寄与が低い要素セットに対して予め非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスDSqを効率良く特定することができる。
【0108】
また上記実施形態によれば、図10に示すステップS106および図12に示すように、参照テーブル生成部55は、設定順番とは異なる順番となる要素セットに対して非出現データを関連付けることで、データ処理シーケンスSqにおいて、複数のデータ処理工程の順番が設定順番と異なることを容易に防止できる。これにより、例えば、データ処理工程の順番のうち、データ処理の目的を達成するための寄与が低い順番が、データ処理シーケンスSqとして出現しないように特定要素セットに対して非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスDSqを効率良く特定することができる。
【0109】
また上記実施形態によれば、参照テーブル生成部55は、図10のステップS108および図13に示すように、データ処理層の種類に応じた特定要素セットに対して非出現データを関連付けることができる。ここで、データ処理層の種類によっては、データ処理層との接続の相性が低い、すなわち、データ処理の目的に寄与しないシーケンス要素が存在する場合がある。よって、特定のデータ処理層とシーケンス要素の要素セットを特定要素セットとして特定し、特定要素セットに対して非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスDSqを効率良く特定することができる。
【0110】
また上記実施形態によれば、参照テーブル生成部55は、図13に示す種別条件テーブル925に従って第1要素セット以外の要素セットを特定要素セットとして特定し、特定した特定要素セットに対して非出現データを関連付けている。これにより、特定データ処理シーケンスDSqの候補となるデータ処理シーケンスSqは、第1特定データ処理層の出力側にデータ出力層outが接続された構成となる。よって、特定データ処理シーケンスDSqを用いたデータ処理の目的が、入力されたデータの種類を判別することである場合に、目的に応じたデータ処理シーケンスSqを候補として生成できるので、基準条件を満たすデータ処理シーケンスDSqを効率良く特定することができる。
【0111】
また上記実施形態によれば、参照テーブル生成部55は、図13に示す種別条件テーブル925に従って第2要素セット以外の要素セットを特定要素セットとして特定し、特定した特定要素セットに対して非出現データを関連付けている。これにより、特定データ処理シーケンスDSqの候補となるデータ処理シーケンスSqは、第2特定データ処理層の出力側にデータ出力層outが接続された構成となる。よって、特定データ処理シーケンスDSqを用いたデータ処理の目的が、入力されたデータに応じたスカラー量を出力することである場合に、目的に応じたデータ処理シーケンスSqを候補として生成できるので、基準条件を満たすデータ処理シーケンスDSqを効率良く特定することができる。
【0112】
また、判別結果を出力する第1特定データ処理層や、スカラー量を出力する第2特定データ処理層の出力側に出力層outが接続されるように、参照テーブル88によってデータ処理工程の順番を設定しておくことで、判別結果やスカラー量などのユーザーが理解しやすいデータ処理結果を出力層outで出力できる。
【0113】
また上記実施形態によれば、個体生成部32は、図5に示すように、遺伝的アルゴリズムを用いてデータ処理シーケンスSqの元となる複数の個体IVを容易に生成できる。また、参照テーブル88によって非出現データを予め関連付けておくことで、参照テーブル88を参照することで、ユーザーは、データ処理シーケンスSqの構成要素として出現しない要素セットを容易に特定できる。
【0114】
B.他の実施形態:
B-1.他の実施形態1:
上記実施形態では、一つの世代Gに属する複数の個体IVが示す複数のデータ処理シーケンスSqの一つずつ順番に処理結果の評価を行っていたが、複数の生成装置20を用いて複数のデータ処理シーケンスSqについて並列に処理結果の評価を行ってもよい。
【0115】
B-2.他の実施形態2:
上記実施形態では、データ処理シーケンスSqは、遺伝的アルゴリズムを用いて個体IVを生成することによって生成していたがこれに限定されるものではない。例えば、複数のシーケンス要素を、ランダムに配置することで複数のデータ処理シーケンスSqを生成してもよい。
【0116】
B-3.他の実施形態3:
上記実施形態では、参照テーブル88は、非出現データである「-1」が設定された要素セット以外は、図7に示すように接続参考値RVの平均値ARVが設定されていたが、これに限定されるものではない。例えば、参照テーブル生成部55は、図10のステップS103において、非出現データである「-1」が設定された要素セット以外の要素セットに対して、均等な確率で出現するように一定の数値を固定値として関連付けてもよい。この場合、図9のステップS123からステップS133の処理は省略可能である。
【0117】
B-4.他の実施形態4:
上記実施形態では、図16のステップS318において、遺伝子翻訳部34は、参照テーブル88と選択アルゴリズムとを用いて図18図21に示す出現範囲テーブル889a~889dを生成して入力側シーケンス要素を選択していたが、入力側シーケンス要素の選択方法はこれに限定されるものではない。例えば、参照テーブル生成部55は、図9に示す参照テーブル88の生成処理後の参照テーブル88と、上述の選択アルゴリズムとを用いて全ての要素セットに対する出現範囲テーブルを事前に生成して記憶装置70に記憶させてもよい。
【0118】
B-5.他の実施形態5:
上記実施形態では、遺伝子翻訳部34は、参照テーブル88と式(1)~式(3)を用いて、出力側シーケンス要素に対して、接続参考値RVが高い入力側シーケンス要素ほど、出力側シーケンス要素に接続される接続確率が高くなる確率関係を有するように、複数のデータ処理シーケンスを生成していたが、これに限定されるものではない。例えば、遺伝子翻訳部34は、上記の確率関係を有するように複数のデータ処理シーケンスを生成できれば、式(1)~式(3)を用いなくてもよい。例えば、遺伝子翻訳部34は、接続参考値RVが高くなるほど、段階的に、入力側シーケンス要素が出現する数値範囲を大きく設定することで、上記確率関係を有するように複数のデータ処理シーケンスを生成してもよい。
【0119】
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0120】
(1)本開示の第1形態によれば、予め定めた基準条件を満たすデータ処理シーケンスの生成方法が提供される。前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成されている。前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスである。この生成方法は、(a)前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する工程と、(b)前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成する工程と、(c)前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する工程と、を備え、前記工程(a)は、前記参照テーブルにおいて、(a1)接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける工程と、(a2)前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける工程と、を備える。この形態によれば、参照テーブルにおいて、特定要素セットに対してデータ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付けることで、予めデータ処理シーケンスの構成要素として出現させない要素セットを容易に設定できる。例えば、データ処理の目的を達成するための寄与が低い要素セットに対して予め非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスを効率良く特定することができる。
【0121】
(2)上記形態において、前記特定データ処理シーケンスは、少なくとも1つの前記データ処理層を用いたデータ処理工程を複数含み、複数の前記データ処理工程の順番が設定順番として予め定められている場合において、前記工程(a1)は、前記設定順番とは異なる順番となる前記要素セットを前記特定要素セットとして特定する工程と、特定した前記特定要素セットに対して前記データ処理シーケンスの前記構成要素として出現させないことを示す非出現データを関連付ける工程と、を有していてもよい。この形態よれば、設定順番とは異なる順番となる要素セットに対して非出現データを関連付けることで、データ処理シーケンスにおいて、複数のデータ処理工程の順番が設定順番と異なることを容易に防止できる。これにより、例えば、データ処理の目的を達成するための寄与が低いデータ処理工程の順番が、データ処理シーケンスとして出現しないように特定要素セットに対して非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスを効率良く特定することができる。
【0122】
(3)上記形態において、さらに、(d)前記工程(a)よりも前に実行され、前記特定データ処理シーケンスの前記シーケンス要素の候補となる前記複数のデータ処理層の入力を受け付ける工程を備え、前記工程(a1)は、(a1a)前記工程(d)で受け付けた前記複数のデータ処理層のそれぞれの種類を判定し、判定した前記種類に応じて前記特定要素セットを特定する工程を含んでいてもよい。この形態によれば、データ処理層の種類に応じた特定要素セットに対して非出現データを関連付けることができる。
【0123】
(4)上記形態において、前記工程(a1a)は、前記判定した種類が、入力された前記データに対して前記データの種別を判定して出力する第1特定データ処理層を示す第1種類である場合には、前記複数の要素セットのうち、第1要素セットとは異なる前記要素セットを前記特定要素セットとして特定し、前記第1要素セットは、前記入力側の前記シーケンス要素が前記第1特定データ処理層であり、前記出力側の前記シーケンス要素が前記データ出力層であってもよい。この形態によれば、特定データ処理シーケンスの候補となるデータ処理シーケンスは、第1特定データ処理層の出力側にデータ出力層が接続された構成となる。これにより、特定データ処理シーケンスを用いたデータ処理の目的が、入力されたデータの種類を判別することである場合に、目的に応じたデータ処理シーケンスを候補として生成できるので、基準条件を満たすデータ処理シーケンスを効率良く特定することができる。
【0124】
(5)上記形態において、前記工程(a1a)は、前記判定した種類が、入力された前記データに対して前記データに応じたスカラー量を出力する第2特定データ処理層を示す第2種類である場合には、前記複数の要素セットのうち、第2要素セットとは異なる前記要素セットを前記特定要素セットとして特定し、前記第2要素セットは、前記入力側の前記シーケンス要素が前記第2特定データ処理層であり、前記出力側の前記シーケンス要素が前記データ出力層であってもよい。この形態によれば、特定データ処理シーケンスの候補となるデータ処理シーケンスは、第2特定データ処理層の出力側にデータ出力層が接続された構成となる。これにより、特定データ処理シーケンスを用いたデータ処理の目的が、入力されたデータに応じたスカラー量を出力することである場合に、目的に応じたデータ処理シーケンスを候補として生成できるので、基準条件を満たすデータ処理シーケンスを効率良く特定することができる。
【0125】
(6)上記形態において、前記工程(a1)において関連付ける前記非出現データは、前記接続参考値が取り得る予め設定された数値範囲から外れた値であってもよい。この形態によれば、非出現データを接続参考値との区別を容易にできる。
【0126】
(7)上記形態において、前記工程(b)は、前記シーケンス要素の組み合わせが異なる前記複数のデータ処理シーケンスによって構成されるシーケンスセットを生成する工程であって、前記データ入力層および前記データ処理層のそれぞれに対応した複数の遺伝子を配列した個体と、前記参照テーブルと、を少なくとも用いて前記シーケンスセットを生成する工程を含み、前記工程(c)は、(c1)前記複数のデータ処理シーケンスのそれぞれによって学習データをデータ処理し、前記複数のデータ処理シーケンスごとに前記データ処理後のデータである出力データを生成する工程と、(c2)前記複数のデータ処理シーケンスごとに、前記出力データと、前記学習データに関連付けられた目標となる目標データとを比較して、前記出力データと前記目標データとの類似度を示す評価値を算出する工程と、(c3)前記複数のデータ処理シーケンスのそれぞれに対応する複数の前記評価値が示す複数の前記類似度を用いて、前記基準条件を満たす前記特定データ処理シーケンスを特定する工程と、を含んでもよい。この形態によれば、遺伝的アルゴリズムを用いてデータ処理シーケンスの元となる複数の個体を容易に生成できる。また、この形態によれば、出力データと目標データとの類似度を用いて基準条件を満たすデータ処理シーケンスを容易に特定できる。
【0127】
(8)本開示の第2形態によれば、予め定めた基準条件を満たすデータ処理シーケンスの生成装置が提供される。前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成されている。前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスである。前記生成装置は、前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する参照テーブル生成部と、前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成するシーケンス生成部と、前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する特定部と、を備え、前記参照テーブル生成部は、前記参照テーブルにおいて、接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付け、前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける。この形態によれば、参照テーブルにおいて、特定要素セットに対してデータ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付けることで、予めデータ処理シーケンスの構成要素として出現させない要素セットを容易に設定できる。例えば、データ処理の目的を達成するための寄与が低い要素セットに対して予め非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスを効率良く特定することができる。
【0128】
(9)本開示の第3形態によれば、予め定めた基準条件を満たすデータ処理シーケンスの生成をコンピューターに実行させるためのコンピュータープログラムが提供される。前記データ処理シーケンスは、シーケンス要素としての、(i)データを入力するデータ入力層、(ii)複数のデータ処理層のうちの少なくとも2つ、および(iii)データ処理後の前記データを出力するデータ出力層によって構成される。前記基準条件を満たす前記データ処理シーケンスは特定データ処理シーケンスである。このコンピュータープログラムは、(a)前記特定データ処理シーケンスの候補となる複数の前記データ処理シーケンスを生成するために用いる参照テーブルを生成する機能と、(b)前記参照テーブルを用いて前記複数のデータ処理シーケンスを生成する機能と、(c)前記複数のデータ処理シーケンスの中から、前記基準条件を満たす前記特定データ処理シーケンスを特定する機能と、コンピューターに実行させ、前記機能(a)は、前記参照テーブルにおいて、(a1)接続候補となる入力側と出力側の一対の前記シーケンス要素である複数の要素セットのうち、接続を禁止する特定要素セットに対して、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付ける機能と、(a2)前記複数の要素セットのうち、前記非出現データが関連付けられた前記特定要素セットとは異なる前記要素セットに対して、前記データ処理シーケンスの前記構成要素として出現する出現確率を示す接続参考値を関連付ける機能と、を備える。この形態によれば、参照テーブルにおいて、特定要素セットに対してデータ処理シーケンスの構成要素として出現させないことを示す非出現データを関連付けることで、予めデータ処理シーケンスの構成要素として出現させない要素セットを容易に設定できる。例えば、データ処理の目的を達成するための寄与が低い要素セットに対して予め非出現データを関連付けることで、基準条件を満たすデータ処理シーケンスを効率良く特定することができる。
【0129】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0130】
10…生成システム、20…生成装置、25…プロセッサー、30…シーケンス生成部、32…個体生成部、34…遺伝子翻訳部、40…データ処理部、46…評価判定部、50…特定部、55…参照テーブル生成部、60…表示制御部、70…記憶装置、74…学習データ、80…シーケンス要素群、82…遺伝子テーブル、84…個体群、88…参照テーブル、92…各種条件、94…各種プログラム、150…入力部、160…表示部、200…センサー装置、889a~889d…出現範囲テーブル、925…種別条件テーブル、ARV…平均値、DA…欠陥部分、DSq…特定データ処理シーケンス、EV…評価値、FtA~FtE…データ処理層、IV,IV1~IV5,IVa…個体、LM…学習データ、PM…出力データ、RV…接続参考値、Rt1~Rt5…処理ルーチン、SM…学習セット、Sq,Sq1…データ処理シーケンス、TM…目標画像
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22