(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024017791
(43)【公開日】2024-02-08
(54)【発明の名称】ニューラルネットワークの学習方法、特徴選択装置、特徴選択方法、及びコンピュータプログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240201BHJP
【FI】
G06N3/08
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022120678
(22)【出願日】2022-07-28
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【弁理士】
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100131015
【弁理士】
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】棗田 昌尚
(57)【要約】
【課題】入力される特徴量の一部を選択するニューラルネットワークを適切に学習する。
【解決手段】ニューラルネットワークの学習方法は、入力データの一部を選択する特徴選択層(210)と、選択された入力データに基づいて特徴量を抽出する特徴抽出層(220)と、特徴量に基づいて予測を実施する予測層(240)と、特徴量に基づいて選択された入力データを再構成する部分再構成層(230)と、を備えるニューラルネットワークの重みパラメータを、予測層による予測精度及び部分再構成層における再構成誤差に基づいて調整する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
入力データの一部を選択する特徴選択層と、
前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、
前記特徴量に基づいて予測を実施する予測層と、
前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、
を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する、
ニューラルネットワークの学習方法。
【請求項2】
前記入力データは各サンプルのドメインに関する情報を含んでおり、
前記ニューラルネットワークの重みパラメータを、前記ドメインに関する情報による前記予測層の予測結果への寄与度が小さくなるように調整する、
請求項1に記載のニューラルネットワークの学習方法。
【請求項3】
前記ニューラルネットワークは、前記ドメインを識別するドメイン識別層を更に備え、
前記ドメイン識別層の重みパラメータを、前記ドメイン識別層における識別精度が高くなるように調整し、
前記選択層及び前記特徴抽出層の重みパラメータを、前記ドメイン識別層における識別精度が低くなるように調整する、
請求項2に記載のニューラルネットワークの学習方法。
【請求項4】
前記ニューラルネットワークは、前記ドメイン間の類似度を計算するドメイン間距離計算層を更に備え、
前記選択層及び前記特徴抽出層の重みパラメータを、前記ドメイン間距離計算層で計算される前記ドメイン間の類似度が高くなるように調整する、
請求項2に記載のニューラルネットワークの学習方法。
【請求項5】
前記ニューラルネットワークは、前記ドメインを識別するドメイン識別層及び前記ドメイン間の類似度を計算するドメイン間距離計算層を更に備え、
前記ドメイン識別層の重みパラメータを、前記ドメイン識別層における識別精度が高くなるように調整し、
前記選択層及び前記特徴抽出層の重みパラメータを、前記ドメイン識別層における識別精度が低くなるように、且つ、前記ドメイン間距離計算層で計算される前記ドメイン間の類似度が高くなるように調整する、
請求項2に記載のニューラルネットワークの学習方法。
【請求項6】
前記入力データは、機器から取得されるデータと、前記機器において発生する可能性がある障害及び前記機器において発生済みの障害の属性情報と、を含み、
前記機器から取得されるデータを用いて、前記機器において発生したことがない未経験の障害を予測するように、前記ニューラルネットワークの重みパラメータを調整する、
請求項1から5のいずれか一項に記載のニューラルネットワークの学習方法。
【請求項7】
入力データの一部を選択する特徴選択層と、
前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、
前記特徴量に基づいて予測を実施する予測層と、
前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、
を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整するように学習し、
前記学習されたニューラルネットワークを用いて、入力データの一部を選択する、
特徴選択装置。
【請求項8】
入力データの一部を選択する特徴選択層と、
前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、
前記特徴量に基づいて予測を実施する予測層と、
前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、
を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整するように学習し、
前記学習されたニューラルネットワークを用いて、入力データの一部を選択する、
特徴選択方法。
【請求項9】
少なくとも1つのコンピュータに、
入力データの一部を選択する特徴選択層と、
前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、
前記特徴量に基づいて予測を実施する予測層と、
前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、
を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する、
ニューラルネットワークの学習方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は、ニューラルネットワークの学習方法、特徴選択装置、特徴選択方法、及びコンピュータプログラムの技術分野に関する。
【背景技術】
【0002】
機械学習モデルでは、入力データに含まれる複数の特徴を一部選択して用いることがある。例えば特許文献1では、目的変数の予測を最適化するために、予測に役立つ変数及び介入変数に影響する変数を選択してモデルを学習することが開示されている。特許文献2では、学習サンプル画像で識別モデルを作成し、そのモデルを用いて各画像を評価した評価値に基づいて重要な特徴を選択することが開示されている。特許文献3では、実験計画法で用いられる直交表を利用して、特徴選択の試行錯誤回数を削減することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6708295号公報
【特許文献2】特許第5777390号公報
【特許文献3】特開2016-31629号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この開示は、先行技術文献に開示された技術を改善することを目的とする。
【課題を解決するための手段】
【0005】
この開示のニューラルネットワークの学習方法の一の態様は、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する。
【0006】
この開示の特徴選択装置の一の態様は、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整するように学習し、前記学習されたニューラルネットワークを用いて、入力データの一部を選択する。
【0007】
この開示の特徴選択方法の一の態様は、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整するように学習し、前記学習されたニューラルネットワークを用いて、入力データの一部を選択する。
【0008】
この開示のコンピュータプログラムの一の態様は、少なくとも1つのコンピュータに、
入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する、ニューラルネットワークの学習方法を実行させる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態に係る故障診断システムのハードウェア構成を示すブロック図である。
【
図2】第1実施形態に係る故障診断システムの機能的構成を示すブロック図である。
【
図3】第1実施形態に係る故障診断システムが備えるモデルの構成を示すネットワーク構造図である。
【
図4】ニューラルネットワークの学習動作の流れを示すフローチャートである。
【
図5】学習データを用いたモデル生成動作の流れを示すフローチャートである。
【
図6】第2実施形態に係る故障診断システムが備えるモデルの構成を示すネットワーク構造図である。
【
図7】第3実施形態に係る故障診断システムが備えるモデルの構成を示すネットワーク構造図である。
【
図8】第4実施形態に係る故障診断システムによる診断動作の流れを示すフローチャートである。
【
図9】第4実施形態に係る故障診断システムによる属性情報の予測動作を示す概念図である。
【
図10】第4実施形態に係る故障診断システムで予測される属性情報の一例を示す図である。
【
図11】第5実施形態に係る特徴選択装置の構成を示すブロック図である。
【
図12】第5実施形態に係る特徴選択装置による特徴選択動作の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、ニューラルネットワークの学習方法、特徴選択装置、特徴選択方法、及びコンピュータプログラムの実施形態について説明する。なお、以下では、対象機器の故障を診断する故障診断システムが備えるニューラルネットワークにおいて、ニューラルネットワークの学習方法が実行される例を挙げて説明を進める。ただし、本実施形態に係るニューラルネットワークの学習方法は、故障診断システム以外のシステムや装置にも適用可能である。
【0011】
<第1実施形態>
第1実施形態に係る特徴選択装置について、
図1から
図5を参照して説明する。
【0012】
(ハードウェア構成)
まず、
図1を参照しながら、第1実施形態に係る故障診断システムのハードウェア構成について説明する。
図1は、第1実施形態に係る故障診断システムのハードウェア構成を示すブロック図である。
【0013】
図1に示すように、第1実施形態に係る故障診断システム10は、プロセッサ11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、記憶装置14とを備えている。故障診断システム10は更に、入力装置15と、出力装置16と、を備えていてもよい。上述したプロセッサ11と、RAM12と、ROM13と、記憶装置14と、入力装置15と、出力装置16とは、データバス17を介して接続されている。
【0014】
プロセッサ11は、コンピュータプログラムを読み込む。例えば、プロセッサ11は、RAM12、ROM13及び記憶装置14のうちの少なくとも一つが記憶しているコンピュータプログラムを読み込むように構成されている。或いは、プロセッサ11は、コンピュータで読み取り可能な記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。プロセッサ11は、ネットワークインタフェースを介して、故障診断システム10の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、読み込んでもよい)。プロセッサ11は、読み込んだコンピュータプログラムを実行することで、RAM12、記憶装置14、入力装置15及び出力装置16を制御する。本実施形態では特に、プロセッサ11が読み込んだコンピュータプログラムを実行すると、プロセッサ11内には、ニューラルネットワークを学習するための機能ブロックが実現される。即ち、プロセッサ11は、ニューラルネットワークを学習する際の各制御を実行するコントローラとして機能してよい。
【0015】
プロセッサ11は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)、DSP(Demand-Side Platform)、ASIC(Application Specific Integrated Circuit)として構成されてよい。プロセッサ11は、これらのうち一つで構成されてもよいし、複数を並列で用いるように構成されてもよい。
【0016】
RAM12は、プロセッサ11が実行するコンピュータプログラムを一時的に記憶する。また、RAM12は、プロセッサ11がコンピュータプログラムを実行している際にプロセッサ11が一時的に使用するデータを一時的に記憶する。RAM12は、例えば、D-RAM(Dynamic Random Access Memory)や、SRAM(Static Random Access Memory)であってよい。また、RAM12に代えて、他の種類の揮発性メモリが用いられてもよい。
【0017】
ROM13は、プロセッサ11が実行するコンピュータプログラムを記憶する。ROM13は、その他に固定的なデータを記憶していてもよい。ROM13は、例えば、P-ROM(Programmable Read Only Memory)や、EPROM(Erasable Read Only Memory)であってよい。また、ROM13に代えて、他の種類の不揮発性 メモリが用いられてもよい。
【0018】
記憶装置14は、故障診断システム10が長期的に保存するデータを記憶する。記憶装置14は、プロセッサ11の一時記憶装置として動作してもよい。記憶装置14は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。
【0019】
入力装置15は、故障診断システム10のユーザからの入力指示を受け取る装置である。入力装置15は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つを含んでいてもよい。入力装置15は、スマートフォンやタブレット等の携帯端末として構成されていてもよい。入力装置15は、例えばマイクを含む音声入力が可能な装置であってもよい。
【0020】
出力装置16は、故障診断システム10に関する情報を外部に対して出力する装置である。例えば、出力装置16は、故障診断システム10に関する情報を表示可能な表示装置(例えば、ディスプレイ)であってもよい。また、出力装置16は、故障診断システム10に関する情報を音声出力可能なスピーカ等であってもよい。出力装置16は、スマートフォンやタブレット等の携帯端末として構成されていてもよい。また、出力装置16は、画像以外の形式で情報を出力する装置であってもよい。例えば、出力装置16は、故障診断システム10に関する情報を音声で出力するスピーカであってもよい。
【0021】
なお、
図1では、複数の装置を含んで構成される故障診断システム10の例を挙げたが、これらの全部又は一部の機能を、1つの装置(即ち、故障診断装置)として実現してもよい。その場合、故障診断装置は、例えば上述したプロセッサ11、RAM12、ROM13のみを備えて構成され、その他の構成要素(即ち、記憶装置14、入力装置15、及び出力装置16)については、故障診断装置に接続される外部の装置が備えるようにしてもよい。また、特徴選択装置は、一部の演算機能を外部の装置(例えば、外部サーバやクラウド等)によって実現するものであってもよい。
【0022】
(機能的構成)
次に、
図2を参照しながら、第1実施形態に係る故障診断システム10の機能的構成について説明する。
図2は、第1実施形態に係る特徴選択装置の機能的構成を示すブロック図である。
【0023】
図2に示すように、第1実施形態に係る故障診断システム10は、その機能を実現するための構成要素として、データ収集部110と、学習部120と、予測部130と、出力部140と、記憶部150と、を備えて構成されている。データ収集部110、学習部120、予測部130、及び出力部140の各々は、例えば上述したプロセッサ11(
図1参照)によって実現される処理ブロックであってよい。また、記憶部150は、例えば上述した記憶装置14(
図1参照)によって実現されてよい。
【0024】
データ収集部110は、対象機器の状態を示すデータを収集可能に構成されている。このデータは、対象機器から取得される時系列の稼働データであってよい。なお、対象機器の種別は特に限定されないが、一例として、ハードディスク、NANDフラッシュメモリ、回転機器(例えば、ポンプやファン等)が挙げられる。ハードディスクの場合、時系列データには、Write Count、Average Write Response Time、Max Write Response Time、Write Transfer Rate、Read Count,Average Read Response Time、Max Read Time、Read Transfer Rate、Busy Ratio、Busy Time等が含まれていてよい。NANDフラッシュメモリの場合、時系列データには、書き換え回数、書き換え間隔、読み出し回数、使用環境における温度、エラー率、製造メーカに関する情報及び製造ロットに関する情報、並びに、NANDフラッシュメモリに対して誤り訂正符号化(ECC)処理を行うメモリコントローラのECC性能に関する情報、製造メーカに関する情報及び製造ロットに関する情報等が含まれていてよい。回転機器の場合、時系列データには、加速度センサ、超音波(AEセンサ)、電流、モータのトルク、歪ゲージ等の出力値等が含まれていてよい。
【0025】
学習部120は、データ収集部110で収集された時系列データを学習データとして用いることで、対象機器の故障を診断するモデルを学習可能に構成されている。学習データは、例えば時系列データと、ラベル(例えば、障害種別を示す情報)との対をサンプルとするサンプル集合であってよい。学習部120で学習されるモデルは、ニューラルネットワークを含んで構成されてよい。学習されるモデルの構造や具体的な学習方法については、後に詳しく説明する。
【0026】
予測部130は、学習部120で学習されたモデルを用いて、入力データに基づく予測を実行可能に構成されている。例えば、予測部130は、対象機器の時系列データを入力として、対象機器の故障に関する情報(例えば、故障の種別や発生時期等)を予測可能に構成されている。
【0027】
出力部140は、故障診断システム10における各種情報を出力可能に構成されている。例えば、出力部140は、予測部130の予測結果を出力するように構成されてよい。例えば、出力部140は、対象機器の故障に関する情報を出力してよい。或いは、出力部140は、対象機器の故障に応じた対処方法やアラーム(例えば、メンテナンスを促すための警報)等を出力してもよい。出力部140は、上述した出力装置16を介して、各種情報を出力可能に構成されてよい。例えば、出力部140は、モニタやスピーカ等を介して各種情報を出力するように構成されてよい。
【0028】
記憶部150は、故障診断システム10で扱う各種情報を記憶可能に構成されている。記憶部150は、例えば学習部120で学習されたモデルを記憶可能に構成されてよい。また、記憶部150は、データ収集部110で収集された対象機器のデータを記憶可能に構成されてよい。
【0029】
(モデル構造)
次に、
図3を参照しながら、第1実施形態に係る故障診断システム10が備えるモデル(ニューラルネットワーク)の構造について説明する。
図3は、第1実施形態に係る故障診断システムが備えるモデルの構成を示すネットワーク構造図である。
【0030】
図3に示すように、第1実施形態に係る故障診断システム10が備えるニューラルネットワークは、特徴選択層210と、特徴抽出層220と、部分再構成層230と、予測層240と、を備えている。なお、ニューラルネットワークは、上述した特徴選択層210、特徴抽出層220、部分再構成層230、及び予測層240以外の層を備えていてもよい。
【0031】
特徴選択層210は、入力データの一部を選択して出力する。特徴選択層210による特徴の選択は、温度T∈(0,∞)によって制御される。例えば、温度Tが極めて高い場合には、特徴選択層210では様々な特徴が均等に選択されることになるが、温度Tが低くなっていくと選択に偏りが生じていくことになる。温度Tは後述する学習中に予め設定した範囲(例えば10~0.01等)で変化させる。特徴選択層210は、入力データxが入力されると、M(T)Txを出力する。このMに含まれるi行j列目の各要素mij(T)∈[0,1]は下記式(1)のように定義される。
【0032】
【数1】
なお、α
ijは学習で決まる重みパラメータ、g
ijはガンベル分布からの独立サンプルである。
【0033】
特徴抽出層220は、特徴選択層210で選択された入力データに基づいて特徴量を抽出する。特徴抽出層220で抽出された特徴量は、部分再構成層230及び予測層240に出力される構成となっている。
【0034】
部分再構成層230は、特徴量抽出層220で抽出された特徴量から、特徴選択層210で選択された入力データを再構成する。即ち、部分再構成層230は、すべての入力データではなく、一部の選択された入力データを部分的に再構成する。部分再構成層230は、目標特徴量y=W(Tc)Txに基づいて再構成を行う。この目標特徴量yは学習の際に決定されるものであり、W(T)のi行j列目の要素wij(T)は下記式(2a)及び(2b)のように定義される。
【0035】
【0036】
予測層240は、特徴抽出層220で抽出された特徴量に基づいて予測を行う。予測層240の予測結果は、例えば対象機器の故障に関する属性情報であってよい。この場合、故障診断システム10は、属性情報に基づいて対象機器の故障を診断するように構成されてよい。属性情報を用いた故障診断については、後述する他の実施形態において詳しく説明する。
【0037】
なお、上述したモデルは、各種オートエンコーダを含んで構成されてよい。例えば、入力データが時系列データである場合、LSTM Autoencoderのような時系列データに対する自己符号化モデルが用いられてよい。或いは、Denoising Autoencoder や、Variational AutoencoderなどのAutoencoderの亜種を用いてもよい。
【0038】
(学習動作)
次に、
図4を参照しながら、第1実施形態に係る故障診断システム10による学習動作(即ち、故障を診断するモデルを学習する際の動作)について説明する。
図4は、ニューラルネットワークの学習動作の流れを示すフローチャートである。
【0039】
図4に示すように、第1実施形態に係る故障診断システム10におけるニューラルネットワークの学習動作が開始されると、まずデータ収集部110が学習データを取得する(ステップS101)。データ収集部110は、例えば、対象機器の稼働データを学習データとして取得する。この際、データ収集部110は、対象機器から新たに学習データを収集してもよいし、記憶部150から過去に収集した学習データを取得してもよい。データ収集部110が取得した学習データは、学習部120に出力される。
【0040】
続いて、学習部120が学習データを用いて、対象機器の故障を診断するモデルを学習する(ステップS102)。なお、学習部120によるモデルの学習方法については、後に詳しく説明する。学習が終了すると、学習部120は、学習済みのモデルを記憶部150に保存する(ステップS103)。なお、故障診断システム10を運用する際には、ここで記憶部150に保存された学習済みのモデルを用いて故障診断が実行されることになる。
【0041】
(学習方法の流れ)
次に、
図5を参照しながら、第1実施形態に係る故障診断システム10が実行するニューラルネットワークの学習方法(具体的には、
図4で説明したステップS102の処理)の流れについて詳しく説明する。
図5は、学習データを用いたモデル生成動作の流れを示すフローチャートである。
【0042】
図5に示すように、第1実施形態に係る故障診断システム10が実行するニューラルネットワークの学習方法では、学習部130が、まず温度及び評価値を初期化する(ステップS201)。ここでの温度は、すでに説明したように、特徴選択層210における選択を制御するためのパラメータである。また評価値は、モデルの重みパラメータを更新するか否かを判定するための値であり、例えば損失Lを含む値であってよい。温度及び評価値の初期値は予め設定された値であってよい。
【0043】
学習部130は、学習データをモデルに入力した際の出力に基づいて損失Lを計算する(ステップS202)。損失Lの計算方法については、後に詳しく説明する。続いて、学習部130は、損失Lを小さくするようにモデルの重みパラメータを決定する(ステップS203)。学習部130は、これらステップS202及びS203の処理を所定回数繰り返す。
【0044】
その後、学習部130は、温度Tを低く設定する(ステップS204)。即ち、それまで用いていた温度Tの値を下げる。そして、温度Tが低くされた状態で、再びステップS202及びS203の処理が所定回数繰り返される。このようにステップS202及びS203の学習は、温度を低くしながら繰り返し実行されることになる。なお、温度Tは指数関数的に低くされていってもよい。また、温度Tの更新幅は、後述する一段目の学習が終了する温度が最終温度Teとなるように決定される。
【0045】
上述したステップS204までの処理が繰り返されることにより、温度Tが最終温度Teとなる。ここでは、温度Tが最終温度Teとなるまでの学習処理を1段階目の学習と呼ぶ。学習部130は、この1段階目の学習に続き、2段階目の学習を実行する。2段階目の学習は、温度Tが最終温度Teに固定された状態で行われる。
【0046】
2段階目の学習では、学習部130が、学習データをモデルに入力した際の出力に基づいて損失Lを計算する(ステップS205)。続いて、学習部130は、損失Lを小さくするようにモデルの重みパラメータを決定する(ステップS206)。学習部130は、これらステップS205及びS206の処理を所定回数繰り返す。
【0047】
その後、学習部130は評価値を計算する。そして、計算した評価値が良くなっていれば、その際の重みパラメータを一次保存する(ステップS207)。そして、学習部130は、再びステップS205及びS206の処理を所定回数繰り返す。このように学習することで、予測層240における予測精度が上げていくことができる。
【0048】
学習が終了すると、学習部130は、一次保存しておいた重みパラメータ(即ち、ステップS207で保存した重みパラメータ)をモデルの重みパラメータとして、記憶部150に保存する(ステップS208)。
【0049】
(損失の計算)
次に、上述した学習方法で用いられる損失Lについて具体的に説明する。本実施形態で計算される損失Lは、下記式(3)のように定義される。
【0050】
【0051】
損失Lに含まれる各項のうち、LCはモデルの主損失関数であり、Lae及びLdplは正則化項である。正則化項におけるλ1及びλ2はハイパーパラメータである。モデルを学習する際、λ1及びλ2は固定された値であってもよいし、変動する値であってもよい。例えば、λ1及びλ2は、学習が進むにつれて0から徐々に大きくなるようにされてもよい。この場合、重みの変化は、正則化項ごとに異なっていてもよい。
【0052】
LCは、予測層140の損失関数であり、下記式(4)のように定義される。
【0053】
【数4】
ここで、BCEはバイナリクロスエントロピー関数であり、aは実際の値、a^は予測層140で予測された属性(予測値)である。
【0054】
Laeは、部分再構成層230の損失関数であり、下記式(5)のように定義される。
【0055】
【数5】
ここで、E[・]は期待値を取る関数、y及びy^は、実測値と予測値に対応する確率変数である。
【0056】
Laeは、部分再構成層230における再構成誤差に対応する値であり、例えば元の値を正確に復元できるほど小さい値となる。損失Lが、上述したLC及びLaeを含むため、モデルの学習は、予測層240による予測精度に加え、部分再構成層230における再構成誤差に基づいて実行されることになる。
【0057】
Ldplは、特徴選択層210が異なる特徴を選択するように促すためのペナルティ項であり、下記式(6)のように定義される。
【0058】
【数6】
ここでのτは、ペナルティの度合いを制御するハイパーパラメータであり、通常1以上の値として設定される。モデルを学習する際、τは一定の値とされてよい。また、L
dplを下記式(7)のように定義して、τが温度Tに応じて変化するようにしてもよい。
【0059】
【数7】
なお、ここでのpijは下記式(8)のように定義される。
【0060】
【数8】
学習が進むにつれて温度Tが低くなる場合、τも温度Tに合わせて小さくなるようにしてもよい。例えば、温度Tが指数関数的に低くなる場合、τも指数関数的に低くされてよい。
【0061】
(技術的効果)
次に、第1実施形態に係る故障診断システム10で実行されるニューラルネットワークの学習方法の技術的効果について説明する。
【0062】
図1から
図5で説明したように、第1実施形態に係る故障診断システム10では、予測層240における予測精度、部分再構成層230における再構成誤差に基づいて、モデルの学習が行われる。このようにすれば、特徴選択層210において、予測層240における予測に役立つ特徴が選択されるように重みパラメータを調整することができる。その結果、特徴量の分布の変化に頑強なモデル(即ち、汎化性能の高いモデル)を生成することができる。
【0063】
<第2実施形態>
第2実施形態に係る故障診断システム10について、
図6を参照して説明する。なお、第2実施形態は、上述した第1実施形態と比べて、モデル構造及び学習方法の一部が異なるのみであり、その他の部分については第1実施形態と同一であってよい。このため、以下では、すでに説明した第1実施形態と異なる部分について詳細に説明し、その他の重複する部分については適宜説明を省略するものとする。
【0064】
(モデル構造)
まず、
図6を参照しながら、第2実施形態に係る故障診断システム10が備えるモデル(ニューラルネットワーク)の構造について説明する。
図6は、第2実施形態に係る故障診断システムが備えるモデルの構成を示すネットワーク構造図である。なお、
図6では、
図3で示した要素と同様の要素に同一の符号を付している。
【0065】
図6に示すように、第2実施形態に係る故障診断システム10が備えるニューラルネットワークは、特徴選択層210と、特徴抽出層220と、部分再構成層230と、予測層240と、ドメイン識別層250と、勾配反転層260と、を備えている。即ち、第2実施形態に係るニューラルネットワークは、第1実施形態の構成(
図3参照)に加えて、ドメイン識別層250と、勾配反転層260と、を更に備えている。なお、本実施形態の故障診断システム10の入力データは、各サンプルのドメインに関する情報を含んでいるものとする。
【0066】
ドメイン識別層250は、入力データのドメインを識別する。例えば、入力データが複数のドメインから与えられる場合、ドメイン識別層250は、入力データに含まれる各サンプルが、どのドメインからの情報であるかを識別する。
【0067】
勾配反転層260は、誤差逆伝播法で重みパラメータを更新する際に、ドメイン識別に対する損失項の正負を反転させる層である。損失項の正負を反転させる趣旨については、以下で詳しく説明する。
【0068】
(損失の計算)
次に、第2実施形態に係るニューラルネットワークを学習する際の損失について具体的に説明する。第2実施形態に係るニューラルネットワークの重みパラメータのうち、ドメイン識別層250を除く部分の重みパラメータの損失Lは、下記式(9)のように定義される。
【0069】
【数9】
なお、ここでのλ
3L
dは、ドメイン識別層250の損失関数である。λ
3L
dにおけるλ
3はハイパーパラメータであり、L
dはドメイン識別のクロスエントロピーである。L
dは、例えば下記式(10)のように定義される。
【0070】
【0071】
ドメイン識別層250は、Ldが小さくなるように学習されていく。これにより、ドメインの識別精度が向上する。一方、ドメイン識別層250の前段には、勾配反転層260が挿入されているため、特徴選択層210と特徴抽出層220の重みパラメータは、ドメインの識別精度が低下するように学習されていく。このため、モデル全体としての損失は、下記式(11)のように定義される損失L’1つにまとめられる。
【0072】
【数11】
このように、ドメイン識別層250の損失関数の符号が反転することで、特徴選択層210や特徴抽出層220の重みパラメータは、ドメイン識別層250の損失が上がるように学習されていく。言い換えれば、ドメイン識別器250をだますような特徴が抽出されるよう学習が実行される。なお、仮に勾配反転層260が存在しない場合、上記式(9)の損失Lと、ドメイン識別層250の損失関数(λ
3L
d)とを使って、更新対象となるパラメータを限定しながら、順次パラメータを更新する必要がある。しかるに本実施形態では、上述したように2つの損失関数を1つにまとめることができるため、より容易に学習が行えることになる。
【0073】
(技術的効果)
次に、第2実施形態に係る故障診断システム10で実行されるニューラルネットワークの学習方法の技術的効果について説明する。
【0074】
第2実施形態に係る故障診断システム10では、ドメイン識別層250による識別精度が上がるように、且つ、特徴選択層210および特徴抽出層220を経て抽出される特徴量はドメイン識別層250の識別が上手くいかなくなるように学習が行われる。このようにすれば、ドメインが予測結果に及ぼす影響(寄与度)を小さくすることができるため、結果として入力データのドメインに依存しない予測を実現することが可能である。
【0075】
<第3実施形態>
第3実施形態に係る故障診断システム10について、
図7を参照して説明する。なお、第3実施形態は、上述した第1及び第2実施形態と比べて、モデル構造及び学習方法の一部が異なるのみであり、その他の部分については第1及び第2実施形態と同一であってよい。このため、以下では、すでに説明した各実施形態と異なる部分について詳細に説明し、その他の重複する部分については適宜説明を省略するものとする。
【0076】
(モデル構造)
まず、
図7を参照しながら、第3実施形態に係る故障診断システム10が備えるモデル(ニューラルネットワーク)の構造について説明する。
図7は、第3実施形態に係る故障診断システムが備えるモデルの構成を示すネットワーク構造図である。なお、
図7では、
図3で示した要素と同様の要素に同一の符号を付している。
【0077】
図7に示すように、第3実施形態に係る故障診断システム10が備えるニューラルネットワークは、特徴選択層210と、特徴抽出層220と、部分再構成層230と、予測層240と、ドメイン間距離計算層270と、を備えている。即ち、第3実施形態に係るニューラルネットワークは、第1実施形態の構成(
図3参照)に加えて、ドメイン間距離計算層270を更に備えている。なお、本実施形態の故障診断システム10の入力データは、第2実施形態と同様に、各サンプルのドメインに関する情報を含んでいるものとする。
【0078】
ドメイン間距離計算層270は、入力データの各サンプルのドメイン間の距離(MMD:Maximum Mean Discrepancy)を計算する。ドメイン間の距離Lmは、下記式(12)のように定義される。
【0079】
【0080】
(損失の計算)
次に、第3実施形態に係るニューラルネットワークを学習する際の損失Lについて具体的に説明する。第3実施形態で計算される損失Lは、下記式(13)のように定義される。
【0081】
【数13】
即ち、第3実施形態に係る損失Lは、第1実施形態で説明した損失L(上述した数式(3)を参照)に、λ
4L
mを加えたものとなっている。なお、ここでのλ
4はハイパーパラメータであり、L
mはドメイン間距離計算層270で計算されるドメイン間の距離である。このように、第3実施形態に係る損失Lでは、ドメイン間距離計算層270で計算されるドメインの距離L
mが考慮される。具体的には、ドメイン間の距離L
m小さくなるように(言い換えれば、ドメイン間の類似度が最大化するように)モデルが学習される。
【0082】
(技術的効果)
次に、第3実施形態に係る故障診断システム10で実行されるニューラルネットワークの学習方法の技術的効果について説明する。
【0083】
第3実施形態に係る故障診断システム10では、ドメイン間の距離が小さくなるように学習が行われる。このようにすれば、ドメイン間の類似度が最大化し、実質的にドメインの違いが考慮されなくなるため、ドメインが予測結果に及ぼす影響(寄与度)を小さくすることができる。その結果、入力データのドメインに依存しない予測を実現することが可能である。
【0084】
なお、上述した第2実施形態(
図6参照)と、第3実施形態(
図7参照)とは、組み合わせて実現されてよい。具体的には、ドメイン識別層250の重みパラメータを、前記ドメイン識別層250における識別精度が高くなるように調整し、特徴選択層210及び特徴抽出層220の重みパラメータを、ドメイン識別層250における識別精度が低くなるように、且つ、ドメイン間距離計算層270で計算されるドメイン間の類似度が高くなるように調整するようにしてよい。このように第2実施形態及び第3実施形態を組み合わせた場合でも、入力データのドメインに依存しない予測を実現することが可能である。
【0085】
<第4実施形態>
第4実施形態に係る故障診断システム10について、
図8から
図10を参照して説明する。なお、第4実施形態は、上述した第1から第3実施形態と一部の構成及び動作が異なるのみであり、その他の部分については第1から第3実施形態と同一であってよい。このため、以下では、すでに説明した各実施形態と異なる部分について詳細に説明し、その他の重複する部分については適宜説明を省略するものとする。
【0086】
(故障診断動作)
まず、
図8を参照しながら、第4実施形態に係る故障診断システム10による故障診断動作(即ち、学習済みのモデルを用いて対象機器の故障を診断する動作)について説明する。
図8は、第4実施形態に係る故障診断システムによる診断動作の流れを示すフローチャートである。
【0087】
図8に示すように、第4実施形態に係る故障診断システム10では、まずデータ収集部110が対象機器の時系列データを取得する(ステップS301)。データ収集部110で取得された時系列データは、予測部130に出力される。
【0088】
続いて、予測部130が、データ収集部110で取得された時系列データに基づいて、対象機器に異常が発生しているか否かを判定する(ステップS302)。なお、異常が発生していない場合(ステップS302:NO)、以降の処理は省略されてよい。
【0089】
異常が発生している場合(ステップS302:YES)、予測部130は、異常が経験済みの障害(即ち、対象機器において過去に発生したことがある障害)に起因するものであるか否かを判定する(ステップS303)。そして、異常が経験済みの障害に起因するものである場合(ステップS303:YES)、出力部140が経験済み障害に関連する情報(例えば、障害種別や対処方法等)を出力する(ステップS304)。
【0090】
他方、異常が経験済みの障害に起因するものでない場合(ステップS303:NO)、予測部130は更に、未経験障害(即ち、対象機器において過去に発生したことがない障害)に関する診断を行う(ステップS305)。その後、出力部140は、未経験障害の診断結果に基づく情報(例えば、未経験障害の障害種別や対処方法等)を出力する(ステップS306)。
【0091】
上記のように、本実施形態に係る故障診断システム10では、経験済みの障害に加えて、未経験の障害についても診断することが可能である。ステップS302の異常検知には例えば、機械学習を用いた外れ値検知技術を用いてもよい。ステップS303の経験済み障害を障害の種類別に学習させた識別器を用いてもよく、いずれの識別器も障害を識別しなかった場合、未経験障害であると判定してもよい。未経験障害の診断については、第1から第3実施形態で説明したモデルで実行することができる。以下では、未経験障害の診断について、より具体的に説明する。
【0092】
(故障の属性情報)
図9及び
図10を参照しながら、上述した故障診断動作で用いられる故障の属性情報について説明する。
図9は、第4実施形態に係る故障診断システムによる属性情報の予測動作を示す概念図である。
図10は、第4実施形態に係る故障診断システムで予測される属性情報の一例を示す図である。
【0093】
図9に示すように、第4実施形態に係る故障診断システムは、未経験障害を診断するために、N個の属性(即ち、第1~第Nの属性)を予測可能に構成されている。第4実施形態に係る故障診断システムは、各属性に対応する複数のモデルを備えている。例えば、第1の属性を予測する第1の属性予測モデル、第2の属性を予測する第2の属性予測モデル、…、第Nの属性を予測する第Nの属性予測モデルを備えている。これら複数のモデルの各々は、特徴を選択する特徴選択層と、属性情報を予測する分類器と、をそれぞれ備えている。特徴選択層は、第1から第3実施形態で説明したように、分類器の予測精度を高める特徴選択が行えるよう学習されている。なお、分類器は、学習する際に用いた予測層をそのまま用いてもよいし、他の予測層を用いてもよい。
【0094】
図10に示すように、第4実施形態に係る故障診断システム10は、対象機器で発生し得る障害に関する属性情報(属性ベクトル)を記憶している。この属性情報は、入力データに含まれるものであってもよい。属性情報は、障害の属性(図の横軸)と、障害の種別(図の縦軸)と、を含むベクトルである。故障診断システム10は、この属性ベクトルと、複数のモデルで予測した属性情報と、を比較することで未経験の障害を診断する。例えば、複数のモデルで予測した属性情報と、
図10に示す属性ベクトルの各行との類似度を算出し、最も類似度の高い行に対応する障害の種別を、対象機器で発生している障害の種別として出力する。
【0095】
第4実施形態に係る故障診断システム10は、上述した未経験障害の診断を実行できるよう学習されている。この場合の学習データは、ラベル(上述した属性情報を示す属性ベクトル)と時系列の稼働データとの対をサンプルとするサンプル集合であってよい。なお、学習動作の具体的な手法については、第1から第3実施形態で説明したものを適宜採用することが可能である。
【0096】
(技術的効果)
次に、第4実施形態に係る故障診断システム10で実行されるニューラルネットワークの学習方法の技術的効果について説明する。
【0097】
図8から
図10で説明したように、第4実施形態に係る故障診断システム10では、経験済みの障害及び未経験の障害を診断することができる。また、本実施形態では特に、未経験の障害を診断するモデルが、再構成誤差、或いはドメイン識別層の識別精度やドメイン間の距離を考慮して学習されているため、未経験の障害を高い精度で予測することが可能である。
【0098】
<第5実施形態>
第5実施形態に係る特徴選択装置について、
図11及び
図12を参照して説明する。なお、第5実施形態は、上述した第1から第4実施形態で説明したモデルを用いた特徴選択装置について説明するものであり、モデルの構成や学習方法については第1から第4実施形態と同一であってよい。このため、以下では、すでに説明した各実施形態と異なる部分について詳細に説明し、その他の重複する部分については適宜説明を省略するものとする。
【0099】
(装置構成)
まず、
図11を参照しながら、第5実施形態に係る特徴選択装置の構成について説明する。第5実施形態に係る特徴選択装置の構成を示すブロック図である。
【0100】
図11に示すように、第5実施形態に係る特徴選択装置20は、その機能を実現するための構成要素として、データ取得部310と、特徴選択部320と、特徴出力部330と、を備えて構成されている。データ取得部310、特徴選択部320、及び特徴出力部330の各々は、例えば上述したプロセッサ11(
図1参照)によって実現される処理ブロックであってよい。
【0101】
データ取得部310は、特徴選択装置20に入力される入力データを取得可能に構成されている。データ取得部310が取得する入力データは、複数の特徴を含むデータである。データ取得部310が取得する入力データは、例えば、上述した各実施形態で説明した対象機器に関するデータであってもよいし、それ以外のデータであってもよい。
【0102】
特徴選択部320は、データ取得部310で取得された入力データから一部の特徴を選択可能に構成されている。特徴選択部320は、学習済みのモデルを用いて特徴を選択する。特徴選択部320が用いる学習済みのモデルは、すでに説明した他の実施形態に係るモデルであってよい。
【0103】
特徴出力部330は、特徴選択部320で選択された特徴を出力可能に構成されている。即ち、特徴出力部330は、データ取得部310が取得する入力データに含まれる複数の特徴のうち、特徴選択部320で選択された特徴のみを出力する。特徴出力部330は、例えばモデル(ニューラルネットワーク)に含まれる中間層などに選択された特徴を出力してよい。或いは、特徴出力部330は、記憶装置や外部の装置に選択された特徴を出力してもよい。
【0104】
(特徴選択動作)
次に、
図12を参照しながら、第5実施形態に係る特徴選択装置20による特徴選択動作(即ち、入力データの一部を選択する動作)について説明する。
図12は、第5実施形態に係る特徴選択装置による特徴選択動作の流れを示すフローチャートである。
【0105】
図12に示すように、第5実施形態に係る特徴選択装置20の動作が開始されると、まずデータ取得部310が入力データを取得する(ステップS401)。続いて、特徴選択部320が、学習済みのモデルを用いて、入力データからW(T
e)を計算する(ステップS402)。これにより、入力データに含まれる複数の特徴のうち、どの特徴が選択されるかが決まる。なお、ここでのT
eは、学習の際に決定した最終温度である。
【0106】
続いて、特徴出力部330が、W(Te)を計算することで選択された特徴を出力する。即ち、特徴出力部330は、2層目のノードに割り当てられた1層目のノードを選択された特徴として出力する。具体的には、特徴出力部330は、{i|Σjwij(Te)>0}を選択された特徴として出力する。
【0107】
(技術的効果)
次に、第5実施形態に係る特徴選択装置20で得られる技術的効果について説明する。
【0108】
図11及び
図12で説明したように、第5実施形態に係る特徴選択装置20では、学習済みのモデルを用いて、入力データから一部の特徴が選択される。学習済みのモデルは、入力データに含まれる特徴のうち、出力先における重要度が高いものを選択するように構成されている。よって、本実施形態に係る特徴選択装置20によれば、入力データに含まれる特徴を取捨選択して、より適切な特徴を出力することが可能である。
【0109】
上述した各実施形態の機能によって選択した特徴(即ち、学習済みのモデルによって選択した特徴)を、他のモデルを生成する際の学習に用いてもよい。例えば、選択した特徴を、本実施形態とは異なる機械学習手法で学習される他の識別モデルを生成する際に用いてもよい。より具体的には、選択した特徴を、サポートベクトルマシン、ランダムフォレスト、ナイーブベイズ分類器等の学習に用いてよい。そして、このようにして学習した別モデルを、故障診断システム10における分類器に用いてもよい。即ち、属性分類を行うモデルは、選択した特徴を用いて別途学習されたモデルであってよい。
【0110】
上述した各実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
【0111】
記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作して処理を実行するものも各実施形態の範疇に含まれる。更に、プログラム自体がサーバに記憶され、ユーザ端末にサーバからプログラムの一部または全てをダウンロード可能なようにしてもよい。
【0112】
<付記>
以上説明した実施形態に関して、更に以下の付記のようにも記載されうるが、以下には限られない。
【0113】
(付記1)
付記1に記載のニューラルネットワークの学習方法は、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する、ニューラルネットワークの学習方法である。
【0114】
(付記2)
付記2に記載のニューラルネットワークの学習方法は、前記入力データは各サンプルのドメインに関する情報を含んでおり、前記ニューラルネットワークの重みパラメータを、前記ドメインに関する情報による前記予測層の予測結果への寄与度が小さくなるように調整する、付記1に記載のニューラルネットワークの学習方法である。
【0115】
(付記3)
付記3に記載のニューラルネットワークの学習方法は、前記ニューラルネットワークは、前記ドメインを識別するドメイン識別層を更に備え、前記ドメイン識別層の重みパラメータを、前記ドメイン識別層における識別精度が高くなるように調整し、前記選択層及び前記特徴抽出層の重みパラメータを、前記ドメイン識別層における識別精度が低くなるように調整する、付記2に記載のニューラルネットワークの学習方法である。
【0116】
(付記4)
付記4に記載のニューラルネットワークの学習方法は、前記ニューラルネットワークは、前記ドメイン間の類似度を計算するドメイン間距離計算層を更に備え、前記選択層及び前記特徴抽出層の重みパラメータを、前記ドメイン間距離計算層で計算される前記ドメイン間の類似度が高くなるように調整する、付記2に記載のニューラルネットワークの学習方法である。
【0117】
(付記5)
付記5に記載のニューラルネットワークの学習方法は、前記ニューラルネットワークは、前記ドメインを識別するドメイン識別層及び前記ドメイン間の類似度を計算するドメイン間距離計算層を更に備え、前記ドメイン識別層の重みパラメータを、前記ドメイン識別層における識別精度が高くなるように調整し、前記選択層及び前記特徴抽出層の重みパラメータを、前記ドメイン識別層における識別精度が低くなるように、且つ、前記ドメイン間距離計算層で計算される前記ドメイン間の類似度が高くなるように調整する、付記2に記載のニューラルネットワークの学習方法である。
【0118】
(付記6)
付記6に記載のニューラルネットワークの学習方法は、前記入力データは、機器から取得されるデータと、前記機器において発生する可能性がある障害及び前記機器において発生済みの障害の属性情報と、を含み、前記機器から取得されるデータを用いて、前記機器において発生したことがない未経験の障害を予測するように、前記ニューラルネットワークの重みパラメータを調整する、付記1から5のいずれか一項に記載のニューラルネットワークの学習方法である。
【0119】
(付記7)
付記7に記載の特徴選択装置は、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整するように学習し、前記学習されたニューラルネットワークを用いて、入力データの一部を選択する、特徴選択装置である。
【0120】
(付記8)
付記8に記載の特徴選択方法は、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整するように学習し、前記学習されたニューラルネットワークを用いて、入力データの一部を選択する、特徴選択方法である。
【0121】
(付記9)
付記9に記載のコンピュータプログラムは、少なくとも1つのコンピュータに、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する、ニューラルネットワークの学習方法を実行させるコンピュータプログラムである。
【0122】
(付記10)
付記10に記載の記録媒体は、少なくとも1つのコンピュータに、入力データの一部を選択する特徴選択層と、前記選択された入力データに基づいて特徴量を抽出する特徴抽出層と、前記特徴量に基づいて予測を実施する予測層と、前記特徴量に基づいて前記選択された入力データを再構成する部分再構成層と、を備えるニューラルネットワークの重みパラメータを、前記予測層による予測精度及び前記部分再構成層における再構成誤差に基づいて調整する、ニューラルネットワークの学習方法を実行させるコンピュータプログラムが記録された記録媒体である。
【0123】
この開示は、請求の範囲及び明細書全体から読み取ることのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴うニューラルネットワークの学習方法、特徴選択装置、特徴選択方法、及びコンピュータプログラムもまたこの開示の技術思想に含まれる。
【符号の説明】
【0124】
10 故障診断システム
11 プロセッサ
14 記憶装置
20 特徴選択装置
110 データ収集部
120 学習部
130 予測部
140 出力部
150 記憶部
210 特徴選択層
220 特徴抽出層
230 部分再構成層
240 予測層
250 ドメイン識別層
260 勾配反転層
270 ドメイン間距離計算層
310 データ取得部
320 特徴選択部
330 特徴出力部