JP2019525329A - 複数の機械学習タスクに関する機械学習モデルのトレーニング - Google Patents

複数の機械学習タスクに関する機械学習モデルのトレーニング Download PDF

Info

Publication number
JP2019525329A
JP2019525329A JP2019502693A JP2019502693A JP2019525329A JP 2019525329 A JP2019525329 A JP 2019525329A JP 2019502693 A JP2019502693 A JP 2019502693A JP 2019502693 A JP2019502693 A JP 2019502693A JP 2019525329 A JP2019525329 A JP 2019525329A
Authority
JP
Japan
Prior art keywords
machine learning
task
learning model
respect
parameter value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019502693A
Other languages
English (en)
Other versions
JP6824382B2 (ja
Inventor
ギヨーム・デジャルダン
ラズバン・パシュカヌ
ライア・タイス・ハドセル
ジェームズ・カークパトリック
ジョエル・ウィリアム・ヴェネス
ニール・チャールズ・ラビノウィッツ
Original Assignee
ディープマインド テクノロジーズ リミテッド
ディープマインド テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディープマインド テクノロジーズ リミテッド, ディープマインド テクノロジーズ リミテッド filed Critical ディープマインド テクノロジーズ リミテッド
Publication of JP2019525329A publication Critical patent/JP2019525329A/ja
Application granted granted Critical
Publication of JP6824382B2 publication Critical patent/JP6824382B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Feedback Control In General (AREA)

Abstract

複数のパラメータを有する機械学習モデルをトレーニングする方法であって、機械学習モデルが、機械学習モデルの第1のパラメータ値を決定するために第1の機械学習タスクに関してトレーニング済みである、方法が開示される。本方法は、複数のパラメータの各々に関して、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度を決定するステップと、第2の異なる機械学習タスクに関して機械学習モデルをトレーニングするためのトレーニングデータを取得するステップと、機械学習モデルが第1の機械学習タスクに関して許容可能なレベルの性能を維持しながら第2の機械学習タスクに関して許容可能なレベルの性能を達成するように第1のパラメータ値を調整するためにトレーニングデータに関して機械学習モデルをトレーニングすることによって第2の機械学習タスクに関して機械学習モデルをトレーニングするステップとを含む。

Description

関連出願の相互参照
本出願は、2016年7月18日に出願された米国仮出願第62/363,652号の優先権を主張するものである。先の出願の開示は、本出願の開示の一部と考えられ、本出願の開示に参照により組み込まれる。
本明細書は、機械学習モデルをトレーニングすることに関する。
機械学習モデルは、入力を受け取り、受け取られた入力に基づいて、出力、たとえば予測される出力を生成する。いくつかの機械学習モデルは、パラメトリックモデルであり、受け取られた入力と、モデルのパラメータ値とに基づいて出力を生成する。
いくつかの機械学習モデルは、受け取られた入力に関する出力を生成するためにモデルの複数の層を使用する深層モデル(deep model)である。たとえば、深層ニューラルネットワークは、出力を生成するために、受け取られた入力に非線形変換をそれぞれ適用する出力層および1つまたは複数の隠れ層を含む深層機械学習モデルである。しかし、機械学習モデルは、複数のタスクに関してトレーニングされる場合に「破滅的忘却(catastrophic forgetting)」を被り、新しいタスクが学習されるときに前のタスクの知識を失う場合がある。
いくつかのニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは、入力シーケンスを受け取り、入力シーケンスから出力シーケンスを生成するニューラルネットワークである。特に、再帰型ニューラルネットワークは、入力シーケンスの現在の入力から出力を生成する際に入力シーケンスの前の入力を処理した後のネットワークの内部状態の一部またはすべてを使用する。
Blundellら、"Weight Uncertainty in Neural Networks"、ICML (2015) Pascanu R、Bengio Y (2013)、"Revisiting natural gradient for deep networks"、arXiv:1301.3584
本明細書は、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムが複数の機械学習タスクに関して機械学習モデルをどのようにしてトレーニングすることができるかを説明する。
概して、1つの革新的な態様は、複数のパラメータを有する機械学習モデルをトレーニングするための方法に具現化される場合がある。機械学習モデルは、機械学習モデルの第1のパラメータ値を決定するために第1の機械学習タスクに関してトレーニング済みである。本方法は、複数のパラメータの各々に関して、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度を決定するステップと、第2の異なる機械学習タスクに関して機械学習モデルをトレーニングするためのトレーニングデータを取得するステップと、機械学習モデルが第1の機械学習タスクに関して許容可能なレベルの性能を維持しながら第2の機械学習タスクに関して許容可能なレベルの性能を達成するように第1のパラメータ値を調整するためにトレーニングデータに関して機械学習モデルをトレーニングすることによって第2の機械学習タスクに関して機械学習モデルをトレーニングするステップとを含み、第2の機械学習タスクに関して機械学習モデルをトレーニングする間、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要であったパラメータ値が、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要でなかったパラメータ値よりも、第1の値から逸脱しないようにより強く制約される。
トレーニングデータに関して前記機械学習モデルをトレーニングするステップは、(i)第2の機械学習タスクに関する機械学習モデルの性能を測定する第1の項と、(ii)第1のパラメータ値から逸脱するパラメータ値に対してペナルティを課す第2の項であって、第1の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも第1の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して第1の値からの逸脱により重いペナルティを与える、第2の項とを含む目的関数を最適化するため、より詳細には、最小化することを目標とするために、第1のパラメータ値を調整することを含んでもよい。第2の項は、複数のパラメータの各々に関して、パラメータの重要度のそれぞれの尺度と、現在のパラメータ値と第1のパラメータ値との間の差との積に依存してもよい。
いくつかの実装例において、トレーニングは、「弾性的重み固定(elastic weight consolidation)」(EWC)を実装してもよく、第2のタスクに関するトレーニング中、パラメータは、弾性的ペナルティ(elastic penalty)、すなわち第1のパラメータ値からの距離が増加するにつれて増加するパラメータを調整することに対するペナルティによってそれらの第1のパラメータ値につなぎとめられる。弾性的ペナルティの堅さまたは度合いは、第1のタスクに対するまたはより広く任意の前に学習されたタスクに対するパラメータの重要度の尺度に依存してもよい。したがって、弾性的重み固定は、各重みが前に実行された1つのタスクまたは複数のタスクに対するその重みの重要度の尺度に依存する、たとえば比例する量だけその重みの古い値に引き戻される柔らかい制約(soft constraint)、たとえば増加する距離による二次方程式として実装されてもよい。大まかに言って、パラメータは、前のタスクから導出されたパラメータの事後分布である以前の確率(prior)によって加減される。
概して、機械学習モデルは、畳込みニューラルネットワークまたは再帰型ニューラルネットワークなどのニューラルネットワークを含み、パラメータは、ニューラルネットワークの重みを含む。個々のパラメータの重要度(重み)は、以下でさらに説明されるように様々な異なる方法で決定されてもよい。オプションで、個々のパラメータの重要度(重み)は、新しいタスクに関するトレーニングが始まる前に再計算されてもよい。
トレーニングデータに関して機械学習モデルをトレーニングするステップは、トレーニングデータ内の各トレーニング例に関して、モデルの出力を決定するために機械学習モデルの現在のパラメータ値に従って機械学習モデルを使用してトレーニング例を処理するステップと、モデルの出力、トレーニング例に関する目標出力、機械学習モデルの現在のパラメータ値、および機械学習モデルの第1のパラメータ値を使用して目的関数の勾配を決定するステップと、目的関数を最適化するために勾配を使用して現在のパラメータ値を調整するステップとを含んでもよい。
複数のパラメータの各々に関して、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度を決定するステップは、第1のタスクに関して機械学習モデルをトレーニングするために使用された第1のトレーニングデータを前提として、複数のパラメータの各々に関して、現在のパラメータ値がパラメータの正しい値である確率の概算を決定するステップを含んでもよい。
複数のパラメータの各々に関して、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度を決定する1つの方法は、第1の機械学習タスクに関連して機械学習モデルの複数のパラメータのフィッシャー情報行列(FIM)を決定するステップであって、複数のパラメータの各々に関して、パラメータの重要度のそれぞれの尺度が、FIMの対角項(diagonal)の対応する値である、決定するステップを含んでもよい。これは、FIMが一階導関数から計算されることが可能であるために計算上都合がよい。たとえば、FIMは、モデルのパラメータに関連してモデルの対数確率の共分散から決定されてもよい。
FIMの対角項の値を重要度の尺度として使用することは、パラメータの分散、すなわち重みの不確かさの点推定値(point-estimate)を効果的に計算しながら計算の複雑さを減らす。いくつかの実装例において、重みの平均および標準偏差(または分散)の推定値は、"Weight Uncertainty in Neural Networks"、Blundellら、ICML (2015)に説明されたように逆伝播によるベイズ学習(Bayes by Backprop)手順を使用することによって取得されてもよい。これは、誤差逆伝播手順の変化型を使用して行われることが可能である。
いくつかの実装例において、第1の機械学習タスクおよび第2の機械学習タスクは、異なる教師あり学習タスクである。
いくつかのその他の実装例において、第1の機械学習タスクおよび第2の機械学習タスクは、異なる強化学習タスクである。強化学習タスクにおいて、目的関数は、ある状態である行動を行うことによる期待される報酬に依存する割引報酬(discounted reward)の項を含んでもよい。機械学習モデルは、たとえば深層Qネットワーク(DQN)、ダブルDQN(Double-DQN)、アドバンテージアクタークリティック(A3C:Advantage Actor Critic)ネットワーク、またはその他のアーキテクチャに基づいてもよい。
いくつかの実装例においては、これに限らないが特に強化学習(RL)システムにおいて、機械学習タスクが特定されてもよい。たとえば、それらのタスクは、明示的にラベル付けされるか、またはタスクを推定するためのモデルを使用して自動的に特定されてもよい。そして、目的関数に関する1つまたは複数のペナルティ項(penalty term)が、特定されたタスクに応じて選択されてもよい。タスクの切り替えが特定されるとき、1つまたは複数のペナルティ項は、(上述のように前のタスクに関するパラメータの重要度に従って)1つまたは複数の前のタスクに関して学習された値に近いようにパラメータの学習を制約するために選択されてもよい。切り替えは、新しいこれまで見られなかったタスクへの切り替えであるかまたは前のタスクへの復帰であってもよい。ペナルティ項は、現在のタスクを除くすべてのこれまでに見られたタスクに関する制約を含んでもよい。制約は、二次制約(quadratic constraint)であってもよい。オプションで、個々のパラメータの重要度(重み)は、学習タスクを切り替えるときに再計算されてもよい。
本方法は、機械学習モデルの第2のパラメータ値を決定するために第2の機械学習タスクに関して機械学習モデルをトレーニングした後、第3の異なる機械学習タスクに関して機械学習モデルをトレーニングするための第3のトレーニングデータを取得するステップと、機械学習モデルが第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能なレベルの性能を維持しながら第3の機械学習タスクに関して許容可能なレベルの性能を達成するように第2のパラメータ値を調整するために第3のトレーニングデータに関して機械学習モデルをトレーニングすることによって第3の機械学習タスクに関して機械学習モデルをトレーニングするステップとをさらに含んでもよく、第3の機械学習タスクに関して機械学習モデルをトレーニングする間、第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要であったパラメータ値が、第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要でなかったパラメータ値よりも第2の値から逸脱しないようにより強く制約される。
そして、本方法は、複数のパラメータの各々に関して、第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度を決定するステップをさらに含んでもよい。そのとき、第3のトレーニングデータに関して機械学習モデルをトレーニングするステップは、第3の機械学習タスクに関する機械学習モデルの性能を測定する第1の項と、第2のパラメータ値から逸脱するパラメータ値に対してペナルティを科す第2の項とを含む目的関数を最適化するために第2のパラメータ値を調整することを含んでもよい。上述の方法と同様の方法で、第2の項は、第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して第2の値からの逸脱により重いペナルティを与えてもよい。目的関数の第2の項は、それぞれの前のタスクについて1つずつ2つの別々のペナルティ項、または組み合わされたペナルティ項を含んでもよい。たとえば、ペナルティ項がパラメータとそのパラメータの前の値との間の差の2乗などの二次ペナルティ(quadratic penalty)をそれぞれ含む場合、2つのそのようなペナルティの総和が、それ自体二次ペナルティとして書き込まれてもよい。
上述の態様は、任意の都合のよい形態で実装されることが可能である。たとえば、態様および実装例は、有形の担持媒体(たとえば、ディスク)または無形の担持媒体(たとえば、通信信号)であってもよい適切な担持媒体上で運ばれる場合がある適切なコンピュータプログラムによって実装されてもよい。態様は、コンピュータプログラムを実行するプログラミング可能なコンピュータの形態をとる場合がある好適な装置を使用して実装されてもよい。
本明細書に記載の主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装されることが可能である。本明細書において説明されるように複数のタスクに関して同じ機械学習モデルをトレーニングすることによって、モデルがトレーニングされると、モデルは、許容可能なレベルの性能で複数のタスクの各々のために使用されることが可能である。結果として、複数のタスクに関して許容可能な性能を達成することができる必要があるシステムが、それらのシステムの記憶容量をそれほど使用せずに、システムの複雑さを減らしながらそのようにすることが可能である。たとえば、それぞれが異なるパラメータ値を有するモデルの複数の異なるインスタンスではなくモデルの単一のインスタンスを維持することによって、複数の異なるパラメータセットではなくパラメータのただ1つのセットが記憶される必要があり、各タスクに関して許容可能な性能を維持しながら必要とされるストレージの量を削減する。加えて、パラメータが前に学習されたタスクに対してどれだけ重要であるかに部分的に依存して目的関数を最適化するためにモデルのパラメータ値を調整することによって新しいタスクに関してモデルをトレーニングすることによって、モデルは、前のタスクについての知識を守りながら新しいタスクを連続して効果的に学習することができる。
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載されている。主題のその他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
機械学習モデルをトレーニングする機械学習システムの例のブロック図である。 複数のタスクに関して複数のパラメータを有する機械学習モデルをトレーニングするための例示的なプロセスの流れ図である。 機械学習モデルが第1のおよび第2の機械学習タスクに関してトレーニングされた後に第3の機械学習タスクに関して機械学習モデルをトレーニングするための例示的なプロセスの流れ図である。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
本明細書は、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステム、たとえば機械学習システムが複数の機械学習タスクに関して機械学習モデルをどのようにしてトレーニングすることができるかを説明する。
場合によっては、複数の機械学習タスクは、異なる教師あり学習タスクである。たとえば、教師あり学習タスクは、画像処理タスク、音声認識タスク、自然言語処理タスク、または光学式文字認識タスクなどの異なる分類タスクを含む場合がある。たとえば、画像処理タスクは、各画像認識タスクが画像内の異なる物体またはパターンの認識を必要とする異なる画像認識タスクを含む場合がある。別の例として、音声認識タスクは、各タスクが異なるホットワード(hotword)またはホットワードのシーケンスの認識を必要とする複数のホットワード検出タスクを含む場合がある。
いくつかのその他の場合、複数の機械学習タスクは、異なる強化学習タスクである。たとえば、強化学習タスクは、エージェントが異なる目的を達成するために異なる環境とインタラクションするかまたは同じ環境とインタラクションする複数のタスクを含む場合がある。たとえば、強化学習タスクは、コンピュータ化されたエージェントが複数の異なるシミュレーションされたまたは仮想化された環境とインタラクションする複数のタスクを含む場合がある。別の例として、強化学習タスクは、ロボットエージェントが現実の環境とインタラクションして異なる目的を達成しようとする複数のタスクを含む場合がある。そのようなロボットエージェントは、動かないまたは動く機械または車両に具現化されてもよい。
図1は、例示的な機械学習システム100を示す。機械学習システム100は、以下で説明されるシステム、コンポーネント、および技法が実装される1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
機械学習システム100は、複数の機械学習タスクに関して機械学習モデル110を逐次トレーニングするように構成される。機械学習モデル110は、入力を受け取り、受け取られた入力に基づいて出力、たとえば予測される出力を生成することができる。
場合によっては、機械学習モデル110は、複数のパラメータを有するパラメトリックモデルである。これらの場合、機械学習モデル110は、受け取られた入力およびモデル110のパラメータ値に基づいて出力を生成する。
いくつかのその他の場合、機械学習モデル110は、受け取られた入力に関する出力を生成するためにモデルの複数の層を使用する深層機械学習モデルである。たとえば、深層ニューラルネットワークは、出力を生成するために受け取られた入力に非線形変換をそれぞれ適用する出力層および1つまたは複数の隠れ層を含む深層機械学習モデルである。
概して、機械学習システム100は、たとえばモデル110の目的関数118を最適化することによって、特定のタスクに関してモデル110の性能を最適化するために機械学習モデル110のパラメータ値を調整することによって特定のタスクに関して、すなわち特定のタスクを学習するために機械学習モデル110をトレーニングする。
システム100は、一連の複数の機械学習タスクを学習するためにモデル110をトレーニングすることができる。概して、機械学習モデル110が前のタスクを忘れることなく新しいタスクを学習することを可能にするために、システム100は、前のタスクについての情報に基づいて前のタスクのための許容可能な性能の範囲内(たとえば誤差の少ない範囲)に残るようにパラメータを制約することによって前のタスクにおける性能を守りながら新しいタスクに関してモデル110の性能を最適化するためにモデル110をトレーニングする。
システム100は、重要度重み計算エンジン112を使用して前のタスクについての情報を決定する。特に、モデル110が前にトレーニングされた各タスクに関して、エンジン112は、そのタスクに対応する重要度重みのセットを決定する。概して、所与のタスクに関する重要度重みのセットは、タスクに関して許容可能な性能を達成する、モデル110にパラメータの重要度の尺度を表すモデル110の各パラメータに関するそれぞれの重みを含む。そして、システム100は、モデル110が前のタスクに関して許容可能なレベルの性能を保ちながら新しいタスクに関して許容可能なレベルの性能を達成するように、前のタスクに対応する重要度重みのセットを使用して新しいタスクに関してモデル110をトレーニングする。
図1に示されるように、第1のトレーニングデータを使用してモデル110の第1のパラメータ値を決定してモデル110が第1の機械学習タスク、たとえばタスクAに関してトレーニングされたものとすると、重要度重み計算エンジン112は、タスクAに対応する重要度重み120のセットを決定する。特に、エンジン112は、モデル110のパラメータの各々に関して、タスクAに関して許容可能な性能を達成する、モデル110にパラメータの重要度の尺度を表すそれぞれの重要度重みを決定する。パラメータの各々に関するそれぞれの重要度重みを決定することは、タスクAに関して機械学習モデル110をトレーニングするために使用された第1のトレーニングデータを前提として、パラメータの各々に関して、現在のパラメータ値がパラメータの正しい値である確率の見積もりを決定することを含む。
たとえば、エンジン112は、モデル110が前の機械学習タスクからの前のトレーニングデータに関してトレーニングされた後にモデル110のパラメータの可能な値の事後分布を決定してもよい。パラメータの各々に関して、事後分布は、現在のパラメータ値に値を割り当て、値は、現在の値がパラメータの正しい値である確率を表す。
いくつかの実装例において、エンジン112は、見積もり方法、たとえばフィッシャー情報行列(FIM)を使用して事後分布を見積もることができる。エンジン112は、タスクAに関連してモデル110のパラメータのFIMを決定することができ、パラメータの各々に関して、パラメータのそれぞれの重要度重みは、FIMの対角項の対応する値である。すなわち、FIMの対角項の各値が、機械学習モデル110の異なるパラメータに対応する。
エンジン112は、タスクAに関連して目的関数118を最適化するパラメータ値において目的関数118の二次導関数を計算することによってFIMを決定することができる。FIMはまた、一階導関数だけから計算可能であり、したがって大きな機械学習モデルに関してさえも計算することが容易である。FIMは、半正定値(positive semidefinite)であることが保証される。FIMを計算することは、Pascanu R、Bengio Y (2013)、"Revisiting natural gradient for deep networks"、arXiv:1301.3584により詳細に説明される。
エンジン112がタスクAに対応する重要度重み120のセットを決定した後、システム100は、新しい機械学習タスク、たとえばタスクBに対応する新しいトレーニングデータ114に関してモデル110をトレーニングすることができる。
モデル118がタスクAを忘却することなくタスクBを学習することを可能にするために、タスクBに関してモデル110をトレーニングしている間に、システム100は、タスクAの許容可能な性能を維持することを目的とする目的関数118のペナルティ項を形成するためにタスクAに対応する重要度重み120のセットを使用する。すなわち、モデル110は、タスクBに関連して目的関数118を最適化するトレーニングされたパラメータ値116を決定するためにトレーニングされ、目的関数118がペナルティ項を含むので、モデル110は、タスクBに関してトレーニングされた後でさえもタスクAに関して許容可能な性能を維持する。モデル110および目的関数118をトレーニングするためのプロセスが、図2を参照して以下でより詳細に説明される。
機械学習タスクのシーケンスに3つ異常のタスクが存在するとき、たとえばモデル110がタスクBに関してトレーニングされた後にまだ第3のタスク、たとえばタスクCに関してトレーニングされる必要があるときは、タスクBに関するトレーニングされたパラメータ値116が決定された後、機械学習システム100は、エンジン112がタスクBに対応する重要度重みの新しいセットを決定することができるようにエンジン112にトレーニングされたパラメータ値116を提供する。
タスクCに関してモデル110をトレーニングするとき、システム100は、タスクCに関連してモデル110によって最適化される目的関数118の新しいペナルティ項を形成するためにタスクAに対応する重要度重みのセットおよびタスクBに対応する重要度重みの新しいセットを使用するためにモデル110をトレーニングすることができる。タスクCに関して機械学習モデル110をトレーニングするためのプロセスが、図3を参照して以下でより詳細に説明される。このトレーニングプロセスは、モデル110が機械学習タスクのシーケンスのすべてのタスクを学習し終えるまで繰り返されることが可能である。
図2は、複数のタスクに関して複数のパラメータを有する機械学習モデルを逐次トレーニングするための例示的なプロセス200の流れ図である。
便宜上、プロセス200は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされた機械学習システム、たとえば図1の機械学習システム100がプロセス200を実行することができる。
機械学習モデルは、機械学習モデルの第1のパラメータ値を決定するために第1の機械学習タスクに関してトレーニング済みのモデルである。
別のタスクに関して機械学習モデルをトレーニングするために、システムは、まず複数のパラメータの各々に関して、第1の機械学習タスクに関する許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度(たとえば、パラメータの重要度重み)を決定する(ステップ202)。
パラメータの重要度のそれぞれの尺度を決定することは、第1の機械学習タスクに関して機械学習モデルをトレーニングするために使用された第1のトレーニングデータを前提として、現在のパラメータ値がパラメータの正しい値である確率の見積もりを決定することを含む。
たとえば、システムは、モデルが前の機械学習タスクからの前のトレーニングデータに関してトレーニングされた後にモデルのパラメータの可能な値の事後分布を決定してもよい。パラメータの各々に関して、事後分布は、現在のパラメータ値に値を割り当て、値は、現在の値がパラメータの正しい値である確率を表す。
いくつかの実装例において、システムは、見積もり方法、たとえばフィッシャー情報行列(FIM)を使用して事後分布を見積もることができる。特に、システムは、第1の機械学習タスクに関連して機械学習モデルのパラメータのフィッシャー情報行列(FIM)を決定し、パラメータの各々に関して、パラメータの重要度のそれぞれの尺度は、FIMの対角項の対応する値である。すなわち、FIMの対角項の各値が、機械学習モデルの異なるパラメータに対応する。
次に、システムは、第2の異なる機械学習タスクに関して機械学習モデルをトレーニングするための新しいトレーニングデータを取得する(ステップ204)。新しいトレーニングデータは複数のトレーニング例を含む。各トレーニング例は、入力例と入力例に関する目標出力とのペアを含む。
いくつかの実装例において、第1の機械学習タスクおよび第2の機械学習タスクは、異なる教師あり学習タスクである。いくつかのその他の実装例において、第1の機械学習タスクおよび第2の機械学習タスクは、異なる強化学習タスクである。
その後、システムは、新しいトレーニングデータに関して機械学習モデルをトレーニングすることによって第2の機械学習タスクに関して機械学習モデルをトレーニングする(ステップ206)。
(たとえば、第1のタスクについてのメモリを保持することによって)機械学習モデルが第1のタスクを忘却することなく第2のタスクを学習することを可能にするために、システムは、第1のタスクに関連して機械学習モデルに対するパラメータの重要度の決定された尺度に基づくペナルティ項に部分的に依存する目的関数を最適化するために第1のパラメータ値を調整することによって新しいトレーニングデータに関して機械学習モデルをトレーニングする。
ペナルティ項は、第1の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも第1の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して第1の値からの逸脱により重いペナルティを与える。目的関数を最適化する、たとえば最小化するために第1のパラメータ値を調整することによって、機械学習モデルは、第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要であったパラメータ値が第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要でなかったパラメータ値よりも第1の値から逸脱しないようにより強く制約されることを保証する。
いくつかの実装例において、目的関数は、次のように表されることが可能である。
Figure 2019525329
式1に示される目的関数は、2つの項を含む。第1の項LB(θ)は、第2の機械学習タスクに関する機械学習モデルの性能を測定する。第1の項は、第2の機械学習タスクに適切である任意の目的関数、たとえば交差エントロピー損失、平均二乗誤差、最大尤度、深層Qネットワーク(DQN)オブジェクティブ(deep Q network's (DQN) objective)などであってもよい。第2の項
Figure 2019525329
は、第1のパラメータ値から逸脱するパラメータ値に対してペナルティを科すペナルティ項である。特に、ペナルティ項は、機械学習モデルの複数のパラメータのうちの各パラメータiに関して、(i)第1の機械学習タスクに関して許容可能なレベルの性能を達成する機械学習モデルに対するパラメータの重要度Fiのそれぞれの尺度と、(ii)パラメータθiの現在の値とパラメータ
Figure 2019525329
の第1の値との間の差との積に依存する。第2の項はまた、古いタスク(たとえば、第1の機械学習タスク)が新しいタスク(たとえば、第2の機械学習タスク)と比べてどれだけ重要であるかを設定するλも依存する。Fiの値は、ニューラルネットワークの重みの不確かさを表す場合があり、FIMの対角項の値などから導出される場合がある。
第1のパラメータ値を調整するための1つの手法において、システムは、新しいトレーニングデータ内の複数のトレーニング例の各々に関して以下の反復を実行する。
各トレーニング例に関して、システムは、モデルの出力を決定するために機械学習モデルの現在のパラメータ値に従って機械学習モデルを使用して入力例を処理する。
第1の反復に関して、現在のパラメータ値は、機械学習モデルが第1の機械学習タスクに関してトレーニングされた後に決定された第1のパラメータ値に等しい。
次に、システムは、モデルの出力、入力例に関する目標出力、機械学習モデルの現在のパラメータ値、および機械学習モデルの第1のパラメータ値を使用して目的関数の勾配を決定する。
その後、システムは、目的関数を最適化するために決定された勾配を使用して現在のパラメータ値を調整する。そして、パラメータの調整された値が、次の反復において現在のパラメータ値として使用される。
場合によっては、システムは、複数のトレーニング例をバッチで処理する。これらの場合、各バッチに関して、現在の値は、バッチにおいて各トレーニング例に関して固定される。より詳細には、システムは、モデルの出力を決定するために機械学習モデルの現在のパラメータ値に従って機械学習モデルを使用して各バッチにおいてトレーニング例の入力例を処理する。次に、システムは、モデルの出力、バッチにおける入力例に関する目標出力、機械学習モデルの現在のパラメータ値、および機械学習モデルの第1のパラメータ値を使用して目的関数の勾配を決定する。その後、システムは、目的関数を最適化するために決定された勾配を使用して現在のパラメータ値を調整する。そして、パラメータの調整された値が、次のバッチにおいて現在のパラメータ値として使用される。
システムが新しいトレーニングデータ内のすべてのトレーニング例に関して上記の反復を実行した後、システムは、第2の機械学習タスクに関する新しいトレーニングデータに関して機械学習モデルをトレーニングすることを終える。最後の反復において取得された現在のパラメータ値は、第2の機械学習タスクに関連して機械学習モデルのトレーニングされたパラメータとして決定される。このようにしてモデルをトレーニングすることは、機械学習モデルが第1の機械学習タスクに関して許容可能なレベルの性能を維持しながら第2の機械学習タスクに関して許容可能なレベルの性能を達成することを可能にするトレーニングされたパラメータ値をもたらす。
システムが第2の機械学習タスクに関して機械学習モデルをトレーニングすると、システムは、モデルが既にトレーニングされたタスクに関して許容可能なレベルの性能を維持しながら新しい機械学習タスクに関して許容可能なレベルの性能を達成するために機械学習モデルをトレーニングし続けることができる。
たとえば、機械学習モデルの第2のパラメータ値を決定するために第2の機械学習タスクに関して機械学習モデルをトレーニングした後、システムは、第3の異なる機械学習タスクに関して機械学習モデルをトレーニングし続けることができる。
図3は、機械学習モデルが第1のおよび第2の機械学習タスクに関してトレーニングされた後に第3の機械学習タスクに関して機械学習モデルをトレーニングするための例示的なプロセス300の流れ図である。
便宜上、プロセス300は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされた機械学習システム、たとえば図1の機械学習システム100が、プロセス300を実行することができる。
システムは、オプションで複数のパラメータの各々に関して、第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度を決定することができる(ステップ302)。
システムは、第3の機械学習タスクに関して機械学習モデルをトレーニングするための第3のトレーニングデータを取得する(ステップ304)。
そして、システムは、機械学習モデルが第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能なレベルの性能を維持しながら第3の機械学習タスクに関して許容可能なレベルの性能を達成するように第2のパラメータ値を調整するために第3のトレーニングデータに関して機械学習モデルをトレーニングすることによって第3の機械学習タスクに関して機械学習モデルをトレーニングする(ステップ306)。第3の機械学習タスクに関して機械学習モデルをトレーニングする間、第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要であったパラメータ値が、第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルにおいてより重要でなかったパラメータ値よりも第2の値から逸脱しないようにより強く制約される。
場合によっては、システムは、第1の機械学習タスクに関する許容可能な性能を達成する機械学習モデルに対するパラメータの重要度の尺度および第2の機械学習タスクに関する許容可能な性能を達成する機械学習モデルに対するパラメータの重要度の尺度に基づくペナルティ項に部分的に依存する新しい目的関数を最適化するパラメータの第3の値を取得するために第2のパラメータ値を調整するために機械学習モデルをトレーニングする。
たとえば、新しい目的関数は、(i)第3の機械学習タスクに関する機械学習モデルの性能を測定する第1の項と、(ii)第2の項が第1の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも第1の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して第1の値からの逸脱により重いペナルティを与える、第1のパラメータ値から逸脱するパラメータ値に対してペナルティを課す第2の項と、(iii)第3の項が第2の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも第2の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して第2の値からの逸脱により重いペナルティを与える、第2のパラメータ値から逸脱するパラメータ値に対してペナルティを課す第3の項とを含む。
新しい目的関数の第2の項は、複数のパラメータの各々に関して、(i)第1の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度と、(ii)現在のパラメータ値と第1のパラメータ値との間の差との積に依存してもよい。
新しい目的関数の第3の項は、複数のパラメータの各々に関して、(i)第2の機械学習タスクに関して許容可能な性能を達成する機械学習モデルに対するパラメータの重要度のそれぞれの尺度と、(ii)現在のパラメータ値と第2のパラメータ値との間の差との積に依存してもよい。
パラメータの取得された第3の値は、機械学習モデルが第1の機械学習タスクおよび第2の機械学習タスクに関して許容可能なレベルの性能を維持しながら第3の機械学習タスクに関して許容可能なレベルの性能を達成することを可能にする。
いくつかの実装例において、目的関数は、次のように表されることが可能である。
Figure 2019525329
ここで、
Figure 2019525329
は、第1のパラメータ値から逸脱するパラメータ値に対してペナルティを課し、機械学習モデルの複数のパラメータのうちの各パラメータiに関して、(i)第1の機械学習タスクに関して許容可能なレベルの性能を達成する機械学習モデルに対するパラメータの重要度FA,iのそれぞれの尺度と、(ii)パラメータθiの現在の値との第1のパラメータ値
Figure 2019525329
との間の差との積に依存するペナルティ項である。
Figure 2019525329
は、第2のパラメータ値から逸脱するパラメータ値に対してペナルティを課し、機械学習モデルの複数のパラメータのうちの各パラメータiに関して、(i)第2の機械学習タスクに関して許容可能なレベルの性能を達成する機械学習モデルに対するパラメータの重要度FB,iのそれぞれの尺度と、(ii)パラメータθiの現在の値と第2のパラメータ値
Figure 2019525329
との間の差との積に依存する別のペナルティ項である。
上述の手法を実装する機械学習システム、たとえばRLシステムは、タスクの切り替えを自動的に特定するためのシステムを含んでもよい。これは、教師なしでトレーニングされるオンラインクラスタリングアルゴリズムを実装してもよい。たとえば、これは、この観測を説明する隠れマルコフモデルの隠れ変数(hidden variable)として扱われる分類コンテキスト(categorical context)cとして現在のタスクをモデリングすることによって行われることが可能である。タスクコンテキスト(task context)cは、観測確率(observation probability)を予測する生成モデルを条件付ける場合があり、新しい生成モデルが生成モデルの既存のプールよりもうまく最近のデータを説明する場合、新しい生成モデルが追加されてもよい。たとえば、それぞれの連続する時間窓の終わりに、現在のタスクに最もうまく対応するモデルが選択されてもよく、1つの初期化されていない(一様分布)モデルが新しい生成モデルおよびタスクコンテキストを生成するために選択に利用できるようにされてもよい。
上述の手法を実装するRLシステムは、方策オン型(on-policy)または方策オフ型(off-policy)で動作してもよく、方策オフ型で動作すると、それぞれの特定されたまたは推測されたタスクのために別々の経験バッファ(experience buffer)が維持される場合がある。オプションで、ニューラルネットワークの利得(gain)およびバイアス(bias)は、タスクに固有であってもよい。
本明細書は、用語「構成される」をシステムおよびコンピュータプログラムのコンポーネントに関連して使用する。1つまたは複数のコンピュータのシステムが特定の動作または行動を実行するように構成されることは、システムが、動作中にシステムに動作または行動を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行動を実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作または行動を実行させる命令を含むことを意味する。
本明細書に記載の主題の実施形態および機能的動作は、本明細書で開示される構造およびそれらの構造的均等物を含むデジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装されることが可能である。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能である。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適なレシーバ装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることが可能である。
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であることも可能であり、またはそのような専用論理回路をさらに含むことも可能である。オプションで、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を生成するコード、たとえばプロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことが可能である。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは称される場合もあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態で配置されることが可能である。プログラムは、ファイルシステム内のファイルに対応してもよいが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえばマークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶されることが可能である。コンピュータプログラムは、1台のコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、データ通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように配置されることが可能である。
本明細書において、用語「エンジン」は、1つまたは複数の特定の機能を実行するようにプログラミングされるソフトウェアに基づくシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数の場所の1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装される。場合によっては、1つまたは複数のコンピュータが、特定のエンジンに専用であり、その他の場合、複数のエンジンが、同じ1台のコンピュータまたは複数のコンピュータにインストールされ、実行されていることが可能である。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行する1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行されることが可能である。また、プロセスおよび論理フローは、専用の論理回路、たとえばFPGAもしくはASICによって、または専用の論理回路と1つまたは複数のプログラミングされたコンピュータとの組合せによって実行されることが可能である。
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはそれら両方、または任意のその他の種類の中央演算処理装置に基づくことが可能である。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれることが可能である。また、概してコンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはこれらの大容量記憶デバイスからデータを受信するか、もしくはこれらの大容量記憶デバイスにデータを転送するか、もしくはそれら両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを備えていなくてもよい。さらに、コンピュータは、別のデバイス、たとえばほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブル記憶デバイス、たとえばユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれることが可能である。
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
ユーザとのインタラクションを提供するために、本明細書に記載の主題の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえばCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであることが可能であり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえばウェブブラウザから受信された要求に応答してユーザのデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。また、コンピュータは、メッセージングアプリケーションを実行しているパーソナルデバイス、たとえばスマートフォンにテキストメッセージまたはその他の形態のメッセージを送信し、返報としてユーザから応答メッセージを受信することによってユーザとインタラクションすることができる。
機械学習モデルを実装するためのデータ処理装置は、たとえば機械学習のトレーニングまたは生産、すなわち推測の作業負荷のよくある計算量の多い部分を処理するための専用ハードウェアアクセラレータユニットも含むことが可能である。
機械学習モデルは、機械学習フレームワーク、たとえばTensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、配置されることが可能である。
本明細書に記載の主題の実施形態は、バックエンドコンポーネントを、たとえばデータサーバとして含むか、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえばそれによってユーザが本明細書に記載の主題の実装例とインタラクションすることができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえばインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含みことが可能である。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。いくつかの実施形態において、サーバは、たとえばクライアントとして働くデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的でユーザデバイスにデータ、たとえばHTMLページを送信する。ユーザデバイスにおいて生成されたデータ、たとえばユーザインタラクションの結果が、サーバにおいてデバイスから受信されることが可能である。
本明細書は多くの特定の実装例の詳細を含むが、これらは、いかなる発明の範囲または特許請求され得るものの範囲に対する限定とも見なされるべきではなく、むしろ特定の発明の特定の実施形態に特有である場合がある特徴の説明と見なされるべきである。別々の実施形態の文脈で本明細書において説明された特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。反対に、単一の実施形態の文脈で説明された様々な特徴が、複数の実施形態に別々に、または任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで動作するものとして上で説明された場合があり、最初にそのように特許請求されてさえいる場合があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする場合がある。
同様に、動作が特定の順序で図中に示され、特許請求の範囲に記載されているが、これは、そのような動作が示される特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されるすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であると理解されるべきである。
主題の特定の実施形態が説明された。他の実施形態は、添付の特許請求の範囲の範囲内にある。たとえば、特許請求の範囲に挙げられた行動は、異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図面に示されるプロセスは、所望の結果を達成するために、必ずしも示される特定の順序、または逐次的順序である必要はない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
100 機械学習システム
110 機械学習モデル
112 重要度重み計算エンジン
114 新しいトレーニングデータ
116 トレーニングされたパラメータ値
118 目的関数
120 重要度重み
200 プロセス
300 プロセス
c 分類コンテキスト、タスクコンテキスト

Claims (16)

  1. 複数のパラメータを有する機械学習モデルをトレーニングする方法であって、
    前記機械学習モデルが、前記機械学習モデルの前記第1のパラメータ値を決定するために第1の機械学習タスクに関してトレーニング済みであり、
    前記方法が、
    前記複数のパラメータの各々に関して、前記第1の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルに対する前記パラメータの重要度のそれぞれの尺度を決定するステップと、
    第2の異なる機械学習タスクに関して前記機械学習モデルをトレーニングするためのトレーニングデータを取得するステップと、
    前記機械学習モデルが前記第1の機械学習タスクに関して許容可能なレベルの性能を維持しながら前記第2の機械学習タスクに関して許容可能なレベルの性能を達成するように、前記第1のパラメータ値を調整するために前記トレーニングデータに関して前記機械学習モデルをトレーニングすることによって前記第2の機械学習タスクに関して前記機械学習モデルをトレーニングするステップと
    を含み、
    前記第2の機械学習タスクに関して前記機械学習モデルをトレーニングする間、前記第1の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルにおいてより重要であったパラメータ値が、前記第1の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルにおいてより重要でなかったパラメータ値よりも、前記第1の値から逸脱しないようにより強く制約される、方法。
  2. 前記第1の機械学習タスクおよび前記第2の機械学習タスクが、異なる教師あり学習タスクである、請求項1に記載の方法。
  3. 前記第1の機械学習タスクおよび前記第2の機械学習タスクが、異なる強化学習タスクである、請求項1に記載の方法。
  4. 前記トレーニングデータに関して前記機械学習モデルをトレーニングするステップが、
    (i)前記第2の機械学習タスクに関する前記機械学習モデルの性能を測定する第1の項と、
    (ii)前記第1のパラメータ値から逸脱するパラメータ値に対してペナルティを課す第2の項であって、前記第1の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも前記第1の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して前記第1の値からの逸脱により重いペナルティを与える、第2の項と
    を含む目的関数を最適化するために前記第1のパラメータ値を調整するステップを含む、
    請求項1から3のいずれか一項に記載の方法。
  5. 前記トレーニングデータに関して前記機械学習モデルをトレーニングするステップが、前記トレーニングデータ内の各トレーニング例に関して、
    モデルの出力を決定するために前記機械学習モデルの現在のパラメータ値に従って前記機械学習モデルを使用して前記トレーニング例を処理するステップと、
    前記モデルの出力、前記トレーニング例に関する目標出力、前記機械学習モデルの前記現在のパラメータ値、および前記機械学習モデルの前記第1のパラメータ値を使用して前記目的関数の勾配を決定するステップと、
    前記目的関数を最適化するために前記勾配を使用して前記現在のパラメータ値を調整するステップと
    を含む、請求項4に記載の方法。
  6. 前記第2の項が、前記複数のパラメータの各々に関して、前記パラメータの重要度の前記それぞれの尺度と、前記現在のパラメータ値と前記第1のパラメータ値との間の差との積に依存する、請求項4または5に記載の方法。
  7. 前記複数のパラメータの各々に関して、前記第1の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルに対する前記パラメータの重要度のそれぞれの尺度を決定するステップが、
    前記第1のタスクに関して前記機械学習モデルをトレーニングするために使用された第1のトレーニングデータを前提として、前記複数のパラメータの各々に関して、前記現在のパラメータ値が前記パラメータの正しい値である確率の概算を決定するステップを含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記複数のパラメータの各々に関して、前記第1の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルに対する前記パラメータの重要度のそれぞれの尺度を決定するステップが、
    前記第1の機械学習タスクに関連して前記機械学習モデルの前記複数のパラメータのフィッシャー情報行列(FIM)を決定するステップであって、前記複数のパラメータの各々に関して、前記パラメータの前記重要度の前記それぞれの尺度が、前記FIMの対角項の対応する値である、ステップを含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記機械学習モデルの前記第2のパラメータ値を決定するために前記第2の機械学習タスクに関して前記機械学習モデルをトレーニングした後、
    異なる第3の機械学習タスクに関して前記機械学習モデルをトレーニングするための第3のトレーニングデータを取得するステップと、
    前記機械学習モデルが前記第1の機械学習タスクおよび前記第2の機械学習タスクに関して許容可能なレベルの性能を維持しながら前記第3の機械学習タスクに関して許容可能なレベルの性能を達成するように、前記第2のパラメータ値を調整するために前記第3のトレーニングデータに関して前記機械学習モデルをトレーニングすることによって前記第3の機械学習タスクに関して前記機械学習モデルをトレーニングするステップと
    をさらに含み、
    前記第3の機械学習タスクに関して前記機械学習モデルをトレーニングする間、前記第1の機械学習タスクおよび前記第2の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルにおいてより重要であったパラメータ値が、前記第1の機械学習タスクおよび前記第2の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルにおいてより重要でなかったパラメータ値よりも前記第2の値から逸脱しないようにより強く制約される、
    請求項1から8のいずれか一項に記載の方法。
  10. 前記複数のパラメータの各々に関して、前記第2の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルに対する前記パラメータの重要度のそれぞれの尺度を決定するステップをさらに含み、
    前記第3のトレーニングデータに関して前記機械学習モデルをトレーニングするステップが、
    (i)前記第3の機械学習タスクに関する前記機械学習モデルの性能を測定する第1の項と、
    (ii)第1のパラメータ値から逸脱するパラメータ値に対してペナルティを課す第2の項であって、前記第1の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも前記第1の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して前記第1の値からの逸脱により重いペナルティを与える、第2の項と
    (iii)第2のパラメータ値から逸脱するパラメータ値に対してペナルティを課す第3の項であって、前記第2の機械学習タスクに関して許容可能な性能を達成する際により重要でなかったパラメータよりも前記第2の機械学習タスクに関して許容可能な性能を達成する際により重要であったパラメータに対して前記第2の値からの逸脱により重いペナルティを与える、第3の項と
    を含む目的関数を最適化するために前記第2のパラメータ値を調整するステップを含む、
    請求項9に記載の方法。
  11. 前記第2の項が、前記複数のパラメータの各々に関して、(i)前記第1の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルに対する前記パラメータの重要度の前記それぞれの尺度と、(ii)前記現在のパラメータ値と前記第1のパラメータ値との間の差との積に依存する、請求項10に記載の方法。
  12. 前記第3の項が、前記複数のパラメータの各々に関して、(i)前記第2の機械学習タスクに関して許容可能な性能を達成する前記機械学習モデルに対する前記パラメータの重要度の前記それぞれの尺度と、(ii)前記現在のパラメータ値と前記第2のパラメータ値との間の差との積に依存する、請求項10に記載の方法。
  13. 機械学習タスクを切り替えるときを特定するステップと、それに応じて、前記目的関数の前記第2の項を更新するステップとをさらに含む、請求項4に従属する場合の請求項4から8のいずれか一項に記載の方法。
  14. 機械学習タスクを切り替えるときを特定するステップが、どのタスクが1つまたは複数のモデルから実行されているのかを推測するステップを含む、請求項13に記載の方法。
  15. 1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されるときに、前記1つまたは複数のコンピュータに、請求項1から14のいずれか一項に記載のそれぞれの方法の動作を実行させるように動作可能である命令を記憶する1つまたは複数の記憶デバイスとを含む、システム。
  16. 1つまたは複数のコンピュータによって実行されるときに、前記1つまたは複数のコンピュータに、請求項1から14のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を符号化された、コンピュータ記憶媒体。
JP2019502693A 2016-07-18 2017-07-18 複数の機械学習タスクに関する機械学習モデルのトレーニング Active JP6824382B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662363652P 2016-07-18 2016-07-18
US62/363,652 2016-07-18
PCT/US2017/042542 WO2018017546A1 (en) 2016-07-18 2017-07-18 Training machine learning models on multiple machine learning tasks

Publications (2)

Publication Number Publication Date
JP2019525329A true JP2019525329A (ja) 2019-09-05
JP6824382B2 JP6824382B2 (ja) 2021-02-03

Family

ID=59416834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019502693A Active JP6824382B2 (ja) 2016-07-18 2017-07-18 複数の機械学習タスクに関する機械学習モデルのトレーニング

Country Status (7)

Country Link
US (1) US20190236482A1 (ja)
EP (2) EP4231197B1 (ja)
JP (1) JP6824382B2 (ja)
KR (1) KR102242516B1 (ja)
CN (1) CN109690576A (ja)
DE (1) DE202017007641U1 (ja)
WO (1) WO2018017546A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022549226A (ja) * 2019-09-20 2022-11-24 グーグル エルエルシー 強化学習を用いたデータ評価
JP2023510837A (ja) * 2020-01-28 2023-03-15 ディープ バイオ インク ニューロン-レベル塑性制御を通じて破局的忘却を克服するための方法およびこれを行うコンピューティングシステム
KR102510756B1 (ko) * 2022-09-07 2023-03-16 서울대학교병원 수술 중 또는 수술 후 뇌졸중 예측 장치 및 방법
WO2023199479A1 (ja) * 2022-04-14 2023-10-19 日本電信電話株式会社 学習装置、学習方法、および、学習プログラム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180314805A1 (en) * 2017-04-26 2018-11-01 International Business Machines Corporation Constraint-aware health management
CN110574048B (zh) * 2017-06-09 2023-07-07 渊慧科技有限公司 训练动作选择神经网络
US11741354B2 (en) * 2017-08-25 2023-08-29 Ford Global Technologies, Llc Shared processing with deep neural networks
US11562287B2 (en) 2017-10-27 2023-01-24 Salesforce.Com, Inc. Hierarchical and interpretable skill acquisition in multi-task reinforcement learning
US10573295B2 (en) * 2017-10-27 2020-02-25 Salesforce.Com, Inc. End-to-end speech recognition with policy learning
WO2019202073A1 (en) * 2018-04-18 2019-10-24 Deepmind Technologies Limited Neural networks for scalable continual learning in domains with sequentially learned tasks
US11544617B2 (en) 2018-04-23 2023-01-03 At&T Intellectual Property I, L.P. Network-based machine learning microservice platform
US10565475B2 (en) * 2018-04-24 2020-02-18 Accenture Global Solutions Limited Generating a machine learning model for objects based on augmenting the objects with physical properties
US11887003B1 (en) * 2018-05-04 2024-01-30 Sunil Keshav Bopardikar Identifying contributing training datasets for outputs of machine learning models
US11645509B2 (en) 2018-09-27 2023-05-09 Salesforce.Com, Inc. Continual neural network learning via explicit structure learning
US11922323B2 (en) * 2019-01-17 2024-03-05 Salesforce, Inc. Meta-reinforcement learning gradient estimation with variance reduction
KR20200100302A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들
CN111985637A (zh) * 2019-05-21 2020-11-24 苹果公司 具有多个处理任务的条件执行的机器学习模型
CN112054863B (zh) * 2019-06-06 2021-12-21 华为技术有限公司 一种通信方法及装置
KR20210010284A (ko) 2019-07-18 2021-01-27 삼성전자주식회사 인공지능 모델의 개인화 방법 및 장치
WO2021010651A1 (en) * 2019-07-18 2021-01-21 Samsung Electronics Co., Ltd. Method and apparatus for artificial intelligence model personalization
US11531831B2 (en) * 2019-09-30 2022-12-20 Meta Platforms, Inc. Managing machine learning features
US20210150345A1 (en) * 2019-11-14 2021-05-20 Qualcomm Incorporated Conditional Computation For Continual Learning
US11475239B2 (en) * 2019-11-21 2022-10-18 Paypal, Inc. Solution to end-to-end feature engineering automation
CN112836714B (zh) * 2019-11-22 2024-05-10 杭州海康威视数字技术股份有限公司 一种智能模型的训练方法及装置
CN111079938B (zh) * 2019-11-28 2020-11-03 百度在线网络技术(北京)有限公司 问答阅读理解模型获取方法、装置、电子设备及存储介质
WO2021137100A1 (en) * 2019-12-30 2021-07-08 Element Ai Inc. Method of and server for training a machine learning algorithm for estimating uncertainty of a sequence of models
US11562203B2 (en) 2019-12-30 2023-01-24 Servicenow Canada Inc. Method of and server for training a machine learning algorithm for estimating uncertainty of a sequence of models
CN113132765A (zh) * 2020-01-16 2021-07-16 北京达佳互联信息技术有限公司 码率决策模型训练方法、装置、电子设备及存储介质
US11631030B2 (en) 2020-02-11 2023-04-18 International Business Machines Corporation Learning with moment estimation using different time constants
CN111814462B (zh) * 2020-07-09 2021-02-09 四川大学 基于动态正则化的高效终身关系提取方法及系统
CN112001181B (zh) * 2020-07-17 2024-02-13 北京百度网讯科技有限公司 多语言语义表示模型的训练方法、装置、设备及存储介质
US11694038B2 (en) * 2020-09-23 2023-07-04 Capital One Services, Llc Systems and methods for generating dynamic conversational responses through aggregated outputs of machine learning models
US20220114439A1 (en) * 2020-10-08 2022-04-14 Here Global B.V. Method, apparatus, and system for generating asynchronous learning rules and/architectures
CN112698933A (zh) * 2021-03-24 2021-04-23 中国科学院自动化研究所 在多任务数据流中持续学习的方法及装置
WO2024071845A1 (ko) * 2022-09-28 2024-04-04 주식회사 메디컬에이아이 의료용 인공지능 모델의 구축 방법, 프로그램 및 장치
CN115952851A (zh) * 2022-11-04 2023-04-11 电子科技大学 一种基于信息丢失机制的自监督连续学习方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173405A (ja) * 1997-08-27 1999-03-16 Nippon Telegr & Teleph Corp <Ntt> 神経回路網型逐次学習方法、神経回路網型逐次学習装置および神経回路網型逐次学習プログラムを記録した記録媒体
US7444310B2 (en) * 2002-04-19 2008-10-28 Computer Associates Think, Inc. Automatic model maintenance through local nets
US9146546B2 (en) * 2012-06-04 2015-09-29 Brain Corporation Systems and apparatus for implementing task-specific learning using spiking neurons
US9031897B2 (en) * 2012-03-23 2015-05-12 Nuance Communications, Inc. Techniques for evaluation, building and/or retraining of a classification model
US9104961B2 (en) * 2012-10-08 2015-08-11 Microsoft Technology Licensing, Llc Modeling a data generating process using dyadic Bayesian models
US10289962B2 (en) * 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
US10002329B2 (en) * 2014-09-26 2018-06-19 Facebook, Inc. Selection and modification of features used by one or more machine learned models used by an online system
US20170132528A1 (en) * 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Joint model training

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022549226A (ja) * 2019-09-20 2022-11-24 グーグル エルエルシー 強化学習を用いたデータ評価
JP7293504B2 (ja) 2019-09-20 2023-06-19 グーグル エルエルシー 強化学習を用いたデータ評価
JP2023510837A (ja) * 2020-01-28 2023-03-15 ディープ バイオ インク ニューロン-レベル塑性制御を通じて破局的忘却を克服するための方法およびこれを行うコンピューティングシステム
JP7431473B2 (ja) 2020-01-28 2024-02-15 ディープ バイオ インク ニューロン-レベル塑性制御を通じて破局的忘却を克服するための方法およびこれを行うコンピューティングシステム
WO2023199479A1 (ja) * 2022-04-14 2023-10-19 日本電信電話株式会社 学習装置、学習方法、および、学習プログラム
KR102510756B1 (ko) * 2022-09-07 2023-03-16 서울대학교병원 수술 중 또는 수술 후 뇌졸중 예측 장치 및 방법

Also Published As

Publication number Publication date
EP4231197A1 (en) 2023-08-23
KR20190028531A (ko) 2019-03-18
KR102242516B1 (ko) 2021-04-20
EP4231197B1 (en) 2024-04-24
EP3485432A1 (en) 2019-05-22
WO2018017546A1 (en) 2018-01-25
US20190236482A1 (en) 2019-08-01
JP6824382B2 (ja) 2021-02-03
DE202017007641U1 (de) 2024-01-24
CN109690576A (zh) 2019-04-26
EP3485432B1 (en) 2023-05-31

Similar Documents

Publication Publication Date Title
JP6824382B2 (ja) 複数の機械学習タスクに関する機械学習モデルのトレーニング
US11783182B2 (en) Asynchronous deep reinforcement learning
US11886992B2 (en) Training reinforcement learning neural networks
CN110476172B (zh) 用于卷积神经网络的神经架构搜索
CN110235148B (zh) 训练动作选择神经网络
AU2016297852B2 (en) Continuous control with deep reinforcement learning
US20190354868A1 (en) Multi-task neural networks with task-specific paths
US11907837B1 (en) Selecting actions from large discrete action sets using reinforcement learning
KR20200110400A (ko) 학습 데이터 증강 정책
JP6728495B2 (ja) 強化学習を用いた環境予測
EP3586277A1 (en) Training policy neural networks using path consistency learning
US20170213150A1 (en) Reinforcement learning using a partitioned input state space
EP3593292A1 (en) Training action selection neural networks
WO2018189404A1 (en) Distributional reinforcement learning
CN111598253A (zh) 使用教师退火来训练机器学习模型
CN111989696A (zh) 具有顺序学习任务的域中的可扩展持续学习的神经网络
JP2020508527A (ja) ニューラルエピソード制御
US12020155B2 (en) Reinforcement learning using baseline and policy neural networks
US11893480B1 (en) Reinforcement learning with scheduled auxiliary control
US12020164B2 (en) Neural networks for scalable continual learning in domains with sequentially learned tasks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210112

R150 Certificate of patent or registration of utility model

Ref document number: 6824382

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250