(57)【特許請求の範囲】
【請求項１】
それぞれが、入力された信号値を他の信号値若しくはメタ情報に変換するか、又は、入力されたメタ情報を信号値若しくは他のメタ情報に変換して、変換後の前記信号値又は変換後の前記メタ情報を出力情報として出力する複数の変換部と、
前記複数の変換部の互いの接続関係を示すパイプライン情報に基づいて、前記複数の変換部に変換処理を順次実行させるパイプライン部と、
前記パイプライン情報に基づいて前記パイプライン部が前記複数の変換部のうち最後に変換処理を実行させる変換部である１以上の最終変換部により出力された前記出力情報を用いて推論を行い、推論結果を示す推論情報を出力する推論部と、
前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係を可視化する画像情報を生成する画像生成部と、
前記画像生成部が生成した前記画像情報を出力する出力制御部と、
を備えたこと
を特徴とする開発支援装置。
【請求項２】
入力装置が出力する操作情報を取得する操作取得部、
を備え、
前記画像生成部は、前記操作取得部が取得した操作情報に基づいて、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、又は前記１以上の最終変換部と前記推論部との接続関係を、前記画像情報が示す画像において変更するように前記画像情報を生成すること
を特徴とする請求項１記載の開発支援装置。
【請求項３】
前記操作取得部が取得した操作情報に基づいて、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、又は前記１以上の最終変換部と前記推論部との接続関係を変更するパイプライン変更部、
を備えたこと
を特徴とする請求項２記載の開発支援装置。
【請求項４】
前記１以上の最終変換部が出力する前記出力情報を解釈して所定の形式の情報に加工し、加工後の情報を設計利用情報として出力する結果解釈部、
を備え、
前記画像生成部は、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係を可視化するのに加えて、前記設計利用情報についても可視化した前記画像情報を生成すること
を特徴とする請求項１記載の開発支援装置。
【請求項５】
前記結果解釈部は、前記推論部が教師あり学習モデルを用いて推論するものである場合、前記推論部に接続される前記１以上の最終変換部が出力する前記出力情報を解釈して、特徴量の重要度を算出し、算出した前記特徴量の重要度を前記設計利用情報として出力すること
を特徴とする請求項４記載の開発支援装置。
【請求項６】
前記結果解釈部は、前記推論部が確率モデルを用いて推論するものである場合、前記推論部に接続される前記１以上の最終変換部が出力する前記出力情報を解釈して、確率モデルにおけるパラメータを算出し、算出した確率モデルにおけるパラメータを前記設計利用情報として出力すること
を特徴とする請求項４記載の開発支援装置。
【請求項７】
前記結果解釈部は、前記推論部が行列分析モデルを用いて推論するものである場合、前記推論部に接続される前記１以上の最終変換部が出力する前記出力情報を解釈して、基底ベクトルを算出し、算出した前記基底ベクトルを前記設計利用情報として出力すること
を特徴とする請求項４記載の開発支援装置。
【請求項８】
前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係により期待される性能を高めるように自動で設計する自動設計部、
を備えること
を特徴とする請求項１記載の開発支援装置。
【請求項９】
前記自動設計部は、前記複数の変換部のうち１以上の変換部又は前記推論部が用いるパラメータを自動で変更することにより、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係により期待される性能を高めること
を特徴とする請求項８記載の開発支援装置。
【請求項１０】
前記自動設計部は、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、又は前記１以上の最終変換部と前記推論部との接続関係を自動で変更することにより、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係により期待される性能を高めること
を特徴とする請求項８記載の開発支援装置。
【請求項１１】
前記複数の変換部が出力する前記出力情報、又は、前記複数の変換部のうち最初に変換処理を実行させる変換部である１以上の初期変換部に入力される入力データを、分布又は波形として可視化するための可視化出力情報に加工し、加工した前記可視化出力情報を出力する可視化加工部を備え、
前記画像生成部は、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係を可視化するのに加えて、前記可視化加工部が出力する前記可視化出力情報に基づいて前記複数の変換部が出力する前記出力情報を分布又は波形により可視化した前記画像情報を生成すること
を特徴とする請求項１記載の開発支援装置。
【請求項１２】
前記画像生成部は、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係を可視化する際に、前記複数の変換部のうち２以上の変換部をグループ化して前記複数の変換部の互いの接続関係を可視化すること
を特徴とする請求項１記載の開発支援装置。
【請求項１３】
請求項１から請求項１２のいずれか１項記載の開発支援装置と、
ユーザからの入力を受け、受けた入力を示す操作情報を開発支援装置に出力する入力装置と、
開発支援装置が出力した前記画像情報を表示する表示装置と、
を備えた開発支援システム。
【請求項１４】
複数の変換部それぞれが、入力された信号値を他の信号値若しくはメタ情報に変換するか、又は、入力されたメタ情報を信号値若しくは他のメタ情報に変換して、変換後の前記信号値又は変換後の前記メタ情報を出力情報として出力し、
パイプライン部が、前記複数の変換部の互いの接続関係を示すパイプライン情報に基づいて、前記複数の変換部に変換処理を順次実行させ、
推論部が、前記パイプライン情報に基づいて前記パイプライン部が前記複数の変換部のうち最後に変換処理を実行させる変換部である１以上の最終変換部により出力された前記出力情報を用いて推論を行い、推論結果を示す推論情報を出力し、
画像生成部が、前記パイプライン情報が示す前記複数の変換部の互いの接続関係、及び前記１以上の最終変換部と前記推論部との接続関係を可視化する画像情報を生成し、
出力制御部が、前記画像生成部が生成した前記画像情報を出力すること
を特徴とする開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、開発支援装置、開発支援システム、及び、開発支援方法に関するものである。
【背景技術】
【０００２】
ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いてソフトウェアプログラムの開発又は設計を支援する統合開発環境がある。
例えば、特許文献１には、関数ノード及び有向エッジで形成された有向グラフを表示部に表示し、ＧＵＩを通じて当該有向グラフを編集可能とする機械学習モデル設計支援装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６００７４３０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機械学習モデル等の推論モデルに入力される情報は、信号値又はメタ情報である。通常、信号値及びメタ情報は、いずれも、予め準備されたデータ（以下「原データ」という。）に対し各種の変換処理を含む前処理を施すことにより得られる。信号値は、センサ等で検出された値を示す情報である。メタ情報は、ある情報に関する付帯的な情報である。
どのような信号値又はメタ情報を推論モデルへ入力される情報とするかは、推論モデルの設計における重要な設計要素の一つである。しかしながら、例えば特許文献１に開示された機械学習モデル設計支援装置のような従来の設計支援装置は、推論モデルへ入力される情報の設計が考慮されたものではない。このため、従来の設計支援装置では、推論モデルへ入力される情報の設計までを含めた推論モデルの設計支援ができないとの問題があった。【０００５】
この発明は、上述の問題点を解決するためのもので、原データに対する前処理の可視化ができる開発支援装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
この発明に係る開発支援装置は、それぞれが、入力された信号値を他の信号値若しくはメタ情報に変換するか、又は、入力されたメタ情報を信号値若しくは他のメタ情報に変換して、変換後の信号値又は変換後のメタ情報を出力情報として出力する複数の変換部と、複数の変換部の互いの接続関係を示すパイプライン情報に基づいて、複数の変換部に変換処理を順次実行させるパイプライン部と、パイプライン情報に基づいてパイプライン部が複数の変換部のうち最後に変換処理を実行させる変換部である１以上の最終変換部により出力された出力情報を用いて推論を行い、推論結果を示す推論情報を出力する推論部と、パイプライン情報が示す複数の変換部の接続関係、及び１以上の最終変換部と推論部との接続関係を可視化する画像情報を生成する画像生成部と、画像生成部が生成した画像情報を出力する出力制御部と、を備えた。
【発明の効果】
【０００７】
この発明によれば、原データに対する前処理の可視化ができる。このため、推論モデルへ入力される情報の設計までを含めた推論モデルの開発支援又は設計支援ができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態１に係る開発支援装置の構成の一例を示すブロック図である。
【図２】図２Ａ及び図２Ｂは、実施の形態１に係る画像生成部が生成する画像情報が示す画像の一例を示す図である。
【図３】図３Ａ及び図３Ｂは、実施の形態１に係る画像生成部が生成する画像情報が示す画像の一例を示す図である。
【図４】図４は、実施の形態１に係る画像生成部が生成する画像情報が示す画像の一例を示す図である。
【図５】図５Ａ及び図５Ｂは、実施の形態１に係る画像生成部が生成する画像情報が示す画像の一例を示す図である。
【図６】図６は、実施の形態１に係る画像生成部が生成する画像情報が示す画像において、複数の変換部のうちユーザに選択された変換部が出力する出力情報を分布又は波形等により可視化した画像の一例を示す図である。
【図７】図７Ａ及び図７Ｂは、実施の形態１に係る画像生成部が生成する画像情報が示す画像における複数の変換部画像をグループ化したグループ画像一例を示す図である。
【図８】図８Ａ及び図８Ｂは、実施の形態１に係る開発支援装置の要部のハードウェア構成の一例を示す図である。
【図９】図９は、実施の形態１に係る開発支援装置の処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１０】
実施の形態１．
図１を参照して、実施の形態１に係る開発支援装置１００の要部の構成について説明する。
図１は、実施の形態１に係る開発支援装置１００の構成の一例を示すブロック図である。
図１に示すとおり、開発支援装置１００は、開発支援システム１０に適用される。
開発支援システム１０は、信号出力装置１１、記憶装置１２、入力装置１３、表示装置１４、及び開発支援装置１００を備える。
【００１１】
信号出力装置１１は、センサ（不図示）又はアンテナ（不図示）等から取得した、センサ信号、画像信号、電波信号、又は電波画像信号等の電気信号をデジタル変換し、変換したデジタル信号を外部に出力する装置である。
実施の形態１では、開発支援装置１００は、センサ又はアンテナ等から取得した電気信号に基づいて信号出力装置１１が出力したデジタル信号を、信号値（以下「原信号値」という。）として取得するものとして説明する。
【００１２】
記憶装置１２は、開発支援装置１００を用いて開発者又は設計者等のユーザがソフトウェアプログラムを開発又は設計する際に、開発支援装置１００が必要な各種の情報を記憶する装置である。記憶装置１２は、例えば、ハードディスクドライブ又はＳＤカードメモリ等の不揮発性記憶媒体を有し、不揮発性記憶媒体に記憶された情報を読み出すことにより、情報を外部に出力する。
実施の形態１では、開発支援装置１００は、記憶装置１２から必要に応じて必要な情報を読み出すことにより取得するものとして説明する。
記憶装置１２が記憶する情報については後述する。
【００１３】
入力装置１３は、ユーザからの入力を受け付けて、受け付けた入力の内容を示す操作情報を出力する装置である。入力装置１３は、キーボード、マウス、タッチパッド、又は表示装置１４の表示画面上に配置されたタッチセンサ等により構成された装置である。
開発支援装置１００は、入力装置１３がユーザから受け付けた入力の内容を示す操作情報を、入力装置１３から取得する。
【００１４】
表示装置１４は、取得した画像情報を表示する装置である。表示装置１４は、液晶ディスプレイ等により構成される。
開発支援装置１００は、画像情報を表示装置１４に出力し、出力した画像情報が示す画像を表示装置１４に表示させる。
【００１５】
開発支援装置１００は、操作取得部１０１、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎ（Ｎは２以上の自然数）、パイプライン部１２０、推論部１３０、ライブラリ取得部１３５、パラメータ設定部１４０、情報取得部１５０、情報整形部１５５、パイプライン変更部１６０、画像生成部１９０、及び出力制御部１９５を備える。
開発支援装置１００は、上述の構成に加えて、自動設計部１６５、学習部１７０、結果解釈部１８０、及び可視化加工部１８５を備えるものであっても良い。
【００１６】
操作取得部１０１は、入力装置１３が出力する操作情報を取得する。
複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎは、それぞれが、入力された信号値を他の信号値若しくはメタ情報に変換するか、又は、入力されたメタ情報を信号値若しくは他のメタ情報に変換して、変換後の信号値又は変換後のメタ情報を出力情報として出力する。
複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力される信号値、及び、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力されるメタ情報を総称して、以下、「入力データ」という。
信号値は、センサ等で検出された値を示す情報である。信号値は、信号値が時間変化する時系列信号によるものであっても良い。
複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力される信号値には、原信号値、情報整形部１５５により原信号値が整形されて生成された信号値、又は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれにより入力データが変換された後の信号値が含まれる。
具体的には、例えば、信号値は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力された時系列信号である信号値が、時刻毎の信号の差分値になるように変換された後の時系列信号である。
【００１７】
メタ情報は、ある情報に関する付帯的な情報である。メタ情報は、例えば、信号値における標準偏差、平均値、最大値、最小値、又は母数等の要約統計量である。メタ情報は、例えば、信号値における学習データ又は検証データ等であるか否かを示すフラグ情報である。メタ情報は、例えば、信号値が画像を示す場合において、当該画像に写った物体の分類を示す分類クラス情報である。メタ情報は、例えば、信号値が正常であるか異常であるかを示すフラグ情報である。メタ情報は、メタ情報が示す内容が時間変化する人口統計、世帯年収統計、住宅価格統計等の統計情報であっても良い。
複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力されるメタ情報には、記憶装置１２から取得されたメタ情報、情報整形部１５５により当該メタ情報が整形されて生成されたメタ情報、又は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれにより入力データが変換された後のメタ情報が含まれる。
具体的には、例えば、メタ情報は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力されたメタ情報である平均値が、所定の値より大きいか否かにより区別されるように変換された後の分類を示す分類クラス情報である。
【００１８】
また、信号値は、具体的には、例えば、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれに入力されたメタ情報である学習データであるか否かを示すフラグ情報を時系列データに付加した後の時系列信号である。
複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎがそれぞれ実行する変換処理は、平滑化処理、標準化処理、移動平均算出処理、短時間フーリエ変換処理、平均値算出処理、最小値抽出処理、最大値抽出処理、標準偏差算出処理、又は母数算出処理等である。
【００１９】
パイプライン部１２０は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎの互いの接続関係を示すパイプライン情報に基づいて、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎに変換処理を順次実行させる。
例えば、開発支援装置１００が変換部１１０−１と変換部１１０−２とを備え、変換部１１０−１による変換処理の次に変換部１１０−２による変換処理が実行されるように接続されている場合、変換部１１０−１が出力する出力情報は、変換部１１０−２の入力データとして入力される。
【００２０】
推論部１３０は、パイプライン情報に基づいてパイプライン部１２０が複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのうち最後に変換処理を実行させる１つ以上の変換部（以下「最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍ（Ｌ１，Ｌ２，・・・，Ｌｍは、いずれも１以上且つＮ以下の自然数）」という。）により出力された出力情報を用いて推論処理を実行し、推論結果を示す推論情報を出力する。
推論部１３０は、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍが出力した出力情報に基づいて、Ｇｅｎｅｒａｌｉｚｅｒ  Ｌｉｎｅａｒ  Ｍｏｄｅｌ、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔ、Ｇｒａｄｉｅｎｔ  Ｂｏｏｓｔｅｄ  Ｄｅｃｉｓｉｏｎ  Ｔｒｅｅ、又は、Ｇｅｎｅｒａｌｉｚｅｄ  Ａｄｄｉｔｉｖｅ  Ｍｏｄｅｌ等を用いて、機械学習又はデータマイニング等の推論処理を実行する。
【００２１】
ライブラリ取得部１３５は、記憶装置１２に記憶されたソフトウェアライブラリから、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれが実行する変換処理に対応する平滑化処理等のソフトウェアプログラムを取得する。
複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれは、ライブラリ取得部１３５が取得したソフトウェアプログラムを実行することにより変換処理を実行する。
また、ライブラリ取得部１３５は、記憶装置１２に記憶されたソフトウェアライブラリから、推論部１３０が推論処理を実行する際に用いるＧｅｎｅｒａｌｉｚｅｒ  Ｌｉｎｅａｒ  Ｍｏｄｅｌ等のソフトウェアプログラムを取得する。
推論部１３０は、ライブラリ取得部１３５が取得したソフトウェアプログラムを用いて推論処理を実行する。
【００２２】
パラメータ設定部１４０は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれが変換処理を実行する際に必要なパラメータを、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎそれぞれに設定する。
また、パラメータ設定部１４０は、推論部１３０が推論処理を実行する際に必要なパラメータを、推論部１３０に設定する。
パラメータ設定部１４０が設定するパラメータは、記憶装置１２に記憶されているパラメータをパラメータ設定部１４０が記憶装置１２から読み出すことにより取得する。なお、パラメータ設定部１４０が設定するパラメータは、パラメータ設定部１４０が予め保持しても良い。
パラメータ設定部１４０は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎ、又は推論部１３０が、機械学習モデルを用いて変換処理又は推論処理を実行するものである場合、パラメータとしてハイパーパラメータを設定するものであっても良い。
【００２３】
情報取得部１５０は、信号出力装置１１が出力したデジタル信号を原信号値として取得する。情報取得部１５０は、上述のセンサ又はアンテナ等から電気信号を取得し、取得した電気信号をデジタル信号に変換し、原信号値を取得するものであっても良い。
情報取得部１５０は、原信号値に加えて、記憶装置１２からメタ情報を取得する。
【００２４】
情報整形部１５５は、情報取得部１５０が取得した信号値又はメタ情報を、パイプラインに情報に基づいて複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのうち最初に変換処理を実行させる１つ以上の変換部（以下「初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎ（Ｓ１、Ｓ２，・・・，Ｓｎは、いずれも１以上且つＮ以下の自然数）」という。）に入力データとして入力可能な形式に整形する。
【００２５】
画像生成部１９０は、パイプライン情報が示す複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎの互いの接続関係（以下「変換部接続関係」という。）、及び１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍと推論部１３０との接続関係（以下「推論部接続関係」という。）を可視化する画像情報を生成する。
【００２６】
変換部接続関係は、画像情報が示す画像において、例えば、それぞれ以下説明する、入力データ画像、変換部画像、出力情報画像、出力線画像、及び、入力線画像により示される。
入力データ画像は、１以上の初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎそれぞれに入力される入力データを示す画像である。
変換部画像は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれを示す複数の画像１１１−１，１１１−２，・・・，１１１−Ｎである。
出力情報画像は、複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのそれぞれにより示される複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎがそれぞれ出力する出力情報を示す複数の画像１１２−１，１１２−２，・・・，１１２−Ｎである。
出力線画像は、複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのそれぞれにより示される複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのそれぞれが複数の出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎにより示される出力情報を出力することを示す、変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのそれぞれと複数の出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎとを結ぶ矢印線により示される画像である。
入力線画像は、複数の出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎのそれぞれにより示される出力情報が入力データとして変換部画像１１１−１，１１１−２，・・・，１１１−Ｎにより示される複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎに入力されることを示す、出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎと変換部画像１１１−１，１１１−２，・・・，１１１−Ｎとを結ぶ矢印線により示される画像である。
【００２７】
推論部接続関係は、画像情報が示す画像において、例えば、それぞれ以下説明する推論部画像及び推論部入力線画像により示される。
推論部画像は、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍを示す変換部画像１１１−Ｌ１，１１１−Ｌ２，・・・，１１１−Ｌｍ、推論部１３０を示す画像である。
推論部入力線画像は、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍが出力した出力情報をそれぞれ示す１以上の出力情報画像１１２−Ｌ１，１１２−Ｌ２，・・・，１１２−Ｌｍ、及び、当該１以上の出力情報画像１１２−Ｌ１，１１２−Ｌ２，・・・，１１２−Ｌｍのそれぞれにより示される出力情報が推論部画像により示される推論部１３０に入力されることを示す、出力情報画像１１２−Ｌ１，１１２−Ｌ２，・・・，１１２−Ｌｍと推論部画像とを結ぶ１以上の矢印線により示される画像である。
【００２８】
出力制御部１９５は、画像生成部１９０が生成した画像情報を出力する。
具体的には、出力制御部１９５は、画像生成部１９０が生成した画像情報を表示装置１４に出力し、出力した画像情報が示す画像を表示装置１４に表示させる。
【００２９】
図２Ａ及び図２Ｂは、実施の形態１に係る画像生成部１９０が生成する画像情報が示す画像の一例を示す図である。
図２Ａ及び図２Ｂは、一例として、観測対象である物体（以下「物体」という。）のＸ方向、Ｙ方向、及びＺ方向により示させる３次元の位置を示す時系列信号を信号出力装置１１から取得した際の、ある変換部接続関係及びある推論部接続関係を示している。
開発支援装置１００は、ユーザが開発又は設計を行うソフトウェアプログラムに含まれる複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎを画像情報が示す画像により可視化する。
図２Ａ及び図２Ｂにおいて、画像生成部１９０が生成する画像情報が示す画像における４つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４は、それぞれ、ソフトウェアプログラムに含まれる４つの変換部１１０−１，１１０−２，１１０−３，１１０−４を示す画像である。
また、図２Ａ及び図２Ｂにおいて、画像生成部１９０が生成する画像情報が示す画像における４つの出力情報画像１１２−１，１１２−２，１１２−３，１１２−４は、それぞれ、ソフトウェアプログラムに含まれる４つの変換部１１０−１，１１０−２，１１０−３，１１０−４が出力した出力情報を示す画像である。
【００３０】
図２Ａ及び図２Ｂから次のことが見て取れる。
変換部１１０−１は、変換処理として時系列信号の最大値抽出処理を実行する。変換部１１０−１は、信号出力装置１１から取得した物体のＸ方向の位置を示す時系列信号が原信号値として入力され、時系列信号における最大値を抽出してメタ情報として出力する。変換部１１０−２は、変換処理として時系列信号の差分算出処理を実行する。変換部１１０−２は、信号出力装置１１から取得した物体のＸ方向の位置を示す時系列信号が原信号値として入力され、時系列信号における、ある時点と、当該ある時点と異なる時点とにおける物体のＸ方向の位置の差分を算出して、算出した差分を信号値として出力する。変換部１１０−３は、変換処理として速度算出処理を実行する。変換部１１０−３は、信号出力装置１１から取得した物体のＸ方向、Ｙ方向、及びＺ方向の位置を示す時系列信号が原信号値として入力され、物体の速度を算出して、算出した速度を信号値として出力する。変換部１１０−４は、変換処理として時系列信号の差分算出処理を実行する。変換部１１０−２は、信号出力装置１１から取得した物体のＹ方向の位置を示す時系列信号が原信号値として入力され、時系列信号における、ある時点と、当該ある時点と異なる時点とにおける物体のＹ方向の位置の差分を算出して、算出した差分を信号値としてとして出力する。
【００３１】
推論部１３０は、変換部１１０−１，１１０−２，１１０−３、及び変換部１１０−４が出力したメタ情報及び信号値が入力され、入力されたメタ情報及び信号値に基づいて推論処理を実行し、推論情報としてスコアを出力する。スコアは、例えば、推論部１３０が回帰問題を処理するものであれば処理結果を示す値，推論部１３０が識別問題を処理するものであれば各クラスの確からしさを示すＳｏｆｔＭａｘ値等の数値，推論部１３０がクラスタリング処理を行うものであればクラスタを示す値，推論部１３０が行列分解を行うものであれば各基底ベクトル等による度合いを示す値，推論部１３０が異常検知を行うものであれば異常度合いを示す値である。
画像生成部１９０は、操作取得部１０１が取得した操作情報に基づいて、図２Ａ又は図２Ｂに例示した画像を示す複数の画像情報から、生成する画像情報を１つ選択して生成するものであっても良い。
なお、図２Ａ又は図２Ｂに示す、画像生成部１９０が生成する画像情報が示す画像は、一例であり、これらに限定されるものではない。
【００３２】
画像生成部１９０は、操作取得部１０１が取得した操作情報に基づいて、変換部接続関係又は推論部接続関係を、画像情報が示す画像において変更するように画像情報を生成する。
具体的には、例えば、操作取得部１０１が取得する操作情報が示す操作は、ユーザが、表示装置１４に表示された、変換部接続関係及び推論部接続関係を示す画像を参照しつつ、変換部接続関係又は推論部接続関係を変更する操作である。
【００３３】
より具体的には、例えば、ユーザは、マウス等の入力装置１３により、表示装置１４に表示された画像に重畳表示された矢印の形状をした画像（以下「ポインタ」という。）を移動させ、表示装置１４に表示された画像における変換部画像１１１−１，１１１−２，・・・，１１１−Ｎ、出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎ、推論部画像、出力線画像、入力線画像、又は推論部入力線画像等を選択し、選択した画像を表示装置１４に表示された画像上において移動させる。画像生成部１９０は、ユーザによる上述の操作を示す操作情報に基づいて、変換部接続関係又は推論部接続関係を、画像情報が示す画像において変更するように画像情報を生成する。なお、操作情報が示す変換部接続関係又は推論部接続関係を、画像情報が示す画像において変更する操作には、変換部画像、入力線画像、又は推論部入力線画像等の追加又は削除を行うための操作も含まれる。
【００３４】
パイプライン変更部１６０は、操作取得部１０１が取得した操作情報に基づいて、変換部接続関係又は推論部接続関係を変更する。
より具体的には、パイプライン変更部１６０は、操作取得部１０１が取得した操作情報に基づいて、変換部接続関係又は推論部接続関係を変更し、パイプライン部１２０が、変更後のパイプライン情報に基づいて、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎに変換処理を順次実行できるようにする。
【００３５】
学習部１７０は、推論部１３０が用いる機械学習モデル等の推論モデルを学習するものである。学習部１７０は、クラス分類若しくは回帰学習等の教師あり学習、又は、クラスタ分析若しくは強化学習等の教師なし学習等の機械学習における学習処理を実行し、機械学習モデル等の推論モデルを示すモデル情報を生成又は更新する。学習部１７０は、推論部１３０が機械学習モデル等の推論モデルを用いて処理を行う場合に学習を行う。
【００３６】
結果解釈部１８０は、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈して所定の形式の情報に加工し、加工後の情報を設計利用情報として出力する。具体的には、結果解釈部１８０は、推論部１３０が１つ以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を用いて推論処理を実行することにより、推論部１３０がなぜ推論情報が示す推論結果となるように推論したのかを、ユーザが推測できるようにするために、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈して、設計利用情報を出力する。より具体的には、結果解釈部１８０は、１つ以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報について、推論部１３０における推論に与える影響の度合いを可視化するための設計利用情報を、１つ以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈することにより出力する。
【００３７】
例えば、結果解釈部１８０は、推論部１３０が教師あり学習モデルを用いて推論するものである場合、推論部１３０に接続さる１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈して、推論部１３０における推論に与える影響の度合いである特徴量の重要度を算出し、算出した特徴量の重要度を設計利用情報として出力する。
また、例えば、結果解釈部１８０は、推論部１３０が確率モデルを用いて推論するものである場合、推論部１３０に接続さる１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈して、確率モデルにおけるパラメータを算出し、算出した確率モデルにおけるパラメータを設計利用情報として出力する。
また、例えば、結果解釈部１８０は、推論部１３０が行列分析モデルを用いて推論するものである場合、推論部１３０に接続さる１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈して、基底ベクトルを算出し、算出した基底ベクトルを設計利用情報として出力する。
画像生成部１９０は、変換部接続関係、及び推論部接続関係を可視化するのに加えて、結果解釈部１８０が出力した設計利用情報についても可視化する画像情報を生成する。
【００３８】
図３Ａ及び図３Ｂは、実施の形態１に係る推論部１３０が教師あり学習モデルを用いて推論するものである場合における画像生成部１９０が生成する画像情報が示す画像の一例を示す図である。
図４は、推論部１３０が確率モデルを用いて推論するものである場合における画像生成部１９０が生成する画像情報が示す画像の一例を示す図である。
図５Ａ及び図５Ｂは、推論部１３０が行列分析モデルを用いて推論するものである場合における画像生成部１９０が生成する画像情報が示す画像の一例を示す図である。
【００３９】
図３Ａ及び図３Ｂにおいて、画像生成部１９０が生成する画像情報が示す画像における４つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４は、それぞれ、ソフトウェアプログラムに含まれる４つの変換部１１０−１，１１０−２，１１０−３，１１０−４を示す画像である。
また、図３Ａ及び図３Ｂにおいて、画像生成部１９０が生成する画像情報が示す画像における４つの出力情報画像１１２−１，１１２−２，１１２−３，１１２−４は、それぞれ、ソフトウェアプログラムに含まれる４つの変換部１１０−１，１１０−２，１１０−３，１１０−４が出力した出力情報を示す画像である。
【００４０】
図３Ａにおいて、結果解釈部１８０が出力した設計利用情報が示す特徴量の重要度は、推論部入力線画像に重畳した太線の長さにより示されている。
図３Ｂにおいて、結果解釈部１８０が出力した設計利用情報が示す特徴量の重要度は、１以上の最終変換部１１０−１，１１０−２，１１０−３，１１０−４がそれぞれ出力した出力情報を示す出力情報画像１１２−１，１１２−２，１１２−３，１１２−４の右側に棒グラフ状に示されている。
推論部１３０が教師あり学習モデルを用いて推論するものである場合、推論部１３０に入力される情報の特徴量の重要度は、推論結果に影響を及ぼす。ユーザは、表示装置１４に表示される推論部１３０に入力される情報の特徴量の重要度を参照しつつ、変換部の追加若しくは削除、又は、変換部接続関係若しくは推論部接続関係の変更等を行うことより、ソフトウェアプログラムを再設計することができる。
なお、図３Ａ又は図３Ｂにおける結果解釈部１８０が出力した設計利用情報が示す特徴量の重要度の表現方法は、一例であり、これらに限定されるものではない。
【００４１】
図４は、推論部１３０が確率モデルとして混合ガウスモデルを用いて推論するものである場合における画像生成部１９０が生成する画像情報が示す画像の一例を示している。
特に、図４は、一例として、推論部１３０が、混合ガウスモデルを用いて異常の有無を判定する異常検知を行うものである場合を示している。
図４において、正常値との差分を示すガウス分布の平均値は、推論部入力線画像に重畳した太線の長さにより示されている。正常値との差分は、結果解釈部１８０が出力した設計利用情報が示す確率モデルにおけるパラメータにより与えられる。
【００４２】
推論部１３０が、混合ガウスモデルを用いて異常の有無を判定する異常検知を行うものである場合、ユーザは、推論部１３０が異常を検知した際に、表示装置１４に表示される推論部１３０に入力されるガウス分布の平均値を参照することにより、１以上の最終変換部１１０−１，１１０−２，１１０−３，１１０−４がそれぞれ出力した出力情報のうち、どの出力情報が推論部１３０における推論に影響を与えたかを推測することができる。また、ユーザは、表示装置１４に表示される推論部１３０に入力される情報のガウス分布の平均値を参照しつつ、変換部の追加若しくは削除、又は、変換部接続関係若しくは推論部接続関係の変更等を行うことより、ソフトウェアプログラムを再設計することができる。
なお、図４における結果解釈部１８０が出力した設計利用情報が示す確率モデルにおけるパラメータの表現方法は、一例であり、これらに限定されるものではない。
【００４３】
図５Ａ又は図５Ｂは、一例として、推論部１３０が、信号出力装置１１から出力された複数の信号値が予め用意された第１クラスタ又は第２クラスタのうちのどちらのクラスタであるかを、行列分析モデルを用いて推論するものである場合を示している。
図５Ａ又は図５Ｂにおいて、推論部１３０は、１以上の最終変換部１１０−３，１１０−４，１１０−５が出力する基底ベクトルに基づいて、クラスタを推論する。
図５Ａ又は図５Ｂにおいて、結果解釈部１８０が出力した設計利用情報が示す基底ベクトルの長さは、推論部入力線画像に重畳した太線の長さにより示されている。
【００４４】
推論部１３０が、行列分析モデルを用いてクラスタを推論するものである場合、ユーザは、推論部１３０がクラスタを推論した際に、表示装置１４に表示される推論部１３０に入力される基底ベクトルを参照することにより、どの基底ベクトルが推論部１３０における推論に影響を与えたかを推測することができる。また、ユーザは、表示装置１４に表示される推論部１３０に入力される基底ベクトルを参照しつつ、変換部の追加若しくは削除、又は、変換部接続関係若しくは推論部接続関係の変更等を行うことより、ソフトウェアプログラムを再設計することができる。
なお、図５Ａ又は図５Ｂにおける結果解釈部１８０が出力した設計利用情報が示す基底ベクトルの表現方法は、一例であり、これらに限定されるものではない。
【００４５】
自動設計部１６５は、ユーザが開発又は設計するソフトウェアプログラムにおいて、変換部接続関係又は推論部接続関係により期待される性能を高めるように、ソフトウェアプログラムを自動で設計する。
自動設計部１６５は、操作取得部１０１が取得した操作情報に基づいて、ソフトウェアプログラムを自動で設計する自動設計モードが選択されたか否かを判定する。自動設計部１６５が、自動設計モードが選択されたと判定した場合、自動設計部１６５は、変換部接続関係及び推論部接続関係を自動で設計する。
具体的には、例えば、自動設計部１６５は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのうち１以上の変換部又は推論部１３０が用いるパラメータを自動で変更することにより、変換部接続関係又は推論部接続関係により期待される性能を高める。
より具体的には、例えば、自動設計部１６５は、学習部１７０が学習処理を実行することにより出力した学習結果を用い、ランダムサーチ、グリッドサーチ、ベイズ最適化、又は遺伝的アルゴリズム等の最適化アルゴリズムを適用して、１１０−１，１１０−２，・・・，１１０−Ｎのうち１以上の変換部又は推論部１３０が用いるパラメータを自動で最適化するように変更する。
【００４６】
また、例えば、自動設計部１６５は、変換部接続関係又は推論部接続関係を自動で変更することにより、変換部接続関係又は推論部接続関係により期待される性能を高めても良い。
より具体的には、例えば、自動設計部１６５は、学習部１７０が学習処理を実行することにより出力した学習結果を用い、遺伝的アルゴリズム、強化学習、組み合わせ最適化等の最適化アルゴリズムを適用して、変換部の追加若しくは削除、又は、変換部接続関係若しくは推論部接続関係の変更等を自動で行う。
なお、自動設計部１６５が用いる最適化アルゴリズムは、例えば、記憶装置１２に記憶されたソフトウェアライブラリから、自動設計部１６５が用いる最適化アルゴリズムに対応するソフトウェアプログラムを、ライブラリ取得部１３５を介して取得することできる。
【００４７】
可視化加工部１８５は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎが出力する出力情報、又は、１以上の初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎに入力される入力データを、分布又は波形等として可視化するための可視化出力情報に加工し、加工した可視化出力情報を画像生成部１９０に出力する。
画像生成部１９０は、変換部接続関係及び推論部接続関係を可視化するのに加えて、可視化加工部１８５が出力する可視化出力情報に基づいて複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎが出力する出力情報、又は、１以上の初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎに入力される入力データを、分布又は波形等により可視化する画像情報を生成しても良い。
図６は、画像生成部１９０が生成する画像情報が示す画像において、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのうちユーザに選択された変換部が出力する出力情報、又は、１以上の初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎのうちにユーザに選択された初期変換部に入力される入力データを、分布又は波形等により可視化した画像の一例を示す図である。
図６において、矢印の形状で示したものは、上述のポインタである。
【００４８】
ユーザは、マウス等の入力装置１３に操作入力を行うことにより、表示装置１４に表示された画像生成部１９０が生成した画像情報が示す画像に重畳表示されたポインタを、表示装置１４に表示された画像における、出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎのうち所望の出力情報画像、又は、１以上の初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎに入力される入力データを示す入力データ画像のうち所望の入力データ画像の位置又は領域に移動させる。
画像生成部１９０は、図６に示すように、変換部接続関係及び推論部接続関係を可視化するのに加えて、ユーザによる上述の操作入力を示す操作情報に基づいて、表示装置１４に表示された画像におけるポインタの位置に対応する、出力情報画像により示された出力情報、又は入力データ画像により示された入力データを、分布又は波形等によりポップアップ表示した画像情報を生成する。
なお、図６に示す画像生成部１９０が生成する画像情報が示す画像は、一例であり、これらに限定されるものではない。
画像生成部１９０が、変換部接続関係及び推論部接続関係を可視化するのに加えて、選択された変換部が出力する出力情報、又は選択された初期変換部に入力される入力データを、分布又は波形により可視化する画像情報を生成することにより、ユーザは、選択した変換部が出力する出力情報、及び選択した初期変換部に入力される入力データを簡単に把握することができる。
【００４９】
画像生成部１９０は、変換部接続関係及び推論部接続関係を可視化する際に、変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのうち２つ以上の変換部画像をグループ化したグループ画像を用いて変換部接続関係を可視化して良い。
グループ画像によりグループ化される変換部画像は、例えば、ユーザが、マウス等の入力装置１３に操作入力を行うことにより、表示装置１４に表示された画像生成部１９０が生成する画像情報が示す画像における変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのうち２つ以上の変換部画像を選択することにより決定される。
グループ画像によりグループ化される変換部画像は、例えば、自動設計部１６５が、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのうち、同様の変換処理を実行する２つ以上の変換部を自動で決定することにより、決定されても良い。
【００５０】
図７Ａ及び図７Ｂは、画像生成部１９０が生成する画像情報が示す画像における複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのうち５つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４，１１１−５をグループ化したグループ画像一例を示す図である。
図７Aは、５つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４，１１１−５をグループ化したグループ画像を折り畳み表示した際の一例を示している。
図７Bは、５つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４，１１１−５をグループ化したグループ画像を展開表示した際の一例を示している。
図７Aにおいて、矢印の形状で示したものは、上述のポインタである。
例えば、図７Aに示すように、画像生成部１９０は、折り畳み表示されたグループ画像によりグループ化された５つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４，１１１−５をポップアップ表示するように画像情報を生成しても良い。
【００５１】
具体的には、例えば、ユーザは、マウス等の入力装置１３に操作入力を行うことにより、表示装置１４に表示された画像生成部１９０が生成した画像情報が示す画像に重畳表示されたポインタを、表示装置１４に表示された画像におけるグループ画像の位置又は領域に移動させる。
画像生成部１９０は、図７に示すように、変換部接続関係及び推論部接続関係を可視化するのに加えて、ユーザによる上述の操作入力を示す操作情報に基づいて、表示装置１４に表示された画像におけるポインタの位置に対応するグループ画像によりグループ化された５つの変換部画像１１１−１，１１１−２，１１１−３，１１１−４，１１１−５をポップアップ表示するように画像情報を生成する。
【００５２】
画像生成部１９０は、操作取得部１０１が取得した操作情報に基づいて、図７Ａ又は図７Ｂに例示した画像を示す複数の画像情報から、生成する画像情報を１つ選択して生成するものであっても良い。
なお、図７Ａ又は図７Ｂに示す画像生成部１９０が生成する画像情報が示す画像は、一例であり、これらに限定されるものではない。
画像生成部１９０が、変換部接続関係及び推論部接続関係を可視化する際に、グループ画像を用いて変換部接続関係を可視化することにより、ユーザは、変換部接続関係を簡潔に把握することができる。
【００５３】
図８Ａ及び図８Ｂを参照して、実施の形態１に係る開発支援装置１００の要部のハードウェア構成について説明する。
図８Ａ及び図８Ｂは、実施の形態１に係る開発支援装置１００の要部のハードウェア構成の一例を示す図である。
【００５４】
図８Ａに示す如く、開発支援装置１００はコンピュータにより構成されており、当該コンピュータはプロセッサ２０１及びメモリ２０２を有している。メモリ２０２には、当該コンピュータを、操作取得部１０１、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎ、パイプライン部１２０、推論部１３０、ライブラリ取得部１３５、パラメータ設定部１４０、情報取得部１５０、情報整形部１５５、パイプライン変更部１６０、画像生成部１９０、及び出力制御部１９５、自動設計部１６５、学習部１７０、結果解釈部１８０、及び可視化加工部１８５として機能させるためのプログラムが記憶されている。メモリ２０２に記憶されているプログラムをプロセッサ２０１が読み出して実行することにより、操作取得部１０１、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎ、パイプライン部１２０、推論部１３０、ライブラリ取得部１３５、パラメータ設定部１４０、情報取得部１５０、情報整形部１５５、パイプライン変更部１６０、画像生成部１９０、及び出力制御部１９５、自動設計部１６５、学習部１７０、結果解釈部１８０、及び可視化加工部１８５が実現される。
【００５５】
また、図８Ｂに示す如く、開発支援装置１００は処理回路２０３により構成されても良い。この場合、操作取得部１０１、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎ、パイプライン部１２０、推論部１３０、ライブラリ取得部１３５、パラメータ設定部１４０、情報取得部１５０、情報整形部１５５、パイプライン変更部１６０、画像生成部１９０、及び出力制御部１９５、自動設計部１６５、学習部１７０、結果解釈部１８０、及び可視化加工部１８５の機能が処理回路２０３により実現されても良い。
【００５６】
また、開発支援装置１００はプロセッサ２０１、メモリ２０２及び処理回路２０３により構成されても良い（不図示）。この場合、操作取得部１０１、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎ、パイプライン部１２０、推論部１３０、ライブラリ取得部１３５、パラメータ設定部１４０、情報取得部１５０、情報整形部１５５、パイプライン変更部１６０、画像生成部１９０、及び出力制御部１９５、自動設計部１６５、学習部１７０、結果解釈部１８０、及び可視化加工部１８５の機能のうちの一部の機能がプロセッサ２０１及びメモリ２０２により実現されて、残余の機能が処理回路２０３により実現されるものであっても良い。
【００５７】
プロセッサ２０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ、マイクロコントローラ又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いたものである。
【００５８】
メモリ２０２は、例えば、半導体メモリ又は磁気ディスクを用いたものである。より具体的には、メモリ２０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などを用いたものである。
【００５９】
処理回路２０３は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）又はシステムＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を用いたものである。
【００６０】
図９を参照して、実施の形態１に係る開発支援装置１００の動作について説明する。
図９は、実施の形態１に係る開発支援装置１００の処理の一例を説明するフローチャートである。当該フローチャートは、ユーザがソフトウェアプログラムを設計又は再設計を開始するための操作入力を示す操作情報を、操作取得部１０１が取得することにより、繰り返し実行される。
【００６１】
まず、ステップＳＴ９０１にて、自動設計部１６５は、操作取得部１０１が取得した操作情報に基づいて、ソフトウェアプログラムを自動で設計する自動設計モードが選択されたか否かを判定する。
ステップＳＴ９０１にて、自動設計部１６５が、自動設計モードが選択されたと判定した場合、ステップＳＴ９０２にて、自動設計部１６５は、変換部接続関係及び推論部接続関係を自動で設計する。
ステップＳＴ９０２の後、ステップＳＴ９０３にて、画像生成部１９０は、変換部接続関係及び推論部接続関係を示す画像情報を生成する。
ステップＳＴ９０３の後、ステップＳＴ９０４にて、画像生成部１９０は、生成した画像情報を出力制御部１９５に出力する。
ステップＳＴ９０４の後、開発支援装置１００は、ステップＳＴ９２１の処理を実行する。
【００６２】
ステップＳＴ９０１にて、自動設計部１６５が、自動設計モードが選択されてないと判定した場合、ステップＳＴ９１１にて、画像生成部１９０は、例えば、予め設計されたソフトウェアプログラムの変換部接続関係及び推論部接続関係を示す画像情報を生成する。
ステップＳＴ９１１の後、ステップＳＴ９１２にて、画像生成部１９０は、生成した画像情報を出力制御部１９５に出力する。
【００６３】
ステップＳＴ９１２の後、ステップＳＴ９１３にて、画像生成部１９０は、操作取得部１０１が取得した操作情報に基づいて、変換部接続関係又は推論部接続関係を、画像情報が示す画像において変更するように画像情報を生成する。
ステップＳＴ９１３の後、ステップＳＴ９１４にて、画像生成部１９０は、生成した画像情報を出力制御部１９５に出力する。
ステップＳＴ９１４の後、ステップＳＴ９１５にて、パイプライン変更部１６０は、操作取得部１０１が取得した操作情報に基づいて、変換部接続関係又は推論部接続関係を変更する。
ステップＳＴ９１５の後、ステップＳＴ９１６にて、パイプライン変更部１６０は、操作取得部１０１が取得した操作情報に基づき、手動によるソフトウェアプログラムの設計が完了したか否かを判定する。
【００６４】
ステップＳＴ９１６にて、パイプライン変更部１６０が、手動によるソフトウェアプログラムの設計が完了していないと判定した場合、開発支援装置１００は、ステップＳＴ９１３の処理に戻る。
ステップＳＴ９１６にて、パイプライン変更部１６０が、手動によるソフトウェアプログラムの設計が完了したと判定した場合、開発支援装置１００は、ステップＳＴ９２１の処理を実行する。
【００６５】
ステップＳＴ９２１にて、情報取得部１５０は、信号値又はメタ情報を取得する。
次に、ステップＳＴ９２２にて、情報整形部１５５は、情報取得部１５０が取得した信号値又はメタ情報を、１以上の初期変換部１１０−Ｓ１，１１０−Ｓ２，・・・，１１０−Ｓｎに入力データとして入力可能な形式に整形する。
次に、ステップＳＴ９２３にて、パイプライン部１２０は、パイプライン情報に基づいて、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎに変換処理を順次実行させる。
次に、ステップＳＴ９２４にて、推論部１３０は、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍにより出力された出力情報を用いて推論処理を実行し、推論結果を示す推論情報を出力する。
【００６６】
次に、ステップＳＴ９２５にて、学習部１７０は、機械学習における学習処理を実行し、学習モデルを示すモデル情報を生成又は更新する。
次に、ステップＳＴ９２６にて、結果解釈部１８０は、１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍがそれぞれ出力する出力情報を解釈して所定の形式の情報に加工し、加工後の情報を設計利用情報として出力する。
次に、ステップＳＴ９２７にて、画像生成部１９０は、変換部接続関係、及び推論部接続関係を可視化するのに加えて、結果解釈部１８０が出力した設計利用情報についても可視化する画像情報を生成する。
次に、ステップＳＴ９２８にて、画像生成部１９０は、生成した画像情報を出力制御部１９５に出力する。
【００６７】
次に、ステップＳＴ９２９にて、可視化加工部１８５は、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎが出力する出力情報を分布又は波形等として可視化するための可視化出力情報に加工し、加工した可視化出力情報を画像生成部１９０に出力する。
ステップＳＴ９２９の後、開発支援装置１００は、当該フローチャートの処理を終了し、ユーザがソフトウェアプログラムの設計又は再設計を開始するための操作入力を示す操作情報を、操作取得部１０１が取得することにより、当該フローチャートの処理を繰り返し実行する。
【００６８】
なお、ステップＳＴ９２９の処理は、ステップＳＴ９０４又はステップＳＴ９１２の処理の後であれば、ユーザが適宜のタイミングで開発支援装置１００に対して指示できるものであっても良い。ステップＳＴ９２９の処理の後、開発支援装置１００は、画像生成部１９０が、変換部接続関係及び推論部接続関係を可視化するのに加えて、可視化加工部１８５が出力する可視化出力情報と操作取得部１０１が取得した操作情報とに基づいて、ユーザに選択された変換部が出力する出力情報を分布又は波形等により可視化する画像情報を生成する。
【００６９】
また、開発支援装置１００が自動設計部１６５を備えていない場合、当該フローチャートにおいて、ステップＳＴ９０１からステップＳＴ９０４までの処理は、実行されない。
また、開発支援装置１００が学習部１７０を備えていない場合、当該フローチャートにおいて、ステップＳＴ９２５の処理は、実行されない。
また、開発支援装置１００が結果解釈部１８０を備えていない場合、当該フローチャートにおいて、ステップＳＴ９２６からステップＳＴ９２８までの処理は、実行されない。
また、開発支援装置１００が可視化加工部１８５を備えていない場合、当該フローチャートにおいて、ステップＳＴ９２９の処理は、実行されない。
また、ステップＳＴ９０３にて、画像生成部１９０は、変換部接続関係及び推論部接続関係を可視化する際に、複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのうち２つ以上の変換部画像をグループ化したグループ画像を用いて変換部接続関係を可視化して良い。
【００７０】
また、ステップＳＴ９１１にて、画像生成部１９０が生成する画像情報は、変換部接続関係及び推論部接続関係を示す複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎ、出力情報画像１１２−１，１１２−２，・・・，１１２−Ｎ、推論部画像、出力線画像、入力線画像、又は推論部入力線画像の一部を生成するものであっても良い。
また、ステップＳＴ９１１にて、画像生成部１９０は、変換部接続関係及び推論部接続関係を可視化する際に、複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのうち２つ以上の変換部画像をグループ化したグループ画像を用いて変換部接続関係を可視化して良い。
また、ステップＳＴ９１３にて、画像生成部１９０は、変換部接続関係及び推論部接続関係を可視化する際に、複数の変換部画像１１１−１，１１１−２，・・・，１１１−Ｎのうち２つ以上の変換部画像をグループ化したグループ画像を用いて変換部接続関係を可視化して良い。
【００７１】
以上のように、開発支援装置１００は、それぞれが、入力された信号値を他の信号値若しくはメタ情報に変換するか、又は、入力されたメタ情報を信号値若しくは他のメタ情報に変換して、変換後の信号値又は変換後のメタ情報を出力情報として出力する複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎと、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎの互いの接続関係を示すパイプライン情報に基づいて、複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎに変換処理を順次実行させるパイプライン部１２０と、パイプライン情報に基づいてパイプライン部１２０が複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎのうち最後に変換処理を実行させる変換部である１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍにより出力された出力情報を用いて推論を行い、推論結果を示す推論情報を出力する推論部１３０と、パイプライン情報が示す複数の変換部１１０−１，１１０−２，・・・，１１０−Ｎの互いの接続関係、及び１以上の最終変換部１１０−Ｌ１，１１０−Ｌ２，・・・，１１０−Ｌｍと推論部１３０との接続関係を可視化する画像情報を生成する画像生成部１９０と、画像生成部１９０が生成した画像情報を出力する出力制御部１９５と、を備えた。
【００７２】
このように構成することで、開発支援装置１００は、原データに対する前処理の可視化ができる。このため、開発支援装置１００は、推論モデルへ入力される情報の設計までを含めた推論モデルの開発支援又は設計支援ができる。
【００７３】
なお、この発明はその発明の範囲内において、実施の形態における任意の構成要素の変形、又は、実施の形態における任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００７４】
この発明に係る開発支援装置は、ソフトウェアプログラムの開発支援システムに適用することができる。
【符号の説明】
【００７５】
１０  開発支援システム、１１  信号出力装置、１２  記憶装置、１３  入力装置、１４  表示装置、１００  開発支援装置、１０１  操作取得部、１１０−１，１１０−１，・・・，１１０−Ｎ  変換部、１２０  パイプライン部、１３０  推論部、１３５  ライブラリ取得部、１４０  パラメータ設定部、１５０  情報取得部、１５５  情報整形部、１６０  パイプライン変更部、１６５  自動設計部、１７０  学習部、１８０  結果解釈部、１８５  可視化加工部、１９０  画像生成部、１９５  出力制御部、１１１−１，１１１−１，・・・，１１１−Ｎ  変換部画像、１１２−１，１１２−２，・・・，１１２−４  出力情報画像、２０１  プロセッサ、２０２  メモリ、２０３  処理回路。
【図１】
0006827611.tif 000002
【図２】
0006827611.tif 000003
【図３】
0006827611.tif 000004
【図４】
0006827611.tif 000005
【図５】
0006827611.tif 000006
【図６】
0006827611.tif 000007
【図７】
0006827611.tif 000008
【図８】
0006827611.tif 000009
【図９】
0006827611.tif 000010