(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025099158
(43)【公開日】2025-07-03
(54)【発明の名称】シミュレーション装置、プログラム、およびシミュレーション方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20250626BHJP
G06N 3/09 20230101ALI20250626BHJP
【FI】
G06N20/00 130
G06N3/09
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023215596
(22)【出願日】2023-12-21
(71)【出願人】
【識別番号】000116024
【氏名又は名称】ローム株式会社
(74)【代理人】
【識別番号】110001933
【氏名又は名称】弁理士法人 佐野特許事務所
(72)【発明者】
【氏名】浜地 健次
(57)【要約】
【課題】教師ありの機械学習による効果を効果的に確認することができる。
【解決手段】シミュレーション装置(1)においては、機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、モデル設定部(6)は、読み込まれた学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行い、かつ、読み込まれたテスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行い、モデル演算部(5)は、前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行い、前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行い、前記推論の結果と前記第4チャンクとの比較を演算する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
学習および推論を行うように構成される機械学習モデルが記憶されたモデル記憶部と、
前記機械学習モデルを用いて演算処理を行うように構成されるモデル演算部と、
操作入力部と、
学習用データおよびテスト用データを読み込むように構成される読込み部と、
前記操作入力部による入力に基づき、前記機械学習モデルに関する設定を行うように構成されるモデル設定部と、
を備え、
前記機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、
前記モデル設定部は、読み込まれた前記学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行い、かつ、読み込まれた前記テスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行い、
前記モデル演算部は、前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行い、前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行い、前記推論の結果と前記第4チャンクとの比較を演算する、シミュレーション装置。
【請求項2】
前記モデル設定部は、読み込まれた前記学習用データにおいて、先頭列としての列番号、行数、および列数を設定することで前記第1チャンクおよび前記第2チャンクの設定が可能である、請求項1に記載のシミュレーション装置。
【請求項3】
前記モデル設定部は、前記第1チャンクのチャンク数を設定可能であり、前記第1チャンクと前記第2チャンクのチャンク数は一致する、請求項1に記載のシミュレーション装置。
【請求項4】
前記モデル設定部は、読み込まれた前記テスト用データにおいて、先頭列としての列番号、行数、および列数を設定することで前記第3チャンクおよび前記第4チャンクの設定が可能である、請求項1に記載のシミュレーション装置。
【請求項5】
前記第1チャンクの行数および列数が設定されると、当該行数および列数とそれぞれ一致する前記第3チャンクの行数および列数を自動的に表示し、前記第2チャンクの行数および列数が設定されると、当該行数および列数とそれぞれ一致する前記第4チャンクの行数および列数を自動的に表示する制御を行うように構成される第1表示制御部を備える、請求項4に記載のシミュレーション装置。
【請求項6】
前記モデル設定部は、前記第3チャンクのチャンク数を設定可能であり、前記第3チャンクと前記第4チャンクのチャンク数は一致する、請求項1に記載のシミュレーション装置。
【請求項7】
前記モデル設定部は、前記機械学習モデルのニューラルネットワークに関する項目を設定可能である、請求項1に記載のシミュレーション装置。
【請求項8】
前記項目には、学習結果を忘れる程度を表すパラメータである忘却率が含まれる、請求項7に記載のシミュレーション装置。
【請求項9】
前記機械学習モデルによる学習中の推論結果と前記教師データとに基づく損失関数の値を前記第2チャンクごとに表示する制御を行うように構成される第2表示制御部を備える、請求項1に記載のシミュレーション装置。
【請求項10】
前記機械学習モデルによる学習中の推論結果と前記教師データとの差分の前記教師データに対する比率を誤差として表示する制御を行うように構成される第3表示制御部を備える、請求項1に記載のシミュレーション装置。
【請求項11】
前記テスト入力データを用いた前記機械学習モデルの推論結果と前記期待データとに基づく損失関数の値を前記第4チャンクごとに表示する制御を行うように構成される第4表示制御部を備える、請求項1に記載のシミュレーション装置。
【請求項12】
前記テスト用データを用いた前記機械学習モデルの推論結果と前記期待データとの差分の前記期待データに対する比率を誤差として表示する制御を行うように構成される第5表示制御部を備える、請求項1に記載のシミュレーション装置。
【請求項13】
前記モデル設定部は、全ての前記第1チャンクおよび前記第2チャンクを用いた学習を繰り返し行う繰り返し数を設定可能である、請求項1に記載のシミュレーション装置。
【請求項14】
コンピュータを請求項1から請求項13のいずれか1項に記載のシミュレーション装置として機能させるためのプログラム。
【請求項15】
機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、
学習用データを読み込む第1ステップと、
読み込まれた前記学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行う第2ステップと、
テスト用データを読み込む第3ステップと、
読み込まれた前記テスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行う第4ステップと、
前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行う第5ステップと、
前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行う第6ステップと、
前記推論の結果と前記第4チャンクとの比較を演算する第7ステップと、を備える、シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、シミュレーション装置に関する。
【背景技術】
【0002】
従来、産機分野の工場設備保全に関して、機械システムの状態管理保全(Condition Based Maintenance)に対してAI(人工知能)の適用が進んでいる(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【0004】
[概要]
上記状態管理保全に対してAIを導入する場合、実機を用いずにAIの効果を確認することができれば有用である。機械学習としては、教師データを用いたいわゆる教師あり学習が知られている。
【0005】
上記状況に鑑み、本開示は、教師ありの機械学習による効果を効果的に確認することができるシミュレーション装置を提供することを目的とする。
【0006】
本開示の一態様に係るシミュレーション装置は、
学習および推論を行うように構成される機械学習モデルが記憶されたモデル記憶部と、
前記機械学習モデルを用いて演算処理を行うように構成されるモデル演算部と、
操作入力部と、
学習用データおよびテスト用データを読み込むように構成される読込み部と、
前記操作入力部による入力に基づき、前記機械学習モデルに関する設定を行うように構成されるモデル設定部と、
を備え、
前記機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、
前記モデル設定部は、読み込まれた前記学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行い、かつ、読み込まれた前記テスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行い、
前記モデル演算部は、前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行い、前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行い、前記推論の結果と前記第4チャンクとの比較を演算する構成としている。
【0007】
また、本開示の一態様に係るシミュレーション方法は、機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、
学習用データを読み込む第1ステップと、
読み込まれた前記学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行う第2ステップと、
テスト用データを読み込む第3ステップと、
読み込まれた前記テスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行う第4ステップと、
前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行う第5ステップと、
前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行う第6ステップと、
前記推論の結果と前記第4チャンクとの比較を演算する第7ステップと、を備える。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本開示の例示的な実施形態に係るコンピュータの構成を示す図である
【
図2】
図2は、本開示の例示的な実施形態に係るシミュレーション装置の構成を示す図である。
【
図3】
図3は、教師あり学習を説明するための図である。
【
図4】
図4は、教師あり学習のタスクの一例である未来予測について説明するための図である。
【
図6】
図6は、ダイアログボックスを示す図である。
【
図7】
図7は、学習用ファイルのデータ例を示す図である。
【
図9】
図9は、入力データのチャンクの設定例を示す図である。
【
図10】
図10は、教師データのチャンクの設定例を示す図である。
【
図14】
図14は、テスト習用ファイルのデータ例を示す図である。
【
図16】
図16は、テスト入力データのチャンクの設定例を示す図である。
【
図17】
図17は、期待データのチャンクの設定例を示す図である。
【
図20】
図20は、3層ニューラルネットワークを示す図である。
【
図21】
図21は、第3設定画面においてタブTB2を切り替えた状態を示す図である。
【
図24】
図24は、変形例に係る第3設定画面を示す図である。
【
図25】
図25は、満充電容量シミュレーションのための学習用データの一例を示す図である。
【
図26】
図26は、満充電容量の未来予測の一例を示すグラフである。
【0009】
[詳細な説明]
以下、本開示の例示的な実施形態について、図面を参照して説明する。
【0010】
<コンピュータの構成>
図1は、本開示の例示的な実施形態に係るコンピュータ100の構成を示す図である。コンピュータ100は、後述する本開示に係るシミュレーション装置として機能する。コンピュータ100は、例えばPC(パソコン)である。コンピュータ100がPCである場合、デスクトップ型であるかノート型であるかなどは問わない。
【0011】
コンピュータ100は、CPU(Central Processing Unit)100Aと、メモリ100Bと、補助記憶装置100Cと、操作入力部100Dと、表示部100Eと、を備える。
【0012】
CPU100Aは、制御装置と演算装置(いずれも図示せず)を有する。制御装置は、プログラムの指令を解釈し、コンピュータ100の各部を制御する。演算装置は、演算処理を行う装置である。
【0013】
メモリ100Bは、プログラムあるいはデータを一時的に格納する半導体記憶装置である。メモリ100Bに記憶された情報は、コンピュータ100の電源がオフとされると消去される。
【0014】
補助記憶装置100Cは、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)などにより構成され、プログラムあるいはデータが格納される。補助記憶装置100Cに格納されたプログラムは、メモリ100Bに読み込まれる。CPU100Aは、メモリ100Bに読み込まれたプログラムを実行する。
【0015】
操作入力部100Dは、キーボードあるいはマウスなどにより構成され、コンピュータ100に操作入力を与える装置である。操作入力部100Dから入力された情報は、メモリ100Bに送られる。
【0016】
表示部100Eは、例えば液晶ディスプレイなどにより構成され、メモリ100Bから取得された情報を画像に変換して出力する。
【0017】
<シミュレーション装置の構成>
図2は、本開示の例示的な実施形態に係るシミュレーション装置1の構成を示す図である。シミュレーション装置1は、機械学習(AI)による学習・推論をシミュレーションすることが可能な装置である。
【0018】
シミュレーション装置1は、ファイル記憶部2と、ファイル読込み部3と、モデル記憶部4と、モデル演算部5と、モデル設定部6と、表示制御部7と、操作入力部8と、表示部9と、を備える。コンピュータ100の補助記憶装置100Cに格納されたプログラムP(
図1)は、コンピュータ100をシミュレーション装置1として機能させるためのプログラムである。
【0019】
ファイル記憶部2は、学習用ファイル21およびテスト用ファイル22を記憶し、コンピュータ100の補助記憶装置100Cにより構成される。学習用ファイル21およびテスト用ファイル22は、それぞれ一例としてExcel(登録商標)ファイルとして構成される。なお、ファイルは、例えばコンピュータ100におけるUSBインタフェースまたはネットワークインタフェース(いずれも
図1で図示せず)を介してコンピュータ100の外部から補助記憶装置100Cに格納してもよい。
【0020】
学習用ファイル21には、学習用データ210が含まれる。学習用データ210には、入力データ(Input data)21Aおよび教師データ(Training data)21Bが含まれる。学習用データ210は、入力データ21Aと教師データ21Bをそれぞれ機械学習モデル40(後述)に入力・出力として供給することで、いわゆる教師あり学習を行うためのデータである。
【0021】
テスト用ファイル22には、テスト用データ220が含まれる。テスト用データ220には、テスト入力データ(Test input data)22Aおよび期待データ(Expected data)22Bが含まれる。テスト入力データ22Aを機械学習モデル40に入力させて推論を行うことで推論データが機械学習モデル40から出力される。出力された推論データは、期待データと比較される(後述する異常度の生成など)。
【0022】
ファイル読込み部3は、ファイル記憶部2から学習用ファイル21およびテスト用ファイル22を読み込む。
【0023】
モデル記憶部4は、機械学習モデル40を記憶しており、コンピュータ100の補助記憶装置100Cにより構成される。機械学習モデル40は、例えばMATLAB/Simulink(登録商標)によってプログラムPとして構成される。機械学習モデル40の具体例については後述する。
【0024】
ファイル読込み部3、モデル演算部5、モデル設定部6、および表示制御部7の各機能は、プログラムPをCPU100Aが実行することにより実現される。なお、操作入力部8と表示部9は、それぞれコンピュータ100における操作入力部100Dと表示部100Eに相当する。
【0025】
モデル演算部5は、モデル記憶部4に記憶された機械学習モデル40の演算処理を行うことでシミュレーションを実行する。モデル設定部6は、モデル記憶部4に記憶された機械学習モデル40に関する設定(学習・推論に使用するデータの設定、パラメータの設定、関数の種類の設定など)を操作入力部8からの入力に応じて行う。モデル演算部5によるシミュレーションは、モデル設定部6による設定内容に従って行われる。表示制御部7は、後述する設定画面などの各種画面を操作入力部8からの入力に応じて表示部9に表示させる制御を行う。
【0026】
例えば、産機分野の工場設備保全において、機械システムの状態管理保全に対して機械学習の適用が進んでいる。しかしながら、いざ目星を付けたAIアルゴリズムをユーザが試そうとしても、AIベンダー等のAIの開発元にデータを提供する必要がある。多くの場合そのデータは製品および製造工程に関わる機密情報を含んでいるため開示が難しい。よって、従来は、AIベンダー等の各種事例を参考にしたり、一般的なAI性能のベンチマークとなっているオープン問題(例えば、ボストンの住宅価格予測、ディーゼル燃料の物性推定など)を解かせて、ユーザの問題および課題解決に適するかを判断するしかなかった。当然、そういったオープン問題はユーザの問題および課題と一致していないため、選定したAIアルゴリズムをユーザのデータに適用したときに、不適切あるいはあまり適してはいなかった等が後から明らかになることがよく起こる。これにより、AIアルゴリズムから選び直すことになれば、ユーザ、AIベンダー双方にとって不利益である。
【0027】
上記のようにユーザが取得したデータを使ってAIでどのようなことができるか試そうにも、データを外部(AIベンダーあるいはAIソリューションを持つICメーカ等)と共有する必要がある。つまり、機密情報であるデータを外部に出すリスクがある。また、データだけを提供しても適切に外部で解析してもらえるかは難しく、ユーザがデータ取得したドメインに対しての高度な知識がないと適切なAIパラメータの調整は難しい。ユーザからAIベンダー等にドメイン知識を伝えることも非常な手間となり、背景知識に差があるためコミュニケーションエラーも起きやすい。また、ユーザが取得したデータを、即日その場で解析することができない。
【0028】
上記のような状況に鑑み、本開示に係るシミュレーション装置1を使用すれば、ユーザが所有するデータを用いて、教師あり学習によるAI効果を効果的に確認することが可能となる。これにより、例えば、機密情報のデータを外部に出すリスクがなくなったり、取得したデータをその場で解析できたりなどの効果を奏する。特に、本開示では、後述するように機械学習モデルに対する入力データおよび出力データの設定にチャンクという概念を導入し、複数種類の入力データを複数個ずつ入力するなどの設定が容易となっている。
【0029】
<教師あり学習>
ここで、教師あり学習について概要を説明する。
図3は、教師あり学習を説明するための図である。教師あり学習では、機械学習モデル(AI)に対して入力として入力データ(Input data)、出力として教師データ(Training data)が与えられ、機械学習モデルのパラメータが学習される。その後、テスト入力データ(Test input data)が機械学習モデルに入力され、機械学習モデルにより推論された結果として推論データが出力される。出力された推論データは、期待データ(Expected data)と比較される。なお、
図3および
図4では、推論データは、期待データとの比較対象として、実際のデータ(Actual data)として図示されている。
【0030】
図4は、教師あり学習のタスクの一例である未来予測について説明するための図である。ここでは、オリジナルデータ(Original data)を、時系列の前半の入力データと後半の学習データとに分割する。そして、入力データおよび学習データを用いて機械学習モデルによる学習を行う。その後、時系列の前半であるテスト入力データを機械学習モデルに入力させることで、機械学習モデルから時系列の後半の実際のデータ(推論データ)が出力される。このように、時系列の前半のデータに基づき後半のデータを予測することができる。出力された実際のデータは、期待データと比較される。
【0031】
<GUI>
次に、本実施形態に係るシミュレーション装置1におけるシミュレーションに関する設定を可能とするGUI(Graphical User Interface)について説明する。以下に説明する各種設定画面の例は、表示制御部7(
図2)によって表示部9に表示される。各種設定画面における選択および設定、あるいは画面の切替えなどは操作入力部8による入力に基づいて行われる。各種設定画面において設定される内容は、モデル設定部6により設定される。
【0032】
<<学習用ファイルの読み込み>>
プログラムPを起動させると、
図5に示す第1設定画面が表示される。第1設定画面は、学習用データを設定するための画面である。第1設定画面の上方には、タブTBが左右に並んで表示される。タブTBを押すことで設定画面を切り替えることができる。
図5は、“1.Training data”のタブTBが押された状態である。
【0033】
第1設定画面には、学習用ファイルを選択するための選択ボタンBT1が表示される。選択ボタンBT1を押すことで、
図6に示すダイアログボックスが表示される。ダイアログボックスでは、選択部SA1においてファイル名が一覧で表示される。選択部SA1において選択されたファイル名が下方のファイル名表示部DA1に表示される。ダイアログボックスにおいて、決定ボタンBT2が押されると、ファイル名表示部DA1に表示されたファイル名のファイルがファイル読込み部3によって読み込まれる。ここでは、拡張子がxlsxのExcelファイルを選択することができる。
【0034】
ここで、
図7は、学習用ファイルのデータ例を示す図である。Excelファイルである学習用ファイルのセルに書き込まれたデータ値の例が図示されている。1列目は、データNo.を示し、2列目(A列)は0以上、1未満の実数乱数を示し、3列目(B列)は0以上、1未満の実数乱数を示し、4列目(C列)は同行のA列、B列の値の和を示し、5列目(D列)は同行のA列、B列の各値の二乗の和を示す。A列およびB列のデータが入力データとなり、C列およびD列のデータが教師データとなる。入力データと教師データともに、一例として行数は500行としている。以下、このような学習用ファイルが読み込まれるものとして説明する。
【0035】
学習用ファイルが読み込まれると、
図8に示すように第1設定画面における学習用データ表示部DA2において、読み込まれた学習用ファイルに含まれるデータが表形式で表示される。なお、
図7のように学習用ファイルの1行目に変数名が入力されている場合は、その1行目は無視されてデータが読み込まれる。これにより、ユーザはデータが正しく読み込まれているかを確認できる。また、読み込まれたデータの行数が行数表示部DA3に表示され、読み込まれたデータの列数が列数表示部DA4に表示される。
【0036】
第1設定画面(
図8)の中央には、チャンク設定部ST1が表示される。チャンクは、機械学習モデル40に逐次供給するときの1回分のデータの塊である。チャンク設定部ST1には、入力データ設定部ST11と教師データ設定部ST12が含まれる。
【0037】
入力データ設定部ST11においては、列番号設定部ST111と、行数設定部ST112と、列数表示部ST113が含まれる。列番号設定部ST111には、入力データの先頭列を示す読み込まれたデータにおける列番号を入力可能である。行数設定部ST112には、読み込まれたデータにおける入力データの1つのチャンクの行数を入力可能である。列数設定部ST113には、読み込まれたデータにおける入力データの1つのチャンクの列数を入力可能である。
【0038】
図8の例では、列番号設定部ST111に「2」、行数設定部ST112に「5」、列数設定部ST113に「2」が入力されている。これにより、
図9に示すように、読み込まれたデータRDTの2列目が入力データの先頭列に設定され、5行2列のデータの塊が1つのチャンクに設定される。
【0039】
教師データ設定部ST12においては、列番号設定部ST121と、行数設定部ST122と、列数表示部ST123が含まれる。列番号設定部ST121には、教師データの先頭列を示す読み込まれたデータにおける列番号を入力可能である。行数設定部ST122には、読み込まれたデータにおける教師データの1つのチャンクの行数を入力可能である。列数設定部ST123には、読み込まれたデータにおける教師データの1つのチャンクの列数を入力可能である。
【0040】
図10の例では、列番号設定部ST121に「4」、行数設定部ST122に「5」、列数設定部ST123に「2」が入力されている。これにより、
図10に示すように、読み込まれたデータRDTの4列目が教師データの先頭列に設定され、5行2列のデータの塊が1つのチャンクに設定される。
【0041】
チャンク設定部ST1にはチャンク数設定部ST13が含まれる。チャンク数設定部ST13には、入力データおよび教師データそれぞれのチャンク数が入力可能である。入力データと教師データでチャンク数は同じである必要がある。
図8の例では、チャンク数が「100」として設定されている。これにより、
図9および
図10に示すように、100個のチャンクが設定される。なお、
図8では行数設定部ST112とST122の値が同じであるが、異なる値を設定してもよい。また、
図8では列数設定部ST113とST123の値が同じであるが、異なる値を設定してもよい。
【0042】
チャンク設定部ST1において値が入力された状態でチェックボタンBT3が押されると、
図11に示すような画面表示となる。ここでは、入力データ設定部ST11における設定内容に応じて設定される入力データの先頭のチャンクがチャンク表示部DA5に表示される。また、教師データ設定部ST12における設定内容に応じて設定される教師データの先頭のチャンクがチャンク表示部DA6に表示される。また、ノード数表示部DA7においては、機械学習モデル40の入力ノード数と出力ノード数が表示される。入力ノード数は、入力データの1つのチャンクに含まれるデータ数である。出力ノード数は、教師データの1つのチャンクに含まれるデータ数である。これにより、
図11の例では、入力ノード数と出力ノード数ともに「10」と表示されている。
【0043】
<<テスト用ファイルの読み込み>>
第1設定画面において“2.Test data”のタブTBが押されると、
図12に示すような第2設定画面が表示される。第2設定画面には、テスト用ファイルを選択するための選択ボタンBT4が表示される。選択ボタンBT4を押すことで、
図13に示すダイアログボックスが表示される。ダイアログボックスでは、選択部SA2においてファイル名が一覧で表示される。選択部SA2において選択されたファイル名が下方のファイル名表示部DA8に表示される。ダイアログボックスにおいて、決定ボタンBT8が押されると、ファイル名表示部DA8に表示されたファイル名のファイルがファイル読込み部3によって読み込まれる。ここでは、拡張子がxlsxのExcelファイルを選択することができる。
【0044】
ここで、
図14は、テスト習用ファイルのデータ例を示す図である。Excelファイルであるテスト用ファイルのセルに書き込まれたデータ値の例が図示されている。1列目は、データNo.を示し、2列目(A列)は0以上、1未満の実数乱数を示し、3列目(B列)は0以上、1未満の実数乱数を示し、4列目(C列)は同行のA列、B列の値の和を示し、5列目(D列)は同行のA列、B列の各値の二乗の和を示す。A列およびB列のデータがテスト入力データとなり、C列およびD列のデータが期待データとなる。テスト入力データと期待データともに、一例として行数は500行としている。以下、このようなテスト用ファイルが読み込まれるものとして説明する。
【0045】
テスト用ファイルが読み込まれると、
図15に示すように第2設定画面におけるテスト用データ表示部DA9において、読み込まれたテスト用ファイルに含まれるデータが表形式で表示される。なお、
図14のようにテスト用ファイルの1行目に変数名が入力されている場合は、その1行目は無視されてデータが読み込まれる。これにより、ユーザはデータが正しく読み込まれているかを確認できる。また、読み込まれたデータの行数が行数表示部DA10に表示され、読み込まれたデータの列数が列数表示部DA11に表示される。
【0046】
第2設定画面(
図15)の中央には、チャンク設定部ST2が表示される。チャンク設定部ST2には、テスト入力データ設定部ST21と期待データ設定部ST22が含まれる。
【0047】
テスト入力データ設定部ST21においては、列番号設定部ST211と、行数設定部ST212と、列数表示部ST213が含まれる。列番号設定部ST211には、テスト入力データの先頭列を示す読み込まれたデータにおける列番号が入力可能である。行数設定部ST212には、読み込まれたデータにおけるテスト入力データの1つのチャンクの行数が表示される。当該行数は、入力データの1つのチャンクの設定行数(行数設定部ST112に入力)と一致する。列数設定部ST213には、読み込まれたデータにおけるテスト入力データの1つのチャンクの列数が表示される。当該列数は、入力データの1つのチャンクの設定列数(列数設定部ST113に入力)と一致する。
【0048】
図15の例では、列番号設定部ST211に「2が入力され、行数設定部ST212に「5」、列数設定部ST213に「2」が表示されている。これにより、
図16に示すように、読み込まれたデータRDTの2列目がテスト入力データの先頭列に設定され、5行2列のデータの塊が1つのチャンクに設定される。
【0049】
期待データ設定部ST22においては、列番号設定部ST221と、行数設定部ST222と、列数表示部ST223が含まれる。列番号設定部ST221には、期待データの先頭列を示す読み込まれたデータにおける列番号を入力可能である。行数設定部ST222には、読み込まれたデータにおける期待データの1つのチャンクの行数が表示される。列数設定部ST223には、読み込まれたデータにおける期待データの1つのチャンクの列数が表示される。
【0050】
図15の例では、列番号設定部ST221に「4」が入力され、行数設定部ST222に「5」、列数設定部ST223に「2」が表示されている。これにより、
図17に示すように、読み込まれたデータRDTの4列目が教師データの先頭列に設定され、5行2列のデータの塊が1つのチャンクに設定される。
【0051】
チャンク設定部ST2にはチャンク数設定部ST23が含まれる。チャンク数設定部ST23には、テスト入力データおよび期待データそれぞれのチャンク数が入力可能である。テスト入力データと期待データでチャンク数は同じである必要がある。
図15の例では、チャンク数が「100」として設定されている。これにより、
図16および
図17に示すように、100個のチャンクが設定される。
【0052】
チャンク設定部ST2において値が入力された状態でチェックボタンBT6が押されると、
図11に示すような画面表示となる。ここでは、テスト入力データ設定部ST21における設定内容に応じて設定されるテスト入力データの先頭のチャンクがチャンク表示部DA12に表示される。また、期待データ設定部ST22における設定内容に応じて設定される教師データの先頭のチャンクがチャンク表示部DA13に表示される。
。
【0053】
<<機械学習モデルの設定とシミュレーション>>
第2設定画面において“3.AI Settings and Sim”のタブTBが押されると、
図19に示すような第3設定画面が表示される。第3設定画面は、機械学習モデル(AI)40のパラメータ設定、シミュレーション実行、およびシミュレーション結果確認のための画面である。
【0054】
ここで、機械学習モデル40の一例について説明する。機械学習モデル40で用いるAIモデルとして、例えば、
図20に示すような3層ニューラルネットワーク10を用いる。
【0055】
図20に示すように、3層ニューラルネットワーク10は、入力層10Aと、隠れ層10Bと、出力層10Cと、を有するAIモデルである。一般に、3層ニューラルネットワーク10において、バッチサイズkのn次元の入力データx∈R
k×nに対して、n’次元の推論結果y∈R
k×n’は、y=G(x・α+b)βとして得られる。ここで、α∈R
n×mは入力層10Aと隠れ層10Bとを結合する重みであり、β∈R
m×n’は隠れ層10Bと出力層10Cとを結合する重みである。また、b∈R
mは、隠れ層10Bのバイアスであり、Gは隠れ層10Bの活性化関数である。
【0056】
本実施形態では、3層ニューラルネットワーク10を任意のバッチサイズで逐次的に学習できるアルゴリズムを用いる。バッチサイズk
iのi番目の学習データ{x
i∈R
ki×n, t
i∈R
ki×n’}が得られた場合、下記(1)式で示される誤差を最小化するβ
iを求める必要がある。
【数1】
なお、i番目の隠れ層行列H
i=G(x
i・α+b)である。また、tは、推論結果yに対応する教師データである。
【0057】
最適化された重みβiは、下記(2)式により計算される。
Pi=Pi-1-Pi-1Hi
T(I+HiPi-1Hi
T)-1HiPi-1
βi=βi-1+PiHi
T(ti-Hiβi-1) (2)
【0058】
ここで、P0とβ0については、下記(3)式により得られる。
P0=(H0
TH0)-1
β0=P0H0
Tt0 (3)
【0059】
学習のアルゴリズムは次のようになる。
(1)重みα、およびバイアスbの値を乱数により初期化する。
(2)x0に対するH0を算出し、P0およびβ0を算出する。
(3)バッチサイズkiのi番目の学習データが得られるたびに、Piおよびβiを逐次算出する。なお、(3)式におけるβ0の算出式を用いずに、乱数により初期化した値をβ0としてもよい。
【0060】
図19に示す第3設定画面においては、AIパラメータ設定部ST3が表示される。AIパラメータ設定部ST3には、入力ノード数設定部ST31、隠れ層ノード数設定部ST32、および出力ノード数設定部ST33が含まれる。入力ノード数設定部ST31では、入力層10Aのノード数(すなわち上記のnの値)が表示される。入力層のノード数は、入力データの1つのチャンクの行数と列数の乗算で算出される。隠れ層ノード数設定部ST33は、隠れ層10Bのノード数(すなわち上記のmの値)を入力可能である。出力ノード数設定部ST33では、出力層10Cのノード数(すなわち上記のn’の値)が表示される。出力層のノード数は、教師データの1つのチャンクの行数と列数の乗算で算出される。すなわち、1つのチャンクのデータは、バッチサイズが1のデータに相当する。
【0061】
AIパラメータ設定部ST3には、活性化関数設定部ST34、損失関数設定部ST35、および忘却率設定部ST36も含まれる。活性化関数設定部ST34では、隠れ層10Bの活性化関数の種類を選択可能である。活性化関数は、例えばSigmoidあるいはReLUなどを設定可能である。
【0062】
損失関数設定部ST35では、機械学習モデル40において異常度を算出するために用いられる損失関数の種類を選択可能である。損失関数は、例えばMAEあるいはMSEを設定可能である。損失関数がMAEの場合、損失関数Lは、下記(4)式のように表される。
【数4】
また、。損失関数がMSEの場合、損失関数Lは、下記(5)式のように表される。
【数5】
【0063】
忘却率設定部ST36では、忘却率の値を入力可能である。忘却率は、学習結果を忘れる程度を表すパラメータである。学習結果を反映しない方法としては、例えば過去の学習結果を使用する、学習結果を初期化するなどが挙げられる。忘却率=1は、以前の学習結果を全く忘れないことを表し、忘却率=0は、全て忘れることを表す。
【0064】
以上の設定画面によってすべての設定項目の設定が完了し、シミュレーション開始ボタンBT7が押し下げられると、モデル演算部5は、モデル設定部6により設定された内容に従ってシミュレーションを実行する。ここでは、入力データおよび教師データのそれぞれのチャンクが逐次、機械学習モデル40に供給され、先述のアルゴリズムによってβが逐次更新されて学習が行われる。学習中には入力データを機械学習モデル40に入力した場合の推論も行われる。推論結果は、入力データのチャンクごとに算出される。また、すべての入力データが供給されて学習が完了した後には、テスト入力データを機械学習モデル40に入力した場合の推論も行われる。推論結果は、テスト入力データのチャンクごとに算出される。ここでの推論結果は、期待データと比較される。
【0065】
シミュレーションが完了後、
図19に示すように第3設定画面におけるテスト結果表示部TA1にテスト結果が表示される。
【0066】
テスト結果表示部TA1においては、異常度表示部TA11,TA12が表示される。異常度表示部TA11においては、テストNo.とテストスコアが対応して表形式で表示される。テストNo.は、期待データのチャンク番号に相当する。すなわち、テストNo.の最大値は、チャンクの個数である。テストスコアは、異常度に相当し、期待データのチャンクごとの推論結果と期待データに基づく損失関数の値である。異常度表示部TA12においては、異常度表示部TA11で表示されるテストNo.を横軸、テストスコアを縦軸としたグラフ形式で異常度を表示する。
【0067】
また、テスト結果表示部TA1においては、誤差表示部TA13,TA14も表示される。誤差表示部TA13においては、行番号(Row No.)、期待データ(y_expected)、推論データ(y_actual)、および誤差errorが表形式で表示される。行番号は、テスト用ファイルを読み込んだ際の読み込まれた期待データの行番号であり、期待データは行番号に対応する期待データであり、推論データは期待データに対応する推論結果である。誤差は、推論データと期待データとの誤差であり、下記(6)式により算出される。
図19の例では、誤差はerror_1とerror_2が表示される。
【数6】
【0068】
誤差表示部TA14においては、誤差表示部TA13で表示される行番号を横軸、誤差を縦軸としたグラフ形式で異常度を表示する。
【0069】
第3設定画面においては、”Training”のタブTB2を押すことで、学習結果表示部TA2に切り替えることができる(
図21)。学習結果表示部TA2においては、異常度(学習度)表示部TA21,TA22が表示される。異常度表示部TA21においては、学習No.(Training No.)と学習スコア(Training SCORE)が対応して表形式で表示される。学習No.は、教師データのチャンク番号に相当する。すなわち、学習No.の最大値は、チャンクの個数である。学習スコアは、異常度に相当し、教師データのチャンクごとの推論結果と教師データに基づく損失関数の値である。異常度表示部TA22においては、異常度表示部TA21で表示される学習No.を横軸、学習スコアを縦軸としたグラフ形式で異常度を表示する。
【0070】
また、学習結果表示部TA2においては、誤差表示部TA23,TA24も表示される。誤差表示部TA23においては、行番号(Row No.)、教師データ(y_training)、推論データ(y_actual)、および誤差errorが表形式で表示される。行番号は、学習用ファイルを読み込んだ際の読み込まれた教師データの行番号であり、教師データは行番号に対応する教師データであり、推論データは教師データに対応する推論結果である。誤差は、推論データと教師データとの誤差であり、下記(7)式により算出される。
図21の例では、誤差はerror_1とerror_2が表示される。
【数7】
【0071】
誤差表示部TA24においては、誤差表示部TA23で表示される行番号を横軸、誤差を縦軸としたグラフ形式で異常度を表示する。
【0072】
<<シミュレーション結果の保存>>
“Save”のタブTBを押し下げると、シミュレーション結果を保存する保存画面が
図22のように表示される。保存画面においては、保存するファイル名を指定できるファイル名設定部FA1が表示される。ファイル名設定部FA1においては、ファイル名の先頭文字を入力可能である。
図22では一例として、先頭文字の後の文字列は、”_yymmdd_HHMM_SS_***”となっている。ファイルは、拡張子が.xlsxであり、Excelファイルとして保存される。
図22の例では、ファイル名設定部FA1に”data”が入力されている。
【0073】
保存画面においては、下方に保存されるデータ内容が表示される。
図22では、”_yymmdd_HHMM_SS_1”を含むファイル名のファイルでは、先述した誤差表示部TS23に表示される行番号(Row No.)、教師データ(y_training)、推論データ(y_actual)、および誤差errorが保存されることが示される。また、”_yymmdd_HHMM_SS_2”を含むファイル名のファイルでは、先述した誤差表示部TS13に表示される行番号(Row No.)、期待データ(y_expected)、推論データ(y_actual)、および誤差errorが保存されることが示される。
【0074】
ファイル名設定部FA1に入力された状態で保存ボタンBT8が押されると、
図23に示すようなダイアログボックスが表示される。ダイアログボックスでは、選択部SA3においてフォルダ名が一覧で表示される。選択部SA3において選択されたフォルダ名が下方のフォルダ名表示部DA14に表示される。ダイアログボックスにおいて、決定ボタンBT9が押されると、フォルダ名表示部DA14に表示されたフォルダ名のフォルダに、ファイルが保存される。
【0075】
以上のように、本実施形態では、教師あり学習のAI効果を確認するために適したGUIを実現しており、ユーザにとって利便性が向上される。
【0076】
<変形例>
図24は、変形例に係る第3設定画面を示す図である。本変形例では、先述した実施形態に係る
図19の第3設定画面におけるAIパラメータ設定部ST3において、学習繰り返し数設定部ST37が追加されている。
【0077】
学習繰り返し数設定部ST37では、学習を繰り返す回数を入力可能である。学習繰り返し数設定部ST37に入力された状態でシミュレーション開始ボタンBT7が押されると、入力データのすべてのチャンクを用いた学習が学習繰り返し数設定部ST37に設定された回数だけ繰り返される。すなわち、最後のチャンクまで使用された場合、先頭のチャンクに戻って学習が再開される。これにより、
図24に示すように、異常度表示部TA22においては、学習の繰り返しの様子が表示される。このような変形例によれば、入力データおよび教師データを増やすことなく、異常度(学習度)が平坦な状態に近づくように学習することができる。
【0078】
<満充電容量のシミュレーション>
ここでは、シミュレーション装置1を用いたシミュレーションの事例として、バッテリの充放電サイクル試験時の満充電容量の劣化シミュレーションについて述べる。シミュレーションを行うにあたり、下記のような仮定を設けた。
仮定1:バッテリの満充電容量FCが500サイクルで80%程度に線形に劣化(減少)する。
仮定2:温度Tおよび放電電流Ibが大きいほど劣化が早くなる。
そこで、下記(8)式によって満充電容量FCが10サイクルごとに更新されるとした。
FC=FC×(1-0.05×Rand()-Ib×0.01-T×0.0003) (8)
ただし、Rand()は、ランダム関数である。
【0079】
同じ温度Tおよび同じ放電電流Ibの条件で100サイクル分の満充電容量FC1を上記(8)式で求め、当該温度T、放電電流Ib、サイクル、および満充電容量FC1を1つのチャンクの入力データとする。このときの100サイクル後の500サイクル分の満充電容量FC2を上記(8)式で求め、当該満充電容量FC2を1つのチャンクの教師データとする。
【0080】
一例として温度Tを0℃、15℃、25℃、45℃、60℃とし、放電電流Ibを0.1A、0.2A、0.35Aとして温度Tと放電電流Ibの計15通りの組み合わせで入力データを作成し、当該入力データに対応した教師データを作成した。このように作成された学習用データを
図25に示す。入力データCH1と教師データCH10が対応し、入力データCH2と教師データCH20が対応し、以降同様となる。入力データの1つのチャンクの行数は10、列数は4となり、教師データの1つのチャンクの行数は50、列数は1となる。チャンク数は15となる。
【0081】
このような学習用データを機械学習モデル40に供給することで学習を行うことができる。テスト用データとしては、入力データと同様に同じ温度Tおよび同じ放電電流Ibの条件で100サイクル分の満充電容量FC1を上記(8)式で求め、当該温度T、放電電流Ib、サイクル、および満充電容量FC1を1つのチャンクのテスト入力データとする。このときの100サイクル後の500サイクル分の満充電容量FC2を上記(8)式で求め、当該満充電容量FC2を1つのチャンクの期待データとする。
【0082】
上記のようなテスト用データを用いることで、テスト入力データをチャンクごとに機械学習モデル40に入力させて満充電容量の推論を行い、推論結果を期待データと比較することができる。従って、
図26に示すように、100サイクル分の満充電容量から未来の500サイクル分の満充電容量を推定することができ、推定精度を確認できる。
【0083】
<その他>
なお、本明細書中に開示されている種々の技術的特徴は、上記実施形態のほか、その技術的創作の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態に限定されるものではなく、特許請求の範囲と均等の意味および範囲内に属する全ての変更が含まれると理解されるべきである。
【0084】
例えば、上記実施形態では、行数と列数によって2次元的にチャンクを設定したが、3次元以上でチャンクを設定するようにしてもよい。
【0085】
<付記>
以上のように、本開示の一態様に係るシミュレーション装置(1)は、
学習および推論を行うように構成される機械学習モデル(40)が記憶されたモデル記憶部(4)と、
前記機械学習モデルを用いて演算処理を行うように構成されるモデル演算部(5)と、
操作入力部(8)と、
学習用データ(210)およびテスト用データ(220)を読み込むように構成される読込み部(3)と、
前記操作入力部による入力に基づき、前記機械学習モデルに関する設定を行うように構成されるモデル設定部(6)と、
を備え、
前記機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、
前記モデル設定部は、読み込まれた前記学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行い、かつ、読み込まれた前記テスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行い、
前記モデル演算部は、前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行い、前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行い、前記推論の結果と前記第4チャンクとの比較を演算する構成としている(第1の構成)。
【0086】
また、上記第1の構成において、前記モデル設定部は、読み込まれた前記学習用データにおいて、先頭列としての列番号、行数、および列数を設定することで前記第1チャンクおよび前記第2チャンクの設定が可能である構成としてもよい(第2の構成)。
【0087】
また、上記第1または第2の構成において、前記モデル設定部は、前記第1チャンクのチャンク数を設定可能であり、前記第1チャンクと前記第2チャンクのチャンク数は一致する構成としてもよい(第3の構成)。
【0088】
また、上記第1から第3のいずれかの構成において、前記モデル設定部は、読み込まれた前記テスト用データにおいて、先頭列としての列番号、行数、および列数を設定することで前記第3チャンクおよび前記第4チャンクの設定が可能である構成としてもよい(第4の構成)。
【0089】
また、上記第4の構成において、前記第1チャンクの行数および列数が設定されると、当該行数および列数とそれぞれ一致する前記第3チャンクの行数および列数を自動的に表示し、前記第2チャンクの行数および列数が設定されると、当該行数および列数とそれぞれ一致する前記第4チャンクの行数および列数を自動的に表示する制御を行うように構成される第1表示制御部を備える構成としてもよい(第5の構成)。
【0090】
また、上記第1から第5のいずれかの構成において、前記モデル設定部は、前記第3チャンクのチャンク数を設定可能であり、前記第3チャンクと前記第4チャンクのチャンク数は一致する構成としてもよい(第6の構成)。
【0091】
また、上記第1から第6のいずれかの構成において、前記モデル設定部は、前記機械学習モデルのニューラルネットワークに関する項目を設定可能である構成としてもよい(第7の構成)。
【0092】
また、上記第7の構成において、前記項目には、学習結果を忘れる程度を表すパラメータである忘却率が含まれる構成としてもよい(第8の構成)。
【0093】
また、上記第1から第8のいずれかの構成において、前記機械学習モデルによる学習中の推論結果と前記教師データとに基づく損失関数の値を前記第2チャンクごとに表示する制御を行うように構成される第2表示制御部を備える構成としてもよい(第9の構成)。
【0094】
また、上記第1から第9のいずれかの構成において、前記機械学習モデルによる学習中の推論結果と前記教師データとの差分の前記教師データに対する比率を誤差として表示する制御を行うように構成される第3表示制御部を備える構成としてもよい(第10の構成)。
【0095】
また、上記第1から第10のいずれかの構成において、前記テスト入力データを用いた前記機械学習モデルの推論結果と前記期待データとに基づく損失関数の値を前記第4チャンクごとに表示する制御を行うように構成される第4表示制御部を備える構成としてもよい(第11の構成)。
【0096】
また、上記第1から第11のいずれかの構成において、前記テスト用データを用いた前記機械学習モデルの推論結果と前記期待データとの差分の前記期待データに対する比率を誤差として表示する制御を行うように構成される第5表示制御部を備える構成としてもよい(第12の構成)。
【0097】
また、上記第1から第12のいずれかの構成において、前記モデル設定部は、全ての前記第1チャンクおよび前記第2チャンクを用いた学習を繰り返し行う繰り返し数を設定可能である構成としてもよい(第13の構成)。
【0098】
また、上記第1から第13のいずれかの構成において、設定された前記第1チャンクおよび前記第2チャンクのそれぞれの先頭のチャンクを表示する制御を行うように構成される第6表示制御部を備える構成としてもよい(第14の構成)。
【0099】
また、上記第1から第14のいずれかの構成において、読み込まれた前記学習用データを表示する制御を行うように構成される第7表示制御部を備える構成としてもよい(第15の構成)。
【0100】
また、上記第1から第15のいずれかの構成において、設定された前記第3チャンクおよび前記第4チャンクのそれぞれの先頭のチャンクを表示する制御を行うように構成される第8表示制御部を備える構成としてもよい(第16の構成)。
【0101】
また、上記第1から第16のいずれかの構成において、読み込まれた前記テスト用データを表示する制御を行うように構成される第9表示制御部を備える構成としてもよい(第17の構成)。
【0102】
また、上記第1から第17のいずれかの構成において、前記学習用データおよび前記テスト用データには、それぞれ前記入力データおよび前記テスト入力データとして、温度、放電電流、サイクル数、および満充電容量を含めることが可能であり、
前記学習用データおよび前記テスト用データには、それぞれ前記教師データおよび前記期待データとして、前記サイクル数の後のサイクルの満充電容量を含めることが可能である構成としてもよい(第18の構成)。
【0103】
また、本開示の一態様に係るプログラム(P)は、コンピュータ(100)を上記第1から第18のいずれかの構成のシミュレーション装置として機能させるためのプログラムである。
【0104】
また、本開示の一態様に係るシミュレーション方法は、機械学習モデルにデータを逐次供給する場合の1回分のデータの塊をチャンクと称するとして、
学習用データを読み込む第1ステップと、
読み込まれた前記学習用データに基づいて入力データのチャンクとしての第1チャンクと教師データのチャンクとしての第2チャンクに関する設定を行う第2ステップと、
テスト用データを読み込む第3ステップと、
読み込まれた前記テスト用データに基づいてテスト入力データのチャンクとしての第3チャンクと期待データのチャンクとしての第4チャンクに関する設定を行う第4ステップと、
前記第1チャンクと前記第2チャンクに基づいて前記機械学習モデルを用いた学習の演算を行う第5ステップと、
前記学習の結果と前記第3チャンクに基づいて前記機械学習モデルを用いた推論の演算を行う第6ステップと、
前記推論の結果と前記第4チャンクとの比較を演算する第7ステップと、を備える。
【産業上の利用可能性】
【0105】
本開示は、例えば、各種用途の教師あり学習シミュレーションに利用することができる。
に利用することが可能である。
【符号の説明】
【0106】
1 シミュレーション装置
2 ファイル記憶部
3 ファイル読込み部
4 モデル記憶部
5 モデル演算部
6 モデル設定部
7 表示制御部
8 操作入力部
9 表示部
10 3層ニューラルネットワーク
10A 入力層
10B 隠れ層
10C 出力層
21 学習用ファイル
21A 入力データ
21B 教師データ
22 テスト用ファイル
22A テスト入力データ
22B 期待データ
40 機械学習モデル
100 コンピュータ
100A CPU
100B メモリ
100C 補助記憶装置
100D 操作入力部
100E 表示部
210 学習用データ
220 テスト用データ
P プログラム