Method of machine learning
コンピュータサイエンス において 、 オンライン機械学習 とは、データが順次利用可能になり、各ステップで将来のデータの最良の予測子を更新する 機械学習 の方法であり、 トレーニングデータセット全体を一度に学習することで最良の予測子を生成するバッチ学習技法とは対照的です。オンライン学習は、データセット全体をトレーニングすることが計算上不可能で、 アウトオブコア アルゴリズムが必要となる機械学習の分野で使用される一般的な 技法です。また、アルゴリズムがデータ内の新しいパターンに動的に適応する必要がある場合や、データ自体が時間の関数として生成される場合(例:金融国際市場での価格予測)にも使用されます。オンライン学習アルゴリズムは 壊滅的な干渉を起こしやすい場合がありますが、この問題は 増分学習 アプローチによって対処できます 。
オンライン機械学習アルゴリズムは、 広告収入を最大化するための スポンサードサーチ、 ポートフォリオ最適化 、 最短経路予測 ( 確率的 重み付け、例えば地図アプリケーションの道路交通量)、 スパムフィルタリング 、リアルタイムの 詐欺検出 、電子商取引の 動的価格設定 など、さまざまな分野で応用されています。また、初期トレーニング後の継続的かつリアルタイムの適応を可能にするために、LLM向けのオンライン学習パラダイムの使用にも関心が高まっています。 [1]
導入 教師あり学習 の設定では 、 の関数を 学習します。ここで、 は入力の空間、 出力の空間として考えられ、 上の 結合確率分布 から抽出されたインスタンスをうまく予測します。実際には、学習者は インスタンス上の真の分布を知ることはありません。その代わり、学習者は通常、 トレーニング 用の例のセットにアクセスできます 。この設定では、 損失関数は として与えられ 、 は予測値 と真の値 の差を測定します。理想的な目標は、総損失の概念が最小限に抑えられるように、仮説空間と呼ばれる関数の空間 である 関数 を選択することです 。モデルのタイプ(統計的または敵対的)に応じて、異なる学習アルゴリズムにつながる異なる損失の概念を考案できます。 f : X → Y {\displaystyle f:X\to Y} X {\displaystyle X} Y {\displaystyle Y} p ( x , y ) {\displaystyle p(x,y)} X × Y {\displaystyle X\times Y} p ( x , y ) {\displaystyle p(x,y)} ( x 1 , y 1 ) , … , ( x n , y n ) {\displaystyle (x_{1},y_{1}),\ldots ,(x_{n},y_{n})} V : Y × Y → R {\displaystyle V:Y\times Y\to \mathbb {R} } V ( f ( x ) , y ) {\displaystyle V(f(x),y)} f ( x ) {\displaystyle f(x)} y {\displaystyle y} f ∈ H {\displaystyle f\in {\mathcal {H}}} H {\displaystyle {\mathcal {H}}}
オンライン学習の統計的見方 統計学習モデルでは、訓練サンプルは 真の分布から抽出されたと仮定され 、期待される「リスク」を最小化することが目的となります。
このような状況における一般的なパラダイムは、 経験的リスク最小化法 または正規化経験的リスク最小化法(通常は チホノフ正則化 )によって 関数を推定することです 。ここでの損失関数の選択により、正規化 最小二乗法 や サポートベクターマシン といったいくつかのよく知られた学習アルゴリズムが生まれます。このカテゴリの純粋なオンラインモデルは、新しい入力 、現在の最良の予測子 、そして追加の保存情報(通常、訓練データのサイズとは無関係なストレージ要件を持つことが想定されます)のみに基づいて学習します。多くの定式化、例えば非線形 カーネル法 では、真のオンライン学習は不可能ですが、再帰アルゴリズムを用いたハイブリッドオンライン学習の形式を使用することで 、 と以前のすべてのデータポイント に依存することが許容されます 。この場合、以前のすべてのデータポイントを保存する必要があるため、必要なストレージ容量が一定であることが保証されなくなりますが、バッチ学習手法と比較して、新しいデータポイントを追加することで解の計算時間が短縮される可能性があります。 ( x i , y i ) {\displaystyle (x_{i},y_{i})} p ( x , y ) {\displaystyle p(x,y)} I [ f ] = E [ V ( f ( x ) , y ) ] = ∫ V ( f ( x ) , y ) d p ( x , y ) . {\displaystyle I[f]=\mathbb {E} [V(f(x),y)]=\int V(f(x),y)\,dp(x,y)\ .} f ^ {\displaystyle {\hat {f}}} ( x t + 1 , y t + 1 ) {\displaystyle (x_{t+1},y_{t+1})} f t {\displaystyle f_{t}} f t + 1 {\displaystyle f_{t+1}} f t {\displaystyle f_{t}} ( x 1 , y 1 ) , … , ( x t , y t ) {\displaystyle (x_{1},y_{1}),\ldots ,(x_{t},y_{t})}
上記の問題を克服するための一般的な戦略は、ミニバッチを用いた学習です。ミニバッチでは、 一度に少量のデータポイントを処理します。これは、 トレーニングポイントの総数よりもはるかに少ないデータポイントに対する擬似オンライン学習と見なすことができます。ミニバッチ手法は、トレーニングデータを繰り返し渡すことで、 確率的勾配降下法 などの機械学習アルゴリズムの最適化された アウトオブコアバージョンを取得するために使用されます。 バックプロパゲーション と組み合わせると、これは現在、 人工ニューラルネットワークの トレーニングにおける事実上のトレーニング手法となっています 。 b ≥ 1 {\displaystyle b\geq 1} b {\displaystyle b}
例: 線形最小二乗法 線形最小二乗法というシンプルな例は、オンライン学習における様々な考え方を説明するために用いられています。これらの考え方は汎用性が高く、他の凸損失関数など、他の設定にも適用できます。
バッチ学習 教師あり学習において、学習対象となる線形関数 を考える。 ここで は入力(データ点)のベクトルであり、 は線形フィルタベクトルである。目標はフィルタベクトル を計算することである 。この目的のために、平方損失関数
を用いて 、経験的損失を最小化する ベクトルを計算する。
ここで f {\displaystyle f} f ( x j ) = ⟨ w , x j ⟩ = w ⋅ x j {\displaystyle f(x_{j})=\langle w,x_{j}\rangle =w\cdot x_{j}} x j ∈ R d {\displaystyle x_{j}\in \mathbb {R} ^{d}} w ∈ R d {\displaystyle w\in \mathbb {R} ^{d}} w {\displaystyle w} V ( f ( x j ) , y j ) = ( f ( x j ) − y j ) 2 = ( ⟨ w , x j ⟩ − y j ) 2 {\displaystyle V(f(x_{j}),y_{j})=(f(x_{j})-y_{j})^{2}=(\langle w,x_{j}\rangle -y_{j})^{2}} w {\displaystyle w} I n [ w ] = ∑ j = 1 n V ( ⟨ w , x j ⟩ , y j ) = ∑ j = 1 n ( x j T w − y j ) 2 {\displaystyle I_{n}[w]=\sum _{j=1}^{n}V(\langle w,x_{j}\rangle ,y_{j})=\sum _{j=1}^{n}(x_{j}^{\mathsf {T}}w-y_{j})^{2}} y j ∈ R . {\displaystyle y_{j}\in \mathbb {R} .}
をデータ行列とし、を 最初 のデータ点 の到着後の目標値の列ベクトルとする 。共分散行列が 逆行列であると仮定すると(そうでない場合は、ティホノフ正則化と同様の方法で処理することが好ましい)、 線形最小二乗問題の最適解は次のように与えられる
。 X {\displaystyle X} i × d {\displaystyle i\times d} y ∈ R i {\displaystyle y\in \mathbb {R} ^{i}} i {\displaystyle i} Σ i = X T X {\displaystyle \Sigma _{i}=X^{\mathsf {T}}X} f ∗ ( x ) = ⟨ w ∗ , x ⟩ {\displaystyle f^{*}(x)=\langle w^{*},x\rangle } w ∗ = ( X T X ) − 1 X T y = Σ i − 1 ∑ j = 1 i x j y j . {\displaystyle w^{*}=(X^{\mathsf {T}}X)^{-1}X^{\mathsf {T}}y=\Sigma _{i}^{-1}\sum _{j=1}^{i}x_{j}y_{j}.}
ここで、共分散行列の計算には 時間 、 行列の逆行列の計算には時間 、残りの乗算には時間かかり 、合計時間は となります 。データセットに合計点がある場合 、すべてのデータ点の到着後に解を再計算すると 、単純なアプローチでは合計計算量が になります 。行列 を保存し 、各ステップで更新するには を追加するだけで済みますが 、これには時間がかかります。これにより、 合計時間は に短縮されますが、 を保存するため に の追加の記憶領域が必要になります 。 [2] Σ i = ∑ j = 1 i x j x j T {\displaystyle \Sigma _{i}=\sum _{j=1}^{i}x_{j}x_{j}^{\mathsf {T}}} O ( i d 2 ) {\displaystyle O(id^{2})} d × d {\displaystyle d\times d} O ( d 3 ) {\displaystyle O(d^{3})} O ( d 2 ) {\displaystyle O(d^{2})} O ( i d 2 + d 3 ) {\displaystyle O(id^{2}+d^{3})} n {\displaystyle n} i = 1 , … , n {\displaystyle i=1,\ldots ,n} O ( n 2 d 2 + n d 3 ) {\displaystyle O(n^{2}d^{2}+nd^{3})} Σ i {\displaystyle \Sigma _{i}} x i + 1 x i + 1 T {\displaystyle x_{i+1}x_{i+1}^{\mathsf {T}}} O ( d 2 ) {\displaystyle O(d^{2})} O ( n d 2 + n d 3 ) = O ( n d 3 ) {\displaystyle O(nd^{2}+nd^{3})=O(nd^{3})} O ( d 2 ) {\displaystyle O(d^{2})} Σ i {\displaystyle \Sigma _{i}}
オンライン学習:再帰最小二乗法 再帰最小二乗法(RLS)アルゴリズムは、最小二乗問題に対するオンラインアプローチを考察する。 と を初期化することにより、前節で示した線形最小二乗問題の解は、以下の反復によって計算できることが示される 。 上記 の反復アルゴリズムは、 に関する帰納法を用いて証明できる 。 [3] 証明では、 であることも示されている 。RLSは適応フィルタの文脈でも考察できる( RLS を参照)。 w 0 = 0 ∈ R d {\displaystyle \textstyle w_{0}=0\in \mathbb {R} ^{d}} Γ 0 = I ∈ R d × d {\displaystyle \textstyle \Gamma _{0}=I\in \mathbb {R} ^{d\times d}} Γ i = Γ i − 1 − Γ i − 1 x i x i T Γ i − 1 1 + x i T Γ i − 1 x i {\displaystyle \Gamma _{i}=\Gamma _{i-1}-{\frac {\Gamma _{i-1}x_{i}x_{i}^{\mathsf {T}}\Gamma _{i-1}}{1+x_{i}^{\mathsf {T}}\Gamma _{i-1}x_{i}}}} w i = w i − 1 − Γ i x i ( x i T w i − 1 − y i ) {\displaystyle w_{i}=w_{i-1}-\Gamma _{i}x_{i}\left(x_{i}^{\mathsf {T}}w_{i-1}-y_{i}\right)} i {\displaystyle i} Γ i = Σ i − 1 {\displaystyle \Gamma _{i}=\Sigma _{i}^{-1}}
このアルゴリズムのステップ の 計算量はであり 、これは対応するバッチ学習の計算量よりも1桁高速です。ここでの各ステップで必要な記憶容量は 、 で定数となる行列 を格納することです 。 が逆行列でない場合 、問題の損失関数 の正規化バージョンを考えてみましょう。すると、同じアルゴリズムが に対しても動作し 、反復処理が進むにつれて になる ことが簡単に示せます 。 [2] n {\displaystyle n} O ( n d 2 ) {\displaystyle O(nd^{2})} i {\displaystyle i} Γ i {\displaystyle \Gamma _{i}} O ( d 2 ) {\displaystyle O(d^{2})} Σ i {\displaystyle \Sigma _{i}} ∑ j = 1 n ( x j T w − y j ) 2 + λ ‖ w ‖ 2 2 {\displaystyle \sum _{j=1}^{n}\left(x_{j}^{\mathsf {T}}w-y_{j}\right)^{2}+\lambda \left\|w\right\|_{2}^{2}} Γ 0 = ( I + λ I ) − 1 {\displaystyle \Gamma _{0}=(I+\lambda I)^{-1}} Γ i = ( Σ i + λ I ) − 1 {\displaystyle \Gamma _{i}=(\Sigma _{i}+\lambda I)^{-1}}
確率的勾配降下法 これを または に置き換えると
、 確率
的 勾配降下法アルゴリズムになります。この場合、 このアルゴリズムのステップの計算量は まで減少します 。各ステップで必要な記憶容量 は で一定です 。 w i = w i − 1 − Γ i x i ( x i T w i − 1 − y i ) {\displaystyle w_{i}=w_{i-1}-\Gamma _{i}x_{i}\left(x_{i}^{\mathsf {T}}w_{i-1}-y_{i}\right)} w i = w i − 1 − γ i x i ( x i T w i − 1 − y i ) = w i − 1 − γ i ∇ V ( ⟨ w i − 1 , x i ⟩ , y i ) {\displaystyle w_{i}=w_{i-1}-\gamma _{i}x_{i}\left(x_{i}^{\mathsf {T}}w_{i-1}-y_{i}\right)=w_{i-1}-\gamma _{i}\nabla V(\langle w_{i-1},x_{i}\rangle ,y_{i})} Γ i ∈ R d × d {\displaystyle \Gamma _{i}\in \mathbb {R} ^{d\times d}} γ i ∈ R {\displaystyle \gamma _{i}\in \mathbb {R} } n {\displaystyle n} O ( n d ) {\displaystyle O(nd)} i {\displaystyle i} O ( d ) {\displaystyle O(d)}
しかし、期待リスク最小化問題を解くには、上述のように ステップサイズを慎重に選択する必要があります。減衰ステップサイズを選択することで 、平均反復の収束を証明できます。この設定は 、最適化におけるよく知られた問題である 確率的最適 化の特殊なケースです。 [2] γ i {\displaystyle \gamma _{i}} γ i ≈ 1 i , {\displaystyle \gamma _{i}\approx {\frac {1}{\sqrt {i}}},} w ¯ n = 1 n ∑ i = 1 n w i {\textstyle {\overline {w}}_{n}={\frac {1}{n}}\sum _{i=1}^{n}w_{i}}
増分確率勾配降下法 実際には、データに対して複数の確率的勾配パス(サイクルまたはエポックとも呼ばれる)を実行することができます。このようにして得られるアルゴリズムは増分勾配法と呼ばれ、反復に相当します。
確率的勾配法との主な違いは、ここではステップ でどのトレーニングポイントを訪問するかを決定するためにシーケンスが選択される点です 。このようなシーケンスは、確率的でも決定論的でも構いません。反復回数はポイント数とは切り離されます(各ポイントは複数回考慮することができます)。増分勾配法は、経験的リスクを最小化する手法であることが示されています。 [4] 増分手法は、多くの項の合計で構成される目的関数(例えば、非常に大規模なデータセットに対応する経験的誤差)を考慮する場合に有利です。 [2] w i = w i − 1 − γ i ∇ V ( ⟨ w i − 1 , x t i ⟩ , y t i ) {\displaystyle w_{i}=w_{i-1}-\gamma _{i}\nabla V(\langle w_{i-1},x_{t_{i}}\rangle ,y_{t_{i}})} t i {\displaystyle t_{i}} i {\displaystyle i}
カーネル法 カーネルは、上記のアルゴリズムをノンパラメトリックモデル(またはパラメータが無限次元空間を形成するモデル)に拡張するために使用できます。対応する手順は完全にオンラインではなく、すべてのデータポイントを保存することになりますが、それでもブルートフォース法よりも高速です。この議論は平方損失の場合に限定されていますが、任意の凸損失に拡張できます。簡単な帰納法 [2] により、 がデータ行列であり、 が SGD アルゴリズムの各ステップ 後の出力である 場合、 であることが示されます。
ここ で、 シーケンスは 次の再帰を満たします。 および ここで 、 は の標準的なカーネルであり 、予測子は次の形式である
ことに注意してください。 X i {\displaystyle X_{i}} w i {\displaystyle w_{i}} i {\displaystyle i} w i = X i T c i {\displaystyle w_{i}=X_{i}^{\mathsf {T}}c_{i}} c i = ( ( c i ) 1 , ( c i ) 2 , . . . , ( c i ) i ) ∈ R i {\displaystyle c_{i}=((c_{i})_{1},(c_{i})_{2},...,(c_{i})_{i})\in \mathbb {R} ^{i}} c i {\displaystyle c_{i}} c 0 = 0 {\displaystyle c_{0}=0} ( c i ) j = ( c i − 1 ) j , j = 1 , 2 , . . . , i − 1 {\displaystyle (c_{i})_{j}=(c_{i-1})_{j},j=1,2,...,i-1} ( c i ) i = γ i ( y i − ∑ j = 1 i − 1 ( c i − 1 ) j ⟨ x j , x i ⟩ ) {\displaystyle (c_{i})_{i}=\gamma _{i}{\Big (}y_{i}-\sum _{j=1}^{i-1}(c_{i-1})_{j}\langle x_{j},x_{i}\rangle {\Big )}} ⟨ x j , x i ⟩ {\displaystyle \langle x_{j},x_{i}\rangle } R d {\displaystyle \mathbb {R} ^{d}} f i ( x ) = ⟨ w i − 1 , x ⟩ = ∑ j = 1 i − 1 ( c i − 1 ) j ⟨ x j , x ⟩ . {\displaystyle f_{i}(x)=\langle w_{i-1},x\rangle =\sum _{j=1}^{i-1}(c_{i-1})_{j}\langle x_{j},x\rangle .}
ここで、代わりに一般的なカーネル を導入し、予測子を とすると、 同じ証明から、最小二乗損失を最小化する予測子は、上記の再帰を に変更することによって得られることも示されます
。上記の 式では、 を更新するためにすべてのデータを保存する必要があります。 番目のデータポイント を評価する場合の再帰の合計時間計算量は です。 ここで、 は単一のポイントペアでカーネルを評価するコストです。 [2] このように、カーネルを使用すると、 代わりにパラメータ空間で再帰を実行することで、有限次元のパラメータ空間から カーネルによって表される可能性のある無限次元の特徴に移行できます。この次元は、トレーニングデータセットのサイズと同じです。一般に、これは 表現子定理 の結果です 。 [2] K {\displaystyle K} f i ( x ) = ∑ j = 1 i − 1 ( c i − 1 ) j K ( x j , x ) {\displaystyle f_{i}(x)=\sum _{j=1}^{i-1}(c_{i-1})_{j}K(x_{j},x)} ( c i ) i = γ i ( y i − ∑ j = 1 i − 1 ( c i − 1 ) j K ( x j , x i ) ) {\displaystyle (c_{i})_{i}=\gamma _{i}{\Big (}y_{i}-\sum _{j=1}^{i-1}(c_{i-1})_{j}K(x_{j},x_{i}){\Big )}} c i {\displaystyle c_{i}} n {\displaystyle n} O ( n 2 d k ) {\displaystyle O(n^{2}dk)} k {\displaystyle k} w i ∈ R d {\displaystyle \textstyle w_{i}\in \mathbb {R} ^{d}} K {\displaystyle K} c i ∈ R i {\displaystyle \textstyle c_{i}\in \mathbb {R} ^{i}}
オンライン凸最適化 オンライン凸最適化(OCO) [5]は、 凸最適化 を活用して効率的なアルゴリズムを実現する意思決定のための一般的なフレームワークです 。このフレームワークは、以下のような繰り返しゲームプレイに基づいています。
のために t = 1 , 2 , . . . , T {\displaystyle t=1,2,...,T}
学習者は入力を受け取る x t {\displaystyle x_{t}} 固定凸集合からの 学習器出力 w t {\displaystyle w_{t}} S {\displaystyle S} 自然は凸損失関数を返します 。 v t : S → R {\displaystyle v_{t}:S\rightarrow \mathbb {R} } 学習者は損失を被り 、モデルを更新する v t ( w t ) {\displaystyle v_{t}(w_{t})} 目標は、 後悔 、つまり累積損失と事後的に最良の固定点の損失との差を最小化することです 。例として、オンライン最小二乗線形回帰の場合を考えてみましょう。ここでは、重みベクトルは凸集合 から与えられ 、凸損失関数 が自然と返されます 。ここで、 は暗黙的に とともに送られることに注意してください 。 u ∈ S {\displaystyle u\in S} S = R d {\displaystyle S=\mathbb {R} ^{d}} v t ( w ) = ( ⟨ w , x t ⟩ − y t ) 2 {\displaystyle v_{t}(w)=(\langle w,x_{t}\rangle -y_{t})^{2}} y t {\displaystyle y_{t}} v t {\displaystyle v_{t}}
しかし、オンライン予測問題の中には、OCOの枠組みに当てはまらないものもあります。例えば、オンライン分類では、予測領域と損失関数は凸ではありません。このようなシナリオでは、 ランダム化 と代理損失関数という2つのシンプルな 凸化 手法が用いられます。 [ 要出典 ]
いくつかの単純なオンライン凸最適化アルゴリズムは次のとおりです。
リーダーに従う(FTL) 最も単純な学習規則は、(現在のステップにおいて)過去のすべてのラウンドで損失が最小となる仮説を選択することです。このアルゴリズムは「リーダーに従う」と呼ばれ、ラウンドは 単純に次のように与えられます。
したがって、この手法は 貪欲アルゴリズム と見なすことができます 。オンライン二次最適化(損失関数が )の場合 、 に比例して増加するリグレット境界を示すことができます 。しかし、オンライン線形最適化のような他の重要なモデル群に対するFTLアルゴリズムでは、同様の境界を得ることはできません。これを実現するために、FTLに正則化を追加することでFTLを修正します。 t {\displaystyle t} w t = a r g m i n w ∈ S ∑ i = 1 t − 1 v i ( w ) {\displaystyle w_{t}=\mathop {\operatorname {arg\,min} } _{w\in S}\sum _{i=1}^{t-1}v_{i}(w)} v t ( w ) = ‖ w − x t ‖ 2 2 {\displaystyle v_{t}(w)=\left\|w-x_{t}\right\|_{2}^{2}} log ( T ) {\displaystyle \log(T)}
正規化されたリーダーに従う(FTRL) これはFTLの自然な修正であり、FTL解を安定化させ、より良い後悔境界を得るために用いられます。tラウンドで以下のように正則化関数が 選択 さ れ、学習が行われます。 特別な例として、オンライン線形最適化の場合、つまり、自然が の形式の損失関数を返す場合を考えてみましょう 。また、 とします 。正則化関数が 何らかの正の数 に対して選択されたと仮定します 。すると、後悔最小化反復が になることが示せます
。 これは と書き直すことができ 、オンライン勾配降下法と全く同じように見えることに注意してください。 R : S → R {\displaystyle R:S\to \mathbb {R} } w t = a r g m i n w ∈ S ∑ i = 1 t − 1 v i ( w ) + R ( w ) {\displaystyle w_{t}=\mathop {\operatorname {arg\,min} } _{w\in S}\sum _{i=1}^{t-1}v_{i}(w)+R(w)} v t ( w ) = ⟨ w , z t ⟩ {\displaystyle v_{t}(w)=\langle w,z_{t}\rangle } S = R d {\displaystyle S=\mathbb {R} ^{d}} R ( w ) = 1 2 η ‖ w ‖ 2 2 {\textstyle R(w)={\frac {1}{2\eta }}\left\|w\right\|_{2}^{2}} η {\displaystyle \eta } w t + 1 = − η ∑ i = 1 t z i = w t − η z t {\displaystyle w_{t+1}=-\eta \sum _{i=1}^{t}z_{i}=w_{t}-\eta z_{t}} w t + 1 = w t − η ∇ v t ( w t ) {\displaystyle w_{t+1}=w_{t}-\eta \nabla v_{t}(w_{t})}
S が の凸部分空間である 場合 、 S を に射影する必要があり、修正更新則 が適用されます。 このアルゴリズムは、ベクトルが 勾配を累積するため、遅延射影と呼ばれます。また、ネステロフの双対平均化アルゴリズムとしても知られています。線形損失関数と二次正則化のこのシナリオでは、リグレットは によって制限されるため 、平均リグレットは期待どおりに 0 になります。 R d {\displaystyle \mathbb {R} ^{d}} w t + 1 = Π S ( − η ∑ i = 1 t z i ) = Π S ( η θ t + 1 ) {\displaystyle w_{t+1}=\Pi _{S}(-\eta \sum _{i=1}^{t}z_{i})=\Pi _{S}(\eta \theta _{t+1})} θ t + 1 {\displaystyle \theta _{t+1}} O ( T ) {\displaystyle O({\sqrt {T}})}
オンライン劣勾配降下法(OSD) 上記は線形損失関数 に対する後悔境界を証明しました 。このアルゴリズムを任意の凸損失関数に一般化するために、 の 劣勾配 を に近い の線形近似として用い 、オンライン劣勾配降下法アルゴリズムを導きます。 v t ( w ) = ⟨ w , z t ⟩ {\displaystyle v_{t}(w)=\langle w,z_{t}\rangle } ∂ v t ( w t ) {\displaystyle \partial v_{t}(w_{t})} v t {\displaystyle v_{t}} v t {\displaystyle v_{t}} w t {\displaystyle w_{t}}
パラメータを初期化する η , w 1 = 0 {\displaystyle \eta ,w_{1}=0}
のために t = 1 , 2 , . . . , T {\displaystyle t=1,2,...,T}
を使って予測し、 自然から 受け取る。 w t {\displaystyle w_{t}} f t {\displaystyle f_{t}} 選ぶ z t ∈ ∂ v t ( w t ) {\displaystyle z_{t}\in \partial v_{t}(w_{t})} の場合 、次のように更新します。 S = R d {\displaystyle S=\mathbb {R} ^{d}} w t + 1 = w t − η z t {\displaystyle w_{t+1}=w_{t}-\eta z_{t}} ならば 、累積勾配を すなわち S ⊂ R d {\displaystyle S\subset \mathbb {R} ^{d}} S {\displaystyle S} w t + 1 = Π S ( η θ t + 1 ) , θ t + 1 = θ t + z t {\displaystyle w_{t+1}=\Pi _{S}(\eta \theta _{t+1}),\theta _{t+1}=\theta _{t}+z_{t}} OSDアルゴリズムを使用して、 分類のための オンライン版 SVMの後悔境界を導出することができる。これは ヒンジ損失を使用する。 O ( T ) {\displaystyle O({\sqrt {T}})} v t ( w ) = max { 0 , 1 − y t ( w ⋅ x t ) } {\displaystyle v_{t}(w)=\max\{0,1-y_{t}(w\cdot x_{t})\}}
その他のアルゴリズム 二次正規化FTRLアルゴリズムは、上述の遅延投影勾配アルゴリズムにつながります。任意の凸関数と正則化器に上記を適用するには、 オンラインミラー降下法 を使用します。線形損失関数については、事後的な最適正則化を導出することができ、これは AdaGrad アルゴリズムにつながります。ユークリッド正則化については、のリグレット境界を示すことができ 、これはさらに、 強凸関数および指数凹関数の損失関数に対しては まで改善できます。 O ( T ) {\displaystyle O({\sqrt {T}})} O ( log T ) {\displaystyle O(\log T)}
継続的な学習 継続学習 とは、連続的な情報ストリームを処理することで、学習したモデルを継続的に改善することを意味します。 [6] 継続学習機能は、絶えず変化する現実世界で相互作用するソフトウェアシステムや自律エージェントにとって不可欠です。しかし、非定常なデータ分布から段階的に利用可能な情報を継続的に取得することは、一般的に 壊滅的な忘却 につながるため、機械学習やニューラルネットワークモデルにとって継続学習は課題となります。
オンライン学習の解釈 オンライン学習のパラダイムは、学習モデルの選択によって異なる解釈が可能であり、それぞれのモデルは関数列の予測精度について異なる意味合いを持つ 。この議論では、典型的な確率的勾配降下法を用いる。前述のように、その再帰は次のように与えられる。 f 1 , f 2 , … , f n {\displaystyle f_{1},f_{2},\ldots ,f_{n}} w t = w t − 1 − γ t ∇ V ( ⟨ w t − 1 , x t ⟩ , y t ) {\displaystyle w_{t}=w_{t-1}-\gamma _{t}\nabla V(\langle w_{t-1},x_{t}\rangle ,y_{t})}
最初の解釈では、上で定義した 期待リスクを最小化する問題に適用される 確率的勾配降下 法を検討します。 [7] 実際、無限データストリームの場合、例は 分布 から iid 抽出されると想定されるため 、上記の反復における の勾配のシーケンスは、 期待リスクの勾配の確率的推定値の iid サンプルであり 、したがって、確率的勾配降下法の複雑性の結果を適用して偏差 を制限できます。 ここで、 は の最小化者です 。 [8] この解釈は、有限のトレーニングセットの場合にも有効です。データを複数回通過すると勾配は独立ではなくなりますが、それでも特殊なケースで複雑性の結果を得ることができます。 I [ w ] {\displaystyle I[w]} ( x 1 , y 1 ) , ( x 2 , y 2 ) , … {\displaystyle (x_{1},y_{1}),(x_{2},y_{2}),\ldots } p ( x , y ) {\displaystyle p(x,y)} V ( ⋅ , ⋅ ) {\displaystyle V(\cdot ,\cdot )} I [ w ] {\displaystyle I[w]} I [ w t ] − I [ w ∗ ] {\displaystyle I[w_{t}]-I[w^{\ast }]} w ∗ {\displaystyle w^{\ast }} I [ w ] {\displaystyle I[w]}
2 番目の解釈は、有限トレーニング セットの場合に適用され、SGD アルゴリズムを増分勾配降下法の 1 つの例として考えます。 [4] この場合、代わりに経験的リスクに注目します。
増分勾配降下法の反復における の勾配は の勾配の確率的推定値でもあるため 、この解釈も確率的勾配降下法に関連していますが、期待されるリスクではなく経験的リスクを最小化するために適用されます。この解釈は経験的リスクに関するものであり、期待されるリスクに関するものではないため、データの複数回のパスが容易に許可され、実際に偏差 の境界が狭くなります 。ここで は の最小値です 。 I n [ w ] = 1 n ∑ i = 1 n V ( ⟨ w , x i ⟩ , y i ) . {\displaystyle I_{n}[w]={\frac {1}{n}}\sum _{i=1}^{n}V(\langle w,x_{i}\rangle ,y_{i})\ .} V ( ⋅ , ⋅ ) {\displaystyle V(\cdot ,\cdot )} I n [ w ] {\displaystyle I_{n}[w]} I n [ w t ] − I n [ w n ∗ ] {\displaystyle I_{n}[w_{t}]-I_{n}[w_{n}^{\ast }]} w n ∗ {\displaystyle w_{n}^{\ast }} I n [ w ] {\displaystyle I_{n}[w]}
実装
参照 学習パラダイム
一般的なアルゴリズム
学習モデル
参考文献 ^ 「大規模言語モデルのオンライントレーニング:チャットしながら学ぶ」 arxiv.org . 2025年10月3日 閲覧 。 ^ abcdefg L. Rosasco, T. Poggio, 機械学習:正規化アプローチ、MIT-9.520講義ノート、原稿、2015年12月。第7章 - オンライン学習 ^ クシュナー、ハロルド・J.、イン、G.ジョージ (2003). 確率的近似と再帰アルゴリズムとその応用 (第2版). ニューヨーク: シュプリンガー. pp. 8–12. ISBN 978-0-387-21769-7 。 ^ ab Bertsekas, DP (2011). 凸最適化における増分勾配法、劣勾配法、近似法:概観. 機械学習のための最適化, 85. ^ Hazan, Elad (2015). オンライン凸最適化入門 (PDF) . 最適化の基礎とトレンド. ^ Parisi, German I.; Kemker, Ronald; Part, Jose L.; Kanan, Christopher; Wermter, Stefan (2019). 「ニューラルネットワークによる継続的な生涯学習:レビュー」. Neural Networks . 113 : 54–71 . arXiv : 1802.07569 . doi :10.1016/j.neunet.2019.01.012. ISSN 0893-6080. PMID 30780045. ^ Bottou, Léon (1998). 「オンラインアルゴリズムと確率的近似」. オンライン学習とニューラルネットワーク . ケンブリッジ大学出版局. ISBN 978-0-521-65263-6 。 ^ 確率近似アルゴリズムとその応用 、Harold J. KushnerとG. George Yin、ニューヨーク:Springer-Verlag、1997年 。ISBN 0-387-94916-X ; 第2版、 Stochastic approximation and Recursive Algorithms and Applications 、2003年、 ISBN 0-387-00894-2 。
外部リンク 6.883: 機械学習におけるオンライン手法:理論と応用。アレクサンダー・ラクリン。MIT