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

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

▶ 三菱電機株式会社の特許一覧

特許7654178学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム
<>
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図1
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図2
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図3
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図4
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図5
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図6
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図7
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図8
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図9
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図10
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図11
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図12
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図13
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図14
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図15
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図16
  • 特許-学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-03-21
(45)【発行日】2025-03-31
(54)【発明の名称】学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム
(51)【国際特許分類】
   G06N 3/0455 20230101AFI20250324BHJP
【FI】
G06N3/0455
【請求項の数】 10
(21)【出願番号】P 2024570364
(86)(22)【出願日】2023-04-28
(86)【国際出願番号】 JP2023016817
【審査請求日】2024-11-27
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100116964
【弁理士】
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100120477
【弁理士】
【氏名又は名称】佐藤 賢改
(74)【代理人】
【識別番号】100135921
【弁理士】
【氏名又は名称】篠原 昌彦
(74)【代理人】
【識別番号】100203677
【弁理士】
【氏名又は名称】山口 力
(72)【発明者】
【氏名】内出 隼人
【審査官】北川 純次
(56)【参考文献】
【文献】特表2022-549670(JP,A)
【文献】高瀬翔 ほか,Transformerを多層にする際の勾配消失問題と解決法について,言語処理学会第28回年次大会 発表論文集,日本,言語処理学会,2022年03月07日,第173頁-第178頁
【文献】TAKASE, Sho et al.,On Layer Normalizations and Residual Connections in Transformers,arXiv.org [online],2022年06月01日,第1頁-第16頁,[検索日 2023.06.19], インターネット:<URL:https://arxiv.org/pdf/2206.00330v1.pdf>,<DOI: 10.48550/arXiv.2206.00330>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02 - 3/10
G06N 20/00 - 20/20
(57)【特許請求の範囲】
【請求項1】
変換元のシーケンスデータと変換先のシーケンスデータとを含む学習用データを取得するデータ取得部と、
前記学習用データを用いて、前記変換元のシーケンスデータから前記変換先のシーケンスデータを推論するための学習モデルを生成するモデル生成部と、
を有し、
前記モデル生成部は、
前記変換元のシーケンスデータが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層を含むエンコーダと、
前記変換先のシーケンスデータと前記エンコーダの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層を含むデコーダと、
を有し、
前記N層のエンコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、
前記M層のデコーダ層の各々は、注意機構と残差接続とを含む他のニューラルネットワークで構成され、
前記エンコーダは、前記N層のエンコーダ層のうちの第1のエンコーダ層の出力である第1の出力を前記第1のエンコーダ層より2層以上、下層の第2のエンコーダ層の残差接続である第1の補助的残差接続に加える第1の経路を有し、
前記デコーダは、前記M層のデコーダ層のうちの第1のデコーダ層の出力である第2の出力を前記第1のデコーダ層より2層以上、下層の第2のデコーダ層の残差接続である第2の補助的残差接続に加える第2の経路を有し、
前記エンコーダは、前記第1のエンコーダ層の前記第1の出力が予め決められた第1の条件を満たさないときに、前記第1の出力を前記第1の経路に出力させない第1の接続判定部を有し、
前記デコーダは、前記第1のデコーダ層の前記第2の出力が予め決められた第2の条件を満たさないときに、前記第2の出力を前記第2の経路に出力させない第2の接続判定部を有する
ことを特徴とする学習装置。
【請求項2】
前記エンコーダは、前記第1の経路に出力される前記第1のエンコーダ層の前記第1の出力に重み付け処理を施す第1の調整部を有し、
前記デコーダは、前記第2の経路に出力される前記第1のデコーダ層の前記第2の出力に重み付け処理を施す第2の調整部を有する
ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記エンコーダは、トランスフォーマーであり、
前記デコーダは、他のトランスフォーマーである
ことを特徴とする請求項1又は2に記載の学習装置。
【請求項4】
変換元のシーケンスデータと変換先のシーケンスデータとを含む学習用データを取得するデータ取得部と、
前記学習用データを用いて、前記変換元のシーケンスデータから前記変換先のシーケンスデータを推論するための学習モデルを生成するモデル生成部と、
を有し、
前記モデル生成部は、
前記変換元のシーケンスデータが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層を含むエンコーダと、
前記変換先のシーケンスデータと前記エンコーダの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層を含むデコーダと、
を有し、
前記N層のエンコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、
前記M層のデコーダ層の各々は、注意機構と残差接続とを含む他のニューラルネットワークで構成された
学習装置が実行する学習方法であって、
前記エンコーダが、前記N層のエンコーダ層のうちの第1のエンコーダ層の出力である第1の出力を前記第1のエンコーダ層より2層以上、下層の第2のエンコーダ層の残差接続である第1の補助的残差接続に第1の経路を介して加えるステップと、
前記デコーダは、前記M層のデコーダ層のうちの第1のデコーダ層の出力である第2の出力を前記第1のデコーダ層より2層以上、下層の第2のデコーダ層の残差接続である第2の補助的残差接続に第2の経路を介して加えるステップと
を有し、
前記エンコーダは、前記第1のエンコーダ層の前記第1の出力が予め決められた第1の条件を満たさないときに、前記第1の出力を前記第1の経路に出力させず、
前記デコーダは、前記第1のデコーダ層の前記第2の出力が予め決められた第2の条件を満たさないときに、前記第2の出力を前記第2の経路に出力させない
ことを特徴とする学習方法。
【請求項5】
請求項に記載の学習方法における各ステップを、
前記学習装置であるコンピュータに実行させる
ことを特徴とする学習プログラム。
【請求項6】
変換元のシーケンスデータを取得するデータ取得部と、
前記変換元のシーケンスデータから変換先のシーケンスデータを推論するための学習モデルを用いて、前記データ取得部から取得された前記変換元のシーケンスデータから前記変換先のシーケンスデータを出力する推論部と、
を有し、
前記推論部は、
前記変換元のシーケンスデータが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層を含むエンコーダと、
前記変換先のシーケンスデータと前記エンコーダの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層を含むデコーダと、
を有し、
前記N層のエンコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、
前記M層のデコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、
前記エンコーダは、前記N層のエンコーダ層のうちの第1のエンコーダ層の出力である第1の出力を前記第1のエンコーダ層より2層以上、下層の第2のエンコーダ層の残差接続である第1の補助的残差接続に加える第1の経路を有し、
前記デコーダは、前記M層のデコーダ層のうちの第1のデコーダ層の出力である第2の出力を前記第1のデコーダ層より2層以上、下層の第2のデコーダ層の残差接続である第2の補助的残差接続に加える第2の経路を有し、
前記エンコーダは、前記第1のエンコーダ層の前記第1の出力が予め決められた第1の条件を満たさないときに、前記第1の出力を前記第1の経路に出力させない第1の接続判定部を有し、
前記デコーダは、前記第1のデコーダ層の前記第2の出力が予め決められた第2の条件を満たさないときに、前記第2の出力を前記第2の経路に出力させない第2の接続判定部を有する
ことを特徴とする推論装置。
【請求項7】
前記エンコーダは、前記第1の経路に出力される前記第1のエンコーダ層の前記第1の出力に重み付け処理を施す第1の調整部を有し、
前記デコーダは、前記第2の経路に出力される前記第1のデコーダ層の前記第2の出力に重み付け処理を施す第2の調整部を有する
ことを特徴とする請求項に記載の推論装置。
【請求項8】
前記エンコーダは、トランスフォーマーであり、
前記デコーダは、他のトランスフォーマーである
ことを特徴とする請求項6又は7に記載の推論装置。
【請求項9】
変換元のシーケンスデータを取得するデータ取得部と、
前記変換元のシーケンスデータから変換先のシーケンスデータを推論するための学習モデルを用いて、前記データ取得部から取得された前記変換元のシーケンスデータから前記変換先のシーケンスデータを出力する推論部と、
を有し、
前記推論部は、
前記変換元のシーケンスデータが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層を含むエンコーダと、
前記変換先のシーケンスデータと前記エンコーダの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層を含むデコーダと、
を有し、
前記N層のエンコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、
前記M層のデコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成された
推論装置が実行する推論方法であって、
前記エンコーダが、前記N層のエンコーダ層のうちの第1のエンコーダ層の出力である第1の出力を前記第1のエンコーダ層より2層以上、下層の第2のエンコーダ層の残差接続である第1の補助的残差接続に第1の経路を介して加えるステップと、
前記デコーダが、前記M層のデコーダ層のうちの第1のデコーダ層の出力である第2の出力を前記第1のデコーダ層より2層以上、下層の第2のデコーダ層の残差接続である第2の補助的残差接続に第2の経路を介して加えるステップと
を有し、
前記エンコーダは、前記第1のエンコーダ層の前記第1の出力が予め決められた第1の条件を満たさないときに、前記第1の出力を前記第1の経路に出力させず、
前記デコーダは、前記第1のデコーダ層の前記第2の出力が予め決められた第2の条件を満たさないときに、前記第2の出力を前記第2の経路に出力させない
ことを特徴とする推論方法。
【請求項10】
請求項に記載の推論方法における各ステップを、
前記推論装置であるコンピュータに実行させる
ことを特徴とする推論プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラムに関する。
【背景技術】
【0002】
機械学習技術を用いた機械翻訳をはじめとする系列変換タスクでは、エンコーダ及びデコーダからなるニューラルネットワークモデル(以下「エンコーダデコーダモデル」ともいう。)が使用されている。エンコーダデコーダモデルは、注意機構(単に「注意」ともいう。)を導入することで、機械翻訳の精度を大きく向上させることができる。機械翻訳では、注意機構は、デコーダにおいて目的言語文のどの単語の情報を利用するかを決定する仕組みである。
【0003】
非特許文献1は、注意機構と全結合層とを組み合わせて構成されたエンコーダデコーダとを並列化したエンコーダデコーダモデルであるトランスフォーマーを説明している。非特許文献1(例えば、Fig.1)に示されるように、トランスフォーマーは、マルチヘッド注意(又はマスク付きマルチヘッド注意)と全結合層との組み合わせを積み重ねることによって、エンコーダデコーダを構成するモデルである。以下、「マルチヘッド注意(又はマスク付きマルチヘッド注意)と全結合層との組み合わせ」を1つの層とみなし、この層を「トランスフォーマー層」と称する。
【0004】
特許文献1は、翻訳精度を低下させることなく、学習率が高い場合又はバッチサイズが小さい場合にも安定して学習ができる翻訳装置のアイデアを提案している。具体的には、特許文献1は、トランスフォーマーのマルチヘッド注意機構のうちの少なくとも1つのマルチヘッド注意機構を、マルチヘッド注意機構に含まれる縮小付き内積注意機構の出力に対して更に所定の注意機構を適用するマルチホップ注意機構に置き換えたモデルを提案している。
【先行技術文献】
【非特許文献】
【0005】
【文献】Ashish Vaswaniほか7名著、 “Attention Is All You Need”、 In Proceedings of the NIPS 2017、 pp.5998-6008、 2017年.
【特許文献】
【0006】
【文献】特開2022-18928号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記技術では、エンコーダデコーダモデルのパラメータ数が増加する場合がある。言い換えると、ニューラルネットワークモデルであるエンコーダデコーダモデルのパラメータ数を増加させずに学習安定性を向上させることができなかった。
【0008】
本開示は、ニューラルネットワークモデルのパラメータ数を増加させずに学習安定性を向上させることを目的とする。
【課題を解決するための手段】
【0009】
本開示の学習装置は、変換元のシーケンスデータと変換先のシーケンスデータとを含む学習用データを取得するデータ取得部と、前記学習用データを用いて、前記変換元のシーケンスデータから前記変換先のシーケンスデータを推論するための学習モデルを生成するモデル生成部と、を有し、前記モデル生成部は、前記変換元のシーケンスデータが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層を含むエンコーダと、前記変換先のシーケンスデータと前記エンコーダの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層を含むデコーダと、を有し、前記N層のエンコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、前記M層のデコーダ層の各々は、注意機構と残差接続とを含む他のニューラルネットワークで構成される。前記エンコーダは、前記N層のエンコーダ層のうちの第1のエンコーダ層の出力である第1の出力を前記第1のエンコーダ層より2層以上、下層の第2のエンコーダ層の残差接続である第1の補助的残差接続に加える第1の経路を有する。前記デコーダは、前記M層のデコーダ層のうちの第1のデコーダ層の出力である第2の出力を前記第1のデコーダ層より2層以上、下層の第2のデコーダ層の残差接続である第2の補助的残差接続に加える第2の経路を有し、前記エンコーダは、前記第1のエンコーダ層の前記第1の出力が予め決められた第1の条件を満たさないときに、前記第1の出力を前記第1の経路に出力させない第1の接続判定部を有し、前記デコーダは、前記第1のデコーダ層の前記第2の出力が予め決められた第2の条件を満たさないときに、前記第2の出力を前記第2の経路に出力させない第2の接続判定部を有する
【0010】
本開示の推論装置は、変換元のシーケンスデータを取得するデータ取得部と、前記変換元のシーケンスデータから前記変換先のシーケンスデータを推論するための学習モデルを用いて、前記データ取得部から取得された前記変換元のシーケンスデータから前記変換先のシーケンスデータを出力する推論部と、を有し、前記推論部は、前記変換元のシーケンスデータが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層を含むエンコーダと、前記変換先のシーケンスデータと前記エンコーダの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層を含むデコーダと、を有し、前記N層のエンコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成され、前記M層のデコーダ層の各々は、注意機構と残差接続とを含むニューラルネットワークで構成される。前記エンコーダは、前記N層のエンコーダ層のうちの第1のエンコーダ層の出力である第1の出力を前記第1のエンコーダ層より2層以上、下層の第2のエンコーダ層の残差接続である第1の補助的残差接続に加える第1の経路を有する。前記デコーダは、前記M層のデコーダ層のうちの第1のデコーダ層の出力である第2の出力を前記第1のデコーダ層より2層以上、下層の第2のデコーダ層の残差接続である第2の補助的残差接続に加える第2の経路を有し、前記エンコーダは、前記第1のエンコーダ層の前記第1の出力が予め決められた第1の条件を満たさないときに、前記第1の出力を前記第1の経路に出力させない第1の接続判定部を有し、前記デコーダは、前記第1のデコーダ層の前記第2の出力が予め決められた第2の条件を満たさないときに、前記第2の出力を前記第2の経路に出力させない第2の接続判定部を有する
【発明の効果】
【0011】
本開示によれば、ニューラルネットワークモデルのパラメータ数を増加させずに学習安定性を向上させることができる。
【図面の簡単な説明】
【0012】
図1】機械学習・推論装置の構成を示すブロック図である。
図2】実施の形態1から3に係る学習装置の構成を示すブロック図である。
図3】実施の形態1から3に係る推論装置の構成を示すブロック図である。
図4】実施の形態1から3に係る学習装置の動作を示すフローチャートである。
図5】実施の形態1から3に係る推論装置の動作を示すフローチャートである。
図6図1の機械学習・推論装置のハードウェア構成の例を示す図である。
図7図2のモデル生成部としてのエンコーダデコーダモデルの構成を示すブロック図である。
図8図3の推論部としてのエンコーダデコーダモデルの構成を示すブロック図である。
図9】比較例の学習装置のモデル生成部又は推論装置の推論部としてのエンコーダデコーダモデルの構成を示すブロック図である。
図10図9のエンコーダデコーダモデルのエンコーダの構成を示す図である。
図11図9のエンコーダデコーダモデルのデコーダの構成を示す図である。
図12】実施の形態1に係る学習装置又は推論装置のエンコーダデコーダモデルのエンコーダの構成を示す図である。
図13】実施の形態1に係る学習装置又は推論装置のエンコーダデコーダモデルのデコーダの構成を示す図である。
図14】実施の形態2に係る学習装置又は推論装置のエンコーダデコーダモデルのエンコーダの構成を示す図である。
図15】実施の形態2に係る学習装置又は推論装置のエンコーダデコーダモデルのデコーダの構成を示す図である。
図16】実施の形態3に係る学習装置又は推論装置のエンコーダデコーダモデルのエンコーダの構成を示す図である。
図17】実施の形態3に係る学習装置又は推論装置のエンコーダデコーダモデルのデコーダの構成を示す図である。
【発明を実施するための形態】
【0013】
以下に、実施の形態に係る学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラムを、図面を参照しながら説明する。以下の実施の形態は、例にすぎず、実施の形態を適宜組み合わせること及び各実施の形態を適宜変更することが可能である。
【0014】
《1》学習装置及び推論装置
図1は、機械学習・推論装置10の構成を示すブロック図である。図1に示されるように、実施の形態に係る機械学習・推論装置10は、学習用データLを入力として、機械学習モデル(単に「学習モデル」ともいう。)P(すなわち、学習モデルPのパラメータ)を学習して、出力する機械学習装置(単に「学習装置」ともいう。)11と、学習装置11から出力された学習モデルP(すなわち、学習モデルPのパラメータ)を用いて推論を行う推論装置12とを有している。機械学習・推論装置10は、例えば、コンピュータである。また、学習装置11と推論装置12とは、互いに異なる装置であってもよい。
【0015】
図2は、実施の形態1から3に係る学習装置11の構成を示すブロック図である。学習装置11は、実施の形態1から3に係る学習方法を実行することができる装置である。学習装置11は、例えば、実施の形態1から3に係る学習プログラムを実行することができるコンピュータである。学習装置11は、変換元のシーケンスデータLeと変換先のシーケンスデータLdとを含む学習用データLを取得するデータ取得部111と、学習用データLを用いて、変換元のシーケンスデータLeから変換先のシーケンスデータLdを推論するための学習モデルPを生成するモデル生成部112と、モデル生成部112で生成された学習モデルPを記憶する記憶装置113とを有している。記憶装置113は、必ずしも学習装置11の一部である必要はなく、学習装置11と通信可能な装置(例えば、ネットワーク上のサーバー)の一部であってもよい。
【0016】
図3は、実施の形態1から3に係る推論装置12の構成を示すブロック図である。推論装置12は、実施の形態1から3に係る推論方法を実行することができる装置である。推論装置12は、例えば、実施の形態1から3に係る推論プログラムを実行することができるコンピュータである。推論装置12は、変換元のシーケンスデータIeを取得するデータ取得部121と、変換元のシーケンスデータIeから変換先のシーケンスデータIdを推論するための学習モデルPを用いて、データ取得部121から取得された変換元のシーケンスデータIeから変換先のシーケンスデータIdを出力する推論部122と、学習モデルPを記憶する記憶装置123とを有している。記憶装置123は、必ずしも推論装置12の一部である必要はなく、推論装置12と通信可能な装置(例えば、ネットワーク上のサーバー)の一部であってもよい。
【0017】
図4は、実施の形態1から3に係る学習装置11の動作を示すフローチャートである。ステップS101において、まず、学習装置11は、学習用データLを入力する。
【0018】
次のステップS102において、学習装置11は、ステップS101で入力した学習用データLを用いて、学習モデルPのパラメータを学習する。なお、パラメータの学習に用いる最適化手法としては任意の最適化手法を用いることができる。例えば、パラメータの学習に、Adamなどの最適化アルゴリズムを用いることができる。
【0019】
次のステップS103において、学習装置11は、ステップS102で学習した機械学習モデルPのパラメータを所定の出力先(例えば、記憶装置、ディスプレイ、通信ネットワークを介して接続される他の装置、など)に出力する。これにより、学習モデルPのパラメータが学習及び出力される。
【0020】
ここで、学習用データLは、例えば、機械翻訳用のデータである。入力シーケンスが翻訳元言語の単語のシーケンス、例えば、文又は句である場合、出力シーケンスは、翻訳元言語の翻訳先言語への変換結果、つまり翻訳元言語の単語のシーケンスと同じ意味を表す翻訳先言語の単語のシーケンスである。
【0021】
また、学習用データLは、例えば、自然言語処理用のデータであっても良い。例えば、入力シーケンスが特定の言語の単語のシーケンス、例えば、文又は句である場合、出力シーケンスは、特定の言語の要約結果、つまり入力シーケンスよりも少ない単語で構成されるが、入力シーケンスの本質的な意味を保持するシーケンスである。
【0022】
また、学習用データLは、例えば、自然言語処理用のデータであっても良い。例えば、入力シーケンスが質問を意味する単語のシーケンスである場合、出力シーケンスは、質問への回答を意味する単語のシーケンスである。
【0023】
また、学習用データLは、例えば、音声認識用のデータであっても良い。例えば、入力シーケンスが人間の口頭での発話を表す音声データのシーケンスである場合、出力シーケンスは、発話内容を表す、音素、特徴量、又は単語のシーケンスである。
【0024】
また、学習用データLは、例えば、画像処理用のデータであっても良い。例えば、入力シーケンスが画像、つまり画像に含まれる色又は明度等のシーケンスである場合、出力シーケンスは、画像を説明するテキストのシーケンスである。
【0025】
また、学習用データLは、例えば、異常検知用のデータであっても良い。例えば、入力シーケンスが特定のセンサで取得されたデータのシーケンスである場合、出力シーケンスは、正常又は異常を表すテキストのシーケンスである。
【0026】
また、学習用データLは、例えば、異常予測用のデータであっても良い。例えば、入力シーケンスが特定のセンサで取得されたデータのシーケンスである場合、出力シーケンスは、未来の異常発生の可能性を表すテキストのシーケンスである。
【0027】
また、学習用データLは、例えば、需要予測用のデータであっても良い。例えば、入力シーケンスが任意の期間における製品販売数に関するデータのシーケンスである場合、出力シーケンスは、未来の製品需要を表すテキストのシーケンスである。
【0028】
図5は、実施の形態1から3に係る推論装置12の動作を示すフローチャートである。ステップS201において、まず、推論装置12は、入力シーケンスデータIを入力する。
【0029】
次のステップS202において、推論装置12は、学習済みの学習モデルPのパラメータを用いて、ステップS201で入力した入力シーケンスデータIを、出力データOpに変換する。
【0030】
次のステップS203において、推論装置12は、ステップS202で得られた出力結果を所定の出力先(例えば、記憶装置、ディスプレイ、通信ネットワークを介して接続される他の装置、など)に出力する。これにより、学習済みの学習モデルPによって、入力シーケンスデータIが出力データOpに変換及び出力される。
【0031】
図6は、機械学習・推論装置10のハードウェア構成の例を示す図である。実施の形態に係る機械学習・推論装置10は、入力装置102と、表示装置105と、外部I/F103と、通信I/F106と、プロセッサ101と、メモリ装置104とを有する。これら各ハードウェアは、それぞれがバス108を介して通信可能に接続されている。図2に示される学習装置11のハードウェア構成は、図6の構成と同様である。また、図3に示される推論装置12のハードウェア構成は、図6の構成と同様である。
【0032】
入力装置102は、例えば、キーボード、マウス、タッチパネルなどである。表示装置105は、例えば、ディスプレイなどである。
【0033】
外部I/F103は、記録媒体を有する外部装置とのインタフェースである。機械学習・推論装置10は、外部I/F103を介して、記録媒体の読み取りや書き込みなどを行うことができる。記録媒体107には、例えば、機械学習・推論装置10が有する各機能部を実現する1以上のプログラムが格納されていてもよい。また、記録媒体107には、学習データ及び学習モデルのパラメータなどが格納されてもよい。なお、記録媒体107には、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memorycard)、USB(Universal Serial Bus)メモリカード等がある。
【0034】
通信I/F106は、機械学習・推論装置10を通信ネットワークに接続するためのインタフェースである。なお、機械学習・推論装置10が有する各機能部を実現する1以上のプログラムは、通信I/F106を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。また、学習データや学習済みの機械学習モデルのパラメータ等は、通信I/F106を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0035】
プロセッサ101は、CPU(Central Processing Unit)及びGPU(GraphicsProcessing Unit)等の各種演算装置である。機械学習・推論装置10が有する各機能部は、例えば、メモリ装置104に格納されている1以上のプログラムがプロセッサに実行させる処理により実現される。
【0036】
メモリ装置104は、例えば、HDD(Hard Disk Drive)、SSD(Solid StateDrive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの各種記憶装置である。学習データや機械学習モデルのパラメータ等は、例えば、メモリ装置104に格納される。
【0037】
なお、図6に示されるハードウェア構成は一例であって、機械学習・推論装置10、学習装置11、及び推論装置13は、他のハードウェア構成を有してもよい。
【0038】
図7は、図2の学習装置11のモデル生成部112としてのエンコーダデコーダモデルの構成を示すブロック図である。モデル生成部112は、例えば、トランスフォーマーである。モデル生成部112は、エンコーダ11eと、デコーダ11dとを有している。エンコーダ11eは、複数のトランスフォーマー層(すなわち、複数のエンコーダ層)11e_1,…,11e_Nを有している。Nは3以上の整数である。デコーダ11dは、複数のトランスフォーマー層(すなわち、複数のデコーダ層)11d_1,…,11d_Mを有している。Mは3以上の整数である。また、N=Mであってもよい。
【0039】
図8は、図3の推論装置12の推論部122としてのエンコーダデコーダモデルの構成を示すブロック図である。推論部122は、例えば、トランスフォーマーである。推論部122は、エンコーダ12eと、デコーダ12dとを有している。エンコーダ12eは、複数のトランスフォーマー層(すなわち、複数のエンコーダ層)12e_1,…,12e_Nを有している。Nは3以上の整数である。デコーダ12dは、複数のトランスフォーマー層(すなわち、複数のデコーダ層)12d_1,…,12d_Mを有している。Mは3以上の整数である。また、N=Mであってもよい。
【0040】
《2》比較例
図9は、比較例の学習装置のモデル生成部又は推論装置の推論部としてのエンコーダデコーダモデルの構成を示すブロック図である。図10は、図9のエンコーダデコーダモデルのエンコーダである比較例のエンコーダの構成を示す図である。また、図11は、図9のエンコーダデコーダモデルのデコーダである比較例のデコーダの構成を示す図である。
【0041】
エンコーダデコーダモデルは、エンコーダ11e´(又は12e´)及びデコーダ11d´(又は12d´)からなるニューラルネットワークモデルである。エンコーダ11e´(又は12e´)は、入力シーケンスである入力文章は、入力埋め込み層(Embedding層)で圧縮処理され、位置埋め込み層(Position Encoding層)で入力の位置(単語が文におけるどこにあるか、など)が付加され、エンコーダのメイン部分に入力される。
【0042】
エンコーダ11e´(又は12e´)はスタック型であり、複数のブロックから構成される。エンコーダ11e´(又は12e´)では、マルチヘッド注意機構であるマルチヘッド注意(E1)が適用され、残差接続(E2)のベクトル(つまり変換元のシーケンスデータ)と、マルチヘッド注意(E1)の出力ベクトルとが足し合わされ、層正規化(E3)が行われる。次に、全結合層(E4)で位置ごとの全結合が適用され、残差接続(E5)のベクトル(つまり層正規化(E3)の出力ベクトル)と全結合層(E4)の出力ベクトルとを足し合わせて、層正規化(E6)が行われる。
【0043】
デコーダ11d´(又は12d´)はスタック型であり、複数のブロックから構成される。デコーダでは、マスク付きマルチヘッド注意(D1)が適用され、未来の入力が考慮されないように構成されている。残差接続(D2)のベクトル(つまり変換元のシーケンスデータ)と、マスク付きマルチヘッド注意の出力ベクトルとが足し合わされ、層正規化(D3)が行われる。次に、マルチヘッド注意(D4)でエンコーダ11e´(又は12e´)の出力が利用され、残差接続(D5)のベクトル(つまり層正規化(D3)の出力ベクトル)とマルチヘッド注意(D4)の出力ベクトルとを足し合わせて、層正規化(D6)が行われる。エンコーダデコーダモデルの詳細は、非特許文献1及び特許文献1で説明されている。
【0044】
《3》実施の形態1
図12は、実施の形態1に係る学習装置11又は推論装置12のエンコーダデコーダモデルのエンコーダ11e又は12eの構成を示す図である。図13は、実施の形態1に係る学習装置11又は推論装置12のエンコーダデコーダモデルのデコーダ11d又は12dの構成を示す図である。
【0045】
図12におけるマルチヘッド注意、残差接続、層正規化、全結合層、残差接続、層正規化は、図9及び図10におけるマルチヘッド注意(E1)、残差接続(E2)、層正規化(E3)、全結合層(E4)、残差接続(E5)、層正規化(E6)と同じである。図13におけるマスク付きマルチヘッド注意、残差接続、層正規化、マルチヘッド注意、残差接続、層正規化は、図9及び図11におけるマスク付きマルチヘッド注意(D1)、残差接続(D2)、層正規化(D3)、マルチヘッド注意(D4)、残差接続(D5)、層正規化(D6)と同じである。
【0046】
〈学習装置〉
実施の形態1に係る学習装置11のモデル生成部112(図7)は、学習用データLを用いて、変換元のシーケンスデータ(入力シーケンスデータ)Leから変換先のシーケンスデータ(出力シーケンスデータ)Ldを推論するための学習モデルPを生成する。
【0047】
モデル生成部112(図7)は、変換元のシーケンスデータLeが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層11e_1,…,11e_Nを含むエンコーダ(すなわち、トランスフォーマー層)11e(図12)と、変換先のシーケンスデータLdとエンコーダ11eの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層11d_1,…,11d_Mを含むデコーダ(すなわち、トランスフォーマー層)11d(図13)とを有している。
【0048】
図12に示されるように、N層のエンコーダ層11e_1,…,11e_Nの各々は、注意機構と残差接続とを含むニューラルネットワークで構成されている。図13に示されるように、M層のデコーダ層11d_1,…,11d_Mの各々は、注意機構と残差接続とを含む他のニューラルネットワークで構成されている。
【0049】
図12に示されるように、エンコーダ11eは、N層のエンコーダ層11e_1,…,11e_Nのうちの第1のエンコーダ層11e_n(nは、1≦n≦N-2を満たす整数)の出力である第1の出力をエンコーダ層11e_nより2層以上、下層の第2のエンコーダ層11e_n+α(αは、α≧2を満たす整数)の残差接続である補助的残差接続(「第1の補助的残差接続」ともいう。)21eに加える経路(「第1の経路」ともいう。)22eを有している。図12において、n=1であり、α=2であるが、これらの値に限定されない。図12において、補助的残差接続21eは、直前の全結合層の出力と、この全結合層の直前の層正規化の出力と、2層上流のエンコーダ層11e_1の層正規化の出力とを足し合わせて出力する。
【0050】
図13に示されるように、デコーダ11dは、M層のデコーダ層11d_1,…,11d_Mのうちの第1のデコーダ層11d_m(mは、1≦m≦M-2を満たす整数)の出力である第2の出力をデコーダ層11d_mより2層以上、下層の第2のデコーダ層11d_n+β(βは、β≧2を満たす整数)の残差接続である補助的残差接続(「第2の補助的残差接続」ともいう。)21dに加える経路(「第2の経路」ともいう。)22dを有している。図13において、m=1であり、β=2であるが、これらの値に限定されない。図13において、補助的残差接続21dは、直前の全結合層の出力と、この全結合層の直前の層正規化の出力と、2層上流のデコーダ層11d_1の層正規化の出力とを足し合わせて出力する。
【0051】
〈推論装置〉
推論部122(図8)は、変換元のシーケンスデータIeから変換先のシーケンスデータIdを推論するための学習モデルPを用いて、データ取得部121(図8)から取得された変換元のシーケンスデータIeから変換先のシーケンスデータIdを出力する。
【0052】
推論部122は、変換元のシーケンスデータIeが入力され、3以上の整数回であるN回積み重ねられたN層のエンコーダ層12e_1,…,12e_Nを含むエンコーダ(すなわち、トランスフォーマー層)12eと、変換先のシーケンスデータIdとエンコーダ12eの出力とが入力され、3以上の整数回であるM回積み重ねられたM層のデコーダ層12d_1,…,12d_Mを含むデコーダ(すなわち、トランスフォーマー層)12dとを有している。
【0053】
N層のエンコーダ層12e_1,…,12e_Nの各々は、注意機構と残差接続とを含むニューラルネットワークで構成されている。また、M層のデコーダ層12d_1,…,12d_Mの各々は、注意機構と残差接続とを含むニューラルネットワークで構成されている。
【0054】
図12に示されるように、エンコーダ12eは、N層のエンコーダ層12e_1,…,12e_Nのうちの第1のエンコーダ層12e_n(nは、1≦n≦N-2を満たす整数)の出力である第1の出力をエンコーダ層12e_nより2層以上、下層の第2のエンコーダ層12e_n+α(αは、α≧2を満たす整数)の残差接続である補助的残差接続(「第1の補助的残差接続」ともいう。)21eに加える経路(「第1の経路」ともいう。)22eを有している。図12において、n=1であり、α=2であるが、これらの値に限定されない。図12において、補助的残差接続21eは、直前の全結合層の出力と、この全結合層の直前の層正規化の出力と、2層上流のエンコーダ層12e_1の層正規化の出力とを足し合わせて出力する。
【0055】
図13に示されるように、デコーダ12dは、M層のデコーダ層12d_1,…,12d_Mのうちの第1のデコーダ層12d_m(mは、1≦m≦M-2を満たす整数)の出力である第2の出力を第1のデコーダ層12d_mより2層以上、下層の第2のデコーダ層12d_n+β(βは、β≧2を満たす整数)の残差接続である補助的残差接続(「第2の補助的残差接続」ともいう。)21dに加える経路(「第2の経路」ともいう。)22dを有している。図13において、m=1であり、β=2であるが、これらの値に限定されない。図13において、補助的残差接続21dは、直前の全結合層の出力と、この全結合層の直前の層正規化の出力と、2層上流のデコーダ層12d_1の層正規化の出力とを足し合わせて出力する。
【0056】
〈効果〉
実施の形態1では、エンコーダ11eのエンコーダ層の出力を2層以上、下層のエンコーダ層内の残差接続である補助的残差接続21eに接続する経路22eを追加している。この経路22eは、トランスフォーマー層の安定的なパラメータ更新を補助する役割を担う。
【0057】
同様に、実施の形態1では、デコーダ11dのデコーダ層の出力を2層以上、下層のデコーダ層内の残差接続である補助的残差接続21dに接続する経路22dを追加している。この経路22dは、トランスフォーマー層の安定的なパラメータ更新を補助する役割を担う。
【0058】
例えば、図9から図11に示される比較例のエンコーダデコーダモデル(すなわち、トランスフォーマー)では、学習時に計算される勾配が層正規化のタイミングで小さくなる傾向にあり、層正規化が勾配消失の原因と考えられている。図9から図11に示されるように、トランスフォーマーの構造は層正規化を繰り返す構造になっているため、勾配を繰り返し小さくすることになり、多層のトランスフォーマー層を有するので、勾配消失が大きくなりやすい。
【0059】
図9に示される比較例のエンコーダデコーダモデルにおいて、トランスフォーマー層内のマルチヘッド注意機構及び全結合層のようなサブレイヤを関数F(x)で表し、サブレイヤへの入力をx、層正規化を関数LNで表すと、前向き計算した層正規化後の出力は、以下の式(1)のようになる。
【0060】
【数1】
【0061】
次に、学習時に計算される式(1)の関数LNの微分値(すなわち、勾配)は、以下の式(2)のようになる。
【0062】
【数2】
【0063】
式(2)のように、比較例のトランスフォーマー層では、関数LNの微分と、サブレイヤを表す関数F(x)と残差接続の微分との積となる。ここで、関数LNの微分は以下の式(3)で表され、(F(x)と残差接続)の微分(すなわち、(x+F(x))の微分)は以下の式(4)で表される。
【0064】
【数3】
【0065】
この関数LNの微分が学習時に大きく減衰した場合、トランスフォーマーが層正規化を繰り返す構造になっているため、大きな勾配消失の原因につながると考えられている。
【0066】
実施の形態1では、n層目の2回目の層正規化の入力に、n-2層目の出力を加える。本来n層目で1回目の層正規化を経由した値が2回目の層正規化の入力になるが、n層目の1回目の層正規化を経由しない値としてn-2層目の出力をn層目の2回目の層正規化の入力として加えることで、勾配を大きく変化させない役割を担う。
【0067】
以上に説明したように、実施の形態1によれば、エンコーダデコーダモデルのパラメータ数を増加させずに学習安定性を向上させることができる。
【0068】
《4》実施の形態2
図14は、実施の形態2に係る学習装置11又は推論装置12のエンコーダデコーダモデルのエンコーダ11e又は12eの構成を示す図である。実施の形態2に係る学習装置11又は推論装置12のエンコーダデコーダモデルのエンコーダ11e又は12eは、接続判定部23eを備えた点が、実施の形態1のものと異なる。
【0069】
図15は、実施の形態2に係る学習装置11又は推論装置12のエンコーダデコーダモデルのデコーダ11d又は12dの構成を示す図である。実施の形態2に係る学習装置11又は推論装置12のエンコーダデコーダモデルのエンコーダ11e又は12eは、接続判定部23dを備えた点が、実施の形態1のものと異なる。
【0070】
実施の形態2のエンコーダ11eは、第1のエンコーダ層11e_nの第1の出力が予め決められた第1の条件を満たさないときに、第1の出力を経路22eに出力させない接続判定部(「第1の接続判定部」ともいう。)23eを有している。実施の形態2のデコーダ11dは、第1のデコーダ層11d_mの第2の出力が予め決められた第2の条件を満たさないときに、第2の出力を第2の経路22dに出力させない接続判定部(「第2の接続判定部」ともいう。)23dを有している。
【0071】
トランスフォーマーの学習において、各層のパラメータ更新量には違いがある。基本的に、学習時のパラメータ更新量が少ない場合、学習が進んでおらず不安定な状態が継続する。この性質を考慮し、特にパラメータ更新量が少ないトランスフォーマー層内の残差接続を、補助的残差接続21eとして、パラメータ更新量が少ないトランスフォーマー層の情報を予め接続判定部23eに備えておき、パラメータ更新量が少ないトランスフォーマー層のみ補助的残差接続21eに上流の層からのパラメータ更新量が少ないトランスフォーマー層の情報を与える。
【0072】
実施の形態2のエンコーダ12eは、第1のエンコーダ層12e_nの第1の出力が予め決められた第1の条件を満たさないときに、第1の出力を第1の経路(22e)に出力させない第1の接続判定部23eを有している。実施の形態2のデコーダ12dは、第1のデコーダ層12d_mの第2の出力が予め決められた第2の条件を満たさないときに、第2の出力を第2の経路(22d)に出力させない第2の接続判定部23dを有している。
【0073】
推論において、特にパラメータ更新量が少ないトランスフォーマー層内の残差接続を、補助的残差接続21dとして、パラメータ更新量が少ないトランスフォーマー層の情報を予め接続判定部23dに備えておき、パラメータ更新量が少ないトランスフォーマー層のみ補助的残差接続21dに上流の層からのパラメータ更新量が少ないトランスフォーマー層の情報を与える。
【0074】
以上に説明したように、実施の形態2によれば、パラメータ更新量が少ない層に限定して補助的残差接続を適用することで、最小限の変更でエンコーダデコーダモデルのパラメータ数を増加させずに学習安定性を向上させることができる。
【0075】
上記以外に関して、実施の形態2は実施の形態1と同じである。
【0076】
《5》実施の形態3
図16は、実施の形態3に係る学習装置11又は推論装置12のエンコーダデコーダモデルのエンコーダ11e又は12eの構成を示す図である。実施の形態3に係る学習装置11又は推論装置12のエンコーダデコーダモデルのエンコーダ11e又は12eは、調整部(「第1の調整部」ともいう。)24eを備えた点が、実施の形態1のものと異なる。
【0077】
図17は、実施の形態3に係る学習装置11又は推論装置12のエンコーダデコーダモデルのデコーダ11d又は12dの構成を示す図である。実施の形態3に係る学習装置11又は推論装置12のエンコーダデコーダモデルのデコーダ11d又は12dは、調整部(「第2の調整部」ともいう。)24dを備えた点が、実施の形態1のものと異なる。
【0078】
調整部24e、24dは、補助的残差接続21e、21dに加える値に重み付けする重み付け処理を行う。トランスフォーマー層の出力を下層のトランスフォーマー層の補助的残差接続21e、21dに接続する際、調整部24e、24dで決定された係数によって重み付けをしてから残差接続する。調整部24e、24dで扱う係数は事前に人手でによって与えられたものであってもよいし、ニューラルネットワークのパラメータとして機械学習によって決定されたものであってもよい。
【0079】
以上に説明したように、実施の形態3によれば、調整部24e、24dによってパラメータ更新量を最適な残差接続を適用することができるように調整するので、エンコーダデコーダモデルのパラメータ数を増加させずに学習安定性を向上させることができる。
【0080】
上記以外に関して、実施の形態3は実施の形態1と同じである。また、実施の形態3の調整部を実施の形態2に適用することも可能である。
【0081】
《6》変形例
上記実施の形態では、少なくとも1つの注意機構と残差接続を含むニューラルネットワークで構成されるエンコーダ層又はデコーダ層を複数組み合わせたニューラルネットワークモデルとして、複数のトランスフォーマー層を用いている。複数のトランスフォーマー層を用いたニューラルネットワークモデルの代わりに、BERT(Bidirectional Encoder Representations from Transformers)を用いたモデル、GPT(Generative Pre-trained Transformer)を用いたモデル、又はT5(Text-to-Text Transfer Transformer)を用いたモデル、などを使用することができる。BERTは非特許文献2に、GPTは非特許文献3に、T5は非特許文献4に記載されている。
【0082】
【文献】Jacob Devlin ほか2名著、 “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”、 arXiv preprint arXiv:1810.04805、 2018年.
【文献】Alec Radford ほか3名著、 “Improving Language Understanding by Generative Pre-Training”、 2018年.
【文献】Colin Raffel ほか8名著、 “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer”、 The Journal of Machine Learning Research, 21(1)、 5485-5551、 2020年.
【符号の説明】
【0083】
10 機械学習・推論装置、 11 学習装置、 12 推論装置、 111 データ取得部、 112 モデル生成部、 121 データ取得部、 122 推論部、 11e エンコーダ、 11e_1,…,11e_N エンコーダ層、 11e_n(1≦n≦N-2) 第1のエンコーダ層、 11e_n+α(α≧2) 第2のエンコーダ層、 11d デコーダ、 11d_1,…,11d_M デコーダ層、 11d_m(1≦m≦M-2) 第1のデコーダ層、 11d_n+β(β≧2) 第2のデコーダ層、 12e エンコーダ、 12e_1,…,12e_N エンコーダ層、 12e_n(1≦n≦N-2) 第1のエンコーダ層、 12e_n+α(α≧2) 第2のエンコーダ層、 12d デコーダ、 12d_1,…,12d_M デコーダ層、 12d_m(1≦m≦M-2) 第1のデコーダ層、 12d_n+β(β≧2) 第2のデコーダ層、 21e 補助的残差接続(第1の補助的残差接続)、 22e 経路(第1の経路)、 21d 補助的残差接続(第2の補助的残差接続)、 22d 経路(第2の経路)、 23e 接続判定部(第1の接続判定部)、 23d 接続判定部(第2の接続判定部)、 24e 調整部(第1の調整部)、 24d 調整部(第2の調整部)、 L 学習用データ、 Le 変換元のシーケンスデータ、 Ld 変換先のシーケンスデータ、 Ie 変換元のシーケンスデータ、 Id 変換先のシーケンスデータ、 P 学習モデル。
【要約】
学習装置(11)は、N層のエンコーダ層を含むエンコーダ(11e)とM層のデコーダ層を含むデコーダ(11d)とを有する。エンコーダ(11e)は、N層のエンコーダ層(11e_1,…,11e_N)のうちの第1のエンコーダ層(11e_n、1≦n≦N-2)の出力である第1の出力を第1のエンコーダ層(11e_n)より2層以上、下層の第2のエンコーダ層(11e_n+α、α≧2)の残差接続である第1の補助的残差接続(21e)に加える第1の経路(22e)を有する。デコーダ(11d)は、M層のデコーダ層(11d_1,…,11d_M)のうちの第1のデコーダ層(11d_m、1≦m≦M-2)の出力である第2の出力を第1のデコーダ層(11d_m)より2層以上、下層の第2のデコーダ層(11d_n+β、β≧2)の残差接続である第2の補助的残差接続(21d)に加える第2の経路(22d)を有する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17