Open e4exp opened 3 years ago
バックプロパゲーション(BackProp)[37]は,ニューラルネットワークを学習するための有力な手法です. BackProp は,各層の重みに対する最終的な損失関数の微分を計算するための連鎖法則を単純に拡張したものです. BackProp更新では,入力された学習データをもとにネットワークの活性度を計算するフォワードパスが行われます. フォワードパスの後,ネットワークの重みに対する損失関数の勾配は,出力層から入力層まで逆伝播され,1つの勾配ステップを適用することで重みが更新されます. 確率的勾配降下法は、最も基本的な更新ルールで、バックプロパゲートされた負の勾配の方向にステップを踏みます。 AdaGrad [14]、RMSprop [40]、Adam [25]などのより高度な一次技術では、対角線マトリクスによる勾配の事前調整や、運動量の取り込みを行います。 対照的に、Shampoo [19, 7]やK-FAC [22, 34, 10]などの2次オプティマイザは、2つの行列のクロネッカー積を介してプリコンディショナーを形成し、フルマトリクスプリコンディショナー、すなわちFull Matrix AdaGradとNatural Gradient [2]をそれぞれ近似します。 ShampooとK-FACは,ステップ数とウォールタイムの両方において,一次法に比べて大幅に速い収束を実現している. しかし,大量のメモリを必要とし[8, 38],行列の逆数(Shampooの場合はinverse-pth roots)を計算するのに高い計算コストがかかるため,大規模なモデルではこれらの手法は使えません. これらの手法は,スケーラブルにするためにブロック対角化などのさらなる拡張を必要とし,逆行列の計算には高精度の演算が必要となります. さらに、これらの手法はより多くのリソースを必要とし、並列化が困難です[7, 10, 36]。 残る問題は,バッチごとに余分な前進・後退のパスをしたり,明示的にプリコンディショナーを形成したりすることなく,1次オプティマイザーを用いて2次法と同様の性能を達成できるかどうかです.
本論文では、BackPropの各ステップの効果を高めるために、最新の大規模アーキテクチャにも容易に拡張可能な、シンプルな局所的損失の構築と最小化の手法を提案します。 この手法では、ターゲットを固定することで各レイヤーのローカルロスを形成し、このロスを反復的に最小化します。 各層の更新は完全に切り離され,並行して行われます. 局所的な損失に対する1回の反復は,常に1つのBackPropステップを回復します. したがって,局所的な損失の反復は,最初の BackProp ステップを強化するために行われます. メモリと計算の必要性という点では,我々のアプローチは一次法に匹敵します. このアプローチでは,各バッチに対して1回の前進・後退パスを行い,その後,いくつかの並列化可能な局所反復を行います. 我々のアプローチは、一次法の収束性を大幅に改善し、一次法と二次法の最適化技術の間のギャップを減らすことができます。
BackProp の代替的な更新規則や拡張機能を開発する試みは、長年にわたって数多く行われてきました [12, 39, 44, 15, 17, 42, 43]。 これらの手法では,各層で補助的なターゲットを推定し,モデル予測とターゲットの間の不一致の尺度として二乗損失を最小化することが多い. 例えば,Target Difference Propagation法[31]では,各層のノードの目標値を推定し,ローカルな予測値と目標値の間の二乗損失を最小化する. 目標値は逆関数として機能する別のネットワークを介して形成されるため[24],このアプローチは大規模なニューラルネットワークでは禁止されています.
Fenchel)Lifted Networks」と呼ばれる最近の一連のアプローチは、M層フィードフォワードネットワークのm∈[M]に対するyˆm = fm(Wm yˆm-1)という再帰制約を、補助変数のセットに対する緩和された制約のセットで緩和し、問題の次元を解除するものである。 これらの手法は、ブロック座標降下法(BCD)[45, 9, 29]やADMM[39]を用いて、ネットワークの重みと補助変数を交互に最適化していく。 これらのアプローチの大部分は,制約違反のペナルティを強化するために二乗損失を考慮していますが,[18]は逆伝達関数の積分を使用して二凸(bi-convex)発散を定義しています. これらの双凸発散(実際にはブレグマン発散の形で書くことができる、例えば[3]を参照)は、次にペナルティを強制するために使用され、重みと補助変数のセットは、BCDを使用して同様に最適化されます。 我々の作業は,同様のブレグマン・ダイバージェンス(別名:マッチング・ロス[21])を利用しますが,以下の点で以前のアプローチとは異なります:
i) 我々のアプローチの主な目的は,最初のBackPropステップを改善することで,一次法の性能を向上させることです.従来の手法では,vanilla BackPropとの関連性が不明瞭でした. ii) 我々の構成は,重みに対して常に凸最適化問題を引き起こす. iii) [18]のようないくつかの従来のアプローチは,推論時に最適化問題を解く必要があるが,我々の構成は余分なコストを必要としない.
本稿では以下の表記法を採用している。 入力インスタンスとターゲットラベルのペアを(x, y)と表記する。 M層のニューラルネットワークにおいて、ある層m∈[M]では、予測値と目標値の前(後)活性化にそれぞれaˆm(それぞれyˆm)とam(それぞれym)を用いる。 なお、aˆm=Wm yˆm-1、yˆm=fm(aˆm)とし、Wmは重み行列2、fmは要素ごとに非減少する伝達関数とします。 ここで、Wmは重み行列2、fmは要素ごとに非減少する伝達関数である(この表記法では、yˆ0=x、yˆ=yˆMとなるが、ここではyMとyを区別している)。 最終層(Vanilla BackPropでの学習に使用される層)におけるネットワークの損失をL(y, yˆ) = L(y, yˆM)と表す。最終層の損失Lは微分可能であること以外、何も仮定しません。 乗算、除算、指数などのベクトルに対する基本的な演算は、要素ごとに行われるものとします。
層別局所損失最適化のための2つのアルゴリズム、LocoProp-S (Algorithm 1)とLocoProp-M (Algorithm 2)を紹介する。 LocoProp-S は固定された目標に向かって二乗損失を最小化することを動機とし、LocoProp-M は伝達関数のマッチング損失に構造を拡張する。 どちらの手法も,各層への入力を設定するフォワードパスから始まり,次にターゲットを設定するバックワードパスを行います. ターゲットの設定はそれぞれ異なりますが,最初の局所的な重み更新が vanilla BackProp を回復するように選択されます. 注目すべきは,局所的な重み更新は,追加の forward-backward パスを必要とせず,各層の勾配は単純な行列積によって形成されることです. 以下のセクションでは,各更新ルールの背景にある動機と,複数の局所的反復を行うことの意味を広範囲に議論します
目標値の設定を除き、二乗損失構成法では、局所的な伝達関数に関する情報を使用しません。 その代わりに,マッチングロス法では,局所的な損失関数を層の伝達関数に適応させます. マッチングロス[21]は,当初は線積分として導入され,その後,ブレグマン発散を含む凸双対の議論を介して動機付けられた[26, 5]. 具体的には,要素ごとに厳密に増加する伝達関数fを考える. R d → R d 。入力x∈R n、ターゲットラベルy∈R dが与えられたとき、モデルが生成する(伝達関数の)活性化前の予測値をaˆ∈R dとする(例えば、単層ロジスティック回帰分類器のsoftmax前の線形活性化など)。 モデルの(活性化後の)予測値はyˆ = f(aˆ)(この例ではソフトマックスの確率)で与えられる。 学習の目的は、一般的に損失関数として知られる不一致の尺度を最小化することにより、モデル予測yˆをターゲットラベルyに近づけることである。 具体的には、ターゲットyと予測yˆ = yˆ(aˆ)の間の伝達関数fのマッチング損失は、以下のようにfの線積分として定義される。
ここで、a = f -1 (y)はターゲットのプレアクティベーションです。 図1は、d = 1のときのこの積分を示している。 定義によれば、aˆに対するマッチング損失の勾配は、予測値とターゲット値の差という単純な形をとります。
その結果、fが要素ごとに厳密に増加している場合、局所的なマッチング損失はaˆに対して厳密に凸となる。 実際に使用されている非線形伝達関数(leaky tanh、softmaxなど)の大半は、実際に(要素ごとに)厳密に増加しており、したがってそのマッチング損失は厳密に凸であることに注意してください3。 ロジスティック損失(すなわちソフトマックス伝達関数とKL(またはクロスエントロピー)ダイバージェンス)を多層ニューラルネットワークに使用した場合、全体の損失は最終層の重みにおいて厳密に凸になります。 しかし、この凸性は下の層の重みには必ずしも及ばない。 これらの重みは、同じ最終損失の勾配をバックプロパゲーションすることで更新されます。 我々の主な貢献の1つとして,この構造を層ごとの損失最適化アプローチに拡張し,各層における局所的な問題の凸性を利用することでBackPropの性能を向上させます.
本研究では、ニューラルネットワークを最適化するための局所損失構築法を研究する。 まず、各層の事前活性化とローカルターゲットとの間の二乗損失を最小化し、さらに重みの正則化項を加えることで問題を動機付けます。 目標は、局所目標に対する最初の勾配降下ステップがvanilla BackPropを回復するように選択され、一方、各問題の厳密な解は、前提条件付きの勾配更新になります。 局所問題を重みに対して凸に保つ伝達関数に合わせたブレグマン・ダイバージェンスを各層に形成することで、局所的な損失構成を改善します。 一般化された局所問題は、重みの小さな勾配降下ステップを取ることで反復的に解決され、最初のステップではBackPropが回復されます。 いくつかのアブレーションを実行し、我々の構築が一貫して収束を改善し、1次法と2次法の間のギャップを減らすことを示します。