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

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

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

特開2024-145095データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム
<>
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図1
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図2
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図3
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図4
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図5
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図6A
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図6B
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図7
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図8
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図9
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図10
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図11
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図12
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図13
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図14
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図15
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図16
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図17
  • 特開-データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024145095
(43)【公開日】2024-10-15
(54)【発明の名称】データ処理シーケンスの生成方法、生成装置、および、コンピュータープログラム
(51)【国際特許分類】
   G06N 3/082 20230101AFI20241004BHJP
   G06N 3/12 20230101ALI20241004BHJP
【FI】
G06N3/082
G06N3/12
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023057342
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】鈴木 拓実
(72)【発明者】
【氏名】金井 政史
(57)【要約】
【課題】データ処理シーケンスを生成する場合において、入力側のデータ処理要素と出力側のデータ処理要素の組み合わせを予め設定した生成条件を生成できる技術を提供する。
【解決手段】生成方法は、(a)候補データ処理要素の入力を受け付ける工程と、(b)工程(a)によって受け付けた候補データ処理要素によって行われるデータ処理の種別に応じて、データ処理シーケンスを構成するシーケンス要素の接続に関する接続条件を生成する工程と、を備え、接続条件は、候補データ処理要素が、NN処理要素と中処理要素とを含む場合には、NN処理の次に中処理が実行されるように、NN処理要素と中処理要素とを接続するという条件を含む。
【選択図】図13
【特許請求の範囲】
【請求項1】
データ処理シーケンスの生成方法であって、
前記データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成され、
前記生成方法は、
(a)前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける工程であって、前記候補データ処理要素は、
(i)前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、
(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、
(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、
(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、工程と、
(b)前記工程(a)によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する工程と、
(c)前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成する工程と、
(d)前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた特定データ処理シーケンスを特定する工程と、を備え、
前記工程(b)における前記接続条件は、
前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む、生成方法。
【請求項2】
請求項1に記載の生成方法であって、
前記工程(b)における前記接続条件は、
前記候補データ処理要素が、前記後処理要素を含む場合には、前記後処理の次に前記データ出力要素でデータ処理後の前記データが出力されるように、前記後処理要素と前記データ出力要素とを接続するという条件を含む、生成方法。
【請求項3】
請求項1に記載の生成方法であって、
前記工程(b)における前記接続条件は、
前記候補データ処理要素が、前記前処理要素と前記NN処理要素と前記中処理要素と前記後処理要素とを含む場合には、前記データ入力要素から前記データ出力要素に向かう順に、前記前処理、前記NN処理、前記中処理、前記後処理が実行されるように、前記データ入力要素と前記前処理要素と前記NN処理要素と前記中処理要素と前記後処理要素と前記データ出力要素とを接続するという条件を含む、生成方法。
【請求項4】
請求項1に記載の生成方法であって、
前記後処理で用いられる前記後処理要素は、前記後処理要素に入力されたデータを前記目標データと比較可能なデータに変換する、生成方法。
【請求項5】
請求項1に記載の生成方法であって、
前記工程(b)は、接続候補となる前記入力側と前記出力側の一対の前記シーケンス要素である複数の要素セットのそれぞれに対して、前記データ処理シーケンスの要素として出現する出現確率を示す接続参考値と、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データと、のいずれかを関連付けた接続条件テーブルを生成することで前記接続条件を生成する、生成方法。
【請求項6】
請求項5に記載の生成方法であって、
前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記工程(b)は、前記入力側が前記NN処理要素であり前記出力側が前記中処理要素である前記要素セットである出現要素セットに対しては前記接続参考値を関連付け、前記入力側が前記NN処理要素であり前記出力側が前記中処理要素とは異なる前記シーケンス要素である前記要素セットに対しては非出現データを関連付けることで前記接続条件テーブルを生成する、生成方法。
【請求項7】
請求項1に記載の生成方法であって、
前記工程(d)は、
(d1)前記工程(c)によって生成された前記複数のデータ処理シーケンスのそれぞれによって前記対象データをデータ処理して前記データ出力要素に出力されたデータ処理後の出力データを取得する工程と、
(d2)前記出力データと前記目標データとを比較して、前記複数のデータ処理シーケンスのそれぞれの評価値を取得する工程と、
(d3)前記それぞれの評価値を用いて前記特定終了条件を満たす前記特定データ処理シーケンスを特定する工程と、を有する、生成方法。
【請求項8】
請求項1に記載の生成方法であって、
前記中処理に用いられる前記中処理要素は、
前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを他の種類のデータに変換する第1種中処理要素と、
前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データの少なくとも一部を抽出して抽出後データを出力する第2種中処理要素と、の少なくともいずれか一方を含む、生成方法。
【請求項9】
請求項7に記載の生成方法であって、さらに、
(e)前記工程(d)よりも前に行われ、参照データの入力を受け付ける工程であって、前記参照データは、前記中処理要素において前記NN出力データのデータ量を低減するために用いるデータである、工程を有する、生成方法。
【請求項10】
請求項9に記載の生成方法であって、
前記中処理に用いられる前記中処理要素は、
前記NN出力データと前記参照データとの類似度を示す変換後データを出力する第1種中処理要素と
前記NN出力データが、前記NN処理要素が有する複数の中間層のそれぞれから出力される特徴量によって構成されている場合に、前記参照データを用いることなく、前記複数の中間層の少なくとも一部の前記中間層に対応した前記特徴量を抽出する第2種中処理要素と、の少なくともいずれか一方を含む、生成方法。
【請求項11】
請求項9に記載の生成方法であって、
前記工程(d)は、前記工程(c)において生成された前記データ処理シーケンスにおいて、前記NN処理要素と前記中処理要素とが含まれる場合に、前記中処理要素よりも前記入力側で実行されるデータ処理を、前記参照データに対して実行して処理後参照データを生成する工程を含み、
前記中処理要素は、前記NN出力データと前記処理後参照データとの類似度を示す変換後データを出力する第1種中処理要素を含む、生成方法。
【請求項12】
請求項1に記載の生成方法であって、
前記NN処理に用いられる前記NN処理要素は、前記NN処理要素の中間層から取得した特徴量と、前記NN処理要素の出力要素であるNN出力要素から出力されたNN処理後データと、の少なくともいずれか一方を前記NN出力データとして前記出力側の前記シーケンス要素に出力する、生成方法。
【請求項13】
請求項7に記載の生成方法であって、
前記工程(d3)によって前記特定データ処理シーケンスが特定されない場合に、前記特定終了条件が満たされるまで、前記工程(c)~前記工程(d)までのルーチンを繰り返し、
前記ルーチンを繰り返す場合において、次の前記ルーチンにおける前記工程(c)は、前回の前記ルーチンにおける前記工程(c)によって生成された前記複数のデータ処理シーケンスと少なくとも一つの前記データ処理シーケンスが異なる前記複数のデータ処理シーケンスを生成することで前記シーケンスセットを生成する再生成工程を含む、生成方法。
【請求項14】
請求項13に記載の生成方法であって、
前記工程(c)は、前記シーケンス要素に対応した遺伝子を複数配列した個体を生成することで前記データ処理シーケンスを規定する工程を含み、
前記再生成工程は、前記評価値を用いて、次世代の前記個体に用いられる現世代の前記個体を特定し、特定した前記個体を複製することと、特定した前記個体に対して交叉と突然変異との少なくとも1つを行うことで前記個体を新たに生成すること、とによって前記次のルーチンの前記シーケンスセットを生成する、生成方法。
【請求項15】
データ処理シーケンスの生成装置であって、
前記データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成され、
前記生成装置は、
前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける入力部であって、前記候補データ処理要素は、
前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、
(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、
(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、
(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、入力部と、
前記入力部によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する接続条件生成部と、
前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成するシーケンス生成部と、
前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた前記特定データ処理シーケンスを特定する特定部と、を備え、
前記接続条件は、
前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む、生成装置。
【請求項16】
データ処理シーケンスの生成をコンピューターに実行させるためのコンピュータープログラムであって、
前記データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成され、
前記コンピュータープログラムは、
(a)前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける機能であって、前記候補データ処理要素は、
(i)前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、
(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、
(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、
(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、機能と、
(b)前記機能(a)によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する機能と、
(c)前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成する機能と、
(d)前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた特定データ処理シーケンスを特定する機能と、をコンピューターに実行させ、
前記機能(b)における前記接続条件は、
前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理シーケンスを生成する技術に関する。
【背景技術】
【0002】
従来、遺伝的プログラミングを用いることにより、個体を木構造のように構造的に表現する技術が知られている(特許文献1)。従来の技術では、遺伝的プログラミングを用いることにより、複数の画像処理要素を木構造に組み合わせたデータ処理シーケンスを生成している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-87055号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、遺伝的プログラミングを用いることにより、複数の画像処理シーケンスを生成し、画像処理シーケンスの評価を世代ごとに繰り返し行うことで、基準条件を満たす画像処理シーケンスを特定している。しかしながら、生成された画像処理シーケンスを構成する複数のデータ処理要素において、入力側のデータ処理要素と出力側のデータ処理要素の組み合わせによっては、入力側のデータ処理要素から出力されるデータを出力側のデータ処理要素でデータ処理することが適さない場合が生じ得る。この場合、生成したデータ処理シーケンスによるデータ処理が効率良く実行できずにデータ処理シーケンスの評価に時間を要したり、目標データに応じたデータ処理結果を得ることができずにデータ処理シーケンスの評価ができなかったりという不具合が生じ得る。よって、従来から、データ処理シーケンスを構成する、入力側のデータ処理要素と出力側のデータ処理要素の組み合わせを設定できる技術が望まれている。このような課題は、遺伝的プログラミングを用いて複数の画像処理シーケンスを生成して、基準条件を満たす画像処理シーケンスを特定する技術に限らず、複数のデータ処理シーケンスを生成して、予め定めた特定終了条件に応じたデータ処理シーケンスを特定する技術に共通する。
【課題を解決するための手段】
【0005】
本開示の第1形態によれば、データ処理シーケンスの生成方法が提供される。データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成される。この生成方法は、(a)前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける工程であって、前記候補データ処理要素は、(i)前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、工程と、(b)前記工程(a)によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する工程と、(c)前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成する工程と、(d)前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた特定データ処理シーケンスを特定する工程と、を備え、前記工程(b)における前記接続条件は、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む。
【0006】
本開示の第2形態によれば、データ処理シーケンスの生成装置が提供される。データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成される。この生成装置は、前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける入力部であって、前記候補データ処理要素は、前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、入力部と、前記入力部によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する接続条件生成部と、前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成するシーケンス生成部と、前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた前記特定データ処理シーケンスを特定する特定部と、を備え、前記接続条件は、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む。
【0007】
本開示の第3形態によれば、データ処理シーケンスの生成をコンピューターに実行させるためのコンピュータープログラムが提供される。データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成される。このコンピュータープログラムは、(a)前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける機能であって、前記候補データ処理要素は、(i)前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、機能と、(b)前記機能(a)によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する機能と、(c)前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成する機能と、(d)前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた特定データ処理シーケンスを特定する機能と、をコンピューターに実行させ、前記機能(b)における前記接続条件は、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む。
【図面の簡単な説明】
【0008】
図1】実施形態の生成システムを説明するための図。
図2】記憶装置を説明するための図。
図3】学習データ群の一例を示す図。
図4図2に示すシーケンス要素群の詳細を示す図。
図5】NN処理を実行するデータ処理要素を説明するための図。
図6A図2に示す処理候補テーブルが有する第1処理候補テーブルを示す図。
図6B図2に示す処理候補テーブルが有する第2処理候補テーブルを示す図。
図7】参照データ群の一例を示す図。
図8】一つの世代Gの個体群を説明するための図。
図9】遺伝子の出現範囲を規定するテーブルを示す図。
図10】木構造のデータ処理シーケンスを示す図。
図11図2に示す接続条件テーブルの詳細を示す図。
図12】生成装置が実行する処理を示すフローチャート。
図13】生成条件の生成処理を示す詳細フローチャート。
図14】生成条件入力画面を示す図。
図15図12のステップS30の詳細フローチャートを示す図。
図16図15に示すステップS308の詳細フローチャートを示す図。
図17】上限閾値を規定したテーブルを示す図。
図18図12に示すステップS50の詳細フローチャート。
【発明を実施するための形態】
【0009】
A.実施形態:
図1は、実施形態の生成システム10を説明するための図である。生成システム10は、生成装置20とセンサー装置200とを備える。生成装置20とセンサー装置200とは、有線や無線によってデータを送受信可能である。センサー装置200は、対象の物理量を取得するセンサーであり、物理量である光の強さを検出して画像を生成する撮像装置や、物理量である電圧を取得する電圧センサーなどがある。本実施形態は、センサー装置200は撮像装置である。センサー装置200によって取得された撮像画像は、生成装置20に送信される。
【0010】
生成装置20は、データ処理後の所望とするデータを得るための特定データ処理シーケンスDSqを生成するシーケンス生成機能と、シーケンス生成機能を実行する前に実行される接続条件の生成機能と、シーケンス生成機能を実行した後に実行される特定データ処理シーケンスDSqを用いたデータ処理機能とを有する。接続条件の生成機能は、シーケンス生成機能を実行する際に参照される接続条件テーブルを生成する。データ処理機能は、データ処理シーケンスSqを用いて入力データである対象データをデータ処理する機能である。例えば、生成装置20は、撮像画像を元に、所望の目的を達成するための所望データを得るための特定データ処理シーケンスDSqを自動で生成してもよい。例えば、生成装置20は、撮像画像を元に、センサー装置200によって撮像された工業製品である回路基板の画像を、特定データ処理シーケンスDSqを用いてデータ処理することで、欠陥部分が黒画像、それ以外の部分が白画像で表された二値化画像を所望画像として出力する。この二値化画像を元に、欠陥部分の有無や位置がユーザーや装置によって特定されることで、工業製品の検査が行われる。また例えば、生成装置20は、入力データである撮像画像を元に、対象データの種別を判別したり、対象データに応じた1つ以上のスカラー量を出力したりする、特定データ処理シーケンスDSqを自動で生成してもよい。入力データの種別とは、対象データに応じた判別結果であり、例えば、データ処理要素としての機械学習モデルから出力されたラベル判別結果である。対象データに応じたスカラー量とは、温度や電圧値などであり、例えば、データ処理要素としての機械学習モデルによる回帰分析によって出力された出力結果である。
【0011】
シーケンス生成機能は、遺伝的プログラミングを用いて複数のデータ処理シーケンスSqを生成し、生成した複数のデータ処理シーケンスSqの中から所望とするデータ処理後のデータを得るための特定データ処理シーケンスDSqを特定する。接続条件の生成機能は、遺伝子座に配置された遺伝子の数値VGがどのシーケンス要素に対応するのかを決定するための接続条件テーブルを生成する。本実施形態では、シーケンス生成機能と接続条件の生成機能とデータ処理機能とは、一つの生成装置20に搭載されているが、これに限定されるものではない。他の実施形態では、シーケンス生成機能と接続条件の生成機能とデータ処理機能とはそれぞれ、別々の装置に搭載されていてもよいし、クラウド上に存在していてもよい。
【0012】
生成装置20は、パーソナルコンピューターなどの電子計算機である。生成装置20は、プロセッサー25と、記憶装置70と、入力部150と、表示部160とを備える。プロセッサー25は、記憶装置70に記憶された各種プログラムを実行することで、生成装置20の動作を制御する。プロセッサー25の詳細な機能は後述する。記憶装置70は、RAMやROMなどのメモリーにより構成されている。記憶装置70には、プロセッサー25の各機能を実現するための各種プログラムと、データ処理シーケンスSqの生成のために用いる各種データとが記憶されている。記憶装置70の詳細は後述する。入力部150は、外部からの情報を受け付けるインターフェースである。入力部150は、例えば、センサー装置200からのデータの入力を受け付けたり、ユーザーが他の装置を用いて生成したデータの入力を受け付けたりする。また例えば、入力部150は、データ処理シーケンスを構成するシーケンス要素の候補となるデータ処理要素としての候補データ処理要素の入力を受け付ける。表示部160は、各種情報を表示する。表示部160は、例えば、液晶モニターである。
【0013】
プロセッサー25は、記憶装置70の各種プログラムを実行することで、シーケンス生成部30と、データ処理部40と、特定部50と、接続条件生成部55と、表示制御部60として機能する。なお、プロセッサー25によって実行される機能の一部は、ハードウェア回路によって実現されてもよい。ここで、本開示において、「プロセッサー」は、CPUやGPUを包含する用語である。
【0014】
シーケンス生成部30は、個体IVによって示された遺伝子の配列を木構造のように構造的に表現することで、シーケンス要素の組み合わせが異なる複数のデータ処理シーケンスSqによって構成されるシーケンスセットを生成する。データ処理シーケンスSqは、複数のシーケンス要素の組み合わせによって表されている。シーケンス要素としては、(i)データを入力するノードであるデータ入力要素と、(ii)データ入力要素とデータ出力要素との間の中間のノードであるデータ処理要素と、(iii)最終的なデータ処理後のデータである出力データPMを出力するノードであるデータ出力要素とがある。データ処理シーケンスSqはデータ入力要素と、少なくとも1つのデータ処理要素と、データ出力要素とによって構成されている。なお、データ処理シーケンスを構成する少なくとも1つのデータ処理要素は、入力されたデータをそのまま出力する処理要素であってもよい。なお、データ処理要素は、データ処理フィルターとも呼ぶ。
【0015】
シーケンス生成部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を生成する。
【0016】
遺伝子翻訳部34は、記憶装置70に記憶された後述する接続条件テーブル88を参照することで、個体IVの各遺伝子を翻訳して木構造で表されたデータ処理シーケンスSqを生成する。接続条件テーブル88は、遺伝子の数値範囲ごとに対応するデータ処理要素と、各シーケンス要素の接続関係を直接的または間接的に規定したテーブルである。データ処理シーケンスSqは、個体IVと接続条件テーブル88とによって表される。接続条件テーブル88の詳細は後述する。
【0017】
データ処理部40は、遺伝子翻訳部34が生成したデータ処理シーケンスSqや、記憶装置70に記憶された特定データ処理シーケンスDSqを用いて、データ入力要素に入力されたデータをデータ処理してデータ出力要素からデータ処理後の出力データPMを出力する。
【0018】
特定部50は、対象データとしての学習データLMを個体IVが示すデータ処理シーケンスSqによってデータ処理し、得られたデータ処理後のデータである出力データPMと、学習データLMに関連付けられた目標となる目標データTMとを比較して、出力データPMと目標データTMとの類似度を示す評価値EVを算出する。特定部50は、1つの世代Gにおける複数の個体IVが示す複数のデータ処理シーケンスSqごとに、評価値EVを算出する。算出された評価値EVは、個体IVと関連付けて記憶装置70に記憶される。また特定部50は、予め定めた特定終了条件に応じたデータ処理シーケンスSqを特定データ処理シーケンスDSqとして特定する。特定終了条件の一つには、評価値EVを用いた条件も含まれる。特定終了条件および特定終了条件に応じたデータ処理シーケンスSqの詳細は後述する。
【0019】
評価値EVとしては、例えば、平均二乗誤差(MSE:Mean Squared Error)や、ピーク信号対雑音比(PSNR:Peak signal-to-noise ratio)や、構造的類似度(SSIM:Structural Similarity)の一つを用いることができる。MSEが評価値として用いられる場合、MSEの値が小さい程、出力データPMと目標データTMとの類似度SDは高い。つまり、MSEの逆数が、類似度SDを示す。PSNRが評価値として用いられる場合には、PSNRが大きい程、出力データPMと目標データTMとの類似度SDは高い。つまり、PSNRは類似度SDを示す。SSIMが用いられる場合には、例えば、画像を小領域に分割して、小領域ごとに算出されたSSIMの平均値であるMSSIM(Mean SSIM)が評価値EVとして用いられる。MSSIMが評価値EVとして用いられる場合、MSSIMが大きい程、類似度SDは高い。つまり、MSSIMは類似度SDを示す。入力データIDが良品または不良品であるかなどの判別結果を示す場合には、類似度SDは、例えば、複数の入力データIDに応じた出力データPMおよび目標データTMの一致率としてもよい。
【0020】
接続条件生成部55は、特定データ処理シーケンスDSqの候補となる複数のデータ処理シーケンスSqを生成するために用いる接続条件テーブル88を生成する。接続条件生成部55は、後述する処理候補テーブル81を参照したり、ユーザーからの入力情報を参照したりすることで接続条件テーブル88を生成する。接続条件テーブル88は、接続された入力側と出力側の一対のシーケンス要素である要素セットごとに、データ処理シーケンスSqの構成要素として出現する出現確率を示す接続参考値RVを関連付けたテーブルである。接続参考値RVは、例えば、入力データをデータ処理して目標データTMを目標とする所望データを出力するための接続の相性を表す指標であってもよい。所望データは、目標データTMと一致または目標データTMに類似するデータである。接続条件テーブル88の生成方法および接続条件テーブル88の詳細については後述する。
【0021】
表示制御部60は、各種情報を表示部160に表示させる。表示制御部60は、例えば、特定データ処理シーケンスDSqや、出力データPMや、目標データTMや、評価値EVを表示部160に表示させる。
【0022】
図2は、記憶装置70を説明するための図である。記憶装置70は、学習データ群74と、参照データ群77と、データ処理プログラム群79と、シーケンス要素群80と、処理候補テーブル81と、個体群84と、接続条件テーブル88と、特定データ処理シーケンスDSqと、各種プログラム94とを記憶する。
【0023】
特定データ処理シーケンスDSqは、特定部50によって特定された予め定めた特定終了条件に応じたデータ処理シーケンスSqである。特定データ処理シーケンスDSqは、例えば、シーケンス要素である複数のデータ処理要素を識別する要素識別子と、要素識別子の順番、すなわち接続関係とによって表される。データ処理プログラム群79は、シーケンス要素となり得るデータ処理要素を用いて実行されるデータ処理を実行するために必要な、計算式、プログラム、必要なパラメーター等を含む。本実施形態では、データ処理は、前処理、NN処理、中処理、後処理を含む。データ処理の詳細については後述する。各種プログラム94は、プロセッサー25によって実行されるプログラムである。
【0024】
図3は、学習データ群74の一例を示す図である。学習データ群74は、データ処理シーケンスSqによるデータ処理対象である対象データとしての学習データLMと、学習データLMに関連付けられた目標データTMとによって構成された学習セットSMを複数セット有する。学習データLMは、例えば、製造番号が異なる同種の回路基板をセンサー装置200で撮像した画像である。目標データTMは、例えば、良品と不良品のいずれかを示す分類ラベルである。各学習データLMと、各学習データLMに対応する各目標データTMには、識別番号が付与されている。目標データTMである分類ラベルは、学習データLMに応じて少なくとも一つ設定されている。例えば、学習データLM1に対しては良品を示すラベル0が設定されている。また例えば、学習データLM2に対しては欠陥部分DAが存在するので不良品を示すラベル1が設定されている。また例えば、学習データLMが画像である場合、画素ごとや、複数の画素の集合である部分領域ごとに、目標データTMとしての分類ラベルが関連付けられていてもよい。
【0025】
学習データLMは、データ処理シーケンスSqの処理対象となるデータであれば撮像画像に限定されるものではない。例えば学習データLMは、分光反射スペクトルなどの一次元データであってもよいし、モノクロ画像などの二次元データであってもよいし、RGB画像や分光画像のような三次元データであってもよい。三次元データは、例えば、画素値V[x,y,λ]で表される。x,yは画像の位置を示し、λはRGBの色を示す。本実施形態では、学習データLMの種類に関わらず、データ処理シーケンスSqにおいて同様にデータを取り扱えるようにするために、次元数を「3」に変換している。例えば、学習データLMが、波長λごとの反射率I[λ]を示す分光反射スペクトルである場合、一次元で表される反射率I[λ]は三次元のデータI[1×1×λ]として記憶装置70に記憶される。また例えば、学習データLMが画素ごとの画素値V[x,y]を示すモノクロ画像である場合、二次元で表される画素値V[x,y]は三次元のデータV[x,y,1]として記憶装置70に記憶される。なお、学習データLMの次元数を所定数、本実施形態では「3」に変換する次元数変換処理は、ユーザーが生成装置20に入力する前に行ってもよいし、生成装置20が行ってもよい。
【0026】
なお、他の実施形態では、目標データTMは分類ラベルである必要はなく、特定データ処理シーケンスDSqによるデータ処理の目的に応じて、設定されてもよい。例えば、目標データTMは、欠陥部分DAが黒画像、それ以外の部分が白画像で表された二値化画像であってもよい。この場合、目標データTMは、例えば、予め欠陥部分の箇所が特定できている学習データLMを参考に、ユーザーが欠陥部分DAを黒画像に設定し、それ以外の部分を白画像に設定することで生成される。また、例えば、特定データ処理シーケンスDSqが入力データに応じた少なくとも一つのスカラー量を出力することを目的としている場合には、目標データTMは入力データに応じたスカラー量となる。例えば、スカラー量は、温度や電圧などの物理量である。入力データである学習データLMが画像である場合、目標データTMは、画像1つに対して1つのスカラー量であってもよいし、画素ごとや部分領域ごとのスカラー量であってもよい。また、目標データTMの次元数は、分類ラベルでは一次元、二値化画像では二次元であるが、目標データTMの取得方式、例えば学習データLMを取得するセンサー装置200の種類を示す次元を加えてもよい。
【0027】
図4は、図2に示すシーケンス要素群80の詳細を示す図である。図5は、NN処理を実行するデータ処理要素を説明するための図である。図4に示すように、シーケンス要素群80は、データ処理シーケンスSqにおいてシーケンス要素の候補となる複数のデータ処理要素FtA~FtKを有する。複数のデータ処理要素FtA~FtKは、用いられるデータ処理の種別ごとに分類分けされている。本実施形態では、データ処理の種別は、前処理、NN処理、中処理、後処理の4種類である。前処理を実行する前処理層は、データ処理要素FtA,FtB,FtCである。NN処理を実行するNN処理層は、データ処理要素FtD,FtE,FtFである。中処理を実行する中処理層は、データ処理要素FtG,FtHである。後処理を実行する後処理層は、データ処理要素FtI,FtJ,FtKである。なお、実際には、前処理、NN処理、中処理、後処理においてさらに多くのデータ処理要素を含んでもよい。
【0028】
前処理は、データ入力層に入力されたデータである対象データに対して行う処理である。前処理は、例えば、比較的単純なデータ処理や正規化や特徴量の変換を行う処理であり、出力側のデータ処理要素でのデータ処理のために対象データを加工する処理である。前処理は、例えば、対象データがモノクロ画像である場合、欠陥部分DAと欠陥部分DA以外の正常部分との違いがより強調された画像となるようなデータ処理を実行する。前処理には、明度反転処理、特徴量方向の微分処理、座標方向の微分処理、特徴量方向の正規化処理、領域抽出処理、画像フィルター処理、画像加工処理などが含まれる。領域抽出の候補は、例えば、物体検出、マスク処理、背景除去である。前処理に用いられる前処理要素としてのデータ処理要素FtA~FtCの候補は、例えば、平滑化フィルター、エッジ抽出フィルター、ソーベルフィルター、ラプラシアンフィルター、メディアンフィルターである。画像加工処理の候補は、例えば、切り抜き、リサイズ、ビニングである。なお、同じ種類のデータ処理要素であっても、カーネルサイズ、係数が異なる場合には、異なるデータ処理要素として、シーケンス要素群80に記憶される。
【0029】
分光反射スペクトルを対象データとする場合、前処理には、スペクトル解析処理、色変換処理、基底変換処理が含まれる。スペクトル解析処理の候補は、例えば、波長選択・補間、波長平均、ベースライン除去、1次微分、2次微分である。色変換処理は、例えば、色空間の変換、色差(ΔE)の算出、膜圧測定である。基底変換処理の候補は、例えば、射影変換、主成分分析、線形判別分析、独立成分分析である。
【0030】
NN処理は、学習済みニューラルネットワークが組み込まれたデータ処理要素である学習済みニューラルネットワーク要素によってデータ処理を行う処理である。学習済みニューラルネットワーク要素をNN処理要素とも呼ぶ。NN処理要素は、NN処理要素の入力側である前段に接続されたシーケンス要素から出力されたデータに対してデータ処理としてのNN処理を実行してNN出力データを出力する。NN処理に用いられるNN処理要素としてのデータ処理要素FtD,FtE,FtFは、畳み込みニューラルネットワークの1つであるEfficientNetモデルや、Residual Networkモデルや、Wide Residual Networkモデルである。なお、データ処理要素FtD,FtE,FtFは上述以外の他のアルゴリズムを用いたニューラルネットワークモデルであってもよい。
【0031】
図5に示すように、データ処理要素FtD,FtE,FtFは、NN入力層L1と、複数の中間層L2と、NN出力層L3とを備える。中間層L2の数は任意に定める事ができ、例えば、データ処理要素FtD,FtE,FtFによって中間層L2の数は異なる。NN入力層L1は、入力側のシーケンス要素から出力されたデータが入力される層である。中間層L2は、入力層L1から伝達されるデータに基づいて特徴量の算出を行う層である。出力層L3は、中間層L2から伝達されるデータに基づいて結果を出力する層である。各層には、複数のノードNが含まれる。隣接する層のノードNとノードNとを繋ぐエッジは、重み付けされている。データ処理要素FtD,FtE,FtFは、中間層L2a~L2dのそれぞれから特徴量F1~F4を出力する。これらの特徴量F1~F4が、NN出力データを構成する。
【0032】
NN処理は、入力されたデータの特徴量を抽出する処理である。NN出力データは、特徴量とNN処理後データとの少なくともいずれか一方を含むデータである。特徴量は、NN処理層の中間層L2a~L2dから出力されたデータである。NN処理後データは、NN出力層L3から出力されたデータであり、判別結果を示す分類ラベルであったり、回帰分析によるスカラー量であったりする。
【0033】
図4に示す中処理は、中処理要素の入力側である前段に接続されたシーケンス要素から出力されたデータを出力側である後段に接続されるシーケンス要素に適したデータへ変換する。中処理によるデータ変換処理は、例えば、入力側に接続されたシーケンス要素から出力されたデータに対してデータ量を低減する処理である。中処理に用いられる中処理要素としてのデータ処理要素FtG,FtHは、第1種中処理要素と、第2種中処理要素との少なくともいずれか一方を含む。
【0034】
第1種中処理要素は、中処理要素の前段である入力側に接続されたシーケンス要素から出力されたデータを他の種類のデータに変換して変換後データを出力することでデータ量の低減を行う。つまり、第1種中処理要素は、中処理要素の前段である入力側に接続されたシーケンス要素から出力されたデータを、他のパラメーターで表した変換後データに変換して出力する。第1種中処理要素は、例えば、NN出力データと参照データRMとの類似度を示す変換後データを出力するデータ処理要素を含んでいてもよい。詳細には、第1種中処理要素は、例えば入力されたデータがNN処理要素の中間層L2a~L2dから出力された特徴量F1~F4である場合には、参照データRMをNN処理要素に入力して出力された特徴量である参照特徴量との類似度を示す変換後データを出力する。第1種中処理要素としては、例えば、マンハッタン距離を出力するデータ処理要素や、コサイン類似度を出力するデータ処理要素や、ユーグリッド距離を算出するデータ処理要素がある。
【0035】
第2種中処理要素は、中処理要素の入力側に接続されたシーケンス要素から出力されたデータの少なくとも一部を抽出して抽出後データを出力する。第2種中処理要素は、例えば、上述の参照データRMを用いることなく、複数の中間層L2a~L2dの少なくとも一部、例えば中間層L2aに対応した特徴量F1を抽出して、特徴量F1を抽出後データとして出力するデータ処理要素を含んでいてもよい。このデータ処理要素をレイヤー選択層とも呼ぶ。また、第2種中処理層は、複数の中間層L2a~L2dのそれぞれの特徴量F1~F4を抽出して結合することで次元数を削減した抽出後データを出力してもよい。例えば、特徴量F1~F4の各値VNN[x,y,z,L]の次元数は、「Height」を示すx軸と、「Width」を示すy軸と、特徴量である「Depth」を示すz軸と、レイヤーである中間層L2a~L2dを識別するL軸の4次元である。第2種中処理要素は、4次元の特徴量F1~F4のそれぞれ対応する特徴量の平均値を算出してL軸を削減することで、次元数を低減する。なお、第2種中処理要素は、特徴量F1~F4のそれぞれの[x,y,z]のサイズが異なる場合には、サイズを同じにするリサイズ処理を実行してもよい。リサイズ処理では、例えば、リサイズ後のサイズがリサイズ前のサイズよりも小さい場合には、リサイズ前の特徴量を部分ごとの平均化するなどして圧縮する。またリサイズ処理では、例えば、リサイズ後のサイズがリサイズ前のサイズよりも大きい場合には、リサイズ前の特徴量に対して補間処理を行うことでリサイズ後の特徴量を生成する。
【0036】
上述のように第1種中処理要素と第2種中処理要素との少なくともいずれかを用いて、中処理要素の出力側のシーケンス要素に適したデータとなるようにNN出力データなどのデータをデータ処理できる。
【0037】
後処理は、後処理要素の入力側である前段に接続されたシーケンス要素から出力されたデータに対して、対象データに関連付けられた目標となる目標データTMに応じたデータとなるように実行されるデータ処理である。目標データTMに応じたデータとは、目標データTMと比較可能なデータである。例えば、目標データTMに応じたデータとは、目標データTMと比較して特定終了条件を満たすかどうかを評価できるデータであり、目標データTMと同種のデータである。上記のように後処理要素によって目標データTMと比較可能なデータを出力できるので、後処理要素の出力側に出力要素を接続することでデータ処理シーケンスSqによってデータ処理した出力データPMと、目標データTMとの比較を容易に行うことができる。
【0038】
例えば、目標データTMが離散値である分類ラベルである場合には、目標データTMに応じたデータは判別結果としてのラベルである。また例えば、目標データTMが連続値であるスカラー量である場合には、目標データTMに応じたデータは、回帰分析などのよって得られるスカラー量である。判別結果を出力する後処理を実行する後処理要素としては、マハラノビス距離を出力するデータ処理要素、サポートベクターマシン(Support Vector Machine: SVM)を実行するデータ処理要素、大津の2値化を実行するデータ処理要素、線形判別を実行するデータ処理要素が挙げられる。また判別結果を出力する後処理を実行する後処理要素としては、2次判別を実行するデータ処理要素、ランダムフォレストを実行するデータ処理要素、k近傍法を実行するデータ処理要素、k平均法を実行するデータ処理要素、ニューラルネットワークモデルを用いた判別分析処理を実行するデータ処理要素が挙げられる。また、連続値を出力する後処理を実行する後処理要素としては、例えば、重回帰分析を実行するデータ処理要素、部分最小二乗回帰を実行するデータ処理要素、ニューラルネットワークモデルを用いた回帰分析を実行するデータ処理要素が挙げられる。このようにデータ処理要素である後処理層は、後処理層に入力されたデータを目標データと比較可能なデータに変換して出力する。
【0039】
図6Aは、図2に示す処理候補テーブル81が有する第1処理候補テーブル81Aを示す図である。図6Bは、図2に示す処理候補テーブル81が有する第2処理候補テーブル81Bを示す図である。本実施形態では、データ処理シーケンスSqに入力される対象データおよび対象データに応じた目標データTMの「次元」と「値の特性」とに応じてタスクジャンル、データ処理の種別、および、非出現種別が定められている。「値の特性」とは、目標データTMが離散値であるか連続値であるかを意味する。離散値は、あらかじめ分類されたクラスを表すラベル値のように、連続していな数値である。連続値は、対象物に含まれている特定の物質の質量のように、値と値との間に無限に数値を取り得る値である。
【0040】
図6Aに示すように、第1処理候補テーブル81Aでは、データ処理シーケンスSqに入力される対象データの種別と、対象データに対応する目標データTMの種別との組み合わせに応じたタスクジャンルが定められている。詳細には、対象データの「次元」および「値の特性」、目標データTMの「次元」および「値の特性」の組み合わせに応じてタスクジャンルが定められる。本実施形態のタスクジャンルは、タスクジャンルNo.1~No.12がある。本実施形態の第1処理候補テーブル81Aでは、対象データは、「一次元の離散値または連続値」、「二次元の離散値または連続値」、「三次元の離散値または連続値」の3項目に分類分けされている。「一次元の離散値または連続値」は、例えば、分光スペクトルデータである。「二次元の離散値または連続値」は、例えば、モノクロ画像である。「三次元の離散値または連続値」は、例えば、RGB画像や分光画像である。また、本実施形態の第1処理候補テーブル81Aでは、目標データTMは、「0次元の離散値」~「三次元の連続値」の8項目に分類分けされている。
【0041】
タスクジャンルNo.1~No.12は、データ処理シーケンスSqを用いた処理の目標についての分類を示す。タスクジャンルを、データ処理の目的のタイプともよぶ。例えば、タスクジャンルNo.1は、一次元ベクトルを対象データとして、対象データの判別を行うタスクジャンルである。また例えば、タスクジャンルNo.2は、一次元ベクトルを対象データとして、対象データに応じたスカラー量を出力する検量を行うタスクジャンルである。また、例えば、No.3のタスクジャンルは、一次元の離散値または連続値である対象データに対して、複数の判別を行うタスクジャンルである。複数の判別とは、例えば、一次元に並んだ離散値ごと又は連続値ごとに行われる判別や、1つの画像に対してラベル分類を行う判別や、1つの画像の複数の領域ごとに行う判別や、1つの対象データに対して複数項目ごとに行われる判別などを含む。なお、検量についても、温度などの1種類のスカラー量が出力される検量や、温度や電圧などの複数種類のスカラー量が出力される検量や、対象データの領域ごとの検量などがある。
【0042】
図6Bに示すように、第2処理候補テーブル81Bは、タスクジャンルごとにデータ処理の種別と非出現種別とが定められたテーブルである。つまり、データ処理の種別と非出現種別とは、対象データの「次元」および「値の特性」、目標データTMの「次元」および「値の特性」に応じて定められている。データ処理の種別は、入力データとしての対象データに対して、予め行うデータ処理の種別について規定する。例えば、タスクジャンルNo.1では、データ処理として前処理とNN処理と中処理と後処理とを用いることが規定されている。また例えば、タスクジャンルNo.2では、データ処理として前処理と後処理とを用いることが規定されている。
【0043】
非出現種別は、データ処理種別に規定された各処理に用いられるデータ処理要素のうち、データ処理シーケンスSqの構成要素として出現させないデータ処理要素を規定する。例えば、非出現種別は、タスクジャンルが示す内容に適合しないデータ処理を実行するデータ処理要素を規定する。例えば、対象データが一次元のデータであるタスクジャンルでは、ベクトル処理を実行するデータ処理要素がデータ処理シーケンスSqの候補要素となる一方で、二次元や三次元のデータの処理を行うためのソーベルフィルターやラプラシアンフィルターなどの画像処理フィルターは候補要素とはならない。よって、対象データが一次元のデータであるタスクジャンルでは、非出現種別に、画像処理フィルターを規定する。また、例えば、タスクジャンルNo.1では、後処理が実行される一方で、目標データTMが0次元の離散値である。よって、後処理を実行するデータ処理要素FtI~FtKのうちで、離散値である判別結果を出力しない、例えばスカラー量を出力するデータ処理要素は、非出現種別に規定される。また例えば、テーブル識別子No.2では、後処理が実行される一方で、目標データTMが連続値である。よって、後処理を実行するデータ処理要素FtI~FtKのうちで、連続値としてのスカラー量を出力しない、例えば離散値である判別結果を出力するデータ処理要素は、非出現種別に規定される。
【0044】
処理候補テーブル81は、ユーザーの入力によって設定されてもよいし、データ処理シーケンスSqによってデータ処理する対象データや、対象データの種別および目標データTMの種別の入力を受け付けることで、生成装置20が予め定められたテーブル生成アルゴリズムによって自動で生成してもよい。
【0045】
図7は、参照データ群の一例を示す図である。参照データ群77は、図3に示す学習セットSMと比較可能な参照データセットRSMを複数有する。参照データセットRSMは、学習セットSMの学習データLMと同種のデータである参照データRMと、参照データRMに関連付けられたラベルとしての参照ラベルとを有する。参照ラベルは、図3の学習セットSMに関連付けられたラベルと同様に良品を示すラベル0と不良品を示すラベル1である。参照データRMは、例えば、中処理要素においてNN出力データのデータ量を低減するために用いられるデータである。例えば、上述のごとく、中処理要素において、対象データのNN出力データと、参照データのNN出力データとを比較してNN出力データからデータ量が低減されたマンハッタン距離が出力される。これにより、生成装置20は、参照データRMを用いてNN出力データのデータ量を低減できるので、データ処理シーケンスSqによるデータ処理の効率を向上できる。なお、参照ラベルは、学習セットSMの学習データLMと比較する対象となる参照データRMを識別するために用いられている。つまり、ラベル0が付された学習データLMの比較対象としては、ラベル0が付された参照データRMが用いられる。なお、目標データTMがラベル以外、例えば目標画像やスカラー量である場合には、参照データセットRSMは、参照ラベルに代えて比較対象となる学習セットSMを特定するための関連情報を有していてもよい。例えば、図3に示す学習セットSMに識別子が付されている場合には、関連情報は、学習セットSMの識別子を示す情報である。
【0046】
参照データRMは、上述の学習データLMと同様に、次元数を「3」に変換する次元数変換処理が実行されたデータである。
【0047】
図2に示す個体群84は、個体生成部32によって生成された1つの世代における複数の個体IVの集合である。図8は、一つの世代Gの個体群84を説明するための図である。本実施形態では、1つの世代Gで5つの個体IV1~IV5が生成される例を説明する。各個体IV1~IV5は、遺伝子を配置する複数の遺伝子座が一次元的に配列されている。各個体IV1~IV5の遺伝子長は同じであり、各個体IV1~IV5はNo.1~No.10の遺伝子座に遺伝子を順に配列することで構成されている。個体生成部32は、各遺伝子座に、0から1までの小数点第3位までの数値で表された遺伝子を配置する。つまり、本実施形態では、各遺伝子座で遺伝子が取りうる数値VGは、0以上1以下の小数点第3位までの数値である。
【0048】
図9は、接続条件テーブル88を元に生成される遺伝子の出現範囲を説明するためのテーブル82Tを示す図である。出現範囲は、遺伝子翻訳部34が接続条件テーブル88と後述する選択アルゴリズムとを用いることで決定される。
【0049】
テーブル82Tは、入力側シーケンス要素の種別を示す入力側要素種別ごとに、出現範囲が規定されている。入力側要素種別は、シーケンス要素群80の各データ処理要素や、データ入力要素の種別を表す。図9では、データ入力要素の入力側要素種別が「in」で表され、データ処理要素の入力側要素種別が「FtM」~「FtQ」で表されている。なお、理解の容易のために、出力側シーケンス要素の要素種別に関わらずテーブル82Tに記載した出現範囲が用いられる。入力数は、データ処理要素やデータ入力要素の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが、データ処理要素に入力される。出力数は、データ処理要素の出力側に接続されるシーケンス要素の数を示す。本実施形態では、出力数は全て「1」であり、データ処理要素やデータ入力要素は、一つの出力側のシーケンス要素に接続される。
【0050】
テーブル82Tの出現範囲は、遺伝子の数値VGの範囲を規定する。テーブル82Tでは、各シーケンス要素が均等な確率でランダムにデータ処理シーケンスSq中に出現するように、0~1の数値を6等分して出現範囲が設定されている。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子にはデータ処理要素FtMが割り当てられる。
【0051】
図2のさらなる説明を行う前に、図10を用いて、遺伝子翻訳部34によるデータ処理シーケンスSqの生成処理を説明する。図10は、遺伝子翻訳部34によって生成された木構造のデータ処理シーケンスSqを示す図である。図10に示すデータ処理シーケンスSqは、図8に示す個体IV1と、接続条件テーブル88と、接続条件テーブル88を用いて生成されるテーブル82Tに示す出現範囲と、を用いて生成されたデータ処理シーケンスSq1である。なお、接続条件テーブル88には、後述のごとくテーブル82Tと同様に入力数と出力数が規定されている。
【0052】
遺伝子翻訳部34は、個体IVと、テーブル82Tと、シーケンス要素群80とを用いて、データ出力要素out側から入力側へと向かう順に木構造のデータ処理シーケンスSqを生成する。図10に示すように、まず遺伝子翻訳部34は、データ出力要素outを出力側の端部である終端ノードに設定し、個体IVの遺伝子の配列順に入力側へとシーケンス要素を接続することでデータ処理シーケンスSqを生成する。シーケンス要素の接続は、予め定めた接続ルールに従い実行される。本実施形態では、遺伝子の配列順に、終端ノード側から優先して配置すると共に、図10に示す左側の接続先を右側の接続先よりも優先して配置するという深さ優先のルールに従って、データ処理シーケンスSqが生成される。つまり、遺伝子の配列順に、データ出力要素out側からデータ処理要素またはデータ入力要素inを配置すると共に、入力側が複数に分かれている場合には、左側のシーケンスがデータ入力要素inとなるまで、左側を優先させる。
【0053】
遺伝子翻訳部34は、個体VI1のNo.1の遺伝子の数値VGである「0.534」と、テーブル82Tとを参照して、「0.534」がデータ処理要素FtPの出現範囲内にあることを特定する。これにより、データ出力要素outの入力側に、データ処理要素FtPを接続する。次に、遺伝子翻訳部34は、テーブル82T、詳細には接続条件テーブル88を参照してデータ処理要素FtPの入力数が「2」であることを特定することで、データ処理要素FtPの入力側に2つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、個体VI1のNo.2の遺伝子に対応するシーケンス要素を図10に示す左側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.2の遺伝子の数値VGである「0.292」と、テーブル82Tとを参照して、「0.292」がデータ処理要素FtNの出現範囲内であることを特定する。これにより、データ処理要素FtPの左側の入力側接続先にデータ処理要素FtNを配置する。
【0054】
次いで、遺伝子翻訳部34は、No.2の遺伝子が表すデータ処理要素FtNと、テーブル82T、詳細には接続条件テーブル88とを参照して、データ処理要素FtNの入力数が「1」であることを特定することで、データ処理要素FtNの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.3の遺伝子の数値VGである「0.462」と、テーブル82Tとを参照して、「0.462」がデータ処理要素FtOの出現範囲内であることを特定する。これにより、No.2の遺伝子が示すデータ処理要素FtNの入力側接続先にデータ処理要素FtOを配置する。
【0055】
次に、遺伝子翻訳部34は、No.3の遺伝子が表すデータ処理要素FtOと、テーブル82T、詳細には接続条件テーブル88とを参照して、データ処理要素FtOの入力数が「1」であることを特定することで、データ処理要素FtOの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.4の遺伝子の数値VGである「0.856」と、テーブル82Tとを参照して、「0.856」がデータ入力要素inの出現範囲内であることを特定する。これにより、No.3の遺伝子が示すデータ処理要素FtOの入力側接続先にデータ入力要素inを配置する。これにより、図10のデータ処理シーケンスSqの左側のシーケンスの生成は終了する。
【0056】
ついで、遺伝子翻訳部34は、個体VI1のNo.5の遺伝子に対応するシーケンス要素を図10に示す右側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.5の遺伝子の数値VGである「0.138」と、テーブル82Tとを参照して、「0.138」がデータ処理要素FtMの出現範囲内であることを特定する。これにより、データ処理要素FtPの右側の入力側接続先にデータ処理要素FtMを配置する。
【0057】
また、遺伝子翻訳部34は、No.5の遺伝子が表すデータ処理要素FtMと、テーブル82T、詳細には接続条件テーブル88とを参照して、データ処理要素FtMの入力数が「1」であることを特定することで、データ処理要素FtMの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.6の遺伝子の数値VGである「0.932」と、テーブル82Tとを参照して、「0.932」がデータ入力要素inの出現範囲内であることを特定する。これにより、No.5の遺伝子が示すデータ処理要素FtMの入力側接続先にデータ入力要素inを配置する。これにより、図10に示すデータ処理シーケンスSqの右側のシーケンスの生成は終了する。
【0058】
遺伝子翻訳部34は、入力側シーケンス要素が全てデータ入力要素inになった場合には、個体IV1の全ての遺伝子を用いていない場合であっても、データ処理シーケンスSqの生成処理を終了する。なお、遺伝子翻訳部34は、個体IV1の全ての遺伝子を用いた場合において、入力側シーケンス要素が全てデータ入力要素inになっていない場合には、残りの未接続の入力側シーケンス要素にデータ処理要素inを設定することで、データ処理シーケンスSqの生成処理を終了する。
【0059】
個体VI1と接続条件テーブル88と接続条件テーブル88を用いて算出した出現範囲とを用いて生成されたデータ処理シーケンスSq1は、2つのデータ入力要素inを有する。一方のデータ入力要素inに入力された入力データは、データ処理要素FtOによってデータ処理された後に、次いでデータ処理要素FtNによってデータ処理され、第1処理データが生成される。他方のデータ入力要素inに入力された入力データは、データ処理要素FtMによってデータ処理されて第2処理データが生成される。第1処理データと第2処理データとは、データ処理要素FtPによってデータ処理されて、データ出力要素outによってデータ処理後の1つの出力データPMが出力される。
【0060】
図11は、図2に示す接続条件テーブル88の詳細を示す図である。接続条件テーブル88は、接続条件生成部55によって生成されるテーブルである。接続条件テーブル88は、接続された入力側と出力側の一対のシーケンス要素である要素セットごとに、接続参考値RVとしての「1」と、非出現データとしての「-1」とのいずれかが関連付けられている。接続参考値RVは、データ処理シーケンスSqの構成要素として出現する出現確率を示す。非出現データは、データ処理シーケンスSqの構成要素として出現させないことを示す。なお、接続参考値RVは、要素セットごとに異なる値に設定されてもよい。
【0061】
接続条件テーブル88は、入力側に配置される候補となる入力側シーケンス要素の要素種別と、入力側シーケンス要素によって実行されるデータ処理の処理種別と、出力側シーケンス要素の要素種別と、出力側シーケンス要素によって実行されるデータ処理の処理種別と、接続参考値RVとしての「1」と非出現データである「-1」とが規定されている。
【0062】
入力側シーケンス要素は、データ処理要素FtA~FtKとデータ入力要素inである。出力側シーケンス要素は、データ処理要素FtA~FtKとデータ出力要素outである。つまり、接続条件テーブル88には、接続候補となる入力側と出力側の一対のシーケンス要素である要素セットが複数規定されている。入力数は、入力側シーケンス要素の入力側に接続されるシーケンス要素の数を示す。出力数は、入力側シーケンス要素の出力側に接続されるシーケンス要素の数を示す。入力側シーケンス要素および出力側シーケンス要素において括弧書きで示した数値0~11は、各要素の識別子である。接続条件テーブル88には、複数の要素セットのうち、接続を禁止する特定要素セットに対しては、上述のごとくデータ処理シーケンスSqの構成要素として出現させないことを示す非出現データとしての「-1」が関連付けられている。また接続条件テーブル88には、非出現データが関連付けられた特定要素セット以外の要素セットに対しては、上述のごとく接続参考値RVである「1」が関連付けられている。
【0063】
図12は、生成装置20が実行する処理を示すフローチャートを示す図である。図12に示す処理は、ステップS10の生成条件の生成処理と、ステップS30の特定データ処理シーケンスDSqの生成処理と、ステップS50の特定データ処理シーケンスDSqの利用処理と、を含む。
【0064】
図13は、生成条件の生成処理の詳細フローチャートを示す図である。記憶装置70は、ステップS101において、複数の学習セットSMから構成される学習データ群74を記憶する。ステップS101は、ユーザーが、複数の学習セットSMを生成装置20に入力することで実行される。この場合、生成装置20は、入力された複数の学習セットSMの学習データLMの次元数が「3」より小さい場合には、次元数を「3」に変換する次元数変換処理を実行してもよい。また、次元数変換処理は、ステップS101において実行されなくてもよく、上述のステップS30において実行されてもよい。
【0065】
次に、プロセッサー25は、ステップS103において、参照データセットRSMが存在しているか否かを判定する。参照データセットRSMが存在するか否かのステップS103の判定は、プロセッサー25がセンサー装置200などの外部装置の予め定められた保存領域にデータが記憶されているか否かで判定してもよい。またステップS103の判定は、例えば、プロセッサー25が表示部160に確認情報を表示することで行ってもよい。確認情報は、ユーザーに対して参照データセットRSMが存在するか確認するメッセージ情報である。また、確認情報は、ユーザーに対して参照データセットRSMを記憶装置70に記憶させることを促す情報を含んでいてもよい。
【0066】
プロセッサー25は、ステップS103において「Yes」の判定を行った第1の場合には、次のステップS104を実行する。一方で、プロセッサー25は、ステップS103において「No」の判定を行った第2の場合には、表示部160に参照データセットRSMの入力を促す情報を表示してステップS103を再び実行してもよい。なお、他の実施形態では、プロセッサー25は、第2の場合にはステップS104をスキップして次のステップS105を実行してもよい。またプロセッサー25は、第2の場合において、ステップS30の処理において参照データセットRSMが必須であることを示す情報が記憶装置70に記憶されている場合には、表示部160にエラー表示を表示してステップS10の処理を終了してもよい。また、プロセッサー25は、ステップS104をスキップした場合、学習セットSMを参照データセットRSMとして用いてもよい。
【0067】
プロセッサー25は、ステップS103で「Yes」の判定が成された第1の場合において、ステップS104において参照データセットRSMの入力を受け付ける。受け付けた参照データセットRSMは記憶装置70に記憶される。なお、参照データセットRSMの参照データRMが、学習データLMとデータの種類が異なり比較評価ができない場合には、プロセッサー25は、エラーを示す情報を表示部160に表示させてステップS10の処理を終了してもよい。また、ステップS104において、プロセッサー25は、ステップS101で記憶された学習データ群74の少なくとも一部の学習セットSMを参照データセットRSMとして記憶装置70に記憶させてもよい。また、プロセッサー25は、ステップS104において、参照データRMの次元数が学習データLMの次元数と異なる場合には、次元数を統一することを促す情報を表示部160に表示させてもよいし、参照データRMに対して次元数変換処理を行ってもよい。
【0068】
次にステップS105において、プロセッサー25は、データ処理シーケンスSqを生成する生成条件についてユーザーの指定があるか否かを判定する。生成条件についてのユーザーの指定は、表示部160に表示された生成条件入力画面に対して入力部150を介して指定内容をユーザーが入力することで行われる。この生成条件についてのユーザーの指定は、ステップS105よりも前、または、ステップS105において実行される。
【0069】
図14は、生成条件入力画面SIMを示す図である。ユーザーは、図14に示す生成条件入力画面SIMを用いて生成条件を生成装置20に入力する。生成条件入力画面SIMは、手動生成選択枝B1と、自動生成選択枝B2とを有する。また生成条件入力画面SIMは、データ種別選択フィールドf0と、前処理選択フィールドf1と、NN処理選択フィールドf2と、中処理選択フィールドf3と、後処理選択フィールドf4と、手動生成フィールドf5とを有する。データ種別選択フィールドf0は、データ処理シーケンスSqによってデータ処理を行う対象データの種別と目標データTMの種別の組み合わせを選択するフィールドである。対象データの種別および目標データTMの種別は、図6Aに示す対象データ種別および目標データTMの種別が挙げられる。またデータ種別選択フィールドf0では、データ種別として「その他の種別」も選択可能である。データ処理選択フィールドf0は、例えばプルダウンによってデータ種別の選択を受け付ける。
【0070】
前処理選択フィールドf1は、データ処理シーケンスSqのシーケンス要素の候補となる候補データ処理要素としての前処理要素を選択するフィールドである。NN処理選択フィールドf2は、データ処理シーケンスSqのシーケンス要素の候補となる候補データ処理要素としてのNN処理要素を選択するフィールドである。中処理選択フィールドf3は、データ処理シーケンスSqのシーケンス要素の候補となる候補データ処理要素としての中処理要素を選択するフィールドである。後処理選択フィールドf4は、データ処理シーケンスSqのシーケンス要素の候補となる候補データ処理要素としての後処理要素を選択するフィールドである。
【0071】
プロセッサー25は、データ種別選択フィールドf0によって選択されたデータ種別に応じてた選択フィールドf1~f4の少なくとも一つのフィールドを表示する。具体的には、プロセッサー25は、選択されたデータ種別と図6Bに示す第2処理候補テーブル81Bとを参照し、選択されたデータ種別に関連付けられたデータ処理種別に応じた選択フィールドf1~f4を表示させる。例えば、選択されたデータ種別が「一次元の離散値・連続値/0次元の離散値」である場合、すなわちタスクジャンルがNo.1の場合には、処理候補テーブル81のデータ処理種別には「前処理」、「NN処理」、「中処理」、「後処理」が規定されている。この場合、プロセッサー25は、前処理選択フィールドf1、NN処理選択フィールドf2、中処理選択フィールドf3、後処理選択フィールドf4を表示部160に表示させる。各フィールドf1~f4に表示されるデータ処理要素の名称は、第2処理候補テーブル81Bのデータ処理の種別が規定するデータ処理要素である。なお、後処理要素において、判別結果を出力する後処理要素と、スカラー量を出力する後処理要素とがある場合には、フィールドf5には、対象データおよび目標データTMの「次元」と「値の特性」に応じて、データ処理として用いられる候補となる後処理要素のみを表示する。また、プロセッサー25は、図6に示すタスクジャンルNo.1に関連付けられた非出現種別を参照して、非出現種別に応じたデータ処理要素については選択フィールドf1~f4には表示しない。
【0072】
ユーザーによって選択フィールドf1~f4に表示されたデータ処理要素が選択された後に、自動生成選択枝B2が選択された場合には、選択されたデータ処理要素は、選択されたことを示す情報と関連付けて記憶装置70の一領域である一次記憶領域に記憶される。
【0073】
一方で、手動生成選択枝B1が選択された場合には、ユーザーは、フィールドf5においてデータ処理シーケンスSqのシーケンス要素を入力することで、データ処理シーケンスSqを生成する。ユーザーはデータ処理シーケンスSqを生成した後に、再び手動生成選択枝B1を選択することで、生成したデータ処理シーケンスSqが記憶装置70に記憶される。
【0074】
なお、生成条件の指定の内容は上記に限定されるものではない。例えば、指定の内容としては、データ処理シーケンスSqの生成に関する条件であればよく、要素セットの接続参考値RVの値や、個体IVの遺伝子長や、1世代で生成する個体IVの数や、次世代の個体を生成する際の個体IVの複製や交叉や突然変異の条件を含んでいてもよい。
【0075】
上記のように、生成条件入力画面SIMを用いて生成条件を受け付ける工程は、フィールドf1~f4で示すように、データ処理シーケンスSqを構成するシーケンス要素の候補となるデータ処理要素としての候補データ処理要素の入力を受け付ける工程を含む。
【0076】
図13に示すように、ステップS105において「No」の判定が成された場合には、プロセッサー25は、ステップS108を実行する。一方で、ステップS105において「Yes」の判定が成された場合には、プロセッサー25は、ステップS106において、指定された生成条件を反映する処理を実行する。具体的には、プロセッサー25は、一次記憶領域に記憶された指定された生成条件を用いてデータ処理シーケンスSqを生成した場合に、不具合が発生するか否かを判定する。プロセッサー25は、不具合が発生しないと判定した場合には、記憶装置70における所定記憶領域に指定された生成条件を記憶させることで生成条件を反映する。不具合とは、例えば、指定された生成条件において、遺伝子長が極端に長い場合や、NN処理要素が選択される場合に中処理要素が選択されていない場合など、特定データ処理シーケンスDSqを特定するための処理効率が極端に低下する場合である。
【0077】
プロセッサー25は、ステップS108において、記憶装置70の所定記憶領域に記憶された生成条件をもとに、データ処理シーケンスSqのシーケンス要素の候補となるデータ処理要素の修正を行う。具体的には、例えば、図6に示す処理候補テーブル81において、処理対象となる対象データに関連付けられたデータ処理要素のうちから、生成条件によって指定されたデータ処理要素を抽出して、抽出したデータ処理要素を候補データ処理要素として記憶装置70の所定記憶領域に生成条件の一部として記憶させる。
【0078】
図13に示すように、ステップS111において、プロセッサー25は、生成条件を決定する処理を実行する。具体的には、プロセッサー25は、記憶装置70の所定記憶領域に記憶された生成条件を図11に示すステップS30において用いることを決定する。また、ステップS111の生成条件を決定する処理において、プロセッサー25の接続条件生成部55は、生成条件として所定記憶領域に記憶された抽出されたデータ処理要素を用いて接続条件テーブル88を生成する。この接続条件テーブル88を生成するステップS111は、生成条件入力画面SIMを介して受け付けた候補データ処理要素によって行われるデータ処理の種別に応じて、データ処理シーケンスを構成するシーケンス要素の接続に関する接続条件を生成する工程である。接続条件の生成の一つは、図11に示す接続条件テーブルを生成することで行われる。以下に接続条件テーブルの生成方法について説明する。
【0079】
ステップS111において、接続条件テーブル88の生成は以下の接続アルゴリズムに従って実行される。
<接続アルゴリズム>
・第1接続アルゴリズム:
候補データ処理要素が、NN処理要素と中処理要素とを含む場合には、NN処理の次に中処理が実行されるように、NN処理要素と中処理要素とを接続する。
・第2接続アルゴリズム:
候補データ処理要素が、後処理要素を含む場合には、後処理の次にデータ出力要素outでデータ処理後のデータが出力されるように、後処理要素とデータ出力要素outとを接続する。
・第3接続アルゴリズム:
候補データ処理要素が、前処理要素とNN処理要素と中処理要素と後処理要素とを含む場合には、データ入力要素inからデータ出力要素に向かう順に、前処理、NN処理、中処理、後処理が実行されるように、データ入力要素inと前処理要素とNN処理要素と中処理要素と後処理要素とデータ出力要素outとを接続する。
【0080】
なお、各処理は複数のデータ処理要素を組み合わせて実行されてもよく、本実施形態では、前処理は1つまたは複数のデータ処理要素の組み合わせによって実行される。
【0081】
また、第3接続アルゴリズムは第1接続アルゴリズムおよび第2接続アルゴリズムを包含しているため、第3接続アルゴリズムが実行される場合には第1接続アルゴリズムおよび第2接続アルゴリズムの実行を省略してもよい。
【0082】
第1接続アルゴリズムが実行された場合、接続条件生成部55は、入力側がNN処理要素FtD~FtFであり、出力側が中処理要素FtG,FtIである要素セットである出現要素セットに対しては接続参考値RVを関連付ける。また、第1接続アルゴリズムが実行された場合、接続条件生成部55は、入力側がNN処理要素FtD~FtFであり、出力側が中処理要素FtG,FtHとは異なるシーケンス要素である要素セットに対しては非出現データを関連付ける。これにより、接続条件生成部55は、第1接続アルゴリズムを用いた接続条件テーブル88を生成する。
【0083】
上記の接続アルゴリズムを用いて接続条件生成部55が生成する接続条件テーブル88の具体例について説明する。この具体例では、図14に示すように、データ種別選択フィールドf0においてタスクジャンルNo.1に対応する「一次元の離散値・連続値/0次元の離散値」が選択され、選択フィールドf1~f4においてデータ処理要素FtA,FtB,FtC,FtD,FtE,FtF,FtG,FtH,FtI,FtJ,FtKが選択されている。この場合において、プロセッサー25は、生成条件入力画面SIMの入力指示内容および図6Bに示す第2処理候補テーブル81Bを参照して、候補処理データ処理要素としてデータ処理要素FtA,FtB,FtC,FtD,FtE,FtF,FtG,FtH,FtI,FtJ,FtKを抽出する。
【0084】
次に、接続条件生成部55は、図11に示すように、データ入力要素inおよび候補処理データ処理要素としてデータ処理要素FtA~FtKを入力側シーケンス要素、データ出力要素outおよび候補処理データ処理要素としてデータ処理要素FtA~FtKを出力側シーケンス要素とする全ての組み合わせの要素セットに対して、接続参考値RVと非出現データとのいずれかを関連付ける。接続条件生成部55は、接続条件を規定した上述の接続アルゴリズムに従って要素セットに対して、接続参考値RVと非出現データとのいずれかを関連付ける。
【0085】
接続アルゴリズムの第3接続アルゴリズムでは、データ入力要素inからデータ出力要素outに向かう順に、前処理、NN処理、中処理、後処理が実行されるように、データ入力要素inと前処理要素とNN処理要素と中処理要素と後処理要素とデータ出力要素outとを接続する。よって、接続条件生成部55は、第3接続アルゴリズムに従って、接続順となる要素セットに対しては接続参考値である「1」を関連付け、接続順とは異なる接続順になる要素セットに対して非出現データである「-1」を関連付ける。例えば、図11に示すように、データ入力要素inの出力側は前処理要素が接続されるように、入力側シーケンス要素がデータ入力要素inであり、出力側シーケンス要素がNN処理、中処理、後処理を実行するデータ処理要素FtD~FtKおよびデータ出力要素outである要素セットについては、非出現データである「-1」を関連付ける。また例えば、接続条件生成部55は、前処理の次にはNN処理が実行されるように、入力側シーケンス要素が前処理を実行するデータ処理要素FtA~FtCであり、出力側シーケンス要素が中処理や後処理を実行するデータ処理要素FtG~FtK、データ出力要素outである要素セットについては、図11に示すように非出現データである「-1」を関連付ける。
【0086】
以上のように、図13に示すステップS111は、接続候補となる入力側と出力側の一対のシーケンス要素である要素セットに対して、接続参考値RVと非出現データとのいずれかを関連付けた接続条件テーブル88を生成することで、接続条件を生成する工程を含む。
【0087】
図15は、図12のステップS30の詳細フローチャートを示す図である。まず、ステップS306において、個体生成部32は、現世代Gについての複数の個体IVから構成される個体群84を生成する。本実施形態では、図8に示すように5つの個体IV1~IV5から構成される個体群84を生成する。
【0088】
次に、ステップS308において、遺伝子翻訳部34は、各個体IV1~IV5のうちで一つを選択して、接続条件テーブル88を参照することで選択した一つの個体IVを翻訳してデータ処理シーケンスSqを生成する。ステップS308の詳細については後述する。
【0089】
次に、ステップS350において、データ処理部40はステップS308で生成されたデータ処理シーケンスSqを用いて複数の学習データLMをデータ処理して複数の出力データPMを生成する。ここで、データ処理シーケンスSqが前処理を実行する前処理要素FtA~FtCを有する場合であって、参照データセットRSMが記憶装置70に記憶されている場合には、ステップS350において、データ処理部40は参照データRMについても前処理を実行する。
【0090】
また、ステップS350において、データ処理シーケンスSqがNN処理を実行するNN処理要素FtD~FtFを有する場合であって、参照データセットRSMが記憶装置70に記憶されている場合には、データ処理部40は参照データRMについてもNN処理を実行して中間層L2a~L2dから出力される特徴量F1~F4を参照NN出力データとして出力する。なお、データ処理部40は、NN処理要素FtD~FtFの入力側に前処理要素FtA~FtCが接続されている場合には、学習データLMと同様に、参照データRMは前処理要素FtA~FtCによって前処理が実行され、前処理が実行された後の参照データRMに対してNN処理が実行される。
【0091】
以上のように、ステップS308によって生成されたデータ処理シーケンスSqにおいて、NN処理要素FtD~FtFと中処理要素FtG,FtHが含まれる場合に、ステップS350においてデータ処理部40は、中処理要素FtG,FtHよりも入力側で実行されるデータ処理を、参照データRMに対して実行して処理後参照データを生成する。
【0092】
また、ステップS350において、データ処理シーケンスSqに中処理を実行する第1種中処理要素は、学習データ74から生成された特徴量を示すNN出力データと、参照データRMから生成された特徴量を示す処理後参照データとの類似度を示す変換後データを出力する。なお、学習データ74と参照データRMとのそれぞれに分類ラベルが関連付けられている場合には、同じ分類ラベル同士の類似度が算出される。
【0093】
また、ステップS350において、データ処理シーケンスSqに後処理を実行する後処理要素FtJ~FtKが含まれている場合には、データ処理部40は、後処理要素FtJ~FtKの前段である入力側から出力された後処理前データを後処理要素FtI~FtKによって後処理を実行する。また、後処理要素FtI~FtKがランダムフォレストを実行するデータ処理要素などであり、後処理が学習処理を含む場合には、後処理前データの生成元である学習データ74に関連付けられた目標データTMと、後処理前データとを後処理要素FtI~FtKに入力して学習を行う。データ処理部40は、後処理要素FtI~FtKの学習後に、後処理前データを後処理要素FtI~FtKに入力して後処理要素FtI~FtKから出力データPMを得る。なお、学習用のデータと、学習後に入力する評価用データとは、同じであっても異なっていてもよい。また、複数の学習データLMは、交差検証によって学習用のデータと評価用データとを分類されてもよい。
【0094】
上述のデータ処理部40が実行するデータ処理シーケンスSqによるデータ処理において、NN処理要素FtD~FtFが入力されたデータをそのまま出力するようなデータ処理要素である場合には、NN処理は省略されてもよい。また例えば、上述のデータ処理部40が実行するデータ処理シーケンスSqによるデータ処理において、中処理要素FtG,FtHが入力されたデータをそのまま出力するようなデータ処理要素である場合には、中処理は省略されてもよい。また例えば、上述のデータ処理部40が実行するデータ処理シーケンスSqによるデータ処理において、後処理要素FtI~FtKが入力されたデータをそのまま出力するようなデータ処理要素である場合には、後処理は省略されてもよい。
【0095】
次に、ステップ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を容易に特定できる。
【0096】
次に、ステップ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を算出する。
【0097】
一方で、ステップS354で「Yes」の判定が成された場合には、特定部50は、ステップS356において、現世代における算出した複数の評価値EVを用いて、予め定められた特定終了条件が満たされたか否かを判定する。
【0098】
特定終了条件は、例えば、以下の第1個別終了条件と第2個別終了条件と第3個別終了条件とを含む。特定部50は、特徴終了条件に含まれる複数の条件である第1個別終了条件~第3個別終了条件の一つが満たされた場合に、特定終了条件が満たされたと判定する。
・第1個別終了条件:
現世代の複数の個体IVを元に算出した複数の評価値EVが示すそれぞれの類似度SDのうちで、最も高い類似度SDmaxが、予め定めた終了閾値以上であるという条件。
・第2個別終了条件:
特定終了条件が満たされず、ステップS306~ステップS356の処理が再び実行される回数が一定回数に到達したという条件。
・第3個別終了条件:
ステップS30の処理開始から一定時間経過したという条件。
【0099】
特定終了条件が第1個別終了条件を含むことで、出力データPMと目標データTMとを比較して取得した評価値EVを用いて特定データ処理シーケンスDSqを容易に特定できる。また、特定終了条件が第2個別終了条件と第3個別終了条件とを含むことで、評価値EVが示す類似度SDmaxが終了閾値以上とならない場合でも、特定データ処理シーケンスDSqを特定できる。これにより、特定データ処理シーケンスが特定されるまでの処理時間が長くなることを抑制できる。
【0100】
特定部50は、第1個別終了条件~第3個別終了条件のいずれかを満たした場合は、ステップS358において、満たした個別終了条件に応じたデータ処理シーケンスSqを特定データ処理シーケンスDSqとして特定する。特定された特定データ処理シーケンスDSqは、記憶装置70に記憶される。
【0101】
特定部50は、ステップS356において、第1個別終了条件が満たされた場合には、最も高い類似度SDmaxの算出元であるデータ処理シーケンスSqを特定データ処理シーケンスDSqとして特定する。また特定部50は、ステップ356において、第2個別終了条件と第3個別終了条件とのいずれかが満たされた場合には、第2個別終了条件と第3個別終了条件とのいずれかが満たされるまでに算出された類似度SDの中で最も高い類似度SDmaxを特定する。そして類似度SDmaxが終了閾値以上であるか否かに関わらず、類似度SDmaxの算出元であるデータ処理シーケンスSqを特定データ処理シーケンスDSqとして特定する。
【0102】
一方で、特定終了条件を満たすまで、すなわち特定データ処理シーケンスDSqが特定されない場合には、ステップS306~ステップS356のルーチンが繰り返し実行される。
【0103】
次ルーチンのステップS306では、個体生成部32は、前回のルーチンにおけるステップS306およびS308によって生成された複数のデータ処理シーケンスSqと少なくとも一つのデータ処理シーケンスSqが異なる複数のデータ処理シーケンスSqを生成することでシーケンスセットを生成する再生成工程を実行する。詳細には、再生成工程において個体生成部32は、評価値EVを用いて、次世代の個体IVに用いられる現世代の個体IVを特定し、特定した個体IVを複製することと、特定した個体IVに対して交叉と突然変異との少なくとも1つを行うことで個体IVを新たに生成することと、によって次のルーチンのシーケンスセットを生成する。
【0104】
本実施形態では、再生成工程において個体生成部32は、前回のルーチンで生成した複数のデータ処理シーケンスSqのうちで評価値EVが示す類似度SDが低い1つ以上のデータ処理シーケンスSqである対象データ処理シーケンスSqを、シーケンス要素が異なる新たなデータ処理シーケンスSqに置き換えることで、シーケンスセットを生成する。個体生成部32は、前回のルーチンで用いた親世代の複数の個体IVのうちで、類似度SDが下位J番目までの個体IVについては、類似度SDが下位J番目までに該当しない個体IVを特定して、特定した個体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を特定できる。
【0105】
新たなシーケンスセットを対象としたステップS308~ステップS356の処理において、前回までのルーチンで用いたシーケンスセットを構成するデータ処理シーケンスSqと同じデータ処理シーケンスSqについては、前回までのルーチンで算出された評価値EVが用いられる。これにより、評価値EVを再度計算する必要がないので、特定データ処理シーケンス生成処理の処理効率を向上できる。
【0106】
以上のように、特定終了条件が満たされるまで繰り返し実行されるステップS308は、シーケンス要素に対応した遺伝子を複数配列した個体IVを生成することで、シーケンス要素の組み合わせが異なる複数のデータ処理シーケンスSqを規定して、複数のデータ処理シーケンスSqをシーケンスセットとして生成する工程である。また、特定終了条件が満たされるまで繰り返し実行されるステップS350は、複数のデータ処理シーケンスSqのそれぞれによって対象データとしての学習データLMをデータ処理して、データ出力要素outに出力されたデータ処理後の出力データPMを取得する工程である。また、特定終了条件が満たされるまで繰り返し実行されるステップS352は、出力データPMと目標データTMとを比較して、複数のデータ処理シーケンスSqのそれぞれの評価値EVを取得する工程である。
【0107】
図16は、図15に示すステップS308の詳細フローチャートを示す図である。まず、遺伝子翻訳部34は、ステップS311において、現世代Gを構成する個体IV1~IV5のうちで、未処理の個体IVを一つ選択する。また、ステップS314において、遺伝子翻訳部34は、記憶装置70に記憶された接続条件テーブル88を読み出す。
【0108】
次に、ステップS316において、遺伝子翻訳部34は、入力側シーケンス要素が接続されていない未接続の出力側シーケンス要素である接続先を一つ選択する。本実施形態では、データ出力要素outを終端ノードに設定し、データ出力要素out側から順にシーケンス要素が接続される。よって、最初のルーチンにおけるステップS316では、遺伝子翻訳部34は、接続先としてデータ出力要素outを選択する。なお、シーケンス要素の接続は、上述のごとく予め定めた接続ルールに従い実行される。上述のごとく、まず遺伝子翻訳部34は、データ出力要素outを出力側の端部である終端ノードに設定し、個体IVの遺伝子の配列順に入力側へとシーケンス要素を接続することでデータ処理シーケンスSqを生成する。また、遺伝子翻訳部34は、上述のごとく、遺伝子の配列順に、終端ノード側から優先して配置すると共に、図10に示す左側の接続先を右側の接続先よりも優先して配置するというルールである。
【0109】
ステップS316の次に、遺伝子翻訳部34は、ステップS318において、接続先である出力側シーケンス要素に接続される入力側シーケンス要素を、接続条件テーブル88を参照して選択する。具体的には、遺伝子翻訳部34は、接続条件テーブル88を用いて、出力側シーケンス要素に対して、接続参考値RVが高い入力側シーケンス要素ほど、出力側シーケンス要素に接続される接続確率が高くなる確率関係を有するように、データ処理シーケンスSqを生成する。上記確率関係を有するデータ処理シーケンスSqは、以下の入力側シーケンス要素の選択アルゴリズムに従って入力側シーケンス要素が選択されることで生成される。なお、本実施形態では接続参考値RVは全て「1」に設定されているので、接続参考値RVが関連付けられた入力側シーケンス要素は均等な接続確率である。
【0110】
<入力側シーケンス要素の選択アルゴリズム>
選択アルゴルズムの前提条件は以下のとおりである。
・遺伝子の数値・・・VG(VGは、0から1までの小数点第3位までの数値)
・出力側シーケンス要素識別子・・・j
ここで、jは、0以上の整数で表され、出力側シーケンス要素ごとに異なる値が割り当てられている。本実施形態では、図11に示すように、識別子jは、0~11が割り当てられている。
・接続される入力側シーケンス要素識別子・・・i
ここで、iは、0以上の整数で表され、0~Nまでの識別子によって表される。Nfは、入力側シーケンス要素の候補となる数から1を引いた値であり、本実施形態では、図7に示すように、入力側シーケンス要素の数は図11に示すように「12」であるため、Nは11であり、識別子iは、0~11が割り当てられている。
・接続条件テーブル88の要素セットに関連付けられた値・・・tij
ijは、図11に示す接続参考値RVまたは非出現データである「-1」であり、添え字の「ij」は、要素セットを特定するための識別子であり、入力側シーケンス要素と出力側シーケンス要素の識別子に対応する。例えば、t12は、図11において入力側シーケンス要素がデータ処理要素FtA、出力側シーケンス要素がデータ処理要素FtBの要素セットの接続参考値である「1」を示す。
・接続参考値RVが取り得る値・・・H
本実施形態では、接続参考値RVは1であるので取り得る範囲は1である。
【0111】
選択アルゴリズムにおいて、出力側シーケンス要素jの入力側に入力側シーケンス要素iが接続される確率Pijは以下の式(1)によって算出される。
【数1】
【0112】
ここで、上記式(1)のSijは、以下の式(2)によって算出される。
【数2】
上記式(2)から理解できるように、接続条件テーブル88の値tijが接続参考値RVの取り得る値Hの範囲内、すなわち1であれば、値Sijは値tijと同じ値となる。一方、接続条件テーブル88に非出現データである「-1」が関連付けられている場合には、値tijは「-1」であり、値Hの範囲外となるため値Sijは「0」となる。
【0113】
上記式(1)および式(2)から理解できるように、接続条件テーブル88の値tijに非出現データが関連付けられている場合は、確率Pijは「0」となることから、非出現データが関連付けられた要素セットは、データ処理シーケンスSqの構成要素として出現する確率はゼロである。
【0114】
また選択アルゴリズムにおいて、非出現データが関連付けられていない要素セットに対して、入力側シーケンス要素iが出力側シーケンス要素jに対して接続される遺伝子の数値範囲の上限閾値Tijは以下の式(3)を用いて算出される。なお、下限閾値は、非出現データが関連付けられた要素セットを除く一つ前の識別子に応じた入力側シーケンス要素の上限閾値に設定される。一つ前の識別子が無い場合には、下限閾値は「0」に設定される。図17は、図11の接続条件テーブル88を元に算出された上限閾値を規定したテーブル885を示す図である。このテーブル885は、記憶装置70に記憶されてもよい。テーブル885において、各要素セットに対応する欄には、上限閾値または非出現データに応じたブランクが設定されている。
【数3】
【0115】
上記の選択アルゴリズムを用いて遺伝子の出現範囲を示す数値範囲を決定することで、同じ出力側シーケンス要素に対する接続候補である各入力側シーケンス要素の各接続参考値RVの比が、出力側シーケンス要素に接続される接続確率の比となるように、データ処理シーケンスSqが生成される。決定された数値範囲は、出力側シーケンス要素ごとに、図9に示すテーブル82Tとして記憶装置70に記憶されてもよい。
【0116】
遺伝子翻訳部34は、上記式(3)で算出された上限閾値を用いて、データ入力要素inおよび複数のデータ処理要素FtA~FtKの入力側シーケンス要素のそれぞれに対して、異なる出現範囲としての数値範囲を設定する。そして、遺伝子の数値VGが、設定した数値範囲内に対応したデータ入力要素inまたはデータ処理要素としてのデータ処理要素を入力側シーケンス要素として選択する。
【0117】
出現範囲としての数値範囲と、選択されるシーケンス要素の例を以下に示す。
<識別子jの出力側シーケンス要素に対する入力側シーケンス要素の選択>
0≦VG<T0jのときは、識別子iが「0」の入力側シーケンス要素が選択される。
0j≦VG<T1jのときは、識別子iが「1」の入力側シーケンス要素が選択される。
1j≦VG<T2jのときは、識別子iが「2」の入力側シーケンス要素が選択される。
以下も同様であるので、最後に一例を示す。
(Nf-1),j≦VG≦TNf,jのときは、識別子iがNfの入力側シーケンス要素が選択される。
【0118】
なお、数値範囲の不等号については、遺伝子の値VGがいずれかの出現範囲に含まれている限り、等号の有無を変更してもよい。
【0119】
図16に示すステップS318の次に、ステップS320において、遺伝子翻訳部34は、データ処理シーケンスSqの生成が完了したか否かを判定する。具体的には、遺伝子翻訳部34は、上流側のノードが全てデータ入力要素inとなり、未接続のノードが無い場合にはデータ処理シーケンスSqの生成が完了したと判定する。この場合、遺伝子翻訳部34は、ステップS322において生成したデータ処理シーケンスSqをデータ処理部40に出力する。一方で、遺伝子翻訳部34は、データ処理シーケンスSqの生成が完了していないと判定した場合には、再びステップS316以降の処理を実行する。
【0120】
以上のように、図15に示すステップS306と図16に示すステップS308は、シーケンス要素の組み合わせが異なる複数のデータ処理シーケンスによって構成されるシーケンスセットを生成する工程である。また、図15に示すステップS306と図16に示すステップS308は、データ入力要素およびデータ処理要素のそれぞれに対応した複数の遺伝子を配列した個体と、接続条件テーブル88とを少なくとも用いてシーケンスセットを生成する工程である。
【0121】
図18は、図12に示すステップS50の詳細フローチャートを示す図である。ステップS50の利用処理は、図15に示す生成処理によって特定データ処理シーケンスDSqが特定された後に実行される。まず記憶装置70は、ステップS500において、入力部150によって受け付けたシーケンス要素である複数のデータ処理要素をシーケンス要素群80として記憶する。ステップS500において記憶されるシーケンス要素群80の複数のデータ処理要素は、特定データ処理シーケンスDSqで用いられるデータ処理要素のみであってもよい。なお、利用処理と、図15に示す生成処理とが同じ生成装置20で実行される場合には、ステップS500は省略でき、ステップS300によって記憶装置70に記憶されたシーケンス要素群80を用いることができる。
【0122】
次に、ステップS501において、記憶装置70は、図15のステップS358で特定された特定データ処理シーケンスDSqを記憶する。なお、利用処理と、図15に示す生成処理とが同じ生成装置20で実行される場合には、ステップS500およびステップS501は省略でき、ステップS300およびステップS358によって記憶装置70に記憶されたシーケンス要素群80および特定データ処理シーケンスDSqを用いることができる。また、ステップS500とステップS501の順番は上記に限定されるものではない。
【0123】
次に、ステップS503において、データ処理部40は、入力部150を介して記憶装置70に記憶されたデータであって特定データ処理シーケンスDSqのデータ処理の対象となるデータを読み出すことで取得する。ステップS503によって取得される処理対象のデータは、例えば、学習データLMと同種の対象物を撮像したデータである。なお、データ処理部40は、データ処理の対象となるデータが複数ある場合には、記憶装置70に予め記憶された複数のデータのうちの一つを読み出すことでデータを取得してもよいし、後述するデータ処理を実行するタイミングで対象となるデータをセンサー装置200からその都度取得してもよい。
【0124】
次に、データ処理部40は、ステップS504において、ステップS503によって取得された画像に対して特定データ処理シーケンスDSqを用いたデータ処理を実行する。つまり、処理対象のデータに対して、特定データ処理シーケンスDSqが示す順番に従って、記憶装置70のシーケンス要素群80に記憶されたデータ処理要素を適用してデータ処理を実行する。
【0125】
次に、ステップS505において、特定データ処理シーケンスDSqを用いたデータ処理後のデータである出力データPMが出力される。ステップS505は、例えば、出力データPMが記憶装置70に記憶されることで実行されたり、表示部160に表示されたりすることで実行される。
【0126】
次に、データ処理部40は、ステップS506において、特定データ処理シーケンスDSqを用いたデータ処理を継続するかどうかを判定する。例えば、データ処理部40は、ユーザーからデータ処理の継続を示す情報が入力された場合や、データ処理の対象となる未処理のデータが記憶装置70にまだ残っている場合に、データ処理を継続すると判定する。データ処理を継続する場合には、再びステップS503以降の処理が実行される。一方で、データ処理部40は、ユーザーからデータ処理の終了を示す情報が入力された場合や、データ処理の対象となる未処理のデータが記憶装置70に残っていない場合には、利用処理を終了する。
【0127】
上記実施形態によれば、図6図13図14に示すように、生成装置20は、データ処理の種別に応じてシーケンス要素の接続条件を生成できる。接続条件は、NN処理の次に中処理が実行されるようにNN処理要素FtD,FtE,FtFと中処理要素FtG,FtHとを接続するという上述の第1接続アルゴリズムに従った条件を含んでいる。これにより、NN処理要素FtD,FtE,FtFの出力側に中処理要素FtG,FtHが接続されるように複数のデータ処理シーケンスSqを生成できるので、NN出力データに対して中処理を実行できる。一般にNN出力データは、特徴量が膨大であったり、次元数にレイヤーが追加されるので次元数が入力されたデータに対して増加したりする。このようなNN出力データに対して、出力側に接続されるシーケンス要素に適したデータへ変換する中処理要素FtG,FtHを接続することで、データ処理シーケンスSqによるデータ処理について不具合の発生を低減できる。よって、特定データ処理シーケンスを特定する処理効率を向上できる。
【0128】
また上記実施形態によれば、接続条件が後処理の次にデータ出力要素でデータ処理後のデータが出力されるように後処理層FtI,FtJ,FtKとデータ出力要素outとを接続するという上述の第2接続アルゴリズムに従った条件を含むので、対象データに関連付けられた目標データTMに応じたデータとなるように後処理要素FtI,FtJ,FtKでデータ処理した後のデータをデータ出力要素outで出力データPMとして出力できる。これにより、出力データPMと目標データTMとの比較を容易に行うことができる。よって、出力データPMと目標データTMとの類似度SDを用いた上述の第1個別終了条件が満たされたかどうかの判定を容易に行うことができる。
【0129】
また上記実施形態によれば、上述の第3接続アルゴリズムに従った接続条件によってデータ処理シーケンスSqが生成されることで、データ入力要素に入力された対象データが、前処理、NN処理、中処理、後処理の順でデータ処理された後にデータ出力要素で出力される。これにより、NN処理の処理効率を上げるために対象データに対して前処理を実行したり、NN出力データに対して後処理に適したデータとするために中処理でデータ処理したりできる。よって、複数のデータ処理シーケンスSqのそれぞれのデータ処理の処理効率を向上できるので、予め定めた特定終了条件に応じた特定データ処理シーケンスの特定を効率良く行うことができる。
【0130】
また上記実施形態によれば、図11に示すように、要素セットに対して接続参考値RVと非出現データである「-1」とのいずれかを関連付けた接続条件テーブル88によって、データ処理に適さない入力側のデータ処理要素と出力側のデータ処理との組み合わせである要素セットが、データ処理シーケンスSqの構成要素として出現することを抑制できる。例えば、図11に示すように、出力側シーケンス要素が中処理要素FtG,FtHの要素セットにおいて、入力側シーケンス要素がNN処理要素FtD,FtE,FtF以外のシーケンス要素は非出現データである「-1」が関連付けられている。これにより、NN処理要素FtD,FtE,FtFの出力側には中処理要素FtG,FtHを接続させることができる。よって、NN処理要素FtD,FtE,FtFのNN出力データを中処理要素FtG,FtHの出力側に接続されるシーケンス要素に適したデータ、例えば次元数を削減したデータに変換できる。
【0131】
また上記実施形態によれば、図14に示すように、生成条件入力画面SIMを介してユーザーからデータ処理シーケンスSqに組み込む候補データ処理要素の選択を受け付けることで、図6の処理候補テーブル81に加えてユーザーの指示に応じた候補データ処理要素を決定できる。これにより、ユーザーがデータ処理シーケンスSqの構成要素として組み込むことを希望するデータ処理要素を候補データ処理要素として、データ処理シーケンスSqを生成できる。
【0132】
B.他の実施形態:
B-1.他の実施形態1:
上記実施形態において記憶装置70に記憶されていた各種データは、生成装置20とは異なる装置、例えば補助記憶装置に記憶されていてもよい。
【0133】
B-2.他の実施形態2:
上記実施形態によれば、図13に示すステップS104において参照データセットRSMの入力を受け付けていたが、参照データセットRSMとして学習セットSMの少なくとも一部を用いる場合には、ステップS104が省略されてもよい。複数の参照データセットRSMの少なくとも一部は学習セットSMであってもよい。
【0134】
B-3.他の実施形態3:
上記実施形態では、一つの世代Gに属する複数の個体IVが示す複数のデータ処理シーケンスSqの一つずつ順番に処理結果の評価を行っていたが、複数の生成装置20を用いて複数のデータ処理シーケンスSqについて並列に処理結果の評価を行ってもよい。
【0135】
B-4.他の実施形態4:
上記実施形態では、データ処理シーケンスSqは、遺伝的アルゴリズムを用いて個体IVを生成することによって生成していたがこれに限定されるものではない。例えば、複数のシーケンス要素を、ランダムに配置することで複数のデータ処理シーケンスSqを生成してもよい。
【0136】
B-5.他の実施形態5:
上記実施形態において、図16のステップS318において、遺伝子翻訳部34は、接続条件テーブル88と選択アルゴリズムを用いて上限閾値を算出して、入力側シーケンス要素を選択していたが、入力側シーケンス要素の選択方法はこれに限定されるものではない。例えば、遺伝子翻訳部34は、図13のステップS11において接続条件テーブル88を生成した後に、上述の選択アルゴリズムを用いて全ての要素セットに対する出現範囲を規定したテーブルを事前に生成して記憶装置70に記憶させてもよい。
【0137】
B-6.他の実施形態6:
上記実施形態では、遺伝子翻訳部34は、接続条件テーブル88と式(1)~式(3)を用いて、出力側シーケンス要素に対して、接続参考値RVが高い入力側シーケンス要素ほど、出力側シーケンス要素に接続される接続確率が高くなる確率関係を有するように、複数のデータ処理シーケンスを生成していたが、これに限定されるものではない。例えば、遺伝子翻訳部34は、上記の確率関係を有するように複数のデータ処理シーケンスを生成できれば、式(1)~式(3)を用いなくてもよい。例えば、遺伝子翻訳部34は、接続参考値RVが高くなるほど、段階的に、入力側シーケンス要素が出現する数値範囲を大きく設定することで、上記確率関係を有するように複数のデータ処理シーケンスを生成してもよい。
【0138】
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0139】
(1)本開示の第1形態によれば、データ処理シーケンスの生成方法が提供される。データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成される。この生成方法は、(a)前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける工程であって、前記候補データ処理要素は、(i)前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、工程と、(b)前記工程(a)によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する工程と、(c)前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成する工程と、(d)前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた特定データ処理シーケンスを特定する工程と、を備え、前記工程(b)における前記接続条件は、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む。この形態によれば、データ処理の種別に応じてシーケンス要素の接続条件を生成できる。接続条件は、NN処理の次に中処理が実行されるようにNN処理要素と中処理要素とを接続するという条件を含んでいる。これにより、NN処理要素の出力側に中処理要素が接続されるように複数のデータ処理シーケンスを生成できるので、NN出力データに対して中処理を実行できる。一般にNN出力データは、特徴量が膨大であったり次元数が入力されたデータに対して増加したりする。このようなNN出力データに対して、出力側に接続されるシーケンス要素に適したデータへ変換する中処理要素を接続することで、データ処理シーケンスによるデータ処理について不具合の発生を低減できる。よって、特定データ処理シーケンスを特定する処理効率を向上できる。
【0140】
(2)上記形態において、前記工程(b)における前記接続条件は、前記候補データ処理要素が、前記後処理要素を含む場合には、前記後処理の次に前記データ出力要素でデータ処理後の前記データが出力されるように、前記後処理要素と前記データ出力要素とを接続するという条件を含んでもよい。この形態によれば、接続条件が後処理の次にデータ出力要素でデータ処理後のデータが出力されるように後処理要素とデータ出力要素とを接続するという条件を含むので、対象データに関連付けられた目標データに応じたデータとなるように後処理要素でデータ処理した後のデータをデータ出力要素で出力できる。
【0141】
(3)上記形態において、前記工程(b)における前記接続条件は、前記候補データ処理要素が、前記前処理要素と前記NN処理要素と前記中処理要素と前記後処理要素とを含む場合には、前記データ入力要素から前記データ出力要素に向かう順に、前記前処理、前記NN処理、前記中処理、前記後処理が実行されるように、前記データ入力要素と前記前処理要素と前記NN処理要素と前記中処理要素と前記後処理要素と前記データ出力要素とを接続するという条件を含んでもよい。この形態によれば、データ入力要素に入力された対象データを、前処理、NN処理、中処理、後処理の順でデータ処理した後にデータ出力要素で出力できる。これにより、NN処理の処理効率を上げるために対象データに対して前処理を実行したり、NN出力データに対して後処理に適したデータとするために中処理でデータ処理したりできる。よって、複数のデータ処理シーケンスのそれぞれのデータ処理の処理効率を向上できるので、予め定めた特定終了条件に応じた特定データ処理シーケンスの特定を効率良く行うことができる。
【0142】
(4)上記形態において、前記後処理で用いられる前記後処理要素は、前記後処理要素に入力されたデータを前記目標データと比較可能なデータに変換してもよい。この形態によれば、後処理要素によって目標データと比較可能なデータが出力されるので、目標データと、データ処理シーケンスによってデータ処理したデータとの比較が容易になる。
【0143】
(5)上記形態において、前記工程(b)は、接続候補となる前記入力側と前記出力側の一対の前記シーケンス要素である複数の要素セットのそれぞれに対して、前記データ処理シーケンスの要素として出現する出現確率を示す接続参考値と、前記データ処理シーケンスの構成要素として出現させないことを示す非出現データと、のいずれかを関連付けた接続条件テーブルを生成することで前記接続条件を生成してもよい。この形態によれば、要素セットに対して接続参考値と非出現データとのいずれかを関連付けた接続条件テーブルによって、データ処理に適さない入力側のデータ処理要素と出力側のデータ処理との組み合わせである要素セットが、データ処理シーケンスの構成要素として出現することを抑制できる。
【0144】
(6)上記形態において、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記工程(b)は、前記入力側が前記NN処理要素であり前記出力側が前記中処理要素である前記要素セットである出現要素セットに対しては前記接続参考値を関連付け、前記入力側が前記NN処理要素であり前記出力側が前記中処理要素とは異なる前記シーケンス要素である前記要素セットに対しては非出現データを関連付けることで前記接続条件テーブルを生成してもよい。この形態によれば、NN処理要素の出力側には中処理要素を接続させることができるので、NN処理要素のNN出力データを中処理要素の出力側に接続されるシーケンス要素に適したデータへ変換できる。
【0145】
(7)上記形態において、前記工程(d)は、(d1)前記工程(c)によって生成された前記複数のデータ処理シーケンスのそれぞれによって前記対象データをデータ処理して前記データ出力要素に出力されたデータ処理後の出力データを取得する工程と、(d2)前記出力データと前記目標データとを比較して、前記複数のデータ処理シーケンスのそれぞれの評価値を取得する工程と、(d3)前記それぞれの評価値を用いて前記特定終了条件を満たす前記特定データ処理シーケンスを特定する工程と、を有していてもよい。この形態によれば、出力データと目標データとを比較して取得した評価値を用いて特定データ処理シーケンスを容易に特定できる。
【0146】
(8)上記形態において、前記中処理に用いられる前記中処理要素は、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを他の種類のデータに変換する第1種中処理要素と、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データの少なくとも一部を抽出して抽出後データを出力する第2種中処理要素と、の少なくともいずれか一方を含んでいてもよい。この形態によれば、中処理要素によって、中処理要素に入力されたデータを他の種類のデータに変換する処理と、抽出後データを出力する処理との少なくとも一方の処理を実行できる。
【0147】
(9)上記形態において、さらに、(e)前記工程(d)よりも前に行われ、参照データの入力を受け付ける工程であって、前記参照データは、前記中処理要素において前記NN出力データのデータ量を低減するために用いるデータである、工程を有していてもよい。この形態によれば、参照データを用いてNN出力データのデータ量を低減できるので、データ処理シーケンスによるデータ処理の効率を向上できる。
【0148】
(10)上記形態において、前記中処理に用いられる前記中処理要素は、前記NN出力データと前記参照データとの類似度を示す変換後データを出力する第1種中処理要素と前記NN出力データが、前記NN処理要素が有する複数の中間層のそれぞれから出力される特徴量によって構成されている場合に、前記参照データを用いることなく、前記複数の中間層の少なくとも一部の前記中間層に対応した前記特徴量を抽出する第2種中処理要素と、の少なくともいずれか一方を含んでいてもよい。この形態によれば、第1種中処理要素と第2種中処理要素との少なくもいずれかを用いて、中処理要素の出力側のシーケンス要素に適したデータになるようにNN出力データをデータ処理できる。
【0149】
(11)上記形態において、前記工程(d)は、前記工程(c)において生成された前記データ処理シーケンスにおいて、前記NN処理要素と前記中処理要素とが含まれる場合に、前記中処理要素よりも前記入力側で実行されるデータ処理を、前記参照データに対して実行して処理後参照データを生成する工程を含み、前記中処理要素は、前記NN出力データと前記処理後参照データとの類似度を示す変換後データを出力する第1種中処理要素を含んでいてもよい。この形態によれば、第1種中処理要素によってNN出力データと処理後データとの類似度を示す変換後データを出力できる。
【0150】
(12)上記形態において、前記NN処理に用いられる前記NN処理要素は、前記NN処理要素の中間層から取得した特徴量と、前記NN処理要素の出力要素であるNN出力要素から出力されたNN処理後データと、の少なくともいずれか一方を前記NN出力データとして前記出力側の前記シーケンス要素に出力してもよい。この形態によれば、中間層から取得した特徴量や、NN出力要素から出力されたNN処理後データを出力側のシーケンス要素に出力できる。
【0151】
(13)上記形態において、前記工程(d3)によって前記特定データ処理シーケンスが特定されない場合に、前記特定終了条件が満たされるまで、前記工程(c)~前記工程(d)までのルーチンを繰り返し、前記ルーチンを繰り返す場合において、次の前記ルーチンにおける前記工程(c)は、前回の前記ルーチンにおける前記工程(c)によって生成された前記複数のデータ処理シーケンスと少なくとも一つの前記データ処理シーケンスが異なる前記複数のデータ処理シーケンスを生成することで前記シーケンスセットを生成する再生成工程を含んでいてもよい。この形態によれば、再生成工程によって、特定終了条件が満たされるまで特定データ処理シーケンスの候補となるデータ処理シーケンスを生成できる。
【0152】
(14)上記形態において、前記工程(c)は、前記シーケンス要素に対応した遺伝子を複数配列した個体を生成することで前記データ処理シーケンスを規定する工程を含み、
前記再生成工程は、前記評価値を用いて、次世代の前記個体に用いられる現世代の前記個体を特定し、特定した前記個体を複製することと、特定した前記個体に対して交叉と突然変異との少なくとも1つを行うことで前記個体を新たに生成すること、とによって前記次のルーチンの前記シーケンスセットを生成してもよい。この形態によれば、交差と突然変異との少なくとも1つと、複製とを用いることで容易に次のルーチンのシーケンスセットを容易に生成できる。
【0153】
(15)本開示の第2形態によれば、データ処理シーケンスの生成装置が提供される。データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成される。この生成装置は、前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける入力部であって、前記候補データ処理要素は、前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、入力部と、前記入力部によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する接続条件生成部と、前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成するシーケンス生成部と、前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた前記特定データ処理シーケンスを特定する特定部と、を備え、前記接続条件は、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む。この形態によれば、データ処理の種別に応じてシーケンス要素の接続条件を生成できる。接続条件は、NN処理の次に中処理が実行されるようにNN処理要素と中処理要素とを接続するという条件を含んでいる。これにより、NN処理要素の出力側に中処理要素が接続されるように複数のデータ処理シーケンスを生成できるので、NN出力データに対して中処理を実行できる。一般にNN出力データは、特徴量が膨大であったり次元数が入力されたデータに対して増加したりする。このようなNN出力データに対して、出力側に接続されるシーケンス要素に適したデータへ変換する中処理要素を接続することで、データ処理シーケンスによるデータ処理について不具合の発生を低減できる。よって、特定データ処理シーケンスを特定する処理効率を向上できる。
【0154】
(16)本開示の第3形態によれば、データ処理シーケンスの生成をコンピューターに実行させるためのコンピュータープログラムが提供される。データ処理シーケンスは、シーケンス要素としての、データを入力するデータ入力要素、複数のデータ処理要素の少なくとも1つ、およびデータ処理後の前記データを出力するデータ出力要素によって構成される。このコンピュータープログラムは、(a)前記データ処理シーケンスを構成する前記シーケンス要素の候補となる前記データ処理要素としての候補データ処理要素の入力を受け付ける機能であって、前記候補データ処理要素は、(i)前記データ入力要素に入力された前記データである対象データに対してデータ処理としての前処理を実行する前処理要素と、(ii)学習済みニューラルネットワーク要素(以下、「NN処理要素」と呼ぶ。)であって、前記NN処理要素の入力側に接続された前記シーケンス要素から出力された前記データに対して前記データ処理としてのNN処理を実行してNN出力データを出力するNN処理要素と、(iii)中処理要素であって、前記中処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データを出力側に接続される前記シーケンス要素に適したデータへ変換する前記データ処理としての中処理を実行する中処理要素と、(iv)後処理要素であって、前記後処理要素の前記入力側に接続された前記シーケンス要素から出力された前記データに対して、前記対象データに関連付けられた目標となる目標データに応じた前記データとなるように前記データ処理としての後処理を実行する後処理要素と、の少なくとも一つの処理要素を含む、機能と、(b)前記機能(a)によって受け付けた前記候補データ処理要素によって行われる前記データ処理の種別に応じて、前記データ処理シーケンスを構成する前記シーケンス要素の接続に関する接続条件を生成する機能と、(c)前記接続条件に従って、前記シーケンス要素の組み合わせが異なる複数の前記データ処理シーケンスをシーケンスセットとして生成する機能と、(d)前記複数のデータ処理シーケンスの中から、予め定めた特定終了条件に応じた特定データ処理シーケンスを特定する機能と、をコンピューターに実行させ、前記機能(b)における前記接続条件は、前記候補データ処理要素が、前記NN処理要素と前記中処理要素とを含む場合には、前記NN処理の次に前記中処理が実行されるように、前記NN処理要素と前記中処理要素とを接続するという条件を含む。この形態によれば、データ処理の種別に応じてシーケンス要素の接続条件を生成できる。接続条件は、NN処理の次に中処理が実行されるようにNN処理要素と中処理要素とを接続するという条件を含んでいる。これにより、NN処理要素の出力側に中処理要素が接続されるように複数のデータ処理シーケンスを生成できるので、NN出力データに対して中処理を実行できる。一般にNN出力データは、特徴量が膨大であったり次元数が入力されたデータに対して増加したりする。このようなNN出力データに対して、出力側に接続されるシーケンス要素に適したデータへ変換する中処理要素を接続することで、データ処理シーケンスによるデータ処理について不具合の発生を低減できる。よって、特定データ処理シーケンスを特定する処理効率を向上できる。
【0155】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0156】
10…生成システム、20…生成装置、25…プロセッサー、30…シーケンス生成部、32…個体生成部、34…遺伝子翻訳部、40…データ処理部、50…特定部、55…接続条件生成部、60…表示制御部、70…記憶装置、74…学習データ群、77…参照データ群、79…データ処理プログラム群、80…シーケンス要素群、81…処理候補テーブル、81A…第1処理候補テーブル、81B…第2処理候補テーブル、82…遺伝子テーブル、82T…テーブル、84…個体群、88…接続条件テーブル、94…各種プログラム、150…入力部、160…表示部、200…センサー装置、885…テーブル、B1…手動生成選択枝、B2…自動生成選択枝、RSM…参照データセット、SIM…生成条件入力画面、DA…欠陥部分、DSq…特定データ処理シーケンス、F1~F4…特徴量、FtA~FtQ…データ処理要素、IV,IV1~IV5…個体、L1…NN入力要素、L2a~L2d…中間層、L3…NN出力要素、LM,LM1,LM2…学習データ、RM…参照データ、RV…接続参考値、SM…学習セット、Sq…データ処理シーケンス、TM…目標データ
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18