JP2021189553A - 訓練装置、モデル生成方法及びプログラム - Google Patents
訓練装置、モデル生成方法及びプログラム Download PDFInfo
- Publication number
- JP2021189553A JP2021189553A JP2020091661A JP2020091661A JP2021189553A JP 2021189553 A JP2021189553 A JP 2021189553A JP 2020091661 A JP2020091661 A JP 2020091661A JP 2020091661 A JP2020091661 A JP 2020091661A JP 2021189553 A JP2021189553 A JP 2021189553A
- Authority
- JP
- Japan
- Prior art keywords
- loss
- model
- gradient
- training
- processors
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】訓練データのデータセットが有するバイアスの影響を低減したモデルを生成する、訓練装置、モデル生成方法及びプログラムを提供する。【解決手段】訓練装置1は、入力部100を介して必要なデータを取得し、選択部104を介して複数のデータセットの中から1つのデータセットを選択する。次に、順伝播部106、損失算出部108及び逆伝播部110を介して、データセットに属する訓練データを用いて、モデルの現在のパラメータにおける、データセットの損失及び勾配を算出する。更新部112は、選択された全データセットの損失と勾配とに基づいてモデル10のパラメータを更新する。【選択図】図1
Description
本開示は、訓練装置、モデル生成方法及びプログラムに関する。
近年、AI技術の発展に伴い、ニューラルネットワークに基づく訓練済モデルが様々な分野において応用され始めている。モデルは、すでに収集されている訓練データに基づいて訓練されることが多いが、この訓練データのデータセットは、特定の限定された環境で取得されることが多い。このため、訓練されたモデル自体が、データセットを取得した環境に特有のバイアスを有することがある。一例として、画像を用いて動物を判定する場合、犬は、屋外で芝生を背景にしていることが多く、猫は、屋内で壁紙又は床を背景にしていることが多い。このような画像を用いてモデルを訓練すると、背景により推論結果が変わるようなバイアスが掛けられることがある。つまり、このデータセットに特有のバイアスは、訓練環境と、推論環境(テスト環境を含む)が異なる場合、推論の性能を下げることにも起因する。
M. Arjovsky, et.al., "Invariant Risk Minimization," March 27, 2020, arXiv, [インターネット], https://arxiv.org/abs/1907.02893v3
本開示は、訓練データのデータセットが有するバイアスの影響を低減したモデルを生成する、訓練装置、モデル生成方法及びプログラムを提供する。
一実施形態によれば、訓練装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出し、前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得し、第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出し、前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得し、前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新する。
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。
図1は、一実施形態に係る訓練装置を模式的に示すブロック図である。訓練装置1は、入力部100と、記憶部102と、選択部104と、順伝播部106と、損失算出部108と、逆伝播部110と、更新部112と、出力部114と、を備える。訓練装置1は、機械学習の訓練を行うことにより、モデル10の最適化を実行する。モデル10は、例えば、入力層・中間層・出力層を持つニューラルネットワークモデルであり、タスクに応じたニューラルネットワークモデルであってよい。例えば、入力画像からその画像のラベルを推定タスクであれば、モデル10は、畳み込みニューラルネットワークモデルが好適である。以下このモデル10に用いられるモデルパラメータをθで表す。すなわち、訓練装置1は、このパラメータθを最適化するために、訓練を実行する。パラメータθは、ニューラルネットワークモデルの各層に含まれるノード間の結合の重みの集合を含んでよい。
入力部100は、訓練装置1の入力を受け付ける。入力は、例えば、訓練データである。また、最適化に必要となるニューラルネットワークのハイパーパラメータ等が入力部100を介して訓練装置1に入力されてもよい。
本実施形態において、訓練データは、複数のデータセットから構成される。それぞれのデータセットは、個々に特有のバイアスを有していてもかまわない。
例えば、複数のカメラマンにより撮影された画像を訓練データとして用いる場合、1人1人が撮影した画像を、それぞれデータセットとしてもよい。より具体的には、カメラマンAが撮影した画像群IAを第1データセット、カメラマンBが撮影した画像群IBを第2データセット、等としてもよい。
これは一例としてあげたものであり、データセットの設定は、カメラマンに限られるものではない。データセットは、撮影者以外の種々の環境により区別されてもよい。例えば、室内の画像のデータセット、屋外の画像のデータセット、住宅で取得されたデータセット、等としてもよい。すなわち、データセットを取得する環境は、撮影者、撮影時間、撮影場所等の種々の環境によるものであるが、これには限られず、特有のバイアスが掛かるようなデータセットを取得する環境であってもよい。
また、データセットは、訓練データとして有効に用いることができるデータセットであれば画像に限られるものではない。例えば、種々のセンサにより、種々の環境において取得された訓練データ群を、それぞれデータセットとして、訓練に用いてもよい。
記憶部102は、訓練装置1の訓練において用いられる種々のデータを格納する。例えば、入力部100を介して入力されたデータを記憶部102に格納してもよい。また、ソフトウェアの情報処理がハードウェア資源を用いて具体的に実現する訓練装置1である場合には、当該ソフトウェアに関するデータ、プログラム等を記憶部102に格納してもよい。
記憶部102には、訓練の対象となるニューラルネットワークのハイパーパラメータ及びパラメータθが格納されてもよい。各構成要素は、必要に応じて記憶部102に格納されているデータにアクセスして訓練を実現する。ブロック図中には、記憶部102へ、又は、記憶部102からの矢印は示していないが、必要に応じて記憶部102と、各構成要素とのアクセスが実行される。
モデル10は、例えば、ニューラルネットワークに基づいたモデルであり、訓練装置1の訓練の対象となるモデルである。また、訓練されたモデル10により推定装置における推定が実行される。
選択部104は、複数の訓練データのデータセットのうち、順伝播計算の対象とするデータセットを選択する。ここで、データセットの群を、GEとおく。選択部104は、データセット群GEから、1のデータセットeを選択する。データセットeは、上述したように、ある環境において観測(取得)されたデータのことである。この選択されたデータセットeから、モデルの現在のパラメータθにおける、当該モデルの損失と損失の勾配とが算出される。なお現在のパラメータθとは、パラメータθの現時点における値を指す。
順伝播部106は、選択されたデータセットeに属する訓練データを用いてモデル10の順伝播計算を行う。具体的には、順伝播部106は、モデル10の入力層に訓練データを入力し、その入力された訓練データ及び現在のパラメータθに基づいて出力層の出力データ(出力値)を計算する。これにより、例えば、現在のパラメータθにおける訓練データのラベルの推定値を取得できる。
損失算出部108は、順伝播部106により計算された出力データ(例えば、訓練データのラベルの推定値)と、訓練データの教師データ(例えば、訓練データの正解ラベル)と、に基づいて、データセットeにおける損失Leを算出する。損失算出部108は、例えば、対数尤度を用いて損失Leを算出する。本実施形態では一例として、この損失Leを後述の式(22)によって定義される関数Leから算出する。以後、損失Leという場合、この関数自体を指すのかこの関数から算出される値を指すのかは、文脈に応じて決まることに注意すべきである。
逆伝播部110は、算出された損失Leに基づいてモデル10の逆伝播計算を行い、損失Leのパラメータθに関する勾配を算出する。具体的には、逆伝播部110は、データセットeに対して、誤差逆伝播アルゴリズムにしたがって損失Leを逆伝播させることによって、現在のパラメータθにおける、損失Leの勾配∇θ Le(θ)を算出する。
更新部112は、データセットeごとに算出された損失Leと勾配∇θ Le(θ)に基づいて、パラメータθを更新する。本実施形態の更新部112は、複数のデータセットについて算出された損失の大きさを表す第1指標、及び、それら複数のデータセットについて算出された勾配の散らばりの大きさを表す第2指標を算出し、これら第1指標および第2指標に基づいて種々の勾配降下法を用いて最適化を実行する。例えば、この第1指標および第2指標を含む目的関数の値を小さくするパラメータθを見つける最適化が行われる。目的関数として後述の式(21)が用いられてよく、第2指標はこの目的関数の正則化項として働く。すなわち更新部112は、複数のデータセットに対する損失の大きさを小さくし、且つ、複数のデータセットに対する損失の勾配の散らばりの大きさを小さくする方向に、パラメータθを更新する。第1指標及び第2指標はそれぞれ、例えば、全てのデータセットについて算出された損失の平均、及び、全てのデータセットについて算出された勾配の分散であってよい。
出力部114は、更新部112が更新したパラメータθを出力することにより、最適化されたモデル10を出力する。この出力とは、例えば、インタフェースを介した外部への出力、及び、記憶部102への出力を含む。
図2は、本実施形態に係る処理の流れを示すフローチャートである。このフローチャートにしたがい、訓練装置1の処理についてより詳しく説明する。
まず、訓練装置1は、入力部100を介して必要なデータを取得する(S100)。取得したデータは、必要に応じて記憶部102に格納してもよい。また、最初に一度のデータを取得するのではなく、訓練中に入力インタフェースを介してネットワーク等を通じてデータを取得してもよい。すなわち、フローチャートで示しているが、S100は、この段階で行う必要は無く、訓練装置1は、データが必要となった段階で適切なデータを取得し、格納するものであればよい。
次に、選択部104は、複数のデータセットの中から1つのデータセットを選択する(S102)。例えば、データセット群GEからある1つのデータセットeを選択する。このタイミングにおいて、データセットeに属する訓練データ(訓練データセット)を取得してもよい。この1つのデータセットについて損失Leと勾配∇θ Le(θ)が算出される。
次に、順伝播部106、損失算出部108、逆伝播部110は、データセットeに属する訓練データを用いて、モデルの現在のパラメータθにおける、データセットeの損失Le及び勾配∇θ Le(θ)を算出(取得)する(S104)。これらの値は、例えば、記憶部102に(一時的に)格納されてもよい。
次に、訓練装置1は、モデルの訓練に用いる全てのデータセットについて損失Leと勾配∇θ Le(θ)が算出(取得)されているかを判断する(S106)。損失と勾配が未取得なデータセットがあると判断されれば、全データセットの選択が終了していないので(S106:NO)、現在のパラメータθにおいて、データセットの選択からの処理を繰り返す(S102〜S104)。この繰り返し処理によって、ある一時点のパラメータθにおける損失と勾配が、全データセットについて得られる。
全データセットについて損失と勾配が取得されていれば、訓練に用いるデータセットの選択が終了しているので(S106:YES)、更新部112は、選択された全データセットの損失と勾配とを用いてモデル10のパラメータθを更新する(S108)。上述したように、この更新は、適切に勾配を用いて最適化する手法で実行される。この勾配降下には、例えば、確率的勾配降下法、バッチ勾配降下法等、任意の手法を用いることができる。
更新部112は、訓練が終了したか否かを判断し(S110)、訓練が終了していない場合(S110:NO)は、訓練を繰り返す(S102〜S108)。一方で、訓練が終了している場合(S110:YES)は、訓練を終了し、パラメータθを出力して(S112)処理を終了する。訓練の終了は、一般的に用いられる方法で判断してもよく、例えば、ロス(損失)、アキュラシにより判断してもよいし、所定数のエポックが終了しているか否かにより判断してもよい。
このように生成されたモデル10は、推定装置に組み込まれて、例えば、分類等に用いることができる。
ここで、上記の技術的背景について説明する。一例として、分類器について説明するが、例えば、回帰問題、各種生成器等、より広い分野についても、上記の形態及び下記の説明は適用可能である。
まず、複数のデータセットから構成されるデータセット群GEを生成するモデルに対して、式(1)の前提条件を満たす集合が空集合でないことを仮定する。また、(\mathcal)Eは、データセットのバイアスに寄与するランダム変数であり、eをその実現値とする。
ここで、Xは、訓練データにおける入力データ、Yは、ラベルデータ(教師データ)であるとする。また、σ(X)は、なんらかの可測な関数gを用いてZ = g(X)で表されるZの集まりのことであり、Y⊥(\mathcal)Eとは、Yと(\mathcal)Eとが独立であることを示す。
予測器が訓練データ分布外(out-of-distribution:OOD)にも適切に適用できるのであれば、式(2)、式(3)の下で、全てのeφに対して、式(4)を満たすようなe~ψ(eのtildeを以下e~と表す。hatについても同様に変数の後に^として表す。)が存在するならば、式(5)の命題が成り立つ。
すなわち、X⊥Yであれば、環境(\mathcal)Eをサポートとして有するデータセットeにおいて、Le (f)の上限を最小にするfが、式(3)のf*(X)となる。ここで、式(3)における(\double)E[・]は、期待値を示す。
この命題は、Φを含む他の不変の特徴が無いという意味で、Φが最大ではない限り、(\double)E[Y|Φ]のOODのデータに対する適用性を保証できる外部因子を見つけることが困難であることを示す。このため、次の目的関数を最適化することが有効であると結論付けすることができる。
式(10)を満たす解を探索し、式(11)を計算することにより、OODのデータに対しても適切な推論を実現することができる。しかしながら、Φ*を探索することは、I(・)が確率密度p(Y | Φ)をその評価として必要とする。そして、p(・)の算出は、XとYの密度が未知であるため、計算することが困難である。この結果、以下のように近似してモデル10の探索を行う。
以下において、確率Pの確率密度をp、確率Qの確率密度をqと記載する。また、Pを近似するQをξでパラメタライズし、Φをηでパラメタライズする。式(10)を以下のように解釈する。
ここで、dKL[・||・]は、カルバック・ライブラー距離を示す。この式(12)を最適化することにより、モデル10の最適化を行う。
式(12)の最後の項は、正則化項であり、Φが集合(\mathcal)Iに含まれるようにする項である。また、第2項は、qをpに近似するための項である。そして、第1項は、YとΦとを相関させる項である。
φをΦの具現化した表現であるとすると、q(y|φ)は、φの選択に依存する。例えば、qξ(y|φ)がf(y, x, ξ, η)としてモデル化される場合、η ≠ η′としたf(y, x, ξ, η′)は、一般にqξ(y|φ′)とは等しくならず、むしろ別のq~ξに等しくなる。この結果、qξ(y|φ′)は、密度rに関するargminr dKL[qξ(y|φη)||r(y|φ′)]の解として最適化され、最適なrは、ηに依存することが明らかであることに留意されたい。このため、ηとξの選択は、独立ではなく、ξとηの同時の更新は、無意味になりかねない。
この問題を回避するために、q(y|φ)を、結合パラメータθによりパラメタライズされるxの関数であると扱う。そして、q(y|φ) := qθ(y|x)とする。そして、損失Le(θ) = dKL[p(Y|X, e)||qθ(Y|X)]とすると、上記の最適化は、θにより、以下のように表すことができる。
qθ(y|x, e)とqθ(y|x)をモデル化できれば、上記の式により訓練装置1の最適化を実行することができる。一実施形態として、全てのeに対してqθ(y|x, e) = qθ(y|x; θ(e))となるような対応するθ(e)が存在するように、qをモデル化する。θとθ(e)に条件付き期待値にしたがうように、式(18)、式(19)により、θ(e)によりパラメタライズされた共通関数hを用いてqθ(y|x)及びqθ(y|x, e)を表す。
モデルが十分に規則的である場合、十分に小さいαに対して、(\double)E[qθ(y|x, (\mathcal)E)] ≒ qθ(y|x)が成り立つと仮定できる。また、定義によっては、qθ(y|x, e)は、常にqθ(y|x)よりもp(y|x, e)に近くなり、全てのgにおいて、p(y|g(x), e)は、p(y|g(x))よりもp(y|x, e)に近いということがいえる。そして、式(17)の正則化項は、以下のように近似することができる。
図3は、一実施形態に係る訓練装置1の処理を示す擬似コードを示す。この擬似コードは、上記の式(21)に基づいて、モデル10の最適化を実行する。
まず、訓練装置1は、入力としてモデル10としてqθ(y|x)と、訓練に用いるデータセットに属するモデル10の入力データX及びラベルYと、を入力する。
訓練装置1は、処理が終了すると、モデル10としてqθを出力する。例えば、入力は、モデル10のハイパーパラメータ及び初期パラメータであり、出力は、最適化されたモデル10のパラメータである。
1:最適化処理のループを開始する。
2:複数のデータセット群Gtrainにおいて、データセットeを選択してループを開始する。これは図2のステップS102に対応する。
3:損失Le(θ)を、現在のパラメータθにより形成されるモデル10であるqθに選択したデータセットeにおける入力データXを入力した場合にモデル10が出力するラベルYの出力確率に基づいて算出する。対数尤度の計算は、例えば、式(22)による確率密度の対数尤度として計算する。これは図2のステップS104に対応する。
4:損失Le(θ)に基づいて、勾配∇θ Le(θ)を算出する。これは図2のステップS104に対応する。
5:ステップ2〜4を訓練に用いるデータセット分だけ繰り返す。これは図2のステップS106に対応する。
6:複数のデータセット群Gtrainについての損失を、例えば、ステップ3で算出した各データセットにおける損失の平均値として算出する。これは図2のステップS108に対応する。
7:複数のデータセット群Gtrainについての勾配を、例えば、ステップ4で算出した勾配に基づいて算出する。勾配の計算は、例えば、式(23)による。
Var^は、例えば、各データセットにおける勾配∇θ Le(θ)を全体として分散(分散共分散行列)として表したものである。この対角和をとることにより、パラメータθの各要素についての分散値の和を算出することにより、算出される。この算出は、式(23)に限られたものではなく、例えば、重み付きの分散の和であってもよいし、又は、フロベニウスノルム、スペクトルノルム等の行列に関して適切に距離が算出できる手法により実行されてもよい。これは図2のステップS108に対応する。
8:パラメータθを適切な勾配降下法を用いて更新する。これは図2のステップS108に対応する。
9:訓練の終了条件を満たすまで、2〜8のステップが繰り返される。これは図2のステップS110に対応する。
このように、訓練装置1は、モデル10の最適化を実行する。
以上のように、本実施形態によれば、訓練装置は、モデルのパラメータに亘り、異なるデータセットから取得される損失及び勾配に基づいて更新をすることにより、データセットの個々が有するバイアスによる訓練ではなく、データセット全体としての傾向を取得できるモデルの最適化を実現することが可能となる。上記のように最適化をすることにより、環境に起因する種々のバイアスの影響を軽減することができる。
これは、式(21)に基づいて、第1項により全環境における損失を下げつつ、第2項により正則化項としてモデルの現在のパラメータθでの損失の勾配の環境間の分散を下げる方向に、パラメータθを更新することから実現できる。このように、式(21)の正則化項(第2項)により、モデルが、全環境が有する不変な部分に関する特徴を好適に抽出できるようなパラメータθを探索する役割を果たす。
さらに、訓練環境と実際の運用環境が異なるようなケースにおいても応用することができる。これは、訓練環境に固有のバイアスの影響を軽減し、訓練したデータセットの領域外のデータについても推論ができる最適化を実行することができるためである。
より具体的な例としては、
家庭用ロボットが訓練環境では想定されていないような環境で用いられる、
CT画像を用いて検診をする場合に、CT画像が撮影した装置によって固有のノイズが存在する、
物体認識を実行する場合に、照明の向きなどによって陰影の具合が変わってしまし、モデルが利用される環境とは異なる条件である、
といった環境における推論の制度を向上することができる。もちろん、この他にも、複数の環境のデータセットがある場合に、本実施形態の最適化を利用することが可能である。
家庭用ロボットが訓練環境では想定されていないような環境で用いられる、
CT画像を用いて検診をする場合に、CT画像が撮影した装置によって固有のノイズが存在する、
物体認識を実行する場合に、照明の向きなどによって陰影の具合が変わってしまし、モデルが利用される環境とは異なる条件である、
といった環境における推論の制度を向上することができる。もちろん、この他にも、複数の環境のデータセットがある場合に、本実施形態の最適化を利用することが可能である。
図4は、上述の実施形態に係る訓練装置1により最適化されたモデル10を用いた推論を行う推定装置の一例を模式的に示すブロック図である。
推定装置2は、例えば、入力部200と、記憶部202と、順伝播部206と、出力部214と、を備える。
入力部200は、推定する対象となるデータの入力を受け付ける。
記憶部202は、推定に必要となるデータ等を格納する。推定装置2は、前述の訓練装置1により最適化されたモデル10を用いて推論を行うが、このモデル10のパラメータθ等、モデルの形成に必要なデータが格納されてもよい。また、ソフトウェアの処理場合、このソフトウェアに関するプログラム等が格納されていてもよい。
順伝播部206は、モデル10に入力部200を介して入力されたデータを順伝播し、推定を実行する。
出力部214は、モデル10から出力される結果を外部、又は、内部へと出力する。
この推定装置2は、例えば、上記のように、ロボットに備えられたり、CT画像の検査装置に備えられたり、物体認識を行う装置に備えられたりする。
前述した実施形態における各装置(訓練装置1又は推定装置2)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
図5は、前述した実施形態における各装置(訓練装置1又は推定装置2)のハードウェア構成の一例を示すブロック図である。各装置は、プロセッサ71と、主記憶装置72と、補助記憶装置73と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
図5のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図5では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(訓練装置1又は推定装置2)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
前述した実施形態における各装置(訓練装置1又は推定装置2)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
前述した実施形態における各装置(訓練装置1及び/又は推定装置2)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(訓練装置1又は推定装置2)において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部102、202は、主記憶装置72又は補助記憶装置73に実装されてもよい。
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(訓練装置1又は推定装置2)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。
外部装置9Aは、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、又は入力元デバイス等が含まれる。外部装置9Aとして、外部の記憶装置(メモリ)、例えば、ネットワークストレージ等を備えてもよい。また、外部装置9Aは、前述した実施形態における各装置(訓練装置1又は推定装置2)の構成要素の一部の機能を有する装置でもよい。そして、コンピュータ7は、処理結果の一部又は全部を、クラウドサービスのように通信ネットワーク8を介して受信してもよいし、コンピュータ7の外部へと送信してもよい。
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。外部装置9Bは、外部記憶媒体でもよいし、記憶装置(メモリ)でもよい。前述した実施形態における記憶部102、202は、外部装置9Bにより実現されてもよい。
本明細書(請求項を含む)において、「a、bおよびcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
本明細書(請求項を含む)において、「最大化(maximize)」等の用語は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
Claims (15)
1又は複数のメモリと、
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出し、
前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得し、
第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出し、
前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得し、
前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新する、
訓練装置。
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出し、
前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得し、
第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出し、
前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得し、
前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新する、
訓練装置。
前記1又は複数のプロセッサは、前記第1勾配と、前記第2勾配と、を少なくとも用いて、勾配の散らばりの大きさを示す指標を算出し、当該指標を用いて勾配の散らばりが小さくなるよう前記パラメータの前記更新を行う、請求項1に記載の訓練装置。
前記1又は複数のプロセッサは、
勾配の分散情報に基づいて、前記パラメータを更新する、
請求項1又は2に記載の訓練装置。
勾配の分散情報に基づいて、前記パラメータを更新する、
請求項1又は2に記載の訓練装置。
前記勾配の分散情報は、分散共分散行列の対角和、フロベニウスノルム又はスペクトルノルムの少なくとも1つである、
請求項3に記載の訓練装置。
請求項3に記載の訓練装置。
前記1又は複数のプロセッサは、
損失の平均値に基づいて、前記パラメータを更新する、
請求項1乃至4のいずれかに記載の訓練装置。
損失の平均値に基づいて、前記パラメータを更新する、
請求項1乃至4のいずれかに記載の訓練装置。
前記第1損失及び前記第2損失は、対数尤度で表される、
請求項1乃至5のいずれかに記載の訓練装置。
請求項1乃至5のいずれかに記載の訓練装置。
前記1又は複数のプロセッサは、
損失の平均値と、勾配の分散情報と、の和に基づいて前記パラメータを更新する、
請求項1に記載の訓練装置。
損失の平均値と、勾配の分散情報と、の和に基づいて前記パラメータを更新する、
請求項1に記載の訓練装置。
前記1又は複数のプロセッサは、
前記損失の平均値と、前記勾配の分散情報と、の和を小さくするように前記パラメータを最適化する、
請求項7に記載の訓練装置。
前記損失の平均値と、前記勾配の分散情報と、の和を小さくするように前記パラメータを最適化する、
請求項7に記載の訓練装置。
1又は複数のメモリと、
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
モデルの訓練に用いられる複数の訓練データセットそれぞれについて、当該モデルのある時点のパラメータにおける、モデルの損失および損失の勾配を算出し、
前記複数のデータセットそれぞれについて算出された前記損失の前記勾配に基づいて、前記パラメータを更新する、
訓練装置。
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
モデルの訓練に用いられる複数の訓練データセットそれぞれについて、当該モデルのある時点のパラメータにおける、モデルの損失および損失の勾配を算出し、
前記複数のデータセットそれぞれについて算出された前記損失の前記勾配に基づいて、前記パラメータを更新する、
訓練装置。
前記1又は複数のプロセッサは、
前記複数のデータセットの損失の平均値、及び、前記複数のデータセットの勾配の分散、に基づいて、前記パラメータを更新する、
請求項9に記載の訓練装置。
前記複数のデータセットの損失の平均値、及び、前記複数のデータセットの勾配の分散、に基づいて、前記パラメータを更新する、
請求項9に記載の訓練装置。
前記モデルは多層のニューラルネットワークモデルであって、
前記パラメータは、前記ニューラルネットワークモデル内のノード間の結合の重みを含む、
請求項1乃至10のいずれかに記載の訓練装置。
前記パラメータは、前記ニューラルネットワークモデル内のノード間の結合の重みを含む、
請求項1乃至10のいずれかに記載の訓練装置。
1又は複数のプロセッサにより、
第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出し、
前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得し、
第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出し、
前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得し、
前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新する、
モデル生成方法。
第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出し、
前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得し、
第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出し、
前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得し、
前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新する、
モデル生成方法。
1又は複数のプロセッサにより、
モデルの訓練に用いられる複数の訓練データセットそれぞれについて、当該モデルのある時点のパラメータにおける、モデルの損失および損失の勾配を算出し、
前記複数のデータセットそれぞれについて算出された前記損失の前記勾配に基づいて、前記パラメータを更新する、
モデル生成方法。
モデルの訓練に用いられる複数の訓練データセットそれぞれについて、当該モデルのある時点のパラメータにおける、モデルの損失および損失の勾配を算出し、
前記複数のデータセットそれぞれについて算出された前記損失の前記勾配に基づいて、前記パラメータを更新する、
モデル生成方法。
1又は複数のプロセッサに、
前記1又は複数のプロセッサは、
第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出することと、
前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得することと、
第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出することと、
前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得することと、
前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新することと
実行させるプログラム。
前記1又は複数のプロセッサは、
第1訓練データセットをモデルに入力して、当該モデルの現在のパラメータにおける第1損失を算出することと、
前記第1損失に基づいて、前記現在のパラメータにおける第1勾配を取得することと、
第2訓練データセットを前記モデルに入力して、前記現在のパラメータにおける第2損失を算出することと、
前記第2損失に基づいて、前記現在のパラメータにおける第2勾配を取得することと、
前記第1損失と、前記第2損失と、前記第1勾配と、前記第2勾配と、に少なくとも基づいて、前記モデルのパラメータを更新することと
実行させるプログラム。
1又は複数のプロセッサに、
モデルの訓練に用いられる複数の訓練データセットそれぞれについて、当該モデルのある時点のパラメータにおける、モデルの損失および損失の勾配を算出することと、
前記複数のデータセットそれぞれについて算出された前記損失の前記勾配に基づいて、前記パラメータを更新することと、
を実行させるプログラム。
モデルの訓練に用いられる複数の訓練データセットそれぞれについて、当該モデルのある時点のパラメータにおける、モデルの損失および損失の勾配を算出することと、
前記複数のデータセットそれぞれについて算出された前記損失の前記勾配に基づいて、前記パラメータを更新することと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020091661A JP2021189553A (ja) | 2020-05-26 | 2020-05-26 | 訓練装置、モデル生成方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020091661A JP2021189553A (ja) | 2020-05-26 | 2020-05-26 | 訓練装置、モデル生成方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021189553A true JP2021189553A (ja) | 2021-12-13 |
Family
ID=78850297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020091661A Pending JP2021189553A (ja) | 2020-05-26 | 2020-05-26 | 訓練装置、モデル生成方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021189553A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522532A (zh) * | 2024-01-08 | 2024-02-06 | 浙江大学 | 一种流行度纠偏推荐方法、装置、电子设备及存储介质 |
-
2020
- 2020-05-26 JP JP2020091661A patent/JP2021189553A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522532A (zh) * | 2024-01-08 | 2024-02-06 | 浙江大学 | 一种流行度纠偏推荐方法、装置、电子设备及存储介质 |
CN117522532B (zh) * | 2024-01-08 | 2024-04-16 | 浙江大学 | 一种流行度纠偏推荐方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816561B2 (en) | Methods, systems, articles of manufacture and apparatus to map workloads | |
CN112052948B (zh) | 一种网络模型压缩方法、装置、存储介质和电子设备 | |
US20210081763A1 (en) | Electronic device and method for controlling the electronic device thereof | |
US20230196202A1 (en) | System and method for automatic building of learning machines using learning machines | |
US9047566B2 (en) | Quadratic regularization for neural network with skip-layer connections | |
US20240095535A1 (en) | Executing a genetic algorithm on a low-power controller | |
US20210312278A1 (en) | Method and apparatus with incremental learning moddel | |
CN117501245A (zh) | 神经网络模型训练方法和装置、数据处理方法和装置 | |
CN116187430A (zh) | 一种联邦学习方法及相关装置 | |
CN111523593A (zh) | 用于分析医学影像的方法和装置 | |
JP2021189553A (ja) | 訓練装置、モデル生成方法及びプログラム | |
JP2020191017A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
CN114662646A (zh) | 实现神经网络的方法和装置 | |
WO2020169182A1 (en) | Method and apparatus for allocating tasks | |
CN113139650A (zh) | 深度学习模型的调优方法和计算装置 | |
US20210241148A1 (en) | Abduction apparatus, abduction method, and computer-readable recording medium | |
JP2024072890A (ja) | 推定装置、訓練装置、推定方法、生成方法及びプログラム | |
CN112016611A (zh) | 生成器网络和策略生成网络的训练方法、装置和电子设备 | |
US20230168873A1 (en) | Scheduling apparatus, training apparatus, scheduler and generation method | |
CN117496375B (zh) | 面向遥感基础模型的异构npu训练方法及系统 | |
WO2021251414A1 (ja) | 推定装置、訓練装置、推定方法、訓練方法及びプログラム | |
WO2019134753A1 (en) | Biologically-inspired network generation | |
US20240144051A1 (en) | Hardware-aware generation of machine learning models | |
JP2024008217A (ja) | 探索空間管理方法、探索空間管理装置、およびユーザ端末 | |
Sharaf et al. | Cellular Neural Networks Templates Learning Approach Based on Mutual Information and Firefly Algorithm for X-Ray Images de-noising |