(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-21
(45)【発行日】2024-08-29
(54)【発明の名称】機械学習装置及び機械学習方法
(51)【国際特許分類】
G06F 18/2113 20230101AFI20240822BHJP
G06N 20/00 20190101ALI20240822BHJP
【FI】
G06F18/2113
G06N20/00 130
(21)【出願番号】P 2021039167
(22)【出願日】2021-03-11
【審査請求日】2023-07-14
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、総務省、「革新的AIネットワーク統合基盤技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】牧野 友和
(72)【発明者】
【氏名】小河 太郎
(72)【発明者】
【氏名】鈴木 敏明
【審査官】多賀 実
(56)【参考文献】
【文献】特開2018-088080(JP,A)
【文献】特開2018-032394(JP,A)
【文献】浜本 紘希 外5名,「LCD製造工程における製造情報オントロジーとベイジアンネットワークを用いた不良原因探索支援システム」,システム制御情報学会論文誌,一般社団法人システム制御情報学会,2018年03月15日,第31巻, 第3号,pp.87-94
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/00-17/18
G06F 18/00-18/40
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習装置であって、
所定の演算処理を実行する演算装置と、前記演算装置に接続された記憶デバイスとを有する計算機によって構成され、
前記演算装置が、パラメータの相関関係に基づいて、機械学習モデルに説明変数として入力されるパラメータを選択する重要度判別部と、
前記演算装置が、前記機械学習モデルを作成するモデル作成部とを備え
、
前記機械学習モデルに説明変数として入力されるパラメータは、複数の階層に分類されており、
前記重要度判別部は、上位階層のパラメータを使用して作成された機械学習モデルが所定の要件を満たさない場合、当該上位階層のパラメータの下位階層のパラメータを選択することを特徴とする機械学習装置。
【請求項2】
請求項1に記載の機械学習装置であって、
前記重要度判別部は、前記下位階層のパラメータを一つ選択し、当該上位階層のパラメータと入れ替えることを特徴とする機械学習装置。
【請求項3】
請求項1に記載の機械学習装置であって、
前記入力されるパラメータは、ユーザが構築を希望する通信ネットワークのネットワーク要件であって、
前記機械学習モデルは、前記通信ネットワークのネットワーク構成を出力することを特徴とする機械学習装置。
【請求項4】
情報処理システムが、機械学習モデルを学習させる機械学習方法であって、
前記情報処理システムは、所定の演算処理を実行する演算装置と、前記演算装置に接続された記憶デバイスとを有する計算機によって構成され、
前記機械学習方法は、
前記演算装置が、パラメータの相関関係に基づいて、機械学習モデルに説明変数として入力されるパラメータを選択する重要度判別手順と、
前記演算装置が、前記機械学習モデルを作成するモデル作成手順とを備え、
前記機械学習モデルに説明変数として入力されるパラメータは、複数の階層に分類されており、
前記重要度判別手順では、前記演算装置が、上位階層のパラメータを使用して作成された機械学習モデルが所定の要件を満たさない場合、当該上位階層のパラメータの下位階層のパラメータを選択することを特徴とする機械学習方法。
【請求項5】
請求項4に記載の機械学習方法であって、
前記重要度判別手順では、前記演算装置が、前記下位階層のパラメータを一つ選択し、当該上位階層のパラメータと入れ替えることを特徴とする機械学習方法。
【請求項6】
請求項4に記載の機械学習方法であって、
前記入力されるパラメータは、ユーザが構築を希望する通信ネットワークのネットワーク要件であって、
前記機械学習モデルは、前記通信ネットワークのネットワーク構成を出力するものであることを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置に関する。
【背景技術】
【0002】
大量の学習データを用いて機械学習を実行するためには大量の計算コストが必要である。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるための前処理にも多くの労力を要する。このため、機械学習モデルに入力するパラメータ項目を選択する必要がある。従来は、スパースモデリング手法を使用して、説明変数の個別重要度と総合重要度に基づいて特定の目的変数と複数の説明変数候補の中から、適した説明変数を選択するものがある。
【0003】
本技術分野の背景技術として、以下の先行技術がある。特許文献1(特開2020-144690号公報)には、互いに異なるスパースモデリング手法を用いて、産業活動に用いる学習モデルにおける特定の目的変数と複数の説明変数候補とをスパースモデリング手法の入力データとして、複数の説明変数候補のそれぞれについて特定の目的変数を説明するための説明変数としての個別重要度をそれぞれ取得する複数のスパースモデリング処理部と、説明変数候補のそれぞれの複数の個別重要度に基づいて説明変数候補のそれぞれについての総合重要度を算出し、総合重要度に基づいて複数の説明変数候補の中から学習モデルの説明変数を選択する選択部とを備える機械学習装置が記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
入力パラメータ数が大量となると、各パラメータの重要度の算出に大量の計算コストが必要となる。また、前述した従来の方法では、機械学習モデルに入力されるパラメータ間の相関関係に着目していない。
【0006】
本発明は、機械学習モデルに入力されるパラメータを限定することによって、正答率が高く、高精度な学習モデルを生成することを目的とする。
【課題を解決するための手段】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、機械学習装置であって、所定の演算処理を実行する演算装置と、前記演算装置に接続された記憶デバイスとを有する計算機によって構成され、前記演算装置が、パラメータの相関関係に基づいて、機械学習モデルに説明変数として入力されるパラメータを選択する重要度判別部と、前記演算装置が、前記機械学習モデルを作成するモデル作成部とを備え、前記機械学習モデルに説明変数として入力されるパラメータは、複数の階層に分類されており、前記重要度判別部は、上位階層のパラメータを使用して作成された機械学習モデルが所定の要件を満たさない場合、当該上位階層のパラメータの下位階層のパラメータを選択することを特徴とする。
【発明の効果】
【0008】
本発明の一態様によれば、正答率が高く、高精度な学習モデルを生成できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施例の機械学習装置の論理的な構成を示すブロック図である。
【
図2】本実施例の機械学習装置の物理的な構成を示すブロック図である。
【
図4A】本実施例の機械学習処理のフローチャートである。
【
図4B】本実施例の機械学習処理のフローチャートである。
【
図5】本実施例の最上位階層の説明変数の組み合わせと目的変数と機械学習モデルとの関係を示す図である。
【発明を実施するための形態】
【0010】
図1は、本実施例の機械学習装置10の論理的な構成を示すブロック図である。
【0011】
機械学習装置10は、機械学習モデル作成部11、入力項目重要度判別部12及び機械学習モデル作成設定部13を有する。
【0012】
機械学習モデル作成部11は、後述するフローチャートに従って機械学習モデル(AIモデル)を作成する。入力項目重要度判別部12は、教師データにおける説明変数同士の相関関係に基づいて、最上位階層の説明変数を取得する。なお、説明変数の階層構造は、ユーザが予め設定しても、機械学習装置10が説明変数同士の相関関係に基づいて入力項目を階層に分類し、説明変数の階層構造を生成してもよい。機械学習モデル作成設定部13は、機械学習モデルを作成するための条件(例えば、説明変数の入力数)の設定を受け付ける。
【0013】
教師データ群14は、機械学習モデルの作成時に教師データとして入力される説明変数及び目的変数である。教師データ相関関係15は、教師データである説明変数の相関関係であり、説明変数同士の相関関係及び説明変数と目的変数の相関関係を含む。説明変数同士の相関関係は、数値変化の類似度や項目の選択肢の共起関係に基づいて計算されるとよく。説明変数と目的変数の相関関係は、目的変数への説明変数の寄与度に基づいて計算されるとよい。
【0014】
図2は、本実施例の機械学習装置10の物理的な構成を示すブロック図である。
【0015】
本実施例の機械学習装置10は、プロセッサ(CPU)1、メモリ2、補助記憶装置3及び通信インターフェース4を有する計算機によって構成される。機械学習装置10は、入力インターフェース5及び出力インターフェース8を有してもよい。
【0016】
プロセッサ1は、メモリ2に格納されたプログラムを実行する演算装置である。プロセッサ1が、各種プログラムを実行することによって、機械学習装置10の各部(例えば、機械学習モデル作成部11、入力項目重要度判別部12、機械学習モデル作成設定部13など)による機能が実現される。なお、プロセッサ1がプログラムを実行して行う処理の一部を、他の演算装置(例えば、ASIC、FPGA等のハードウェア)で実行してもよい。
【0017】
メモリ2は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ1が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0018】
補助記憶装置3は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置である。また、補助記憶装置3は、プロセッサ1がプログラムの実行時に使用するデータ(例えば、教師データ群14、教師データ相関関係15など)、及びプロセッサ1が実行するプログラムを格納する。すなわち、プログラムは、補助記憶装置3から読み出されて、メモリ2にロードされて、プロセッサ1によって実行されることによって、機械学習装置10の各機能(例えば、機械学習モデル作成部11、入力項目重要度判別部12、機械学習モデル作成設定部13)を実現する。
【0019】
通信インターフェース4は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
【0020】
入力インターフェース5は、キーボード6やマウス7などの入力装置が接続され、ユーザからの入力を受けるインターフェースである。出力インターフェース8は、ディスプレイ装置9やプリンタ(図示省略)などの出力装置が接続され、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースである。なお、機械学習装置10にネットワークを介して接続されたユーザ端末30が入力装置及び出力装置を提供してもよい。この場合、機械学習装置10がウェブサーバの機能を有し、ユーザ端末30が機械学習装置10に所定のプロトコル(例えばhttp)でアクセスしてもよい。
【0021】
プロセッサ1が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して機械学習装置10に提供され、非一時的記憶媒体である不揮発性の補助記憶装置3に格納される。このため、機械学習装置10は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【0022】
機械学習装置10は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。例えば、機械学習モデル作成部11、入力項目重要度判別部12、及び機械学習モデル作成設定部13とは、各々別個の物理的又は論理的計算機上で動作するものでも、複数が組み合わされて一つの物理的又は論理的計算機上で動作するものでもよい。
【0023】
【0024】
機械学習モデルに入力される説明変数は、ユーザが入力する入力項目が階層化されたカテゴリに分類されて、階層構造を構成している。例えば、本実施例の機械学習装置10が対象とする、ネットワーク要件を説明変数とし、目的変数としてネットワーク構成を導出する機械学習モデルを例にすると、ユーザが希望するネットワーク要件の大項目がカテゴリ1、中項目がカテゴリ2、小項目がカテゴリ3となる。より具体的には、大項目(カテゴリ1)がネットワーク構成の種類(アンテナや電源の有無や種別)であり、中項目(カテゴリ2)がネットワーク構成の品名(アンテナや電源の品名)であり、小項目(カテゴリ3)がネットワーク構成の属性(重量、大きさ、性能値)である。
【0025】
なお、前述したように、説明変数の階層構造は、ユーザが予め設定しても、説明変数同士の相関関係に基づいて機械学習装置10が入力項目を階層に分類し、説明変数の階層構造を生成してもよい。
【0026】
図4A、
図4Bは、本実施例の機械学習モデル作成部11が実行する機械学習処理のフローチャートである。
【0027】
まず、入力項目重要度判別部12は、教師データの相関関係から最上位階層の項目を抽出する(101)。最上位階層は、前述したように、ネットワークシステムの構成要件の大分類である。
【0028】
次に、機械学習モデル作成部11は、機械学習モデル作成設定部13によって設定された入力項目の設定数(例えば四つ)を説明変数の入力数としてステップ101で抽出した最上位階層の項目を組み合わせた説明変数の教師データを使用して、機械学習モデルを作成する(102)。最上位階層の説明変数の組み合わせと目的変数と機械学習モデルとの関係は、
図5に示すように、12個の最上位階層の入力項目から説明変数として入力される4個の入力項目を選ぶ全ての組み合わせを作成し、12C4=495通りの説明変数の組み合わせに対する目的変数を教師データとして、機械学習モデルを作成して、評価する。
【0029】
機械学習モデル作成部11は、ステップ102で作成された機械学習モデルに、学習用教師データと異なる正答率評価用データを入力して正答率を算出し(103)、算出された正答率が所定の目標値以上であるかを判定する(104)。正答率が目標値以上であれば、良好な機械学習モデルが作成できたので、この処理を終了する。一方、正答率が目標値より小さければ、全ての説明変数の組み合わせについて正答率を計算したかを判定する(105)。正答率を計算していない説明変数の組み合わせがあれば、ステップ102に戻り、次の説明変数の組み合わせについて機械学習モデルを作成する。
【0030】
一方、全ての説明変数の組み合わせについて正答率を計算していれば、ステップ106に進み、機械学習モデル作成部11は、作成された機械学習モデルを正答率の降順に整列し(106)、正答率が最も高い機械学習モデルを抽出する(107)。
【0031】
入力項目重要度判別部12は、抽出された機械学習モデルの説明変数同士の相関関係と、説明変数と目的変数の相関関係を教師データ相関関係15から取得する(108)。その後、入力項目重要度判別部12は、抽出された機械学習モデルの説明変数を目的変数と説明変数の相関関係の降順に整列し(109)、目的変数との相関関係が最も高い説明変数X1(例えば、
図5の最上位階層のA1)を抽出する(110)。
【0032】
そして、機械学習モデル作成部11は、相関関係が所定の閾値未満であるかを判定し(111)、相関関係が所定の閾値未満であれば、機械学習モデル作成部11は、正答率が最も高い当該機械学習モデルを削除し(112)、目的変数への説明変数の寄与度が低い機械学習モデルの検討を中止する。
【0033】
その後、機械学習モデル作成部11は、未検討の機械学習モデルが残っているかを判定する(113)。全ての機械学習モデルが検討済みであれば、この処理を終了する。一方、未検討の機械学習モデルがあれば、ステップ107に戻り次の機械学習モデルを抽出する。
【0034】
ステップ111で相関関係が所定の閾値以上であれば、入力項目重要度判別部12は、説明変数X1を固定し、説明変数同士の相関関係が降順になるように他方の説明変数を整列し(114)、説明変数同士の相関関係が最も高い説明変数X2(例えば、
図5でA1と同じ階層のB1)を抽出する(115)。
【0035】
その後、入力項目重要度判別部12は、説明変数X1と説明変数X2の相関関係が所定の閾値未満であるかを判定する(116)。相関関係が所定の閾値より大きければ、入力項目重要度判別部12は、説明変数X2の下位に所属する教師データ(例えば、
図5でB1の下位のデータB1-1~B1-3の教師データ)があるかを判定する(117)。説明変数X2の下位に所属する教師データがあれば、ステップ122に進む。一方、説明変数X2の下位に所属する教師データがなければ、機械学習モデル作成部11は、説明変数X2に代えて、説明変数X2の下位に所属する説明変数X3を一つ選択し(例えば、
図5でB1の下位のB1-1)、説明変数X3の教師データを用いて機械学習モデルを作成し(118)、ステップ118で作成された機械学習モデルに正答率評価用データを入力して正答率を算出する(119)。
【0036】
機械学習モデル作成部11は、算出された正答率が所定の目標値以上であるかを判定する(120)。正答率が目標値以上であれば、良好な機械学習モデルが作成できたので、この処理を終了する。一方、正答率が目標値より小さければ、機械学習モデル作成部11は、説明変数X2の下位に所属する全ての説明変数X3について正答率を計算したかを判定する(121)。
【0037】
正答率を計算していない説明変数X3があれば、ステップ118に戻り、機械学習モデル作成部11が、次の説明変数X3の教師データを用いて機械学習モデルを作成する。
【0038】
一方、全ての説明変数X3について正答率を計算していれば、入力項目重要度判別部12は、説明変数同士の相関関係が最も高い説明変数X2を削除し(122)、ステップ115に戻り、説明変数同士の相関関係が最も高い説明変数X2を抽出して(115)、次の説明変数X2について機械学習モデルを評価する。
【0039】
一方、説明変数X1と説明変数X2の相関関係が所定の閾値未満であれば、入力項目重要度判別部12は、説明変数X1の下位に所属する教師データ(例えば、
図5でA1の下位のデータA1-1~A1-3の教師データ)があるかを判定する(123)。説明変数X1の下位に所属する教師データあれば、入力項目重要度判別部12は、目的変数との相関関係が最も高い説明変数X1を削除し(130)、ステップ110に戻り、目的変数との相関関係が最も高い説明変数X1を抽出して(110)、次の説明変数X1について機械学習モデルを評価する。
【0040】
一方、説明変数X1の下位に所属する教師データがなければ、入力項目重要度判別部12は、説明変数X1の下位に所属する説明変数の全ての組み合わせについて機械学習モデルの評価が終了したかを判定する(124)。説明変数X1の下位に所属する説明変数の全ての組み合わせについて機械学習モデルの評価が終了していれば、ステップ130を経由してステップ110に戻り、次の説明変数X1について機械学習モデルを評価する。
【0041】
説明変数X1の下位に所属する一部の説明変数について機械学習モデルの評価が終了していなければ、機械学習モデル作成部11は、説明変数X1に代えて、
説明変数X1の下位に所属する説明変数X4を一つ選択し(例えば、
図5でA1の下位のA1-1)、説明変数X4の教師データを用いて機械学習モデルを作成し(125)、ステップ118で作成された機械学習モデルに正答率評価用データを入力して正答率を算出する(119)。
【0042】
機械学習モデル作成部11は、算出された正答率が所定の目標値以上であるかを判定する(127)。正答率が目標値以上であれば、良好な機械学習モデルが作成できたので、この処理を終了する。一方、正答率が目標値より小さければ、入力項目重要度判別部12は、説明変数同士の相関関係を算出する(128)。その後、入力項目重要度判別部12は、説明変数X2を固定し、説明変数同士の相関関係が降順になるように他方の説明変数X4を整列し(129)、ステップ115に戻り、説明変数同士の相関関係が最も高い説明変数X2を抽出して、次の説明変数X2について機械学習モデルを評価する。
【0043】
本実施例の機械学習モデル作成部11は、説明変数の組み合わせについて機械学習モデルを順次評価するので、正答率が目標値以上の機械学習モデルを探索できる。
【0044】
また、機械学習モデル作成部11が、作成した機械学習モデルの説明変数同士の相関関係を算出し、相関関係が高い説明変数の組み合わせにおいて、下位階層の説明変数を追加して学習モデルを作成することによって、正答率が高い学習モデルを生成できる。また、単純に下位階層の説明変数を追加すると機械学習モデルの入力パラメータが増え、大量の計算コストが必要となる。このため、単純に下位階層の説明変数を追加するのではなく、上位階層の説明変数と下位階層の説明変数とを入れ替えて学習モデルを作成するので、入力パラメータの増加による計算コストの増加を抑制しつつ、高精度な学習モデルを生成できる。
【0045】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【0046】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0047】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【0048】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0049】
1 プロセッサ
2 メモリ
3 補助記憶装置
4 通信インターフェース
5 入力インターフェース
6 キーボード
7 マウス
8 出力インターフェース
9 ディスプレイ装置
10 機械学習装置
11 機械学習モデル作成部
12 入力項目重要度判別部
13 機械学習モデル作成設定部
14 教師データ群
15 教師データ相関関係
30 ユーザ端末