(57)【要約】【課題】機械学習によって作成したプログラムにおいて出力値が変化する境界点を、効率的に検出可能とする。【解決手段】境界探索テスト支援装置１００において、入力ベクトルを複数保持する記憶装置１０１と、前記入力ベクトルをニューラルネットワーク由来のプログラムに順次与えることでテストを行い、テスト結果である出力ベクトルを取得し、当該出力ベクトルを構成する要素のうち所定の複数の要素各々を座標軸とした座標系において、当該複数の要素各々の値が同一となる直線と、当該複数の要素各々の値を合算した値が所定値となる超平面とをそれぞれ生成し、最拮抗点と、出力ベクトルのうち該当要素各々の値の大きさが、出力ベクトル間で所定順位以上の境界ベクトルとを、座標系に配置し、当該境界ベクトルに対応する入力ベクトルとともに出力装置に表示させる演算装置１０４を含む構成とする。【選択図】図１
2019125224.tif 000002
【特許請求の範囲】
【請求項１】
所定の入力ベクトルを複数保持する記憶装置と、
前記複数の入力ベクトルを記憶装置より取得して、これをニューラルネットワーク由来のプログラムに順次与えることでテストを実行し、前記入力ベクトルに対応するテスト結果である出力ベクトルを取得する処理と、前記出力ベクトルを構成する要素のうち所定の複数の要素各々を座標軸とした座標系において、当該複数の要素各々の値が同一となる直線と、当該複数の要素各々の値を合算した値が所定値となる超平面と、をそれぞれ生成する処理と、前記直線と前記超平面との交点たる最拮抗点と、前記出力ベクトルのうち、前記複数の要素各々の値の大きさが、出力ベクトル間で所定の順位以上の境界ベクトルとを、前記座標系に配置し、当該境界ベクトルに対応する入力ベクトルとともに所定の出力装置に出力する処理と、を実行する演算装置と、
を備えることを特徴とする境界探索テスト支援装置。
【請求項２】
前記演算装置は、
前記境界ベクトルのうち所定の境界ベクトルと、他の境界ベクトル各々との間について、前記複数の要素以外の要素各々についてユークリッド距離を算定して、前記他の境界ベクトルのうち、所定要素に関して当該ユークリッド距離が所定閾値を越えるものを、前記座標系から削除する処理を更に実行するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項３】
前記演算装置は、
前記複数の要素の数が３つ以下の場合、前記直線、前記超平面、前記最拮抗点、前記境界ベクトル、および、前記境界ベクトルに対応する入力ベクトル、をそれぞれ配置した前記座標系を前記出力装置に表示させるものであり、
前記境界ベクトルの表示数、前記境界ベクトルから前記直線における最近点までの距離に関する第１係数、および、前記境界ベクトルの前記最近点から前記最拮抗点までの距離に関する第２係数、の各値を入力装置で受け付けて、前記境界ベクトルと前記最近点との距離に前記第１係数を乗じた値と、前記境界ベクトルの前記最近点と前記最拮抗点との距離に前記第２係数を乗じた値とを合算し、当該合算値が小さい順に、前記表示数の分の境界ベクトルを前記座標系に配置するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項４】
前記演算装置は、
前記座標系において、前記最拮抗点または所定の境界ベクトルを中心に、前記複数の要素各々の増減傾向に応じた象限を生成し、前記象限各々における、それぞれの要素の増減傾向に即した正方向に向かって境界ベクトルを接続して境界ベクトル系列を生成する処理と、前記座標系における、前記境界ベクトル系列と、これを成す各境界ベクトルに関して、対応する入力ベクトルの情報とを、前記出力装置に表示させる処理を更に実行するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項５】
前記演算装置は、
前記境界ベクトルの数が所定基準に満たない場合、既知の境界ベクトルを教師に入力ベクトルをパラメータとする損出関数を生成し、当該損出関数に関して勾配法を適用して、新たな入力ベクトルを生成し、当該入力ベクトルを入力とした前記テストを行って新たな出力ベクトルを生成して、境界ベクトルの特定処理対象とする処理を更に実行するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項６】
前記演算装置は、
前記出力ベクトルを参照し、その要素の値が所定条件を満たす場合、当該要素の組合せを前記複数の要素として選択する処理を更に実行するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項７】
前記演算装置は、
前記入力ベクトルに関して生成した前記境界ベクトル系列について、その妥当性に関するユーザ評価結果を所定装置から取得し、当該ユーザ評価結果を当該境界ベクトル系列の情報と紐付けて記憶装置に格納する処理と、前記格納後に、前記入力ベクトルに関して新たに作成した境界ベクトル系列に関し、前記格納してある前記境界ベクトル系列の情報および前記ユーザ評価結果に基づいて、正しさを判定する処理を更に実行するものである、
ことを特徴とする請求項４に記載の境界探索テスト支援装置。
【請求項８】
前記記憶装置は、
前記入力ベクトルとして、前記複数の要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトルの系列を更に保持し、
前記演算装置は、
前記入力ベクトルの系列を前記ニューラルネットワーク由来のプログラムに与えることで出力ベクトルの系列を取得し、当該出力ベクトルを前記座標系に配置する処理と、前記出力ベクトルが前記座標系において予め定めた所定範囲内に収まっているか評価する処理とを更に実行するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項９】
前記演算装置は、
前記入力ベクトルが画像データである場合、モーフィング技術によって、前記複数の要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトルの系列を生成し、当該入力ベクトルの系列を記憶装置に格納する処理を更に実行するものである、
ことを特徴とする請求項８に記載の境界探索テスト支援装置。
【請求項１０】
前記演算装置は、
前記ニューラルネットワーク由来のプログラムの学習前後で、前記座標系における境界ベクトル間の距離を算定し、当該距離が所定の閾値以上の場合、当該学習は失敗であったと判定し、その旨を所定装置に出力する処理を更に実行するものである、
ことを特徴とする請求項１に記載の境界探索テスト支援装置。
【請求項１１】
所定の入力ベクトルを複数保持する記憶装置を備えた情報処理装置が、
前記複数の入力ベクトルを記憶装置より取得して、これをニューラルネットワーク由来のプログラムに順次与えることでテストを実行し、前記入力ベクトルに対応するテスト結果である出力ベクトルを取得する処理と、
前記出力ベクトルを構成する要素のうち所定の複数の要素各々を座標軸とした座標系において、当該複数の要素各々の値が同一となる直線と、当該複数の要素各々の値を合算した値が所定値となる超平面と、をそれぞれ生成する処理と、
前記直線と前記超平面との交点たる最拮抗点と、前記出力ベクトルのうち、前記複数の要素各々の値の大きさが、出力ベクトル間で所定の順位以上の境界ベクトルとを、前記座標系に配置し、当該境界ベクトルに対応する入力ベクトルとともに所定の出力装置に表示させる処理と、
を実行することを特徴とする境界探索テスト支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、境界探索テスト支援装置および境界探索テスト支援方法に関するものであり、具体的には、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、効率的に検出可能とする技術に関する。
【背景技術】
【０００２】
従来、プログラムのテストにおいては、発見しにくいバグ（ある入力に対して、期待する出力が得られないこと）を検出するための手段として、出力値が変化する境界点に着目する境界値テストが有効とされている。
【０００３】
上述の境界点は、仕様から抽出するのが基本である。ただし、仕様が不在の場合は、「出力値が変化する境界点はＩＦ文等の条件分岐により実装される」という特徴を利用し、ソースコードから境界点を抽出する場合もある。
【０００４】
そうした境界点の検査に関連した従来技術として、システムの設計情報を記述した設計書に対するテストデータを生成するテストデータ生成装置であって、設計書から設計モデルを抽出する設計モデル抽出部と、前記設計モデルに対して特定の結果を起こすテスト項目の集合であるテストモデルを構築するテストモデル構築部と、前記テストモデルのテスト項目について、テストデータが同値クラスの着目する境界の境界値となることを保証する第１の制約式と、テストデータが同値クラスの着目していない境界の境界値とならないことを保証する第２の制約式と、前記着目していない境界の制約条件を満たすことを保証する制約式とを追加した制約式集合を構築する制約式構築部と、前記制約式集合内の制約式を解き、テストデータを得る制約式解法部と、前記テストモデル及び前記テストデータを出力するテストモデル及びテストデータ出力部と、を有し、前記第１の制約式は、テストデータが前記着目する境界の端点の集合を表す式上の点となることを保証する第３の制約式と、テストデータが前記着目する境界の端点の集合の最近傍の式上の点となることを保証する第４の制約式とを含み、前記第２の制約式は、テストデータが前記着目していない境界の端点の集合を表す式上の点とならないことを保証する第５の制約式と、テストデータが前記着目していない境界の端点の集合の最近傍の式上の点とならないことを保証する第６の制約式とを含む、テストデータ生成装置（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６０６７６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、ニューラルネットワーク等の機械学習によって作成したプログラムの場合、出力値の境界を、仕様として明確に定義するのは困難である。
【０００７】
例えば、数字認識プログラムの場合、「１」と「７」の境界を仕様として明記するのは難しい。また、従来の手続き型のプログラムとは異なり、機械学習によって作成したプログラムでは、条件分岐ではなく「重み」や「バイアス」と呼ばれるパラメータによって出力値が変化する。よって、ソースコードから境界点を抽出することも困難である。
つまり、機械学習によって作成したプログラムに関して、出力値が変化する境界点を検査するのは困難な現状にある。
そこで本発明の目的は、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、効率的に検出可能とする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の境界探索テスト支援装置は、所定の入力ベクトルを複数保持する記憶装置と、前記複数の入力ベクトルを記憶装置より取得して、これをニューラルネットワーク由来のプログラムに順次与えることでテストを実行し、前記入力ベクトルに対応するテスト結果である出力ベクトルを取得する処理と、前記出力ベクトルを構成する要素のうち所定の複数の要素各々を座標軸とした座標系において、当該複数の要素各々の値が同一となる直線と、当該複数の要素各々の値を合算した値が所定値となる超平面と、をそれぞれ生成する処理と、前記直線と前記超平面との交点たる最拮抗点と、前記出力ベクトルのうち、前記複数の要素各々の値の大きさが、出力ベクトル間で所定の順位以上の境界ベクトルとを、前記座標系に配置し、当該境界ベクトルに対応する入力ベクトルとともに所定の出力装置に表示させる処理と、を実行する演算装置と、を備えることを特徴とする。
【０００９】
また、本発明の境界探索テスト支援方法は、所定の入力ベクトルを複数保持する記憶装置を備えた情報処理装置が、前記複数の入力ベクトルを記憶装置より取得して、これをニューラルネットワーク由来のプログラムに順次与えることでテストを実行し、前記入力ベクトルに対応するテスト結果である出力ベクトルを取得する処理と、前記出力ベクトルを構成する要素のうち所定の複数の要素各々を座標軸とした座標系において、当該複数の要素各々の値が同一となる直線と、当該複数の要素各々の値を合算した値が所定値となる超平面と、をそれぞれ生成する処理と、前記直線と前記超平面との交点たる最拮抗点と、前記出力ベクトルのうち、前記複数の要素各々の値の大きさが、出力ベクトル間で所定の順位以上の境界ベクトルとを、前記座標系に配置し、当該境界ベクトルに対応する入力ベクトルとともに所定の出力装置に表示させる処理と、を実行することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、効率的に検出する可能性を高めうる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の境界探索テスト支援装置の構成例を示す図である。
【図２】本実施形態における境界探索テスト支援装置のハードウェア構成例を示す図である。
【図３Ａ】本実施形態の入力ベクトルの例を示す図である。
【図３Ｂ】本実施形態の出力ベクトルの例を示す図である。
【図４】本実施形態の境界探索テスト支援方法のフロー例１を示す図である。
【図５】本実施形態の境界探索テスト支援方法のフロー例２を示す図である。
【図６】本実施形態の境界探索テスト支援方法のフロー例３を示す図である。
【図７】本実施形態の境界探索テスト支援方法のフロー例４を示す図である。
【図８】本実施形態の境界探索テスト支援方法のフロー例５を示す図である。
【図９】本実施形態における出力画面例１を示す図である。
【図１０】本実施形態の境界探索テスト支援方法のフロー例６を示す図である。
【図１１】本実施形態における境界ベクトル系列の例を示す図である。
【図１２】本実施形態における出力画面例２を示す図である。
【図１３】本実施形態の境界探索テスト支援方法のフロー例７を示す図である。
【図１４】本実施形態の境界探索テスト支援方法のフロー例８を示す図である。
【図１５】本実施形態の境界探索テスト支援方法のフロー例９を示す図である。
【発明を実施するための形態】
【００１２】
−−−境界探索テスト支援装置の機能構成−−−
【００１３】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の境界探索テスト支援装置１００の構成例を示す図である。図１に示す境界探索テスト支援装置１００は、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、効率的に検出可能とするコンピュータ装置である。
【００１４】
この境界探索テスト支援装置１００は、図１に示すように、テスト対象プログラム保持部１１０、入力ベクトル保持部１１１、入力ベクトル生成部１１２、テスト実行部１１３、出力ベクトル保持部１１４、座標系作成部１１５、境界探索対象要素決定部１１６、境界ベクトル取得部１１７、境界ベクトル評価部１１８、ノイズ除去部１１９、境界ベクトル系列作成部１２０、座標系表示部１２１、境界ベクトル系列保持部１２２、境界ベクトル系列表示部１２３、境界ベクトル系列確認結果受付部１２４、確認済み隣接ベクトル系列保持部１２５、および、境界ベクトル系列評価部１２６、を備えている。これらは、境界探索テスト支援装置１００が備えるプログラムおよびハードウェアを協働させ実装される機能部である。
【００１５】
このうちテスト対象プログラム保持部１１０は、テスト対象プログラム１１０１を保持している。このテスト対象プログラム１１０１は、ニューラルネットワークにより生成されたプログラムである。本実施形態では、このテスト対象プログラム１１０１の一例として、画像認識プログラムを想定する。
【００１６】
また、入力ベクトル保持部１１１は、入力ベクトル１１１１を保持している。この入力ベクトル１１１１は、或る期待出力値に関して生成された、テスト入力値から構成されている。本実施形態で一例として想定する入力ベクトルは、数字を表示している画像データをテスト入力値とし、これを上述の画像認識プログラムに与えた場合に認識される数字として、期待している数字を期待出力値とする。
【００１７】
また、入力ベクトル生成部１１２は、上述の入力ベクトル１１１１を、モーフィング技術など適宜な技術により生成し、或いは、ユーザからテスト入力値の指定を受けて、これを入力ベクトル１１１１に反映させる。よって入力ベクトル生成部１１２は、入力ベクトル１１１１が画像データである場合、上述のとおり、モーフィング技術によって、対象要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトルの系列を生成し、当該入力ベクトルの系列を入力ベクトル保持部１１１に格納することとなる。
【００１８】
また、テスト実行部１１３は、上述のテスト対象プログラム１１０１に、入力ベクトル１１１１を入力として与えて実行させ、その出力値たる出力ベクトルを取得する。また、テスト実行部１１３は、このテスト実行に際し、当該テスト対象プログラム１１０１における各層の各ニューロンの情報（ニューロン情報）も取得するとしてよい。
【００１９】
また、出力ベクトル保持部１１４は、上述のテスト実行部１１３によるテスト実行で得た出力ベクトル１１４１を保持している。この出力ベクトル１１４１の詳細は後述する（図３）。
【００２０】
また、座標系作成部１１５は、上述の入力ベクトル保持部１１１の入力ベクトル１１１１に対応する出力ベクトル１１４１に基づき、当該出力ベクトル１１４１を構成する要素のうち、所定の複数の要素（以下、対象要素）各々を座標軸とした座標系を生成すると共に、この座標系において、上述の対象要素各々の値が同一となる直線と、当該対象要素各
々の値を合算した値が所定値となる超平面と、をそれぞれ生成し、上述の直線と超平面との交点たる最拮抗点を作成する（図５）。
【００２１】
また、境界探索対象要素決定部１１６は、出力ベクトル保持部１１４の出力ベクトル１１４１を参照し、その要素の値が所定条件を満たすものを所定数（例：ユーザが予め指定した数）だけ特定し、当該要素の組合せを、上述の対象要素として選択する（図４）。
【００２２】
また、境界ベクトル取得部１１７は、上述の対象要素各々を座標軸とした座標系において、出力ベクトル１１４１のうち、対象要素各々の値の大きさが、出力ベクトル間で所定の順位以上（対象要素の数に応じた順位以上。対象要素数が「２」であれば、順位２位以上）のものを境界ベクトルと特定し、これを上述の座標系に配置する（図６）。なお、特定できた境界ベクトルの数が所定基準（対象要素数）に満たない場合、既知の境界ベクトルを教師に入力ベクトルをパラメータとする損出関数を生成し、当該損出関数に関して勾配法を適用して、新たな入力ベクトルを生成し、当該入力ベクトルを入力とした前記テストを行って新たな出力ベクトルを生成して、境界ベクトルの特定処理対象とする。
【００２３】
また、境界ベクトル評価部１１８は、テスト対象プログラム１１０１の学習前後で、上述の座標系における境界ベクトル間の距離を算定し、当該距離が所定の閾値以上の場合、当該学習は失敗であったと判定し、その旨を所定装置に出力する（図７）。
【００２４】
また、ノイズ除去部１１９は、上述の境界ベクトルのうち、例えば、ユーザ指定の境界ベクトルと、それ以外の他の境界ベクトル各々との間について、対象要素以外の要素各々についてユークリッド距離を算定して、上述の他の境界ベクトルのうち、当該ユークリッド距離が所定閾値を越えるものを、当該座標系から削除する（図８）。
【００２５】
また、境界ベクトル系列作成部１２０は、上述の座標系において、最拮抗点またはユーザ指定の所定境界ベクトルを中心に、対象要素各々の増減傾向に応じた象限を生成し、この象限各々における、それぞれの要素の増減傾向に即した正方向に向かって境界ベクトルを接続して境界ベクトル系列１２２１を生成し、この情報を境界ベクトル系列保持部１２２に格納する（図１０）。
また、座標系表示部１２１は、上述の座標系作成部１１５が生成した座標系を、出力装置にて画面表示させる。
また、境界ベクトル系列保持部１２２は、境界ベクトル系列作成部１２０が生成した境界ベクトル系列を保持している。
また、境界ベクトル系列表示部１２３は、上述の境界ベクトル系列作成部１２０が生成した境界ベクトル系列を、出力装置にて画面表示させる。
【００２６】
また、境界ベクトル系列確認結果受付部１２４は、入力ベクトル１１１１に関して生成した境界ベクトル系列１２２１について、その妥当性に関するユーザ評価結果を入力装置から取得し、当該ユーザ評価結果を当該境界ベクトル系列の情報と紐付けて、外部記憶装置１０１の確認済み隣接ベクトル系列保持部１２５に格納する（図１３）。
また、確認済み隣接ベクトル系列保持部１２５は、上述のとおり、ユーザ評価結果を当該境界ベクトル系列の情報と紐付けて保持する。
【００２７】
また、境界ベクトル系列評価部１２６は、上述の境界ベクトル系列確認結果受付部１２４でユーザ評価結果を得て格納後に、入力ベクトル１１１１に関して新たに作成した境界ベクトル系列１２２１に関し、格納してある境界ベクトル系列の情報およびユーザ評価結果に基づいて、正しさを判定する（図１４）。また、境界ベクトル系列評価部１２６は、上述の入力ベクトル１１１１として、対象要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトル１１１１の系列を、テスト対象プロ
グラム１１０１に与えることで出力ベクトル１１４１の系列を取得し、当該出力ベクトル１１４１を座標系に配置する処理と、当該出力ベクトル１１４１が当該座標系において予め定めた所定範囲内に収まっているか評価する（図１５）。
−−−ハードウェア構成−−−
【００２８】
また、本実施形態の境界探索テスト支援装置１００のハードウェア構成は以下の如くとなる。図２に、本実施形態の境界探索テスト支援装置１００のハードウェア構成例を示す。
【００２９】
本実施形態の境界探索テスト支援装置１００は、外部記憶装置１０１、メモリ１０３、ＣＰＵ１０４（演算装置）、入力装置１０５、出力装置１０６、および、外部媒体入出力装置１０７、を備える。
【００３０】
このうち外部記憶装置１０１は、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶手段である。
また、メモリ１０３は、ＲＡＭなど揮発性記憶素子で構成される記憶手段である。
【００３１】
また、ＣＰＵ１０４は、外部記憶装置１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なう演算装置である。
また、入力装置１０５は、境界探索テストの担当者など適宜なユーザからのキー入力や音声入力を受け付ける入力デバイスである。
また、出力装置１０６は、処理データの表示を行うディスプレイ等の表示デバイスである。
【００３２】
また、外部媒体入出力装置１０７は、可搬型メモリや磁気記憶媒体など、各種の記憶媒体と接続可能なインターフェイスを備え、当該記憶媒体との間でデータ授受を行う装置である。外部媒体入出力装置１０７が、上述の記憶媒体から読み取る情報としては、例えば、テスト対象プログラム１１０１、および、入力ベクトル１１１１、といった情報になる。
【００３３】
なお、外部記憶装置１０１内には、本実施形態の境界探索テスト支援装置１００として必要な機能を実装する為のプログラム１０２に加えて、テスト対象プログラム１１０１、入力ベクトル１１１１、出力ベクトル１１４１、および、境界ベクトル系列１２２１、が少なくとも記憶されている。これら情報の詳細については後述する。
−−−データ構造例−−−
【００３４】
続いて、本実施形態の境界探索テスト支援装置１００が用いる各種情報について説明する。図３Ａに、本実施形態における入力ベクトル１１１１のデータ構成例を示す。
【００３５】
本実施形態における入力ベクトル１１１１は、上述の外部媒体入出力装置１０７が適宜外部媒体から読み取って入力ベクトル保持部１１１に格納したデータである。
【００３６】
そのデータ構造は、各入力ベクトルのファイルと期待出力値とを対応付けて格納したレコードの集合体である。図３Ａで示す入力ベクトル１１１１では、ある画像を入力ベクトルとして、この画像で描画される数字の「１」を期待出力値とした入力ベクトルと、数字の「７」を期待出力値とした入力ベクトル、の各例を示している。
【００３７】
続いて図３Ｂに、本実施形態における出力ベクトル１１４１のデータ構成例を示す。本
実施形態における出力ベクトル１１４１は、上述の入力ベクトル１１１１を入力として与えられたテスト対象プログラム１１０１による出力値である。そのデータ構造は、入力ベクトルごとに出力値を対応付けたレコードの集合体である。
【００３８】
図４では、出力ベクトル１１４１の一例を示しており、上述の入力ベクトル１１１１のうちいずれかの入力ベクトルに対し、テスト対象プログラム１１０１が出力した、各要素の値を含んで構成されたものとなっている。ここで言う「要素」は、入力ベクトルである上記画像で描画されており、画像認識結果となる数字の、“０”〜“９”、のそれぞれに該当する。出力ベクトル１１４１では、要素たる数字“０”〜“９”、のそれぞれに関して、テスト対象プログラム１１０１が判定した確度、の値から構成されている。
【００３９】
図３Ｂの例の場合、入力ベクトル１１１１たる画像にて描画されている数字として、“０”〜“９”、のうち、“１”については“０．３１、“７”については“０．３６”の確度で、それらしいとテスト対象プログラム１１０１が判定した結果を示している。
【００４０】
なお、こうした出力ベクトル１１４１は、境界探索テスト支援装置１００のテスト実行部１１３が、テスト対象プログラム１１０１に対し、入力ベクトル１１１１を順次与えて所定件数のテストを実行した結果に該当する。
−−−フロー例１−−−
【００４１】
以下、本実施形態における境界探索テスト支援方法の実際手順について図に基づき説明する。以下で説明する境界探索テスト支援方法に対応する各種動作は、境界探索テスト支援装置１００がメモリ等に読み出して実行するプログラム１０２によって実現される。そして、このプログラム１０２は、以下に説明される各種の動作を行うためのコードから構成されている。
【００４２】
図４は、本実施形態における境界探索テスト支援方法のフロー例１を示す図である。なお、このフローの開始以前に、テスト実行部１１３が入力ベクトル保持部１１１から入力ベクトル１１１１を読み出して、テスト対象プログラム１１０１に入力として与えて実行させ、テスト結果たる出力ベクトル１１４１を出力ベクトル保持部１１４に格納済みであるとする。
【００４３】
この場合、境界探索テスト支援装置１００の境界探索対象要素決定部１１６は、入力装置１０５から、出力ベクトル１１４１を構成する要素（例：入力ベクトル１１１１たる画像に対する画像認識の結果である、“０”〜“９”の数字）のうちいくつのものを対象要素とするか、ユーザ指定を受け付ける（ｓ１００）。ここでは、ユーザ指定として受け付ける要素数の値を、「ｎ」とする。
続いて、境界探索対象要素決定部１１６は、出力ベクトル保持部１１４から全ての出力ベクトルを取得して処理済みか判定する（ｓ１０１）。
上述の判定の結果、全ての出力ベクトルを取得して処理済みであった場合（ｓ１０１：ｙ）、境界探索対象要素決定部１１６は当該フローを終了する。
【００４４】
他方、上述の判定の結果、全ての出力ベクトルを取得して処理済みの状態ではなかった場合（ｓ１０１：ｎ）、境界探索対象要素決定部１１６は、出力ベクトル保持部１１４にアクセスして未処理の出力ベクトル１１４１を取得する（ｓ１０２）。
【００４５】
なお、境界探索対象要素決定部１１６は、出力ベクトルに関して本フローの処理を実行するごとに、出力ベクトル保持部１１４において、該当出力ベクトルに処理済みフラグを付与するものとする。
【００４６】
よって、境界探索対象要素決定部１１６は、ｓ１０１の判定およびｓ１０２での未処理の出力ベクトル１１４１の取得は、上述のフラグの有無に基づいて実行することとなる。
次に、境界探索対象要素決定部１１６は、ｓ１０２で得た出力ベクトルに関して、その要素の値が予め定めた所定条件を満たすものか判定する（ｓ１０３）。
上述の所定条件としては、所定の閾値以上の大きさであること、要素間で値の大きさが上位ｎ番目以内、といったものを想定できる。
上述の判定の結果、上述の所定条件を満たすｎ個の要素を特定できなかった場合（ｓ１０３：ｎ）、境界探索対象要素決定部１１６は、処理をｓ１０１に戻す。
【００４７】
他方、上述の判定の結果、上述の所定条件を満たすｎ個の要素を特定できた場合（ｓ１０３：ｙ）、境界探索対象要素決定部１１６は、そのｎ個の要素の組合せを対象要素として選択して、その情報を例えばメモリ１０３に保持し（ｓ１０４）、処理をｓ１０１に戻す。以後、境界探索対象要素決定部１１６は、ｓ１０１の判定の結果、出力ベクトル保持部１１４の全ての出力ベクトル１１４１について取得して処理済みとなるまで（ｓ１０１：ｙ）、ｓ１０２〜ｓ１０４を繰り返した上で、本フローを終了する。
−−−フロー例２−−−
続いて、座標系作成部１１５によるフローについて説明する。図５は、本実施形態における境界探索テスト支援方法のフロー例２を示す図である。
【００４８】
この場合まず、座標系作成部１１５は、上述のフロー例１で得ている対象要素の情報（例：出力ベクトル１１４１の要素のうち、“１”に対応した第２要素と“７”に対応した第８要素）をメモリ１０３から取得する（ｓ２００）。
【００４９】
続いて、座標系作成部１１５は、ｓ２００で取得した対象要素の情報に基づき、対象要素各々を座標軸とした座標系を生成し、これを表示装置１０６で表示させる（ｓ２０１）。上述の例の場合、対象要素は、第２要素と第８要素の２つ（ｎ＝２）であり、例えば、第２要素をｘ軸、第８要素をｙ軸とした二次元の座標系を生成できる。
【００５０】
また、座標系作成部１１５は、上述の対象要素各々の値が同一となる直線を、上述の座標系に生成する（ｓ２０２）。この直線は、対象要素の値をｘ１、ｘ２、・・・とすれば、ｘ１＝ｘ２＝・・・という式で示される。
【００５１】
続いて、座標系作成部１１５は、対象要素各々の値を合算した値が所定値となる超平面を、上述の座標系に生成する（ｓ２０３）。この超平面は、上述の合算値を「１」、対象要素の値をｘ１、ｘ２、・・・とすれば、ｘ１＋ｘ２＋・・・＝１、という式で示される。
【００５２】
また、座標系作成部１１５は、上述の直線と超平面との交点たる最拮抗点を、それぞれの式に基づき特定し、これを上述の座標系に表示し（ｓ２０４）、終了する。上述の直線と超平面との交点の求め方は、数学における既知の解法を採用すればよい。
−−−フロー例３−−−
続いて、境界ベクトル取得部１１７によるフローについて説明する。図６は、本実施形態における境界探索テスト支援方法のフロー例３を示す図である。
【００５３】
まず、境界ベクトル取得部１１７は、出力ベクトル保持部１１４の出力ベクトル１１４１を取得し（ｓ３００）、これらのうち、上述の対象要素各々の値の大きさが、出力ベクトル間で上位ｎ番目（すなわち対象要素数の順位以上）のものを境界ベクトルとして特定し、これをフロー例２で生成してある座標系に配置する（ｓ３０１）。上述の具体例の場合、第２要素の値と第８要素の値のそれぞれが、出力ベクトル１１４１の間で、上位２番目以内の大きさのものを、境界ベクトルとして特定することになる。
【００５４】
続いて、境界ベクトル取得部１１７は、これまで実行したｓ３０１の結果、予め定めた所定数の境界ベクトルを座標系に配置できたか判定する（ｓ３０２）。この所定数は任意のものであり、ユーザが予め設定しているものとする。
上述の判定の結果、所定数の境界ベクトルを座標系に配置できていた場合（ｓ３０２：ｙ）、境界ベクトル取得部１１７は、本フローを終了する。
【００５５】
他方、上述の判定の結果、所定数の境界ベクトルを座標系に配置できていなかった場合（ｓ３０２：ｎ）、境界ベクトル取得部１１７は、既知の境界ベクトル（ｓ３０１で特定・配置しているもの）を教師に入力ベクトル１１１１をパラメータとする損出関数を生成し、当該損出関数に関して勾配法を適用して、新たな入力ベクトルを生成し、当該入力ベクトルを入力とした前記テストを行って新たな出力ベクトル１１４１を生成して、境界ベクトルの特定処理対象とする（ｓ３０３）。
【００５６】
また、境界ベクトル取得部１１７は、ｓ３０３で得た入力ベクトル１１１１を入力としてテスト対象プログラム１１０１に与えて実行させ、新たな出力ベクトル１１４１を取得し（ｓ３０４）、処理をｓ３０１に戻す。
【００５７】
境界ベクトル取得部１１７は、所定数の境界ベクトルを座標系に配置できるまで（ｓ３０２：ｙ）、上述のｓ３０１〜ｓ３０４を適宜繰り返し実行し、処理を終了する。
−−−フロー例４−−−
続いて、境界ベクトル評価部１１８によるフローについて説明する。図７は、本実施形態における境界探索テスト支援方法のフロー例４を示す図である。
【００５８】
この場合まず、境界ベクトル評価部１１８は、上述のフロー例３までで作成した座標系の情報をメモリ１０３から取得し（ｓ４００）、また、過去に作成した座標系の情報を同様にメモリ１０３から取得する（ｓ４０１）。なお、本実施形態における境界探索テスト支援装置１００は、座標系を生成するごとに、当該座標系に関連する各種情報を、メモリ１０３ないし外部記憶装置１０１に格納しているものとする。
また、境界ベクトル評価部１１８は、ｓ４００で得た座標系の情報から、ランダム選択するなどして任意の出力ベクトル１１４１を選択する（ｓ４０２）。
【００５９】
続いて、境界ベクトル評価部１１８は、上述のｓ４０２で選択した出力ベクトル１１４１の起源である入力ベクトル１１１１を、入力ベクトル保持部１１１から取得する（ｓ４０３）。
【００６０】
また、境界ベクトル評価部１１８は、過去に作成した座標系において、上述のｓ４０３で得た入力ベクトル１１１１を入力とした出力ベクトル１１４１が存在するか、メモリ１０３ないし外部記憶装置１０１で検索を行って判定する（ｓ４０４）。
上述の判定の結果、該当する出力ベクトル１１４１が存在しなかった場合（ｓ４０４：ｎ）、境界ベクトル取得部１１７は、処理を終了する。
【００６１】
他方、上述の判定の結果、該当出力ベクトル１１４１が存在した場合（ｓ４０４：ｙ）、境界ベクトル取得部１１７は、ｓ４０２で選択した出力ベクトル１１４１とｓ４０４の検索で存在特定できた出力ベクトル１１４１との間について、ユークリッド距離を計算する（ｓ４０５）。
また、境界ベクトル評価部１１８は、上述のｓ４０５で計算したユークリッド距離が、所定の基準値以下であるか判定する（ｓ４０６）。
【００６２】
上述の判定の結果、上述のユークリッド距離が基準値以下でなかった場合（ｓ４０６：
ｎ）、境界ベクトル取得部１１７は、直近におけるテスト対象プログラム１１０１の学習は失敗であったと判定し、その旨を表示装置１０６に表示し（ｓ４０８）、処理を終了する。
【００６３】
他方、上述の判定の結果、上述のユークリッド距離が基準値以下であった場合（ｓ４０６：ｙ）、境界ベクトル取得部１１７は、直近におけるテスト対象プログラム１１０１の学習は成功であったと判定し（ｓ４０７）、処理を終了する。
−−−フロー例５−−−
続いて、ノイズ除去部１１９によるフローについて説明する。図８は、本実施形態における境界探索テスト支援方法のフロー例５を示す図である。
この場合まず、ノイズ除去部１１９は、上述のフロー例３（図６）で境界ベクトル取得部１１７が作成済みの境界ベクトルを取得する（ｓ５００）。
【００６４】
続いて、ノイズ除去部１１９は、ｓ５００で得た境界ベクトルのうち任意のものについて、入力装置１０５でユーザ指定を受け付ける（ｓ５０１）。ここでユーザ指定を受けた境界ベクトルを「α」とする。
【００６５】
また、ノイズ除去部１１９は、ｓ５００で得た境界ベクトルのうち、上述の「α」以外の境界ベクトルについて抽出し、以降のｓ５０３〜ｓ５０６の各処理を行ったか判定する（ｓ５０２）。
【００６６】
上述の判定の結果、ｓ５００で得た境界ベクトルのうち、上述の「α」以外の境界ベクトル全てについて、以降のｓ５０３〜ｓ５０６の各処理が済んでいた場合（ｓ５０２：ｙ）、ノイズ除去部１１９は処理を終了する。
【００６７】
他方、上述の判定の結果、ｓ５００で得た境界ベクトルのうち、上述の「α」以外の境界ベクトルのいずれかについて、以降のｓ５０３〜ｓ５０６の各処理が未完であった場合（ｓ５０２：ｎ）、ノイズ除去部１１９は、当該境界ベクトルを取得する（ｓ５０３）。ここで取得した境界ベクトルを「β」とする。
【００６８】
また、ノイズ除去部１１９は、上述の境界ベクトル「α」と境界ベクトル「β」と間について、対象要素以外の要素各々についてユークリッド距離を算定する（ｓ５０４）。
続いて、ノイズ除去部１１９は、上述のｓ５０４で算定したユークリッド距離が、所定閾値を越えるものか判定する（ｓ５０５）。
上述の判定の結果、算定したユークリッド距離が、所定閾値を越えるものでなかった場合（ｓ５０５：ｎ）、ノイズ除去部１１９は、処理をｓ５０２に戻す。
【００６９】
他方、上述の判定の結果、算定したユークリッド距離が、所定閾値を越えるものであった場合（ｓ５０５：ｙ）、ノイズ除去部１１９は、当該境界ベクトル「β」を座標系から削除し（ｓ５０６）、処理をｓ５０２に戻す。
ノイズ除去部１１９は、全ての境界ベクトルを取得して処理するまで（ｓ５０２：ｙ）、上述のｓ５０３〜ｓ５０６を適宜繰り返し実行し、処理を終了する。
【００７０】
こうして境界ベクトル「β」を削除し、適宜な境界ベクトルのみを配置した座標系は、例えば、図９に示す表示形態を想定できる。図９で例示する画面９００は、境界探索テスト支援装置１００の座標系表示部１２１が、上述のノイズ除去部１１９の処理結果を受けて、表示装置１０６で座標系９０１を表示した例となっている。
【００７１】
座標系表示部１２１は、上述の直線９０２、超平面９０３、最拮抗点９０４、および、境界ベクトル９０５を、対象要素を座標軸とした座標系９０１に配置し、表示装置１０６
で表示する。
【００７２】
また、この座標系表示部１２１は、上述の画面９００において、境界ベクトル９０５それぞれに対応する入力ベクトル１１１１（本実施形態では数字が描かれた画像）と、当該境界ベクトル９０５の各要素の値（対応する出力ベクトル１１４１の値）も、表示する。
このうち入力ベクトル１１１１は、例えば、ユーザが入力装置１０５を操作して境界ベクトル９０５をマウスオーバーした際に、ポップアップ表示させるとしてもよい。同様に、出力ベクトル１１４１の値は、例えば、ユーザが入力装置１０５を操作して出力ベクトルのアイコン９０６をマウスオーバーした際に、ポップアップ表示させるとしてもよい。
【００７３】
なお、ノイズ除去部１１９は、境界ベクトル９０５におけるノイズ分を排除する手法として、図８のフローで示したものを変形させた概念を採用することもできる。
【００７４】
この場合、ノイズ除去部１１９は、画面９００で表示している、座標系９０１における境界ベクトルの表示数の指定を受けるスライダーバー９１０、境界ベクトル９０５から直線９０２における最近点９０７までの距離に関する係数“ａ”（第１係数）の入力欄９１１、および、境界ベクトル９０５の最近点９０７から最拮抗点９０４までの距離に関する係数“ｂ”（第２係数）の入力欄９１２、を介して各値を入力装置１０５で受け付ける。
【００７５】
上述の係数のうち、境界ベクトル９０５から直線９０２における最近点９０７までの距離に関する係数“ａ”は、対象要素の値が近しいことを重視する場合に、大きく設定する性質の係数である。上述の具体例の場合、第２要素の“１”の値と、第８要素の“７”の値とが近しい、すなわち、入力ベクトルから画像認識された数字の“１”らしさと“７”らしさが接近している、境界ベクトルであることを重視する場合に大きくする係数である。
【００７６】
また、境界ベクトル９０５の最近点９０７から最拮抗点９０４までの距離に関する係数“ｂ”は、対象要素の値が近しいことよりも、対象要素の各値が共に大きい（要素間で値の大きさが上位）を重視する場合に、大きく設定する性質の係数である。上述の具体例の場合、第２要素の“１”の値と、第８要素の“７”の値とが、共に他の要素の値より大きい、すなわち、入力ベクトルから画像認識された数字の“１”らしさと“７”らしさが共に大きい、境界ベクトルであることを重視する場合に大きくする係数である。
【００７７】
また、ノイズ除去部１１９は、境界ベクトル９０５と最近点９０７との距離に、上述の係数“a”を乗じた値と、境界ベクトル９０５の最近点９０７と最拮抗点９０４との距離
に上述の係数“ｂ”を乗じた値とを合算し、当該合算値が小さい順に、表示数の分の境界ベクトルを座標系９０１に配置する。
−−−フロー例６−−−
続いて、境界ベクトル系列作成部１２０によるフローについて説明する。図１０は、本実施形態における境界探索テスト支援方法のフロー例６を示す図である。
この場合、境界ベクトル系列作成部１２０は、境界ベクトル取得部１１７が生成した座標系９０１から境界ベクトル９０５の情報を取得する（ｓ６００）。
【００７８】
続いて、境界ベクトル系列作成部１２０は、ｓ６００で情報を得た境界ベクトル９０５に関して、以後のｓ６０２〜ｓ６０５の各処理を実行したか判定する（ｓ６０１）。
【００７９】
上述の判定の結果、ｓ６００で情報を得た境界ベクトル９０５に関して、以後のｓ６０２〜ｓ６０５の各処理を実行済みであった場合（ｓ６０１：ｙ）、境界ベクトル系列作成部１２０は、処理を終了する。
【００８０】
他方、上述の判定の結果、ｓ６００で情報を得た境界ベクトル９０５のいずれかに関して、以後のｓ６０２〜ｓ６０５の各処理が未完であった場合（ｓ６０１：ｎ）、境界ベクトル系列作成部１２０は、上述の座標系９０１において、最拮抗点９０４またはユーザ指定の境界ベクトル９０５（以後、指定境界ベクトル９０５１）を起点に設定する（ｓ６０２）。この起点は、境界ベクトル系列の起点であるが、座標系９０１の座標平面を区画した象限の起点でもある。
【００８１】
ここで象限とは、対象要素各々の増減傾向に応じた領域であって、座標系９０１の座標平面を、その増減傾向別に区画したものとなる。例えば、第２要素の値が増加し、かつ、第８要素の値が減少する傾向を示す象限１２１０、第２要素の値が増加し、かつ、第８要素の値も増加する傾向を示す象限１２１１、第２要素の値が減少し、かつ、第８要素の値は増加する傾向を示す象限１２１２、第２要素の値も第８要素の値も共に減少する傾向を示す象限１２１３、などが想定できる（いずれも図１２参照）。
【００８２】
続いて、境界ベクトル系列作成部１２０は、ｓ６００で得た境界ベクトル９０５のうち、最拮抗点９０４または指定境界ベクトル９０５１からみて、上述の象限１２１０〜１２１３のいずれかに存在する境界ベクトル９０５の有無を判定する（ｓ６０３）。
上述の判定の結果、該当する境界ベクトル９０５の存在が無かった場合（ｓ６０３：ｎ）、境界ベクトル系列作成部１２０は、処理をｓ６０１に戻す。
【００８３】
他方、上述の判定の結果、該当する境界ベクトル９０５の存在を特定できた場合（ｓ６０３：ｙ）、境界ベクトル系列作成部１２０は、該当象限において、上述の最拮抗点９０４または指定境界ベクトル９０５１から、ユークリッド距離が最も近い境界ベクトル９０５を、ｓ６０３の判定で特定できた境界ベクトル９０５から選択し、これを最拮抗点９０４または指定境界ベクトル９０５１から連なる系列に追加する（ｓ６０４）。
【００８４】
この場合、境界ベクトル系列作成部１２０は、画面１２００の座標系１２０１（図１２）に示すように、指定境界ベクトル９０５１と上述の追加する境界ベクトルとの間を矢印など有向線分で連結し、境界ベクトル系列１２２０を生成することとなる。
また、境界ベクトル系列作成部１２０は、ｓ６０４で境界ベクトル系列に追加した境界ベクトルを新たな起点と設定し（ｓ６０５）、処理をｓ６０３に戻す。
【００８５】
境界ベクトル系列作成部１２０は、ｓ６００で得た境界ベクトルすべてについてｓ６０１〜ｓ６０５の各処理を実行して、象限各々における、それぞれの要素の増減傾向に即した正方向に向かって境界ベクトル９０５を接続して境界ベクトル系列１２２０を生成するまで（ｓ６０１：ｙ）、上述のｓ６０１〜ｓ６０５を適宜繰り返し実行し、処理を終了する。
【００８６】
上述のフローにより生成される境界ベクトル系列の例を図１１に示す。ここで示すように、境界探索テスト支援装置１００が保持する境界ベクトル系列１２２０の情報は、第２要素および第８要素ともに増加する象限１２１１に対応した「系列の方向（＋、＋）」、第２要素は増加し第８要素は減少する象限１２１０に対応した「系列の方向（＋、−）」、第２要素は減少し第８要素は増加する象限１２１２に対応した「系列の方向（−、＋）」、第２要素および第８要素ともに減少する象限１２１３に対応した「系列の方向（−、−）」、といった各境界ベクトル系列に関して、当該境界ベクトル系列を構成する出力ベクトルの値と、これに対応する入力ベクトルの番号とを対応付けた構成となっている。
−−−フロー例７−−−
【００８７】
続いて、境界ベクトル系列確認結果受付部１２４によるフローについて説明する。図１３は、本実施形態における境界探索テスト支援方法のフロー例７を示す図である。
【００８８】
この場合、境界ベクトル系列確認結果受付部１２４は、入力ベクトル１１１１に関して生成した境界ベクトル系列１２２０について、その妥当性に関するユーザ評価結果を入力装置１０５から取得する（ｓ７００）。
【００８９】
また、境界ベクトル系列確認結果受付部１２４は、ｓ７００で得たユーザ評価結果が、「境界ベクトル系列は妥当なもの」とのユーザ意図を沿ったものであるか判定する（ｓ７０１）。
上述の判定の結果、ユーザ評価結果がユーザ意図を沿ったものでなかった場合（ｓ７０１：ｎ）、境界ベクトル系列確認結果受付部１２４は、処理を終了する。
【００９０】
他方、上述の判定の結果、ユーザ評価結果がユーザ意図を沿ったものであった場合（ｓ７０１：ｙ）、境界ベクトル系列確認結果受付部１２４は、当該ユーザ評価結果を受けた当該境界ベクトル系列１２２０の情報を、確認済み境界ベクトル系列保持部１２５に格納し（ｓ７０２）、処理を終了する。したがって、特に図示しないが、確認済み境界ベクトル系列保持部１２５には、ユーザ意図に即した境界ベクトル系列の情報が蓄積されている。
−−−フロー例８−−−
続いて、境界ベクトル系列評価部１２６によるフローについて説明する。図１４は、本実施形態における境界探索テスト支援方法のフロー例８を示す図である。
【００９１】
この場合、境界ベクトル系列評価部１２６は、例えば、境界ベクトル系列作成部１２０が境界ベクトル系列１２２０を生成するごとに、当該境界ベクトル系列を評価対象として取得する（ｓ８００）。
【００９２】
また、境界ベクトル系列評価部１２６は、ｓ８００で得た境界ベクトル系列と、対象要素の値の増減傾向が同一、すなわち象限が同一で、確認済みベクトル系列保持部１２５に格納されている過去の境界ベクトル系列を取得する（ｓ８０１）。
【００９３】
続いて、境界ベクトル系列評価部１２６は、上述の評価対象の境界ベクトル系列と、ｓ８０１で得た過去の境界ベクトル系列との間で、全要素に関するコサイン類似度を算定する（ｓ８０２）。
【００９４】
また、境界ベクトル系列評価部１２６は、上述のｓ８０２での算定結果から、評価対象の境界ベクトル系列と、ｓ８０１で得た過去の境界ベクトル系列との間の類似度が、所定の基準以上であるか判定する（ｓ８０３）。
【００９５】
上述の判定の結果、上述の類似度が基準以下であった場合（ｓ８０３：ｙ）、境界ベクトル系列評価部１２６は、評価対象の境界ベクトル系列はユーザ意図に即したものではないと判定し、例えば、その旨を出力装置１０６で表示させ（ｓ８０５）、処理を終了する。
【００９６】
他方、上述の判定の結果、上述の類似度が基準を超えていた場合（ｓ８０３：ｎ）、境界ベクトル系列評価部１２６は、評価対象の境界ベクトル系列はユーザ意図に即したものであると判定し、例えば、その旨を出力装置１０６で表示させ（ｓ８０４）、処理を終了する。
−−−フロー例９−−−
続いて、境界ベクトル系列評価部１２６によるフローについて説明する。図１５は、本実施形態における境界探索テスト支援方法のフロー例９を示す図である。
【００９７】
この場合、境界ベクトル系列評価部１２６は、入力ベクトル保持部１１１において、対象要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトル１１１１の群（入力ベクトル系列）を検索する（ｓ９００）。
【００９８】
また、境界ベクトル系列評価部１２６は、ｓ９００で検索した入力ベクトル１１１１に対応する出力ベクトル１１４１を、出力ベクトル保持部１１４で検索し、座標系９０１にて境界ベクトルとして配置されたものを特定する（ｓ９０１）。
【００９９】
続いて、境界ベクトル系列評価部１２６は、上述のｓ９０１で特定した境界ベクトル９０５によって形成された境界ベクトル系列１２２０を境界ベクトル系列保持部１２２で特定する（ｓ９０２）。
【０１００】
また、境界ベクトル系列評価部１２６は、ｓ９０２で特定した境界ベクトル系列１２２０が含む各出力ベクトル１１４１は、例えば、座標系９０１において平行する所定の２つ直線に囲まれた範囲内にあるか判定する（ｓ９０３）。上述の２つの直線としては、ｙ＝−ｘ＋a、ｙ＝−ｘ−a、の２式で示されるものを一例として想定できる。
【０１０１】
上述の判定の結果、ｓ９０２で特定した境界ベクトル系列１２２０が含む各出力ベクトル１１４１のいずれかが、座標系９０１において平行する所定の２つ直線に囲まれた範囲内になかった場合（ｓ９０３：ｎ）、境界ベクトル系列評価部１２６は、当該境界ベクトル系列１２２０は、ユーザ意図に即したものではないと判定し、例えば、その旨を出力装置１０６で表示させ（ｓ９０６）、処理を終了する。
【０１０２】
他方、上述の判定の結果、ｓ９０２で特定した境界ベクトル系列１２２０が含む各出力ベクトル１１４１のすべてが、座標系９０１において平行する所定の２つ直線に囲まれた範囲内にあった場合（ｓ９０３：ｙ）、境界ベクトル系列評価部１２６は、更に、入力ベクトル系列（ｓ９００で得ているもの）を構成する入力ベクトルの連結順と、これら入力ベクトルに応じたテスト結果である出力ベクトル系列１２２０を構成する出力ベクトルの連結順とで差異が所定基準（例：２）以上あるか判定する（ｓ９０４）。
【０１０３】
例えば、入力ベクトル系列を構成する入力ベクトルが、入力ベクトル“＃１”、入力ベクトル“＃５”、入力ベクトル“＃３”、入力ベクトル“＃８”、という連結順であったとする。この“＃１”、といったＩＤは、識別情報である。一方、これら入力ベクトルに応じた出力ベクトル系列１２２０での出力ベクトルが、出力ベクトル“＃１”、入力ベクトル“＃３”、入力ベクトル“＃５”、入力ベクトル“＃８”、という連結順であったとする。この出力ベクトルに関して付与されているＩＤは、対応する入力ベクトルのものと共通しているものとする。するとこの場合、入力ベクトル系列と出力ベクトル系列とで連結順の差異は、“＃３”と“＃５”が入れ替わった１つ、となる。
【０１０４】
上述の判定の結果、入力ベクトル系列を構成する入力ベクトルの連結順と、これら入力ベクトルに応じたテスト結果である出力ベクトル系列１２２０を構成する出力ベクトルの連結順とで差異が所定基準を超えていた場合（ｓ９０４：ｎ）、境界ベクトル系列評価部１２６は、当該境界ベクトル系列１２２０は、ユーザ意図に即したものではないと判定し、例えば、その旨を出力装置１０６で表示させ（ｓ９０６）、処理を終了する。
【０１０５】
他方、上述の判定の結果、入力ベクトル系列を構成する入力ベクトルの連結順と、これら入力ベクトルに応じたテスト結果である出力ベクトル系列１２２０を構成する出力ベクトルの連結順とで差異が所定基準以下であった場合（ｓ９０４：ｙ）、境界ベクトル系列評価部１２６は、当該境界ベクトル系列１２２０は、ユーザ意図に即したものであると判定し、例えば、その旨を出力装置１０６で表示させ（ｓ９０５）、処理を終了する。
【０１０６】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、効率的に検出可能となる。
【０１０７】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記境界ベクトルのうち所定の境界ベクトルと、他の境界ベクトル各々との間について、前記複数の要素以外の要素各々についてユークリッド距離を算定して、前記他の境界ベクトルのうち、所定要素に関して当該ユークリッド距離が所定閾値を越えるものを、前記座標系から削除する処理を更に実行するものである、としてもよい。
【０１０８】
これによれば、出力ベクトルにおけるユーザの期待値に対応する、上述の複数の要素、とは別の、他の要素に関しても考慮し、期待値以外の要素に関して相違が大きいものについて境界ベクトルから除外することが可能となる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１０９】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記複数の要素の数が３つ以下の場合、前記直線、前記超平面、前記最拮抗点、前記境界ベクトル、および、前記境界ベクトルに対応する入力ベクトル、をそれぞれ配置した前記座標系を前記出力装置に表示させるものであり、前記境界ベクトルの表示数、前記境界ベクトルから前記直線における最近点までの距離に関する第１係数、および、前記境界ベクトルの前記最近点から前記最拮抗点までの距離に関する第２係数、の各値を入力装置で受け付けて、前記境界ベクトルと前記最近点との距離に前記第１係数を乗じた値と、前記境界ベクトルの前記最近点と前記最拮抗点との距離に前記第２係数を乗じた値とを合算し、当該合算値が小さい順に、前記表示数の分の境界ベクトルを前記座標系に配置するものである、としてもよい。
【０１１０】
これによれば、上述の複数の要素のいずれも値が近しいか（第１係数）、上述の複数の要素のいずれも値が近しくかつ値自体が大きいか（第２係数）、といったユーザ所望の条件について指定を受け付けて、これに応じた境界ベクトルを特定することができる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１１１】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記座標系において、前記最拮抗点または所定の境界ベクトルを中心に、前記複数の要素各々の増減傾向に応じた象限を生成し、前記象限各々における、それぞれの要素の増減傾向に即した正方向に向かって境界ベクトルを接続して境界ベクトル系列を生成する処理と、前記座標系における、前記境界ベクトル系列と、これを成す各境界ベクトルに関して、対応する入力ベクトルの情報とを、前記出力装置に表示させる処理を更に実行するものである、としてもよい。
【０１１２】
これによれば、所定の期待値に関する出力ベクトルの変遷傾向を境界ベクトル系列として特定し、これの入力ベクトルと併せて画面表示することが可能となる。このことは、ユーザ側で出力ベクトルの傾向を容易に認識し、該当プログラムのパラメータ修正に反映させるなど学習精度を向上させることにつながりうる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１１３】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記境界ベク
トルの数が所定基準に満たない場合、既知の境界ベクトルを教師に入力ベクトルをパラメータとする損出関数を生成し、当該損出関数に関して勾配法を適用して、新たな入力ベクトルを生成し、当該入力ベクトルを入力とした前記テストを行って新たな出力ベクトルを生成して、境界ベクトルの特定処理対象とする処理を更に実行するものである、としてもよい。
【０１１４】
これによれば、適宜な数の境界ベクトルをユーザに提示して、出力ベクトルの傾向を容易に認識させ、該当プログラムのパラメータ修正に反映させるなど学習精度を向上させることにつながりうる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１１５】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記出力ベクトルを参照し、その要素の値が所定条件を満たす場合、当該要素の組合せを前記複数の要素として選択する処理を更に実行するものである、としてもよい。
【０１１６】
これによれば、上述の複数の要素に関して、ユーザによる指定を受け付ける処理を回避し、ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１１７】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記入力ベクトルに関して生成した前記境界ベクトル系列について、その妥当性に関するユーザ評価結果を所定装置から取得し、当該ユーザ評価結果を当該境界ベクトル系列の情報と紐付けて記憶装置に格納する処理と、前記格納後に、前記入力ベクトルに関して新たに作成した境界ベクトル系列に関し、前記格納してある前記境界ベクトル系列の情報および前記ユーザ評価結果に基づいて、正しさを判定する処理を更に実行するものである、としてもよい。
【０１１８】
これによれば、ユーザ評価結果が好適な境界ベクトル系列を基準に、出力ベクトルたる境界ベクトル系列の評価を効率的に行うことが可能となる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１１９】
また、本実施形態の境界探索テスト支援装置において、前記記憶装置は、前記入力ベクトルとして、前記複数の要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトルの系列を更に保持し、前記演算装置は、前記入力ベクトルの系列を前記ニューラルネットワーク由来のプログラムに与えることで出力ベクトルの系列を取得し、当該出力ベクトルを前記座標系に配置する処理と、前記出力ベクトルが前記座標系において予め定めた所定範囲内に収まっているか評価する処理とを更に実行するものである、としてもよい。
【０１２０】
これによれば、出力ベクトルの変化傾向がユーザ期待の変化範囲を超えないよう図ることが可能となる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【０１２１】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記入力ベクトルが画像データである場合、モーフィング技術によって、前記複数の要素のうち所定の第１要素の値が徐々に増加し、所定の第２要素の値が徐々に減少する入力ベクトルの系列を生成し、当該入力ベクトルの系列を記憶装置に格納する処理を更に実行するものである、としてもよい。
【０１２２】
これによれば、入力ベクトルの生成を効率的なものとできる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能とな
る。
【０１２３】
また、本実施形態の境界探索テスト支援装置において、前記演算装置は、前記ニューラルネットワーク由来のプログラムの学習前後で、前記座標系における境界ベクトル間の距離を算定し、当該距離が所定の閾値以上の場合、当該学習は失敗であったと判定し、その旨を所定装置に出力する処理を更に実行するものである、としてもよい。
【０１２４】
これによれば、上述のプログラムに対するパラメータ修正すなわち学習が及ぼす影響が、極端なものとならないよう、適宜に制御することが可能となる。ひいては、機械学習によって作成したプログラムにおいて出力値が変化する境界点を、より効率的に検出可能となる。
【符号の説明】
【０１２５】
１００  境界探索テスト支援装置
１０１  外部記憶装置
１０２  プログラム
１０３  メモリ
１０４  ＣＰＵ（演算装置）
１０５  入力装置
１０６  表示装置
１０７  外部媒体入出力装置
１１０  テスト対象プログラム保持部
１１０１  テスト対象プログラム
１１１  入力ベクトル保持部
１１１１  入力ベクトル
１１２  入力ベクトル生成部
１１３  テスト実行部
１１４  出力ベクトル保持部
１１４１  出力ベクトル
１１５  座標系作成部
１１６  境界探索対象要素決定部
１１７  境界ベクトル取得部
１１８  境界ベクトル評価部
１１９  ノイズ除去部
１２０  境界ベクトル系列作成部
１２１  座標系表示部
１２２  境界ベクトル系列保持部
１２２１  境界ベクトル系列
１２３  境界ベクトル系列表示部
１２４  境界ベクトル系列確認結果受付部
１２５  確認済み隣接ベクトル系列保持部
１２６  境界ベクトル系列評価部
９００  画面
９０１  座標系
９０２  直線
９０３  超平面
９０４  最拮抗点
９０５  境界ベクトル
９０６  出力ベクトル
９０７  最近点
９１０  スライダーバー
９１１、９１２  入力欄
【図１】
2019125224.tif 000003
【図２】
2019125224.tif 000004
【図３Ａ】
2019125224.tif 000005
【図３Ｂ】
2019125224.tif 000006
【図４】
2019125224.tif 000007
【図５】
2019125224.tif 000008
【図６】
2019125224.tif 000009
【図７】
2019125224.tif 000010
【図８】
2019125224.tif 000011
【図９】
2019125224.tif 000012
【図１０】
2019125224.tif 000013
【図１１】
2019125224.tif 000014
【図１２】
2019125224.tif 000015
【図１３】
2019125224.tif 000016
【図１４】
2019125224.tif 000017
【図１５】
2019125224.tif 000018