(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】結合学習器形成装置、結合学習器形成プログラム、及び、結合学習器形成プログラムを記録した非一時的な記録媒体
(51)【国際特許分類】
G06N 20/00 20190101AFI20241007BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023575888
(86)(22)【出願日】2022-05-11
(86)【国際出願番号】 JP2022019922
(87)【国際公開番号】W WO2023218553
(87)【国際公開日】2023-11-16
【審査請求日】2023-12-08
(73)【特許権者】
【識別番号】520363199
【氏名又は名称】株式会社エイゾス
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】河尻 耕太郎
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2020-101860(JP,A)
【文献】特開2016-004548(JP,A)
【文献】特開2020-004059(JP,A)
【文献】米国特許出願公開第2021/0055915(US,A1)
【文献】特開2019-008483(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
学習済み学習器群にアクセス可能な結合学習器形成装置であって、
前記学習済み学習器群から選択された複数の学習済み学習器、結合学習器の入力データの数、及び、前記入力データそれぞれの入力先となる前記学習済み学習器、を示すユーザの指示を受け付け、前記ユーザの指示に応じて、選択された前記複数の学習済み学習器を組み合わせて、前記ユーザにより指定された数の前記複数の入力データが互いに異なる前記学習済み学習器に入力される結合学習器を形成する結合学習器形成部、
を備えることを特徴とする結合学習器形成装置。
【請求項2】
前記結合学習器形成部は、前記ユーザ以外の他者によって学習された学習器を含む前記複数の学習済み学習器を含む前記結合学習器を形成する、
ことを特徴とする請求項
1に記載の結合学習器形成装置。
【請求項3】
前記結合学習器は、互いに異なるアルゴリズムで処理を行う複数の前記学習済み学習器を含む、
ことを特徴とする請求項
1に記載の結合学習器形成装置。
【請求項4】
学習済み学習器群にアクセス可能な結合学習器形成装置であって、
ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部、
を備え、
前記結合学習器形成部は、前記結合学習器と、前記ユーザにより選択された学習済み学習器とを組み合わせて、新たな結合学習器を形成する、
ことを特徴とする結合学習器形成装置。
【請求項5】
前記結合学習器形成部は、前記複数の学習済み学習器の1つである第1学習器の出力データが、直接又は間接的に、前記複数の学習済み学習器の1つであり前記第1学習器とは異なる第2学習器に入力されるように、前記第1学習器と前記第2学習器とが連結された前記結合学習器を形成する、
ことを特徴とする請求項
1に記載の結合学習器形成装置。
【請求項6】
学習済み学習器群にアクセス可能な結合学習器形成装置であって、
ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部、
を備え、
前記結合学習器形成部は、前記複数の学習済み学習器の1つである第1学習器の出力データが、直接又は間接的に、前記複数の学習済み学習器の1つであり前記第1学習器とは異なる第2学習器に入力されるように、前記第1学習器と前記第2学習器とが連結された前記結合学習器を形成し、
前記第1学習器は、複数の出力データを出力し、
前記第1学習器の複数の出力データのうちの一部は、直接又は間接的に前記第2学習器に入力され、前記第1学習器の複数の出力データのうちの他の一部は、前記結合学習器の出力データとされる、
ことを特徴とする結合学習器形成装置。
【請求項7】
学習済み学習器群にアクセス可能な結合学習器形成装置であって、
ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部、
を備え、
前記結合学習器形成部は、前記複数の学習済み学習器の1つである第1学習器の出力データが、直接又は間接的に、前記複数の学習済み学習器の1つであり前記第1学習器とは異なる第2学習器に入力されるように、前記第1学習器と前記第2学習器とが連結された前記結合学習器を形成し、
前記第2学習器は、複数の出力データを出力し、
前記第2学習器の複数の出力データのうちの一部は、前記第1学習器にフィードバック入力される、
ことを特徴とする結合学習器形成装置。
【請求項8】
前記結合学習器形成部は、前記第1学習器の出力データを変換する変換モデルであって、変換後の当該出力データが前記第2学習器に入力されるように前記第2学習器に連結される変換モデルを含む前記結合学習器を形成する、
ことを特徴とする請求項
5から
7のいずれか1項に記載の結合学習器形成装置。
【請求項9】
前記複数の学習済み学習器それぞれに対応する学習器アイコンを組み合わせて前記結合学習器の結合構造を決定可能な結合学習器形成インターフェースをディスプレイに表示させる表示制御部、
をさらに備え、
前記結合学習器形成部は、前記結合学習器形成インターフェースに対する前記ユーザの操作に応じて、前記結合学習器の結合構造を決定する、
ことを特徴とする請求項
1に記載の結合学習器形成装置。
【請求項10】
前記表示制御部は、前記結合学習器形成インターフェースにおいて、前記結合学習器に含まれる学習済み学習器の少なくとも1つの入力に入力データが入力されない場合に警告を表示する、
ことを特徴とする請求項
9に記載の結合学習器形成装置。
【請求項11】
学習済み学習器群にアクセス可能な結合学習器形成装置であって、
ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部、
を備え、
前記結合学習器形成部は、前記複数の学習済み学習器の1つである第1学習器の出力データが、直接又は間接的に、前記複数の学習済み学習器の1つであり前記第1学習器とは異なる第2学習器に入力されるように、前記第1学習器と前記第2学習器とが連結された前記結合学習器を形成し、
前記複数の学習済み学習器それぞれの入力の入力名、及び、前記複数の学習済み学習器それぞれの出力の出力名を入力する入力インターフェースをディスプレイに表示させる表示制御部、
をさらに備え、
前記結合学習器形成部は、前記ユーザにより入力された前記第1学習器の出力の出力名と、前記ユーザにより入力された前記第2学習器の入力の入力名とが対応する場合に、前記第1学習器の当該出力と前記第2学習器の当該入力とを接続する、
ことを特徴とする結合学習器形成装置。
【請求項12】
前記学習済み学習器を学習させた者から取得した、当該学習済み学習器に関する属性情報、又は、当該学習済み学習器を学習させたときの学習データに関する学習データ情報の少なくとも一方を前記ユーザに提供する情報提供部、
をさらに備えることを特徴とする請求項
1に記載の結合学習器形成装置。
【請求項13】
前記属性情報は、入力データを当該学習済み学習器に入力する前に当該入力データに対して行うべき前処理に関する情報、当該学習済み学習器の開発に利用したプログラム言語、又は、当該学習済み学習器の開発に利用したライブラリの少なくとも1つを含む、
ことを特徴とする請求項
12に記載の結合学習器形成装置。
【請求項14】
学習済み学習器群にアクセス可能な結合学習器形成装置であって、
ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部と、
前記結合学習器に関する解析であって、前記結合学習器に含まれる各前記学習済み学習器の学習処理をやり直す必要なく行える解析を行う解析部、
を備えることを特徴とする結合学習器形成装置。
【請求項15】
前記解析部は、前記結合学習器の複数の入力データそれぞれについての、前記結合学習器の出力データに与える影響度を分析する感度分析、前記ユーザにとっての前記結合学習器の最適出力データが得られるような前記結合学習器の入力データを遺伝的アルゴリズムによって探索する入力最適化処理、又は、所定範囲の複数の入力データに基づく前記結合学習器の出力データがとり得る範囲をモンテカルロシミュレーションにより探索する出力範囲探索処理の少なくとも1つを実行する、
ことを特徴とする請求項
14に記載の結合学習器形成装置。
【請求項16】
学習済み学習器群にアクセス可能なコンピュータを、
前記学習済み学習器群から選択された複数の学習済み学習器、結合学習器の入力データの数、及び、前記入力データそれぞれの入力先となる前記学習済み学習器、を示すユーザの指示を受け付け、前記ユーザの指示に応じて、選択された前記複数の学習済み学習器を組み合わせて、前記ユーザにより指定された数の前記複数の入力データが互いに異なる前記学習済み学習器に入力される結合学習器を形成する結合学習器形成部、
として機能させ
ることを特徴とする結合学習器形成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、結合学習器形成装置、結合学習器形成プログラム、及び、結合学習器形成プログラムを記録した非一時的な記録媒体に関する。
【背景技術】
【0002】
特許文献1には、ルールに従って予測対象の状態を予測するプロダクションシステムを学習モデルに変換する学習モデル構築装置であって、プロダクションシステムの入力である構築用入力データと、プロダクションシステムの発火ルールを規定した発火ルール情報とに基づいて学習された第1学習済みモデルと、当該発火ルールと、当該構築用入力データに対するプロダクションシステムの出力であるプロダクション出力とに基づいて学習された第2学習済みモデルとを組み合わせて、プロダクションシステムを模した第3学習モデルを形成する学習モデル構築装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ユーザが、自分又は当該ユーザ以外の他者が学習させた学習器を含む複数の学習済み学習器を自由に組み合わせることができるならば、既存の学習済み学習器の活用範囲が広がる、あるいは、ユーザが新たに学習器を学習させることなく、既存の(他者が学習させた)複数の学習済み学習器を利用して目的の処理を行うことができる、などの効果が期待できる。しかしながら、従来、ユーザが複数の学習済み学習器を組み合わせて利用できるようなシステムは提案されていない。
【0005】
本明細書で開示される結合学習器形成装置の目的は、複数の学習済み学習器をユーザが自由に組み合わせ可能とすることにある。
【課題を解決するための手段】
【0006】
本明細書で開示される結合学習器形成装置は、学習済み学習器群にアクセス可能な結合学習器形成装置であって、ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部と、を備えることを特徴とする。
【0007】
前記結合学習器形成部は、前記ユーザ以外の他者によって学習された学習器を含む前記複数の学習済み学習器を組み合わせて前記結合学習器を形成する、ことを特徴とする。
【0008】
前記結合学習器は、互いに異なるアルゴリズムで処理を行う複数の前記学習済み学習器を含んでもよい。
【0009】
前記結合学習器形成部は、前記結合学習器と、前記ユーザにより選択された学習済み学習器とを組み合わせて、新たな結合学習器を形成してもよい。
【0010】
前記結合学習器形成部は、前記複数の学習済み学習器の1つである第1学習器の出力データが、直接又は間接的に、前記複数の学習済み学習器の1つであり前記第1学習器とは異なる第2学習器に入力されるように、前記第1学習器と前記第2学習器とが連結された前記結合学習器を形成してもよい。
【0011】
前記第1学習器は、複数の出力データを出力し、前記第1学習器の複数の出力データのうちの一部は、直接又は間接的に前記第2学習器に入力され、前記第1学習器の複数の出力データのうちの他の一部は、前記結合学習器の出力データとされてもよい。
【0012】
前記第2学習器は、複数の出力データを出力し、前記第2学習器の複数の出力データのうちの一部は、前記第1学習器にフィードバック入力されてもよい。
【0013】
前記結合学習器形成部は、前記第1学習器の出力データを変換する変換モデルであって、変換後の当該出力データが前記第2学習器に入力されるように前記第2学習器に連結される変換モデルを含む前記結合学習器を形成してもよい。
【0014】
前記複数の学習済み学習器それぞれに対応する学習器アイコンを組み合わせて前記結合学習器の結合構造を決定可能な結合学習器形成インターフェースをディスプレイに表示させる表示制御部、をさらに備え、前記結合学習器形成部は、前記結合学習器形成インターフェースに対する前記ユーザの操作に応じて、前記結合学習器の結合構造を決定してもよい。
【0015】
前記表示制御部は、前記結合学習器形成インターフェースにおいて、前記結合学習器に含まれる学習済み学習器の少なくとも1つの入力に入力データが入力されない場合に警告を表示してもよい。
【0016】
前記複数の学習済み学習器それぞれの入力の入力名、及び、前記複数の学習済み学習器それぞれの出力の出力名を入力する入力インターフェースをディスプレイに表示させる表示制御部、をさらに備え、前記結合学習器形成部は、前記ユーザにより入力された前記第1学習器の出力の出力名と、前記ユーザにより入力された前記第2学習器の入力の入力名とが対応する場合に、前記第1学習器の当該出力と前記第2学習器の当該入力とを接続してもよい。
【0017】
前記学習済み学習器を学習させた者から取得した、当該学習済み学習器に関する属性情報、又は、当該学習済み学習器を学習させたときの学習データに関する学習データ情報の少なくとも一方を前記ユーザに提供する情報提供部、をさらに備えてもよい。
【0018】
前記属性情報は、入力データを当該学習済み学習器に入力する前に当該入力データに対して行うべき前処理に関する情報、当該学習済み学習器の開発に利用したプログラム言語、又は、当該学習済み学習器の開発に利用したライブラリの少なくとも1つを含む。
【0019】
前記結合学習器に関する解析であって、前記結合学習器に含まれる各前記学習済み学習器の学習処理をやり直す必要なく行える解析を行う解析部、をさらに備えてもよい。
【0020】
前記解析部は、前記結合学習器の複数の入力データそれぞれについての、前記結合学習器の出力データに与える影響度を分析する感度分析、前記ユーザにとっての前記結合学習器の最適出力データが得られるような前記結合学習器の入力データを遺伝的アルゴリズムによって探索する入力最適化処理、又は、所定範囲の複数の入力データに基づく前記結合学習器の出力データがとり得る範囲をモンテカルロシミュレーションにより探索する出力範囲探索処理の少なくとも1つを実行してもよい。
【0021】
本明細書で開示される結合学習器形成プログラムは、学習済み学習器群にアクセス可能なコンピュータを、ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部、として機能させることを特徴とする。
【0022】
また、本明細書で開示される記録媒体は、学習済み学習器群にアクセス可能なコンピュータを、ユーザの指示に応じて前記学習済み学習器群から複数の学習済み学習器を選択し、選択した前記複数の学習済み学習器を組み合わせて結合学習器を形成する結合学習器形成部、として機能させるための結合学習器形成プログラムを記録したコンピュータ読み取り可能な非一時的な記録媒体である。
【発明の効果】
【0023】
本明細書で開示される結合学習器形成装置によれば、複数の学習済み学習器をユーザが自由に組み合わることができる。
【図面の簡単な説明】
【0024】
【
図1】本実施形態に係る結合学習器形成システムの構成概略図である。
【
図2】本実施形態に係る結合学習器形成装置の構成概略図である。
【
図7】結合学習器形成インターフェースの例を示す図である。
【
図8】入力エラーに関する警告の表示例を示す図である。
【
図9】入出力名入力インターフェースの例を示す図である。
【
図10】学習済み学習器の属性情報の表示例を示す図である。
【
図11】学習済み学習器の学習データ情報の表示例を示す図である。
【
図12】入力データセット及び出力データセットを示す図である。
【
図13】変化入力データセット及び変化出力データセットを示す図である。
【
図14】各入力データそれぞれについての、出力データ毎の差分の絶対値の合計値を示す図である。
【
図15】各入力データの出力データそれぞれについての寄与度を示す図である。
【
図16】遺伝的アルゴリズムの処理の流れを示すフローチャートである。
【
図18】入力最適化の結果の表示例を示す図である。
【
図19】出力範囲探索の結果の表示例を示す図である。
【発明を実施するための形態】
【0025】
図1は、本実施形態に係る結合学習器形成システム10の構成概略図である。結合学習器形成システム10は、結合学習器形成システム10(すなわち後述する結合学習器形成サービス)の1又は複数のユーザが利用する1又は複数のユーザ端末12と、結合学習器形成装置14を含んで構成される。ユーザ端末12と結合学習器形成装置14は、LAN(Local Area Network)やインターネットなどの通信回線16を介して通信可能に接続される。
【0026】
ユーザ端末12は、例えば、パーソナルコンピュータ、タブレット端末、あるいはスマートフォンなどのコンピュータにより構成されるが、これらの装置に限られるものではない。ユーザ端末12は、通信回線16を介して結合学習器形成装置14と通信するための通信インターフェース、ユーザの命令を受け付けるための入力インターフェース、結合学習器形成装置14から提供される画面などを表示するディスプレイ、データを記憶するためのメモリ、各処理を実行するプロセッサなどを含んで構成される。
【0027】
結合学習器形成装置14は、本実施形態においてはサーバコンピュータであるが、以下に説明する機能を発揮可能な限りにおいて(換言すれば以下に説明する結合学習器形成サービスを提供可能な限りにおいて)、結合学習器形成装置14はどのような装置であってもよい。例えば、結合学習器形成装置14は、スタンドアロンで動作するコンピュータ(パーソナルコンピュータなど)であってもよい。また、以下に説明する結合学習器形成装置14の機能は、複数のコンピュータの協働によって実現されてもよい。
【0028】
結合学習器形成装置14は、結合学習器形成サービスをユーザに提供する装置である。ユーザとしては、結合学習器形成サービスにユーザ登録済みのユーザであってもよいが、結合学習器形成サービスはユーザ登録不要で利用可能であってもよい。詳しくは後述するが、結合学習器形成サービスとは、ユーザが、複数の学習済み学習器を選択し、選択した学習済み学習器を自由に組み合わせて結合学習器を形成できるサービスである。ユーザが選択できる学習済み学習器(換言すれば結合学習器に含まれる学習済み学習器)は、ユーザが学習処理を行った学習器のみならず、ユーザ以外の他者によって学習された学習器も含まれる。
【0029】
本実施形態では、結合学習器形成サービスの各ユーザは、自らが学習させた学習済み学習器を結合学習器形成サービスに登録することができる。これにより、当該ユーザは、自分の学習済み学習器を他者に利用してもらうことができるし、当該ユーザ以外の他のユーザは、当該ユーザの学習済み学習器を選択して結合学習器を形成することができるようになる。なお、学習済み学習器を結合学習器形成サービスに登録する、とは、学習済み学習器を結合学習器形成装置14に記憶させて登録することを含み、各ユーザが管理しているコンピュータに学習済み学習器を記憶させた上で、結合学習器形成装置14から当該学習済み学習器にアクセス可能な状態に置いた上で登録することも含む。結合学習器形成装置14は、各ユーザが学習させた学習済み学習器群にアクセス可能となっている。
【0030】
結合学習器形成サービスは、ユーザに対して、学習器の形成の支援や、学習済み学習器の解析を行う機能を備えていてもよい。例えば、結合学習器形成サービスは、遺伝的アルゴリズムなどを用いて、ユーザに対して、学習器の適切なハイパーパラメータ(エポック数、隠れ層数、隠れ層ニューロン数、ドロップアウト数、あるいは、バッチ数など)を提案する機能を備えていてもよい。あるいは、詳しくは後述するように、結合学習器形成サービスは、学習済み学習器に対して、感度分析、入力最適化処理、及び出力範囲探索処理などを行う機能を備えていていもよい。これらの機能により、結合学習器形成サービスへの学習済み学習器の登録を促し、ユーザがより多くの学習済み学習器から結合学習器を形成するための学習済み学習器を選択することができるようになる。
【0031】
図2は、本実施形態に係る結合学習器形成装置14の構成概略図である。
【0032】
通信インターフェース20は、例えばNIC(Network Interface Card)を含んで構成される。通信インターフェース20は、他の装置、特にユーザ端末12と通信する機能を発揮する。
【0033】
メモリ22は、例えばHHD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)、あるいはRAM(Random Access Memory)などを含んで構成される。メモリ22は、後述のプロセッサ26とは別に設けられてもよいし、少なくとも一部がプロセッサ26の内部に設けられていてもよい。メモリ22には、結合学習器形成装置14の各部を動作させるための結合学習器形成プログラムが記憶される。結合学習器形成プログラムは、コンピュータ(本実施形態では結合学習器形成装置14)が読み取り可能な非一時的な記録媒体に記録されることができる。その場合、結合学習器形成装置14は、当該記録媒体から結合学習器形成プログラムを読み込んで実行することができる。
【0034】
また、
図2に示す通り、メモリ22には学習器DB(DataBase)24が記憶される。学習器DB24には、結合学習器形成サービスのユーザによって学習された学習済み学習器が登録される。具体的には、学習器DB24には、ユーザを識別するユーザIDと、当該ユーザが登録した学習済み学習器とが関連付けられて記憶される。なお、学習済み学習器の実体は、当該学習済み学習器の構造を定義するプログラム、当該学習済み学習器に関する各種パラメータ、及び、入力データに対して処理を行うための処理実行プログラムなどである。したがって、学習器DB24に学習済み学習器が記憶されるとは、上記プログラムや各種パラメータが学習器DB24に記憶されることを意味する。
【0035】
上述のように、ユーザが結合学習器形成サービスに登録した学習済み学習器は、当該ユーザが管理しているコンピュータに記憶されていてもよい。その場合、学習器DB24には、学習済み学習器に代えて、ユーザのコンピュータに記憶された学習済み学習器のアクセス先(例えばURL(Uniform Resource Locator))が登録される。当該アクセス先の情報は、ユーザが学習済み学習器を登録する際にユーザから提供される。
【0036】
ユーザは、自由に学習器を形成して学習させることができるため、学習器DB24には、様々なアルゴリズムで処理を行う学習済み学習器群が登録され得る。例えば、学習器DB24には、ニューラルネットワーク、畳込みニューラルネットワーク、再起型ニューラルネットワーク、サポートベクタマシン、ロジスティック回帰、あるいはランダムフォレストなどのアルゴリズムで処理を行う学習済み学習器群が登録され得る。また、学習器DB24には、同じアルゴリズムで処理を行う学習済み学習器であっても、入力データの数(換言すれば入力ベクトルの要素数)が互いに異なる、あるいは、出力データの数(換言すれば出力ベクトルの要素数)が互いに異なる学習済み学習器群が登録され得る。
【0037】
また、学習器DB24に登録される学習済み学習器群は、様々な学習方法で学習されたものであってよい。例えば、学習器DB24には、教師あり学習、教師なし学習、あるいは強化学習などの種々の方法で学習された学習済み学習器群が登録され得る。また、学習器DB24に登録される学習済み学習器のうち、学習データを用いて学習された学習済み学習器は、様々な目的で利用されるように様々な学習データを用いて学習された学習済み学習器であってよい。
【0038】
学習器DB24において、ユーザID及び学習済み学習器(又は学習済み学習器のアクセス先)に対して、さらに、当該学習済み学習器に関する属性情報、又は、当該学習済み学習器を学習させたときの学習データに関する学習データ情報が関連付けられて記憶されるとよい。属性情報及び学習データ情報は、当該学習済み学習器を学習させたユーザから提供されて学習器DB24に記憶される。属性情報及び学習データ情報の詳細については後述する。
【0039】
さらに、学習器DB24には、ユーザIDに関連付けて、当該ユーザの指示に応じて形成された結合学習器が関連付けられて記憶される。
【0040】
プロセッサ26は、汎用的な処理装置(例えばCPU(Central Processing Unit)など)、及び、専用の処理装置(例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、あるいは、プログラマブル論理デバイスなど)の少なくとも1つを含んで構成される。プロセッサ26としては、1つの処理装置によるものではなく、物理的に離れた位置に存在する複数の処理装置の協働により構成されるものであってもよい。
図2に示す通り、プロセッサ26は、メモリ22に記憶された結合学習器形成プログラムにより、結合学習器形成部28、処理実行部30、表示制御部32、及び解析部34としての機能を発揮する。
【0041】
結合学習器形成部28は、ユーザの指示に応じて、学習器DB24に登録された学習済み学習器群から複数の学習済み学習器を選択し、選択した複数の学習済み学習器を組み合わせて結合学習器を形成する。
【0042】
図3は、結合学習器40の概念図である。ユーザが、ユーザ端末12から結合学習器形成サービス(つまり結合学習器形成装置14)にログインし、学習器DB24から複数の学習済み学習器を選択し、これらの組み合わせ方を指示することで、結合学習器形成部28は、選択された複数の学習済み学習器を組み合わせた結合学習器40を形成する。
図3に示された結合学習器40aは、ユーザによって学習器1、学習器2、学習器3、学習器4の4つの学習器が選択され、これらが組み合わされて形成されている。なお、結合学習器40は、同じ学習済み学習器を複数含んでいてもよい。例えば、結合学習器40aにおいて学習器1が2つ含まれていてもよい。
【0043】
ここで、ユーザによって選択された複数の学習済み学習器の少なくとも1つは、これらを選択したユーザ以外の他者によって学習された学習済み学習器であってよい。つまり、ユーザは、他者が何らかの目的で学習させた学習済み学習器を利用して、結合学習器40を形成することができる。また、ユーザによって選択された複数の学習済み学習器は、全て当該ユーザによって学習された学習済み学習器であってもよい。
【0044】
上述ように、学習器DB24には、様々なアルゴリズムで処理を行う学習済み学習器群が登録され得る。したがって、結合学習器40には、互いに異なるアルゴリズムで処理を行う複数の学習済み学習器を含むことができる。例えば、結合学習器40aにおいて、学習器1及び2はニューラルネットワークで処理を行うニューラルネットワークモデルであり、学習器3はランダムフォレストで処理を行うランダムフォレストモデルであり、学習器4はガウス回帰により処理を行うガウス回帰モデルであってよい。
【0045】
ユーザは、複数の学習済み学習器の結合方法も自由に選択することができる。具体的には、ユーザが選択した各学習済み学習器が有する各入力及び各出力の接続先をユーザが指定することができる。
【0046】
また、ユーザは、結合学習器40の入力データ及び出力データの数、各入力データの入力先、並びに、結合学習器40の各出力データを指示することができる。当該指示に応じて、結合学習器形成部28は、結合学習器40の入力データの数及び出力データの数、各入力データの入力先、並びに、結合学習器40の各出力データを決定する。例えば、
図3に示す結合学習器40aにおいては、入力データの数が7つ(I1~I7で表される)であり、出力データの数が3つ(O1~O3で表される)である。また、入力データI1~I4の入力先が学習器1であり、入力データI5及びI6の入力先が学習器3であり、入力データI7の入力先が学習器4である。また、出力データO1は学習器1の出力データのうちの1つである出力データo11であり、出力データO2~O3は学習器2の出力データo21及びo22となっている。
【0047】
このように、複数の学習済み学習器を結合して結合学習器40を形成する、とは、複数の学習済み学習器の各入力及び出力の接続先、結合学習器40の各入力データの接続先(入力先)、及び、結合学習器40の各出力データを決定することを意味する。なお、学習済み学習器が複数の入力を有している場合、当該複数の入力の中に、入力データが入力されないものがあると、当該学習済み学習器の出力データがエラーとなってしまう。したがって、結合学習器40に含まれる各学習済み学習器の全ての入力には、結合学習器40の入力データ、又は、他の学習済み学習器の出力が接続される必要がある。一方、学習済み学習器が複数の出力を有している場合、当該複数の出力全てが、結合学習器40の出力データ、又は、他の学習済み学習器の入力に接続される必要はない。すなわち、学習済み学習器の複数の出力データのうち、利用しない出力データがあってもよい。
【0048】
特に、結合学習器形成部28は、ユーザの指示に応じて、当該ユーザに選択された複数の学習済み学習器の1つである第1学習器の出力データが、直接又は間接的に、当該複数の学習済み学習器の1つであり第1学習器とは異なる第2学習器に入力されるように、第1学習器と第2学習器とが連結された結合学習器40を形成することができる。例えば、結合学習器40aにおいては、第1学習器としての学習器1の出力データo12が、直接、第2学習器としての学習器2の入力データi21として学習器2に入力されるように、学習器1と学習器2とが連結されている。本明細書では、上述のように学習器1と学習器2とを連結することを、「学習器1の後に学習器2を連結する」、あるいは、「学習器2の前に学習器1を連結する」、というように記載する。なお、結合学習器40aにおいては、学習器1の後に学習器2が連結されるのみであるが、学習器2の後に、さらに他の学習済み学習器を1又は複数段連結してもよい。
【0049】
また、第1学習器の後に連結された第2学習器が複数の出力データを出力する場合、結合学習器形成部28は、ユーザの指示に応じて、第2学習器の複数の出力データのうちの一部が第1学習器にフィードバック入力される結合学習器40を形成することができる。例えば、
図4に示す結合学習器40bにおいては、第2学習器としての学習器2が複数の出力データo21,o22,o23を出力し、そのうちの出力データo21が第1学習器としての学習器1の入力データi11として学習器1にフィードバック入力されている。なお、フィードバック入力である入力データi11の初期値は適当な値が入力されてよい。また、フィードバック入力を含む結合学習器40bにおいては、フィードバック入力に起因して、入力データI1~4を入力してから出力データO1,O2がしばらく安定しない場合がある。その場合は、出力データO1,O2が安定した後の出力データO1,O2を結合学習器40bの出力データとするとよい。
【0050】
また、第2学習器の前に連結された第1学習器が複数の出力データを出力する場合、結合学習器形成部28は、ユーザの指示に応じて、第1学習器の複数の出力データのうちの一部が直接又は間接的に第2学習器に入力され、第1学習器の複数の出力データのうちの他の一部が結合学習器40の出力データとすることができる。例えば、
図3に示す結合学習器40aにおいては、第1学習器としての学習器1が複数の出力データo11及びo12を出力し、そのうちの出力データo12が第2学習器としての学習器2の入力データi21として学習器2に入力され、出力データo11が結合学習器40aの出力データO1とされている。
【0051】
第1学習器の後に第2学習器を連結する場合、すなわち、第1学習器の出力データを第2学習器に入力する場合、第1学習器の出力データを変換した上で、第2学習器に入力させたい場合がある。例えば、第1学習器の複数の出力データを演算し、その演算結果を第2学習器に入力させたい場合がある。
【0052】
このことに鑑み、結合学習器形成部28は、ユーザの指示に応じて、第1学習器の出力データを変換する変換モデルであって、変換後の当該出力データが第2学習器に入力されるように第2学習器に連結される変換モデルを含む結合学習器40を形成することができるとよい。例えば、
図5に示す結合学習器40cにおいては、第1学習器としての学習器1の後であって第2学習器としての学習器2の前に変換モデルが連結されている。当該変換モデルは、学習器1の2つの出力データo11及びo12を入力データim1及びim2とし、入力データim1及びim2を出力データom1に変換するモデルである。変換モデルの出力データom1は、学習器2の入力データi21として学習器2に入力される。この場合、学習器1の出力データo11及びo12が、間接的に学習器2に入力されていると言える。
【0053】
変換モデルは、結合学習器形成サービスにおいてユーザが作成可能であってよい。あるいは、結合学習器形成サービスにおいて、いくつかの変換モデルが予め用意されており、ユーザは、その中から所望の変換モデルを選択できるようになっていてもよい。
【0054】
第1学習器の出力データのデータ形式が第2学習器の入力データとして不適切である場合がある。例えば、第1学習器の出力データ数と第2学習器の入力データ数が違う、第1学習器の出力データのスケールと第2学習器の入力データのスケールとが違う、あるいは、第1学習器の出力データが空白(NaN(Not a Number))を含むが第2学習器がNaNの入力を受け付けない(エラーとなる)場合がある。このような場合にも、変換モデルを用いることができる。すなわち、変換モデルは、第1学習器の複数の出力データを所定数のデータに変換する処理、第1学習器の出力データのスケールを変換する処理、あるいは、第1学習器の出力データに含まれるNaNを第2学習器が受け付け可能なデータに変換する処理などを行うことができる。
【0055】
上述のように、ユーザの指示に応じて結合学習器形成部28によって形成された結合学習器40は、当該ユーザのユーザIDに関連付けられて学習器DB24に登録される。結合学習器40を登録しておくことで、ユーザはいつでも当該結合学習器40を学習器DB24から読み出して利用することができる。
【0056】
また、ユーザは、新たな結合学習器40を構成する学習済み学習器として、過去に形成し学習器DB24に登録された結合学習器40を用いることができる。換言すれば、結合学習器形成部28は、ユーザが過去に形成し学習器DB24に登録した結合学習器40と、当該ユーザが学習器DB24から選択した学習済み学習器とを組み合わせて、新たな結合学習器40を形成することができる。例えば、
図6に示す結合学習器40dにおいては、学習器2の前に結合学習器40b(
図4参照)が連結されている。
【0057】
図2に戻り、処理実行部30は、結合学習器形成部28が形成した結合学習器40を用いた処理を実行する。具体的には、結合学習器40及びその入力データをユーザが指定すると、処理実行部30は、当該入力データを結合学習器40に入力する。例えば、ユーザが
図3に示す結合学習器40aを指定し、入力データとしてI1~I7を指定したとする。この場合、処理実行部30は、まず、結合学習器40aの構造に従って、指定された入力データI1~I4を学習器1に入力し、入力データI5及びI6を学習器3に入力し、入力データI7を学習器4に入力する。次いで、処理実行部30は、入力データI1~I4に対する学習器1の出力データo11を結合学習器40aの出力データO1とし、入力データI1~I4に対する学習器1の出力データo12、入力データI5及びI6に対する学習器3の出力データo3、及び、入力データI7に対する学習器4の出力データo4を、それぞれ、学習器2の入力データi21,i22,i23として学習器2に入力する。最後に、処理実行部30は、入力データi21,i22,i23に対する学習器2の出力データo21及びo22を結合学習器40aの出力データO2及びO3とする。処理実行部30は、このようにして得られた出力データO1~O3をユーザに提供する。
【0058】
ここで、結合学習器40に含まれる学習済み学習器が学習器DB24に記憶されておらず、当該学習済み学習器を学習させたユーザが管理するコンピュータに記憶されている場合がある。その場合、処理実行部30は、当該学習済み学習器の入力データを当該コンピュータに送信し、当該コンピュータにおいて、当該学習済み学習器の処理を実行させ。その上で、処理実行部30は、当該学習済み学習器の出力データを当該コンピュータから受信する。例えば、結合学習器40aのうち、学習器1が結合学習器形成装置14以外のコンピュータに記憶されているとする。この場合、処理実行部30は、入力データI1~I4を当該コンピュータに送信する。そして、当該コンピュータは、入力データI1~I4に対する学習器1の出力データo11及びo12を得て、出力データo11及びo12を結合学習器形成装置14に送信する。処理実行部30は、受信した出力データo11を出力データO1とし、出力データo21を学習器2の入力データi21として学習器2に入力する。
【0059】
表示制御部32は、結合学習器形成サービスが提供する画面をユーザ端末12のディスプレイに表示させる。特に、表示制御部32は、ユーザが結合学習器40をグラフィカルに形成するための画面である結合学習器形成インターフェースをユーザ端末12のディスプレイに表示させる。
【0060】
図7は、結合学習器形成インターフェース50の例を示す図である。
図7に示された結合学習器形成インターフェース50は、学習器アイコン表示エリア52及び結合学習器表示エリア54を含んで構成されている。表示制御部32は、学習器アイコン表示エリア52において、結合学習器40に組み込むことができる複数の学習済み学習器(つまり、学習器DB24に登録されている学習済み学習器群)にそれぞれ対応する学習器アイコン56を表示させる。なお、学習器DB24に過去に形成された結合学習器40が登録されている場合は、表示制御部32は、当該結合学習器40に対応する学習器アイコン56を表示させることができる。
【0061】
ユーザは、結合学習器形成インターフェース50に対する操作によって、結合学習器40の結合構造を決定することができる。換言すれば、結合学習器形成部28は、結合学習器形成インターフェース50に対するユーザの操作に応じて、結合学習器40の結合構造を決定する。例えば、
図7に示すように、ユーザは、学習器アイコン表示エリア52に表示された学習器アイコン56を結合学習器表示エリア54にドラッグアンドドロップすることで、当該学習器アイコン56に対応する学習済み学習器を結合学習器40に組み込むことができる。
【0062】
また、ユーザの所定の操作に応じて、表示制御部32は、結合学習器40の1又は複数の入力データに対応する1又は複数の入力データアイコン58、及び、結合学習器40の1又は複数の出力データに対応する1又は複数の出力データアイコン60を結合学習器表示エリア54に表示させる。さらに、ユーザの結合学習器表示エリア54に対する操作に応じて、表示制御部32は、入力データアイコン58、学習器アイコン56の入力若しくは出力、又は、出力データアイコン60との間を接続するエッジアイコン62を表示させる。ユーザは、エッジアイコン62により、入力データアイコン58、学習器アイコン56の入力又は出力、並びに、出力データアイコン60の接続関係を設定することができる。結合学習器表示エリア54において当該接続関係が見やすいように、表示制御部32は、ユーザの指示に応じて、入力データアイコン58、学習器アイコン56、及び、出力データアイコン60の表示位置を適宜変更するとよい。
【0063】
結合学習器形成部28は、結合学習器表示エリア54において、ユーザによって組み合わされた、学習器アイコン56、入力データアイコン58、出力データアイコン60、及びエッジアイコン62に基づいて、結合学習器40を形成する。
【0064】
上述のように、結合学習器40に含まれる各学習済み学習器の入力には、結合学習器40の入力データ、又は、他の学習済み学習器の出力が接続される必要がある。したがって、表示制御部32は、結合学習器表示エリア54において、結合学習器40に含まれる学習済み学習器の少なくとも1つの入力に入力データが入力されない場合(入力エラーがある場合)に警告を表示するとよい。
【0065】
図8は、入力エラーに関する警告の表示例を示す図である。
図8の例では、「model2」と記載された学習器アイコン56の入力や、「O1」と記載された出力データアイコン60には何も接続されていない。したがって、表示制御部32は、当該学習器アイコン56の近傍、及び、当該出力データアイコン60の近傍に警告アイコン64を表示させている。また、「model3」と記載された学習器アイコン56に対応する学習済み学習器は複数の入力を有しているとする。
図8の例では、「model3」と記載された学習器アイコン56には、1つの入力しか接続されていない。したがって、表示制御部32は、当該学習器アイコン56の近傍に警告アイコン64を表示させている。
【0066】
また、表示制御部32は、ユーザが選択した複数の学習済み学習器それぞれの入力の入力名、及び、ユーザが選択した複数の学習済み学習器それぞれの出力の出力名を入力するための画面である入出力名入力インターフェースをディスプレイに表示させる。
【0067】
図9は、入出力名入力インターフェース65の例を示す図である。入出力名入力インターフェース65においては、ユーザが選択した複数の学習済み学習器それぞれの入力名と出力名との一覧が表示されている。入出力名入力インターフェース65において、ユーザがある学習済み学習器の入力を選択すると、当該入力の入力名を入力することができるようになっている。また、ユーザがある学習済み学習器の出力を選択すると、当該出力の出力名を入力することができるようになっている。学習済み学習器の入力又出力が多い場合には、ユーザはルールを設定して、当該ルールに従って複数の入力の入力名、又は、複数の出力の出力名を一括入力可能であってもよい。
【0068】
入出力名入力インターフェース65において、ユーザが各学習済み学習器の入力名及び出力名を入力すると、結合学習器形成部28は、各学習済み学習器の入力名及び出力名に基づいて、複数の学習済み学習器の入力と出力とを接続するようにしてもよい。具体的には、結合学習器形成部28は、第1学習器の出力の出力名と、第2学習器の入力の入力名とが対応する場合に、第1学習器の当該出力と第2学習器の当該入力とを接続するようにしてもよい。
【0069】
第1学習器の出力の出力名と、第2学習器の入力の入力名とが対応する場合とは、例えば、第1学習器の出力の出力名と、第2学習器の入力の入力名とが同一である場合であるが、これには限られない。例えば、各学習済み学習器の入力名が「i〇〇」で表され、各学習済み学習器の出力名が「o〇〇」で表される場合、「〇〇」が部分が同一である場合に、入力「i〇〇」と出力「o〇〇」とが対応しているとしてもよい。
【0070】
ユーザは、結合学習器40を形成する際に、結合学習器40に組み込む学習済み学習器の属性情報を知りたい場合がある。学習済み学習器の属性情報とは、これらに限られるものではないが、例えば、入力データを当該学習済み学習器に入力する前に当該入力データに対して行うべき前処理に関する情報、当該学習済み学習器の開発に利用したプログラム言語、あるいは、当該学習済み学習器の開発に利用したライブラリなどがある。上述のように、これらの属性情報は、当該学習済み学習器を学習させたユーザから提供されて、当該学習済み学習器に関連付けられて学習器DB24に記憶されている。
【0071】
したがって、情報提供部としての表示制御部32は、学習済み学習器の属性情報をユーザに提供するとよい。本実施形態では、表示制御部32は、結合学習器形成インターフェース50に属性情報を表示させることで、当該属性情報をユーザに提供する。
【0072】
図10は、学習済み学習器の属性情報の表示例を示す図である。例えば、マウスカーソルを学習器アイコン56上に合わせるなどして、ユーザが学習器アイコン56を選択すると、表示制御部32は、学習器DB24を参照し、選択された学習器アイコン56に対応する学習済み学習器に関連付けられている属性情報を特定する。その上で、特定した属性情報66を結合学習器形成インターフェース50に表示させる。これにより、ユーザは、所望の学習済み学習器の属性情報を容易に把握することができる。
【0073】
また、ユーザは、結合学習器40を形成する際に、結合学習器40に組み込む学習済み学習器を学習させたときに用いた学習データに関する学習データ情報を知りたい場合がある。上述のように、学習データ情報も、当該学習済み学習器を学習させたユーザから提供されて、当該学習済み学習器に関連付けられて学習器DB24に記憶されている。
【0074】
したがって、情報提供部としての表示制御部32は、学習済み学習器の学習データ情報をユーザに提供するとよい。本実施形態では、属性情報同様、表示制御部32は、結合学習器形成インターフェース50に学習データ情報を表示させることで、当該学習データ情報をユーザに提供する。
【0075】
図11は、学習済み学習器の学習データ情報の表示例を示す図である。例えば、マウスカーソルを学習器アイコン56上に合わせるなどして、ユーザが学習器アイコン56を選択すると、表示制御部32は、学習器DB24を参照し、選択された学習器アイコン56に対応する学習済み学習器に関連付けられている学習データ情報を特定する。その上で、特定した学習データ情報68を結合学習器形成インターフェース50に表示させる。これにより、ユーザは、所望の学習済み学習器の学習データ情報を容易に把握することができる。
【0076】
図2に戻り、解析部34は、結合学習器形成部28により形成された結合学習器40を解析する処理を実行する。学習器の解析内容としては種々の内容があり、中には、学習器の再学習が必要となる解析内容もある。例えば、学習器に入力される複数の入力データのうちの1つの入力データを入力させない場合の当該学習器の出力データを解析する要因分析においては、当該入力データを入力させない環境において当該学習データを再学習させなければならなくなる。結合学習器40は、ユーザ以外の他者が学習させた学習済み学習器を含み得るものであるから、結合学習器40を解析する際に、結合学習器40、すなわちそれに含まれる各学習済み学習器の再学習をユーザが勝手に行うのは適切ではない場合がある。
【0077】
したがって、解析部34は、結合学習器40に含まれる各学習済み学習器の学習処理をやり直す必要なく行える、結合学習器に関する解析を行う。結合学習器40に含まれる各学習済み学習器の学習処理をやり直す必要なく行える解析としては、これらに限られるものではないが、例えば、結合学習器40の複数の入力データそれぞれについての、結合学習器40の出力データに与える影響度を分析する感度分析、ユーザにとっての結合学習器40の最適出力データが得られるような結合学習器の入力データを遺伝的アルゴリズムによって探索する入力最適化処理、あるいは、所定範囲の複数の入力データに基づく結合学習器40の出力データがとり得る範囲をモンテカルロシミュレーションにより探索する出力範囲探索処理などがある。
【0078】
なお、解析部34は、結合学習器40のみならず、学習器DB24に登録されている学習済み学習器に対しても上述の解析を行うことができる。
【0079】
以下、解析部34が行う各解析内容を説明する。ここでは、解析対象の結合学習器40は、3つの入力データI1~I3が入力されるものであり、2つの出力データO1,O2を出力するものであるとする。
【0080】
まず、感度分析について説明する。感度分析において、まず、解析部34は、入力データI1~I3のセット(以下「入力データセット」と呼ぶ)を複数用意し、各セットを結合学習器40に入力したときの出力データO1,O2(以下「出力データセット」と呼ぶ)を取得する。これにより、
図12に示すように、入力データセット70と出力データセット72との組み合わせが複数取得される。
【0081】
次いで、解析部34は、
図13に示すように、入力データセットのうちの1つの入力データ(すなわち入力データI1、I2又はI3)の値を微小に変化させた変化入力データセット74を生成する。ここでは、入力データI1を微小に変化させたとする。そして、値を変化させた入力データI1を含む変化入力データセット74を結合学習器40に入力し、それに対する出力データセットである変化出力データセット76を取得する。その上で、解析部34は、入力データを変更させる前の出力データセット72と、変化出力データセット76との差分を演算する。具体的には、入力データを変更させる前の出力データセット72の出力データO1と、変化出力データセット76の出力データO1との差分を演算し、出力データセット72の出力データO2と、変化出力データセット76の出力データO2との差分の絶対値(以下、単に「差分の絶対値」と記載する)を演算する。当該差分の絶対値は、入力データI1が結合学習器40の出力データに与える影響度(感度)を示す指標となる。解析部34は、当該差分の絶対値と入力データI1とを関連付けて保持しておく。
【0082】
解析部34は、上述のような処理を、各入力データセット70について繰り返す。また、解析部34は、微小に変化させる入力データを変更して、上述の処理を繰り返す。
図13には、入力データI2を微小に変化させたときの変化入力データセット78と、当該変化入力データセット78に対する変化出力データセット80、及び、入力データI3を微小に変化させたときの変化入力データセット82と、当該変化入力データセット82に対する変化出力データセット84が示されている。
【0083】
上述の処理によって、各入力データI1,I2,I3の出力データO1,O2についての差分の絶対値の統計データを得ることができる。本実施形態では、解析部34は、各入力データI1,I2,I3それぞれについて、出力データO1,O2毎に、差分の絶対値の合計値を演算する。当該演算結果の例が
図14に示されている。当該演算結果において、値が大きい程、当該入力データが当該出力データに与える影響が大きい、換言すれば感度が大きいと言える。例えば、
図14において、出力データO1について見ると、入力データI1の差分の絶対値の合計値は「3.19」となっており、入力データI3の差分の絶対値の合計値は「6.32」となっているから、入力データI1よりも入力データI3の方が、出力データO3に与える影響が大きいと言える。
【0084】
解析部34は、出力データO1,O2毎に、各入力データI1,I2,I3についての値の合計が100となるように、差分の絶対値を正規化するようにしてもよい。正規化された値を寄与度とすることができる。
図15には、正規化により得られた、各入力データI1,I2,I3の、出力データO1,O2それぞれについての寄与度が示されている。
【0085】
なお、上述の感度分析の例では、解析部34は、入力データを変更させる前の出力データセット72と、変化出力データセット76との差分の絶対値を演算していたが、差分が正の値となる場合と負の値となる場合とに分けて、個別に各入力データの感度を演算するようにしてもよい。
【0086】
次に、入力最適化処理について説明する。本実施形態では、解析部34は、遺伝的アルゴリズムを用いて、入力最適化処理を実行する。遺伝的アルゴリズムを実行するに先立って、解析部34は、ユーザが望む結合学習器40の出力データ(以下「理想出力データ」と記載する)をユーザから取得しておく。なお、入力最適化処理とは、最適な入力データ(すなわち理想出力データを得ることができる入力データ)を探索する処理を意味し、入力最適化処理によって必ずしも最適な入力データが得られるわけではない。
【0087】
図16は、遺伝的アルゴリズムの処理の流れを示すフローチャートである。まず、解析部34は、ステップS10において、第1世代の複数の「個体」を生成する。本実施形態では、「個体」は、複数の入力データI1,I2,I3を含む入力データセットである。個体に含まれる各入力データI1,I2,I3は「遺伝子」と呼ばれる。個体としての入力データセットはランダムに生成されてよい。すなわち、各入力データセットに含まれる各入力データI1,I2,I3の値はランダムに設定されてよい。
【0088】
ステップS12において、解析部34は、第1世代の各個体についての「適用度」を演算する。適用度とは、個体が理想解(本実施形態では理想出力データ)にどの程度近いのかを示す指標である。本実施形態では、個体としての入力データセットを結合学習器40に入力したときの出力データセットと理想出力データとの差分(より詳しくは、出力データセットの出力データO1と理想出力データの出力データO1との差分、及び、出力データセットの出力データO2と理想出力データの出力データO2との差分)が適用度として演算される。
【0089】
ステップS14において、解析部34は、演算された各個体の適用度に基づいて、第1世代の複数の個体の遺伝子(つまり入力データI1,I2,I3)を操作する遺伝的操作を実行する。遺伝的操作とは、例えば、適応度に応じて個体を選択する「選択」、複数の個体間で遺伝子を交換する「交叉」、及び、個体の一部の遺伝子を変化させる「突然変異」などがある。このような遺伝的操作により、前世代よりも適用度が高い個体が生成されることが期待される。遺伝的操作された複数の個体は次世代(ここでは第2世代)の複数の個体となる。
【0090】
ステップS16において、解析部34は、所定の終了条件を満たしたか否かを判定する。終了条件とは、例えば、特定の世代数に達したこと、あるいは、現世代の複数の個体の適応度の平均値が所定値以上となることなどであってよく、ユーザなどによって予め設定される。終了条件を満たしてない場合はステップS12に戻る。再度のステップS12において、解析部34は、現世代(ここでは第2世代)の各個体の適用度を演算し、再度のステップS14において、解析部34は、演算された各個体の適用度に基づいて、第2世代の複数の個体に対して遺伝的操作を実行して第3世代の複数の個体を生成する。このようなステップS12及びS14の処理が終了条件を満たすまで繰り返される。
【0091】
ステップS16において終了条件を満たすと判定された場合、ステップS18に進む。ステップS18において、解析部34は、現世代の複数の個体の中から1又は複数の個体を選択し、これを遺伝的アルゴリズムによる入力最適化処理の結果として出力する。
【0092】
最後に、出力範囲探索処理について説明する。本実施形態では、解析部34は、モンテカルロシミュレーションにより出力範囲探索処理を実行する。具体的には、まず、解析部34は、各入力データI1,I2,I3それぞれの最大値及び最小値の指定をユーザから受け付ける。そして、解析部34は、ユーザから受けた指定の範囲内で複数の(膨大な数の)入力データセットをランダムに生成し、各入力データセットを結合学習器40に入力して、各入力データセットに対する出力データセットを取得する。このようにして得られた複数の(膨大な数の)出力データセットに基づいて、解析部34は出力データO1,O2が取り得る数値の範囲を探索する。
【0093】
表示制御部32は、解析部34の解析結果をユーザ端末12のディスプレイに表示させる。
【0094】
図17は、感度分析の結果の表示例を示す図である。
図17の例では、感度分析の結果として、各入力データI1,I2,I3の、出力データO1,O2それぞれについての寄与度(
図15参照)が示されている。
【0095】
図18は、入力最適化処理の結果の表示例を示す図である。
図18の例では、入力最適化処理の結果として、横軸を出力データO1、縦軸を出力データO2とし、入力データセットに対応するプロット90を含むグラフが示されている。
図18の例は、出力データO1,O2がいずれも小さい方が良い場合の入力最適化処理であり、グラフ上において、理想の入力データのプロット90がとり得る位置が曲線92で表されている。
【0096】
図19は、出力範囲探索処理の結果の表示例を示す図である。
図19の例では、出力範囲探索処理の結果として、横軸を出力データO1、縦軸を出力データO2とし、モンテカルロシミュレーションにより得られた出力データセットを表すプロット94を含むグラフが示されている。当該グラフには、解析部34が演算した出力データO1,O2が取り得る範囲を示す枠96が示されている。
【0097】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【0098】
10 結合学習器形成システム、12 ユーザ端末、14 結合学習器形成装置、16 通信回線、20 通信インターフェース、22 メモリ、24 学習器DB、26 プロセッサ、28 結合学習器形成部、30 処理実行部、32 表示制御部、34 解析部、40,40a,40b,40c,40d 結合学習器、50 結合学習器形成インターフェース、52 学習器アイコン表示エリア、54 結合学習器表示エリア、56 学習器アイコン、58 入力データアイコン、60 出力データアイコン、62 エッジアイコン、64 警告アイコン、65 入出力名入力インターフェース、66 属性情報、68 学習データ情報、70 入力データセット、72 出力データセット、74,78,82 変化入力データセット、76,80,84 変化出力データセット、90,94 プロット、92 曲線、96 枠。