勾配降下法アルゴリズムと勾配情報に基づくトレーニング データの導出

主に数学の勾配と深層学習の勾配の関係を結び付けるため

グラデーションとは何ですか

勾配は大きさと方向の両方を持つベクトルです
サイズ: 勾配のモジュールはその点で得られる最大変化率に等しい
方向: この点で最大の変化が得られるときの方向

何に使われますか?
多次元変数関数の極値をすばやく見つけるために使用できます。深層学習では、一般に損失関数の最小値を見つけるために使用されます。
最小値や極値を求める問題では、微分方程式を解くことがまず思い浮かびますが、関数が非常に複雑になると解くのは容易ではありません。強力なコンピューティング能力により、多くのことを試行し、段階的に問題を解決できます。関数の値がテストされます。前の人々は、このテスト プロセスのルール - デルタ ルールを要約しました。これはヒューリスティック アルゴリズムです。中心となるアイデアは、次のことを使用します。勾配降下法アルゴリズムを使用して最大値を見つけ、ターゲットを最良の解に近い値に収束させます。
ここに画像の説明を挿入します

アルゴリズムの実際の方法は、重み w i を段階的に変更して、損失関数 l の最小値を徐々に見つけていくことです。

また、なぜ∂ l ∂ wi \frac{\partial l}{\partial w_i} を使用するのかという疑問も生じます。∂w _私は l歩幅としては?実際、この問題は、勾配grad f = ( ∂ l ∂ x 1 , ∂ l ∂ x 2 , … ) の場合、 grad\ f=(\frac{\partial l}{\partial x_1},\frac{ \ 部分 l}{\部分 x_2},\ldots)グラデフ_ _ _ _ =(×1 l×2 l... )、なぜ勾配は次のシーケンスと等しく、最大変化率とその方向の特性を持つのでしょうか?

議論する前に、まず変化率とは何かについて言及する必要があります。

1 変数関数を例に挙げます。y = f ( x ) y=f(x)y=f ( x )特定の
関数の変化率: △ y △ x = f ( x 0 + △ x ) − f ( x 0 ) △ x \frac{\triangle y}{\triangle x} = \frac {f( x_0 + \triangle x) - f(x_0)}{\triangle x}× y=×f ( x0+ x ) f ( x0)
ある点における関数の変化率: lim ⁡ △ x → 0 f ( x 0 + △ x ) − f ( x 0 ) △ x = f ′ ( x 0 ) \lim_{\triangle x\to 0 \frac{f (x_0 + \triangle x) - f(x_0)}{\triangle x} = f'(x_0)リム× 0×f ( x0+ x ) f ( x0)=f' (x0)

変化率: 特定の方向における独立変数の増分に対する関数の増分比の限界 (1 変数関数では、特定の方向は x 軸方向です)

二項関数z = f ( x , y ) z=f(x, y)に展開します。z=f ( x ,y )
上記の変化率の定義によれば、独立変数にはある方向が必要となります。このときの方向は x と y の影響を受けます。そして、この方向の単位ベクトルを el ⃗ = ( cos ⁡ α ,cos ⁡ β ) \vec{e_l} = (\cos\alpha, \cos\beta)e =( cos_コスβ )、この方向の増分は t、増分ベクトル (独立変数) は( t cos ⁡ α , t cos ⁡ β ) (t\cos\alpha,t\cos\beta) となります。( tコス_tコスβ )则変化率 = lim ⁡ t → 0 + f ( x 0 + t cos ⁡ α , y 0 + t cos ⁡ β ) − f ( x 0 , y 0 ) t = fx ( x 0 , y 0 ) cos ⁡ α + fy ( x 0 , y 0 ) cos ⁡ β 变化率=\lim_{t \to 0^{+}} \frac{f(x_0 + t\cos\alpha, y_0 + t\cos\beta) ) - f(x_0, y_0)}{t} = f_x(x_0, y_0)\cos\alpha + f_y(x_0, y_0)\cos\beta変化率=t 0+リムtf ( x0+tコス_y0+tコスb )f ( x0y0)=f×( ×0y0)コスある+fはい( ×0y0)コスb

導出プロセス:
ここに画像の説明を挿入します

変化率が最大となるときの方向αは何でしょうか?
変化率を 2 つのベクトルの内積として表現しましょう。g ⃗ = ( fx ( x 0 , y 0 ) , fy ( x 0 , y 0 ) ) 、 el ⃗ = ( cos ⁡ α , cos ⁡ β ) \vec{g} = (f_x(x_0, y_0), f_y(x_0, y_0)) , \vec{e_l} = (\cos\alpha, \cos\beta)g =( f×( ×0y0fはい( ×0y0)) e =( cos_コスβ )
は無限小です⁡ t → 0 + f ( x 0 + t cos ⁡ α , y 0 + t cos ⁡ β ) − f ( x 0 , y 0 ) t = fx ( x 0 , y 0 ) cos ⁡ α + fy ( x 0 , y 0 ) cos ⁡ β = g ⃗ ⋅ el ⃗ = ∣ g ⃗ ∣ ∣ el ⃗ ∣ cos ⁡ θ \lim_{t \to 0^{+}} \frac{ f(x_0 + t\ cos\alpha, y_0 + t\cos\beta) - f(x_0, y_0)}{t} = f_x(x_0, y_0)\cos\alpha + f_y(x_0, y_0)\cos\ beta = \vec{g } \cdot \vec{e_l} = \lvert \vec{g} \rvert \vec{e_l} \rvert \cos \thetat 0+リムtf ( x0+tコス_y0+tコスb )f ( x0y0)=f×( ×0y0)コスある+fはい( ×0y0)コスb=g e =g e コスθここで、 θ
は∣g ⃗ ∣ \lvert \vec{g}\rvertg ∣ el ⃗ ∣ \lvert \vec{e_l}\rverte ある点の座標がわかっている場合の間の角度 g ⃗ = ( fx ( x 0 , y 0 ) , fy ( x 0 , y 0 ) ) \vec{g} = (f_x(x_0, y_0) 、f_y (x_0, y_0))g =( f×( ×0y0fはい( ×0y0))値を決定できます。つまり、 ∣ g ⃗ ∣ \lvert \vec{g}\rvertg ∣ はある値として得られ、単位ベクトル∣ el ⃗ ∣ = 1 \lvert \vec{e_l}\rvert=1e =1の場合、cos ⁡ θ = 1 \cos\theta=1コス=変化率は、 g ⃗ ∥ el ⃗ \vec{g} \Parallel \vec{e_l}のとき1で最大になります。g e
つまり、この方向 α はg ⃗ = ( fx ( x 0 , y 0 ) , fy ( x 0 , y 0 ) ) \vec{g} = (f_x(x_0, y_0), f_y(x_0, y_0)) となります。g =( f×( ×0y0fはい( ×0y0))方向、変化率が最も大きい

これは高次元関数に一般化できます。
関数f (a, b, c, …) f(a,b,c,\ldots)の場合f ( a ,b c ),向量( ∂ f ∂ a , ∂ f ∂ b , ∂ f ∂ c , … ) (\frac{\partial f}{\partial a}, \frac{\partial f}{\partial b}, \ frac{\partial f}{\partial c}, \ldots)(∂a _∂f _∂b _∂f _∂c _∂f _... )は、最大変化率の値と方向を伴うgrad f grad\ fg r a d f 
grad f = ( ∂ f ∂ a , ∂ f ∂ b , ∂ f ∂ c , … ) grad \ f = (\frac{\partial f}{\partial a}, \frac{\partial f }{\partial b}、\frac{\partial f}{\partial c}、\ldots)グラデフ_ _ _ _ =(∂a _∂f _∂b _∂f _∂c _∂f _)
勾配grad f grad\ fg r a d f 方向、関数f ( a , b , c , … ) f(a,b,c,\ldots)f ( a ,b c )
( a 0 , b 0 , c 0 , … )数値変化が最も大きくなります( _0b0c0)たとえば、この点の勾配は( ∂ f ∂ a 0 , ∂ f ∂ b 0 , ∂ f ∂ c 0 , … ) (\frac{\partial f}{\partial a_0}, \frac{\部分 f}{\partial b_0}、\frac{\partial f}{\partial c_0}、\ldots)(∂a _0∂f _∂b _0∂f _∂c _0∂f _)、つまり( a 0 , b 0 , c 0 , … ) (a_0,b_0,c_0,\ldots)( _0b0c0)方向( a 0 + t ∂ f ∂ a 0 , b 0 + t ∂ f ∂ b 0 , c 0 + t ∂ f ∂ c 0 , … ) (a_0 + t\frac{\partial f}{\partial a_0}、b_0 + t\frac{\partial f}{\partial b_0}、c_0 + t\frac{\partial f}{\partial c_0}、\ldots)( _0+t∂a _0∂f _b0+t∂b _0∂f _c0+t∂c _0∂f _... )移動とは、関数値 f の変化が最も大きい方向に移動することです。

勾配降下アルゴリズムでは、重みの更新は上記の例と同じで、損失関数 l の最小値を見つけたいので、重みを更新しますwi ← wi − η ∂ l ∂ wi w_{i}\leftarrow w_{ ステップバイステップ i} - \eta\frac{\partial l}{\partial w_{i}}w私はw私は∂w _私は l,使用∂ l ∂ wi \frac{\partial l}{\partial w_{i}}∂w _私は l歩幅として

グラデーションの中に隠された情報

論文「Soteria: 表現の観点からのフェデレーション学習におけるプライバシー漏洩に対する証明可能な防御」の中で、著者は\frac{\partial l}{\partial w_{i}} に関する勾配 ∂ l ∂ をさらに調査しています。∂w _私は lどのような情報が隠されているのか。この暗黙の情報により、盗聴者は勾配情報を盗聴した後、勾配に基づいて元のデータとラベルを復元できる可能性があります。

ここに画像の説明を挿入します

ここに画像の説明を挿入します
バッチの分割がクラスの分割と等しい場合、次の式が得られます。
ここに画像の説明を挿入します

式(1)と式(2)のバッチ分割を次の図に示します。各バッチのトレーニング データは、同じラベルおよび同じカテゴリに属します。
ここに画像の説明を挿入します

著者は主に線形接続層の暗黙情報を分析します

線形接続層は最後の層です

線形接続層が最後の層の場合、∂ l ∂ wi \frac{\partial l}{\partial w_{i}}∂w _私は lさらに分割するには
ここに画像の説明を挿入します
、r はこの層の入力、b は出力、y は b を正規化した結果 (y のすべての項目の合計は 1)、実数のラベルと XOR 演算されて y c が生成されます。次に損失関数 l を計算します。

重み W は行列であり、∂ l ∂ W \frac{\partial l}{\partial W}を解きます。∂W _ l
ここに画像の説明を挿入します

W = [ W 1 , W 2 , … , W k ] W = [W_1, W_2, \ldots, W_k]W=[ W1W2W]
W 1 = [ w 11 , w 21 , … , wn 1 ] T W_1 = [w_{11}, w_{21}, \ldots, w_{n1}]^TW1=[ w11w21wn1 _T

∂ l ∂ w 11 = ∂ l ∂ b 1 ∂ b 1 ∂ w 11 = ∂ l ∂ b 1 ∂ ( w 11 r 1 + w 12 r 2 + … ) ∂ w 11 = ∂ l ∂ b 1 r 1 \frac {\partial l}{\partial w_{11}} = \frac{\partial l}{\partial b_1}\frac{\partial b_1}{\partial w_{11}} = \frac{\partial l}{ \partial b_1}\frac{\partial (w_{11}r_1 + w_{12}r_2 + \ldots)}{\partial w_{11}} = \frac{\partial l}{\partial b_1}r_1∂w _11 l=∂b _1 l∂w _11∂b _1=∂b _1 l∂w _11( w11r1+ w12r2+ )=∂b _1 lr1
∂ l ∂ w 21 = ∂ l ∂ b 2 ∂ b 2 ∂ w 21 = ∂ l ∂ b 2 ∂ ( w 21 r 1 + w 22 r 2 + … ) ∂ w 21 = ∂ l ∂ b 2 r 1 \frac {\partial l}{\partial w_{21}} = \frac{\partial l}{\partial b_2}\frac{\partial b_2}{\partial w_{21}} = \frac{\partial l}{ \partial b_2}\frac{\partial (w_{21}r_1 + w_{22}r_2 + \ldots)}{\partial w_{21}} = \frac{\partial l}{\partial b_2}r_1∂w _21 l=∂b _2 l∂w _21∂b _2=∂b _2 l∂w _21( w21r1+ w22r2+ )=∂b _2 lr1
     ⋮ \ \ \ \ vdots    
∂ l ∂ wn 1 = ∂ l ∂ bn ∂ bn ∂ wn 1 = ∂ l ∂ bnr 1 \frac{\partial l}{\partial w_{n1}} = \frac{\partial l}{\partial b_n}\ frac{\partial b_n}{\partial w_{n1}} = \frac{\partial l}{\partial b_n}r_1∂w _n1 _ l=∂b _ l∂w _n1 _∂b _=∂b _ lr1

積分その後
∂ l ∂ W 1 = [ ∂ l ∂ b 1 r 1 ∂ l ∂ b 2 r 1 ⋮ ∂ l ∂ bnr 1 ] = [ ∂ l ∂ b 1 ∂ l ∂ b 2 ⋮ ∂ l ∂ bn ] r 1 \frac{\partial l}{\partial W_1} = \begin{bmatrix} \frac{\partial l}{\partial b_1}r_1 \\ \frac{\partial l}{\partial b_2}r_1 \\ \vdots \\ \frac{\partial l}{\partial b_n}r_1 \end{bmatrix} = \begin{bmatrix} \frac{\partial l}{\partial b_1} \\ \frac{\partial l}{\partial b_2} \\ \vdots \\ \frac{\partial l}{\partial b_n} \end{bmatrix}r_1∂W _1 l= ∂b _1 lr1∂b _2 lr1∂b _ lr1 = ∂b _1 l∂b _2 l∂b _ l r1
任意の行方向への推論
∂ l ∂ W i = [ ∂ l ∂ b 1 ri ∂ l ∂ b 2 ri ⋮ ∂ l ∂ bnri ] = [ ∂ l ∂ b 1 ∂ l ∂ b 2 ⋮ ∂ l ∂ bn ] ri = ∂ l ∂ ブライ \frac{\partial l}{\partial W_i} = \begin{bmatrix} \frac{\partial l}{\partial b_1}r_i \\ \frac{\partial l}{\partial b_2}r_i \\ \vdots \\ \frac{\partial l}{\partial b_n}r_i \end{bmatrix} = \begin{bmatrix} \frac{\partial l}{\partial b_1} \\ \frac{\partial l }{\partial b_2} \\ \vdots \\ \frac{\partial l}{\partial b_n} \end{bmatrix}r_i = \frac{\partial l}{\partial \mathbf{b}}r_i∂W _私は l= ∂b _1 lr私は∂b _2 lr私は∂b _ lr私は = ∂b _1 l∂b _2 l∂b _ l r私は=∂b _ lr私は
次に、行ベクトルを行列に統合して、次の式を取得します。
∂ l ∂ W = [ ∂ l ∂ W 1 , ∂ l ∂ W 2 , … , ∂ l ∂ W k ] = [ ∂ l ∂ b 1 ∂ l ∂ b 2 ⋮ ∂ l ∂ bn ] [ r 1 , r 2 , … , rk ] = ∂ l ∂ b ( r ) T \frac{\partial l}{\partial W} = \begin{bmatrix} \frac{\partial l} {\partial W_1}, \frac{\partial l}{\partial W_2},\ldots,\frac{\partial l}{\partial W_k} \end{bmatrix} = \begin{bmatrix} \frac{ \partial l}{\partial b_1} \\ \frac{\partial l}{\partial b_2} \\ \vdots \\ \frac{\partial l}{\partial b_n} \end{bmatrix}\begin{bmatrix } r_1 ,r_2,\ldots,r_k \end{bmatrix} = \frac{\partial l}{\partial \mathbf{b}}(\mathbf{r})^T∂W _ l=[∂W _1 l∂W _2 l∂W _ l= ∂b _1 l∂b _2 l∂b _ l [r1r2r=∂b _ l( r )T

損失関数 l がクロスエントロピー損失関数を使用する場合 (カテゴリが c の場合): lossc = − log ⁡ ebc ∑ k = 1 nebk loss_c = - \log\frac{e^{b_c}}{\sum_{k =1}^ {n}e^{b_k}}ロス_ _c=ログ_k = 1ebebc

すると、上の式では∂ l ∂ b \frac{\partial l}{\partial \mathbf{b}} となります。∂b _ l
データのラベルがクラス c の場合、
lc ∂ b 1 = ∂ ( − log ⁡ ebceb 1 + … + ebc + … + ebn ) ∂ b 1 = ∂ ( − log ⁡ ebc + log ⁡ ( eb 1 + … + ebc + … + ebn ) ) ∂ b 1 = eb 1 eb 1 + … + ebc + … + ebn = y 1 \begin{align} \frac{\partial l_c}{\partial b_1} &= \frac{\partial (- \log \frac{e^{b_c}}{e^{b_1} + \ldots + e^{b_c} + \ldots + e^{b_n}})}{\partial b_1} = \frac{\partial ( - \log e^{b_c} + \log (e^{b_1} + \ldots + e^{b_c} + \ldots + e^{b_n}))}{\partial b_1} \nonumber \\ &= \frac{e^{b_1}}{e^{b_1} + \ldots + e^{b_c} + \ldots + e^{b_n}} = y_1 \nonumber \end{align }∂b _1lc=∂b _1( ログ_eb1+ + ebc+ + ebebc)=∂b _1( ログ_ebc+ログ( e _b1++ebc++eb) )=eb1++ebc++ebeb1=y1
∂ lc ∂ bc = ∂ ( − log ⁡ ebceb 1 + … + ebc + … + ebn ) ∂ bc = ∂ ( − log ⁡ ebc + log ⁡ ( eb 1 + … + ebc + … + ebn ) ) ∂ bc = − 1 + ebceb 1 + … + ebc + … + ebn = yc − 1 \begin{align} \frac{\partial l_c}{\partial b_c} &= \frac{\partial (- \log \frac{e^{ b_c}}{e^{b_1} + \ldots + e^{b_c} + \ldots + e^{b_n}})}{\partial b_c} = \frac{\partial ( - \log e^{b_c} + \log (e^{b_1} + \ldots + e^{b_c} + \ldots + e^{b_n}))}{\partial b_c} \nonumber \\ &= -1 + \frac{e^{ b_c}}{e^{b_1} + \ldots + e^{b_c} + \ldots + e^{b_n}} = y_c - 1 \nonumber \end{align}∂b _clc=∂b _c( ログ_eb1+ + ebc+ + ebebc)=∂b _c( ログ_ebc+ログ( e _b1++ebc++eb) )=1+eb1++ebc++ebebc=yc1
∂ lc ∂ b = [ ∂ lc ∂ b 1 ⋮ ∂ lc ∂ bc ⋮ ∂ lc ∂ bn ] = [ y 1 ⋮ yc − 1 ⋮ yn ] % コード \frac{\partial l_c}{\partial \mathbf{b} } = \begin{bmatrix} \frac{\partial l_c}{\partial b_1} \\ \vdots \\ \frac{\partial l_c}{\partial b_c}\\ \vdots \\ \frac{\partial l_c} {\partial b_n} \end{bmatrix} = \begin{bmatrix} y_1 \\ \vdots \\ y_c - 1 \\ \vdots \\ y_n \end{bmatrix}∂b _lc= ∂b _1lc∂b _clc∂b _lc = y1yc1y
そして、関係があります∣ yc − 1 ∣ = ∣ y 1 ∣ + … + ∣ yc − 1 ∣ + ∣ yc + 1 ∣ + … |y_c - 1| = |y_1| + \ldots + |y_{c-1 } | + |y_{c+1}| + \ldotsyc1∣=y1++yc 1+yc + 1+

因为 ∑ i y i = 1 \sum_{i} y_i = 1 私はy私は=1

∂ lc ∂ b \frac{\partial l_c}{\partial \mathbf{b}} を観察することによって∂b _lc訓練データが c の場合、行 c の振幅が最も大きく、すべての行に同じ行ベクトル(r) T (\mathbf{r})^T が乗算されることがわかります。( r )T時、∂ l ∂ W i = ∂ l ∂ b ( r ) T \frac{\partial l}{\partial W_i} = \frac{\partial l}{\partial \mathbf{b}}(\mathbf{ r})^T∂W _私は l=∂b _ l( r )Tラインは依然として最大の振幅を持っています。次に、攻撃者が勾配情報を盗聴した後、振幅が最大の直線を見つけます。この直線は(yc − 1) (r) T (y_c - 1)(\mathbf{r})^T( yc1 ) ( r )T、ここで( yc − 1 ) (y_c - 1)( yc1 )は定数です、( yc − 1 ) ( r ) T (y_c - 1)(\mathbf{r})^T( yc1 ) ( r )T は、近似的に( r ) T (\mathbf{r})^T と( r )T._ _ このようにして、この層のr \mathbf{r}r

結論: 勾配∇ W \nbla Wを介してWはこの層の入力データr \mathbf{r}rは、このデータが属するカテゴリ クラス c も知っています。

中間層としてのリニア層

線形層を中間層として使用する場合、次のようなデータ変換が行われます。

ここに画像の説明を挿入します
簡略化すると以下のような式になります
ここに画像の説明を挿入します

活性化関数σ \sigmaσ は非常に重要な役割を果たします。その主な機能は、すべての隠れ層と出力層に非線形演算を追加することです。

3 層の完全線形接続ニューラル ネットワークを例にとります。
ここに画像の説明を挿入します
z 1 = W 1 x + B 1 z 2 = W 2 σ ( z 1 ) + B 2 z 3 = W 3 σ ( z 2 ) + B 3 { align} & z_1 = W_1x + B_1 \nonumber \\ & z_2 = W_2\sigma(z_1) + B_2 \nonumber \\ & z_3 = W_3\sigma(z_2) + B_3 \nonumber \end{align}z1=W1バツ+B1z2=W2s ( z1)+B2z3=W3s ( z2)+B3
すると、すべて∂ l ∂ W i \frac{\partial l}{\partial W_i}∂W _私は l表現可能

ここでのWi は前のものと異なり、前のものはベクトルである重み行列の列を指しますが、ここでは行列であるどの層の重みを表します。

∂ l ∂ W 1 = ∂ l ∂ z 3 ∂ z 3 ∂ W 1 = ∂ l ∂ z 3 ( ∂ ( W 3 σ ( z 2 ) + B 3 ) ∂ σ ( z 2 ) ∂ σ ( z 2 ) ∂ z 2 ∂ ( W 2 σ ( z 1 ) + B 2 ) ∂ σ ( z 1 ) ∂ σ ( z 1 ) ∂ z 1 ∂ ( W 1 x + B 1 ) ∂ W 1 ) = ∂ l ∂ z 3 ( W 3 ⋅ σ ′ ( z 2 ) ⋅ W 2 ⋅ σ ′ ( z 1 ) ⋅ x ) ∂ l ∂ W 2 = ∂ l ∂ z 3 ∂ z 3 ∂ W 2 = ∂ l ∂ z 3 ( ∂ ( W 3 σ ( z 2 ) + B 3 ) ∂ σ ( z 2 ) ∂ σ ( z 2 ) ∂ z 2 ∂ ( W 2 σ ( z 1 ) + B 2 ) ∂ W 2 ) = ∂ l ∂ z 3 ( W 3 ⋅ σ ′ ( z 2 ) ⋅ σ ( z 1 ) ) ∂ l ∂ W 3 = ∂ l ∂ z 3 ∂ z 3 ∂ W 3 = ∂ l ∂ z 3 ∂ ( W 3 σ ( z 2 ) + B 3 ) ∂ W 3 = ∂ l ∂ z 3 σ ( z 2 ) \begin{align} & \frac{\partial l}{\partial W_1} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_1} = \frac{\partial l}{\partial z_3}(\frac{\partial(W_3\sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\部分 \sigma(z_2)}{\partial z_2} \frac{\partial(W_2\sigma(z_1) + B_2)}{\partial \sigma(z_1)} \frac{\partial\sigma(z_1)}{\partial z_1} \frac{\partial(W_1x + B_1)}{\partial W_1}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) ) \cdot W_2 \cdot \sigma'(z_1) \cdot x) \nonumber \\ & \frac{\partial l}{\partial W_2} = \frac{\partial l}{\partial z_3} \frac{\部分 z_3}{\部分 W_2} = \frac{\部分 l}{\部分 z_3}(\frac{\partial(W_3\sigma(z_2) + B_3)}{\部分 \sigma(z_2)} \frac{ \partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l}{\partial z_3}\frac{\部分 z_3}{\部分 W_3} = \frac{\部分 l}{\部分 z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\部分 W_3} = \frac{\部分 l} {\partial z_3}\sigma(z_2) \nonumber \end{align}\frac{\partial(W_1x + B_1)}{\partial W_1}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot W_2 \cdot \sigma'(z_1 ) \cdot x) \nonumber \\ & \frac{\partial l}{\partial W_2} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_2} = \frac {\partial l}{\partial z_3}(\frac{\partial(W_3\sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \ sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l}{\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac {\partial l}{\partial z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \ nonumber \end{align}\frac{\partial(W_1x + B_1)}{\partial W_1}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot W_2 \cdot \sigma'(z_1 ) \cdot x) \nonumber \\ & \frac{\partial l}{\partial W_2} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_2} = \frac {\partial l}{\partial z_3}(\frac{\partial(W_3\sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \ sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l}{\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac {\partial l}{\partial z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \ nonumber \end{align}\frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot W_2 \cdot \sigma'(z_1) \cdot x) \nonumber \\ & \frac{\partial l}{ \partial W_2} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_2} = \frac{\partial l}{\partial z_3}(\frac{\partial(W_3 \sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)} {\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{ \partial W_3} = \frac{\partial l}{\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac{\partial l}{\partial z_3} \frac{\partial(W_3\ sigma(z_2) + B_3)}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align}\frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot W_2 \cdot \sigma'(z_1) \cdot x) \nonumber \\ & \frac{\partial l}{ \partial W_2} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_2} = \frac{\partial l}{\partial z_3}(\frac{\partial(W_3 \sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)} {\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{ \partial W_3} = \frac{\partial l}{\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac{\partial l}{\partial z_3} \frac{\partial(W_3\ sigma(z_2) + B_3)}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align}\nonumber \\ & \frac{\partial l}{\partial W_2} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_2} = \frac{\partial l} {\partial z_3}(\frac{\partial(W_3\sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{ \partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l}{\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac{\partial l} {\partial z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align }\nonumber \\ & \frac{\partial l}{\partial W_2} = \frac{\partial l}{\partial z_3} \frac{\partial z_3}{\partial W_2} = \frac{\partial l} {\partial z_3}(\frac{\partial(W_3\sigma(z_2) + B_3)}{\partial \sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{ \partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l}{\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac{\partial l} {\partial z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align }\sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l} {\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac{\partial l}{\partial z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\partial W_3 } = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align}\sigma(z_2)} \frac{\partial \sigma(z_2)}{\partial z_2} \frac{\partial (W_2\sigma(z_1) + B_2)}{\partial W_2}) = \frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_3} = \frac{\partial l} {\partial z_3}\frac{\partial z_3}{\partial W_3} = \frac{\partial l}{\partial z_3} \frac{\partial(W_3\sigma(z_2) + B_3)}{\partial W_3 } = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align}\frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align}\frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \end{align}∂W _1 l=∂z _3 l∂W _1∂z _3=∂z _3 l(σ ( z2)( W3s ( z2)+B3)∂z _2σ ( z2)σ ( z1)( W2s ( z1)+B2)∂z _1σ ( z1)∂W _1( W1バツ+B1))=∂z _3 l( W3p' (z2)W2p' (z1)× ∂W _2 l=∂z _3 l∂W _2∂z _3=∂z _3 l(σ ( z2)( W3s ( z2)+B3)∂z _2σ ( z2)∂W _2( W2s ( z1)+B2))=∂z _3 l( W3p' (z2)s ( z1))∂W _3 l=∂z _3 l∂W _3∂z _3=∂z _3 l∂W _3( W3s ( z2)+B3)=∂z _3 ls ( z2)
それを整理する
∂ l ∂ W 3 = ∂ l ∂ z 3 σ ( z 2 ) ∂ l ∂ W 2 = ∂ l ∂ z 3 ( W 3 ⋅ σ ′ ( z 2 ) ⋅ σ ( z 1 ) ) = ∂ l ∂ z 3 ( ∂ z 3 ∂ z 2 ′ ⋅ σ ′ ( z 2 ) ⋅ σ ( z 1 ) ) ∂ l ∂ W 1 = ∂ l ∂ z 3 ( W 3 ⋅ σ ′ ( z 2 ) ⋅ W 2 ⋅ σ ′ ( z 1 ) ⋅ x ) = ∂ l ∂ z 3 ( ∂ z 3 ∂ z 2 ′ ⋅ σ ′ ( z 2 ) ⋅ ∂ z 2 ∂ z 1 ′ ⋅ σ ′ ( z 1 ) ⋅ x ) \begin{align} & \frac{\partial l}{\partial W_3} = \frac{\partial l}{\partial z_3}\sigma(z_2) \nonumber \\ & \frac{\partial l}{\partial W_2} = \ frac{\partial l}{\partial z_3}(W_3 \cdot \sigma'(z_2) \cdot \sigma(z_1)) = \frac{\partial l}{\partial z_3}(\frac{\partial z_3} {\partial z'_2} \cdot \sigma'(z_2) \cdot \sigma(z_1)) \nonumber \\ & \frac{\partial l}{\partial W_1} = \frac{\partial l}{\部分 z_3}(W_3 \cdot \sigma'(z_2) \cdot W_2 \cdot \sigma'(z_1) \cdot x) = \frac{\partial l}{\partial z_3}(\frac{\partial z_3}{ \部分的z'_2} \cdot \sigma'(z_2) \cdot \frac{\partial z_2}{\partial z'_1} \cdot \sigma'(z_1) \cdot x) \nonumber \end{align}∂W _3 l=∂z _3 ls ( z2)∂W _2 l=∂z _3 l( W3p' (z2)s ( z1))=∂z _3 l(∂z _2∂z _3p' (z2)s ( z1))∂W _1 l=∂z _3 l( W3p' (z2)W2p' (z1)× =∂z _3 l(∂z _2∂z _3p' (z2)∂z _1∂z _2p' (z1)×
方程式の他のすべての項が既知で、1 つの項だけが未知の場合、この項を見つけることができます。
ここに画像の説明を挿入します
青は既知を意味し、赤は見つけることができます。上記の式は、ニューラル ネットワークの入力データ x を徐々に見つけることができます。

ほとんどの活性化関数は同様の構造とスパース性を持っているため、この論文では、z を導出するときに z を使用して z' を近似します。

したがって、攻撃者が勾配情報を盗聴した後、計算によって元の訓練データを復元する可能性が高く、目的を達成するには訓練データや中間訓練過程にある程度の摂動を与える必要がある。元のデータを安全に保護します。

おすすめ

転載: blog.csdn.net/x_fengmo/article/details/131069059