IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-機械学習装置および機械学習方法 図1
  • 特開-機械学習装置および機械学習方法 図2
  • 特開-機械学習装置および機械学習方法 図3
  • 特開-機械学習装置および機械学習方法 図4
  • 特開-機械学習装置および機械学習方法 図5
  • 特開-機械学習装置および機械学習方法 図6
  • 特開-機械学習装置および機械学習方法 図7
  • 特開-機械学習装置および機械学習方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023037054
(43)【公開日】2023-03-15
(54)【発明の名称】機械学習装置および機械学習方法
(51)【国際特許分類】
   G06N 3/084 20230101AFI20230308BHJP
【FI】
G06N3/08 140
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021143583
(22)【出願日】2021-09-03
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】大久保 教夫
(72)【発明者】
【氏名】松村 忠幸
(57)【要約】
【課題】
新しいクラスを追加する継続学習を繰り返すと推論精度が下がっていくという課題がある。
【解決手段】
ニューラルネットワークを備える機械学習装置であって、前記ニューラルネットワークの出力層から出力される信号の値に基づいて、教師データを自動生成する教師データ生成部と、前記教師データに基づいて、前記ニューラルネットワークの結合重みのバイアス値を変更する結合バイアス変更部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
ニューラルネットワークを備える機械学習装置であって、
前記ニューラルネットワークの出力層から出力される信号の値に基づいて、教師データを自動生成する教師データ生成部と、
前記教師データに基づいて、前記ニューラルネットワークの結合重みのバイアス値を変更する結合バイアス変更部と、を備える、
ことを特徴とする機械学習装置。
【請求項2】
請求項1記載の機械学習装置であって、
前記教師データ生成部は、
前記出力層から出力される信号の値が、最も大きな値に、事前に設定された値をかけた値以上のものを正解とし、それ以外を不正解として、前記教師データを生成する
ことを特徴とする機械学習装置。
【請求項3】
請求項1記載の機械学習装置であって、
前記結合バイアス変更部は、
前記教師データ生成部において、正解とした前記出力層から出力される信号を生成する結合バイアスに事前に設定された値を減算する、あるいは、
前記教師データ生成部において、不正解とした前記出力層から出力される信号を生成する結合バイアスに事前に設定された値を加算する、あるいは、その両方の演算を行う、
ことを特徴とする機械学習装置。
【請求項4】
請求項1記載の機械学習装置であって、
前記教師データ生成部は、
前記出力層からの出力は、分類すべきラベル毎に分割され、入力データに該当するラベルに分割された出力の中から、最も大きな値に、事前に設定された値をかけた値以上のものを正解とし、それ以外を不正解として、前記教師データを生成する、
ことを特徴とする機械学習装置。
【請求項5】
ニューラルネットワークによる機械学習方法であって、
前記ニューラルネットワークの出力層から出力される信号の値に基づいて、教師データを自動生成する教師データ生成処理と、
前記教師データに基づいて、前記ニューラルネットワークの結合重みのバイアス値を変更する結合バイアス変更処理と、
がある、
ことを特徴とする機械学習方法。
【請求項6】
請求項5記載の機械学習方法であって、
前記教師データ生成処理では、
前記出力層から出力される信号の値が、最も大きな値に、事前に設定された値をかけた値以上のものを正解とし、それ以外を不正解として、前記教師データを生成する
ことを特徴とする機械学習方法。
【請求項7】
請求項5記載の機械学習方法であって、
前記結合バイアス変更処理では、
前記教師データ生成処理において、正解とした前記出力層から出力される信号を生成する結合バイアスに事前に設定された値を減算する、あるいは、
前記教師データ生成処理において、不正解とした前記出力層から出力される信号を生成する結合バイアスに事前に設定された値を加算する、あるいは、その両方の演算を行う、
ことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はニューラルネットワークを用いた機械学習装置および機械学習方法に関する。
【背景技術】
【0002】
過去に学習した内容を忘れずに、新しい学習を行う継続学習という手法が知られている。この継続学習の例が、特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】WO2020/194500
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のような従来の継続学習においては、新しいクラスを追加する継続学習を繰り返すと推論精度が下がっていくという課題がある。
【0005】
本発明の目的は、上記の課題を解決し、継続学習を繰り返し行っても推論精度が下がることを抑えることが可能な機械学習装置および機械学習方法を提供することにある。
【課題を解決するための手段】
【0006】
上記の課題を解決するため、本発明においては、ニューラルネットワークを備える機械学習装置であって、ニューラルネットワークの出力層から出力される信号の値に基づいて、教師データを自動生成する教師データ生成部と、教師データに基づいて、ニューラルネットワークの結合重みのバイアス値を変更する結合バイアス変更部と、を備える機械学習装置を提供する。
【0007】
また、上記の課題を解決するため、本発明においては、ニューラルネットワークによる機械学習方法であって、ニューラルネットワークの出力層から出力される信号の値に基づいて、教師データを自動生成する教師データ生成処理と、教師データに基づいて、ニューラルネットワークの結合重みのバイアス値を変更する結合バイアス変更処理と、からなる機械学習方法を提供する。
【発明の効果】
【0008】
本発明によれば、新しいクラスを追加する継続学習を繰り返し行っても推論精度が下がることを抑えることが可能となる。
【0009】
上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0010】
図1】第1実施例の機械学習装置の説明図である。
図2】第2実施例の機械学習装置の機能構成を示すブロック図である。
図3】第3実施例の機械学習装置の学習処理のフローチャートである。
図4】第3実施例の機械学習装置の訓練データについて学習処理のフローチャートである。
図5】第3実施例の機械学習装置の教師データ作成処理のフローチャートである。
図6】第3実施例の機械学習装置の結合バイアスの変更処理のフローチャートである。
図7】継続学習を繰り返した時の推論精度を示すグラフである。
図8】第4実施例の機械学習装置の説明図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明を実施するための好適な形態について説明する。
【実施例0012】
実施例1は、ニューラルネットワークを備える機械学習装置であって、ニューラルネットワークの出力層から出力される信号の値に基づいて、教師データを自動生成する教師データ生成部と、教師データに基づいて、ニューラルネットワークの結合重みのバイアス値を変更する結合バイアス変更部と、を備える機械学習装置、及び機械学習方法の実施例である。
【0013】
図1は、実施例1の機械学習装置の説明図である。同図において、ニューラルネットワーク100は、入力層101と出力層102から構成される。入力層101はニューロン111、112、113から構成され、出力層102はニューロン121、122、123により構成される。入力層101と出力層102は全結合される。
【0014】
出力層102の出力は処理(以下、S)151により、上位の条件を満たしていれば正解に、それ以外は不正解として、教師データを生成する。生成された教師データはS152とS153に渡される。
【0015】
S152では、正解としたニューロンの結合重みのバイアスを、予め決めておいた値で減算する。S153では、誤差逆伝播により入力層101と出力層102の結合重みを更新する。
【0016】
本実施例によれば、ニューラルネットワークの学習において出力信号が大きいものを正解とすることで、外部から教師データを与えることなく結合重みにデータを記憶することができる。また、本実施例によれば、一度正解となったニューロンは、出力信号が大きくなりやすい傾向が現れるが、バイアスを減算することで誤学習を防ぐことができる。
【0017】
以上の学習方法により、新しいクラスを追加する継続学習を繰り返し行っても推論精度が下がることを抑えることが可能となる。また、結合重みにデータが記憶されるため、何を覚えているかが結合重みから分かり、それにより分類の理由が分かり易いという効果もある。
【0018】
なお、入力層101は入力層に限定されるものではなく、中間層としてその前に入力層を持つ構成としてもよい。また、出力層102は出力層に限定されるものではなく、中間層としてその後に出力層を持つ構成としてもよい。
【実施例0019】
実施例2は、推論時のラベル判定方法まで含めた実施例を示す。図2は、実施例2の機械学習装置の機能構成を示すブロック図である。ニューラルネットワーク部201は、入力層部203、全結合部204、出力層部205、結合重み207、結合バイアス208から構成される。
【0020】
まず学習について説明する。
データ202は、ニューラルネットワーク部201に入力し、伝播制御部209によりニューラルネットワーク部201内を順伝播して、出力は教師データ生成部210に入力される。
【0021】
教師データ生成部210では、ニューラルネットワーク部201の出力に基づき教師データを生成する。生成された教師データは、ニューラルネットワーク部201、ラベル判定部206、伝播制御部209、結合バイアス変更部211に入力される。
【0022】
結合バイアス変更部211では、教師データ生成部210により生成された教師データに基づきニューラルネットワーク部201の結合バイアス208を変更する。
【0023】
また、教師データ生成部210により生成された教師データは、伝播制御部209によりニューラルネットワーク部201内を逆伝播するとともに、結合更新部212によりニューラルネットワーク部201の結合重み207と結合バイアス208を更新することで学習が進行する。
【0024】
次に推論について説明する。
データ202は、ニューラルネットワーク部201に入力し、伝播制御部209によりニューラルネットワーク部201内を順伝播して、出力はラベル判定部206に入力される。ラベル判定部206により、ラベルが判定され推論される。
【0025】
ここで、ラベル判定の方法としては、例えば、学習時に教師データが正解とした出力を、データに対応するラベル毎に集計して、最も多いラベルを該当する出力の割り当てラベルとし、推論時にニューラルネットワーク部201の出力が最も大きな出力の割り当てラベルを判定結果とする。
【0026】
以上、本実施例の学習方法と推論方法により、新しいクラスを追加する継続学習を繰り返し行っても推論精度が下がることを抑えることが可能となる。
【実施例0027】
実施例3は、学習の詳細を説明した実施例を示す。
【0028】
図3は、実施例3の機械学習装置の学習処理のフローチャートである。
【0029】
S301は、訓練データについて学習を行う。詳細は図4を用いて後述する。
【0030】
S302は、全ての訓練データを学習したか、の判定を行い、全ての訓練データを学習していなければS301に戻り、全ての訓練データを学習したらS303に進む。
【0031】
S303は、出力層のニューロンにラベルの割当を行う。ここで、ラベルの割当方法としては、例えば、複数のデータとそれに対応するラベルを用意してニューラルネットワークによる順伝播を行い、最も高い出力をしたニューロンに該当するラベルを割り当てる。
【0032】
この方法によれば、ラベル付きの訓練データは少なくてもよく、訓練データの用意が簡単にできるという効果もある。
【0033】
S304は、推論精度を求める。ここで、推論精度の求め方としては、例えば、複数のデータとそれに対応するラベルを用意してニューラルネットワークによる順伝播を行い、最も高い出力をしたニューロンの割当ラベルが該当するラベルと一致しているかを判定することで求める。
【0034】
S305は、終了条件を満たしているか、の判定を行い、終了条件を満たしていなければ、S301に戻り、終了条件を満たしていれば、終了となる。ここで、終了条件とは、例えば、S304で求めた推論精度の上昇が収まったことを条件とする。また、例えば、指定回数だけ実行したことを条件としてもよい。
【0035】
次に、S301の訓練データについて学習について詳細に説明する。
【0036】
図4は、第3実施例の機械学習装置の訓練データについて学習処理のフローチャートである。
【0037】
S401は、順伝播処理である。ニューラルネットワークによる順伝播を行い、出力を得る。
【0038】
S402は、教師データ作成である。S401による出力値に基づいて、教師データを作成する。詳細は図5を用いて後述する。
【0039】
S403は、結合バイアスの変更である。S402により作成された教師データに基づいて、結合バイアスを変更する。詳細は図6を用いて後述する。
【0040】
S404は、逆伝播処理である。ニューラルネットワークによる逆伝播を行い、S405で行う結合重みの更新に使用する係数を求める。
【0041】
S405は、結合重みの更新である。ニューラルネットワークの結合重みを更新することで学習を進める。
【0042】
次に、S402の教師データ作成について詳細に説明する。
【0043】
図5は、第3実施例の機械学習装置の教師データ作成処理のフローチャートである。
【0044】
S501は、ニューロンの出力が上位の条件を満たしているかの判定を行い、条件を満たしていればS502に、条件を満たしていなければS503に進む。ここで、上位の条件とは、例えば、ニューロンの出力の中で最も大きな値に、予め決めておいた0より大きく1以下の値をかけた値の以上を上位とする。
【0045】
S502は、該当するニューロンの出力を正解データとする処理である。ここで、正解データとは、例えば、教師データとしては1に設定する。
【0046】
S503は、該当するニューロンの出力を不正解データとする処理である。ここで、不正解データとは、例えば、教師データとしては0に設定する。
【0047】
S504は、全てのニューロンを確認したかの判定処理であり、全てのニューロンを確認してなければS501に戻り、全てのニューロンを確認したならばS505に進む。
【0048】
S505は、教師データの生成処理であり、S502とS503で設定した値から教師データを生成する。
【0049】
以上により、ニューラルネットワークの出力に基づき教師データを作成する。
【0050】
次に、S403の結合バイアスの変更について詳細に説明する。
【0051】
図6は、第3実施例の機械学習装置の結合バイアスの変更処理のフローチャートである。
【0052】
S601は、ニューロンの出力を正解データとしたかの判定を行う。これは、S501により正解データとしたかの判定を行う。正解データであればS602に進み、正解データでなければS603に進む。
【0053】
S602は、結合バイアスを減算処理であり、正解データとした該当ニューロンの結合バイアスを予め決めておいた数値で減算する。
【0054】
S603は、全てのニューロンを確認したかの判定処理であり、全てのニューロンを確認してなければS601に戻り、全てのニューロンを確認したならば終了である。
【0055】
以上により、教師データに基づきニューラルネットワークの結合バイアスを変更する。
【0056】
なお、図6では正解データとした該当ニューロンの結合バイアスを予め決めておいた数値で減算する方法について説明したが、不正解データとした該当ニューロンの結合バイアスを予め決めておいた数値で加算する方法でもよい。あるいは、その両方の演算を実行する方法でもよい。
【0057】
以上の学習方法により、新しいクラスを追加する継続学習を繰り返し行っても推論精度が下がることを抑えることが可能となる。
図7は、継続学習を繰り返した時の推論精度を示すグラフである。これは、文字“0”から文字“9”までの手書き文字を識別する問題を実行した結果によるものである。なお、本発明の応用としては、手書き文字の識別に限定されるものではない。
【0058】
ここで、縦軸は推論精度であり、横軸は新しいクラスを追加する継続学習を行った回数である。
【0059】
継続学習が0とは、文字“0”のみの学習を行い、文字“0”の推論を行った結果である。また、継続学習が1とは、続けて文字“1”のみの学習を行い、文字“0”と文字“1”の推論を行った結果である。また、継続学習が2とは、続けて文字“2”のみの学習を行い、文字“0”と文字“1”と文字“2”の推論を行った結果である。以下、継続学習が9まで同様である。
【0060】
同図において、本発明とは、実施例3の機械学習方法によるものであり、従来手法とは、入力層、中間層1層、出力層からなるニューラルネットワークによる教師あり学習方法によるものである。
【0061】
グラフより、本発明の学習方法は、新しいクラスを追加する継続学習を繰り返し行っても推論精度が下がることを抑えることが可能であることが明らかである。
【0062】
新しいクラスを追加する継続学習は、例えば、自律的に学習を行う汎用人工知能に応用することが可能である。
【0063】
また継続学習により、新しい学習をするために過去に学習したデータも併せて学習し直す必要がなく、学習効率を向上させることが可能である。
【実施例0064】
実施例4は、実施例3を応用した実施例を示す。
【0065】
図8は、第4実施例の機械学習装置の説明図である。ニューラルネットワーク801は、出力802を持つ構成である。
【0066】
学習時において、入力データの該当するラベル毎に使用する2つ以上の出力を決めておき、その中で上位の条件を満たしていれば正解に、それ以外は不正解として教師データを作成する。
【0067】
実施例3とは、教師データの作成方法が異なるだけで、その他の処理は同様のため、説明は省略する。
【0068】
本実施例によれば、あらかじめ使用する出力を割り当てておくことで、推論を高精度に行うことが可能である。
【0069】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0070】
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0071】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
【0072】
また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD 等の記録媒体に置くことができる。
【符号の説明】
【0073】
100…ニューラルネットワーク、101…入力層、102…出力層、111…ニューロン、201…ニューラルネットワーク部、206…ラベル判定部、207…結合重み、208…結合バイアス、210…教師データ生成部、211…結合バイアス変更部
図1
図2
図3
図4
図5
図6
図7
図8