Within Convolutional Layer - Phần 2 (Kết): Backpropagation

Ở bài viết trước, chúng ta đã nói đến Connections cutting, Weights sharing và Convolution tại Forward pass. Trong phần này sẽ chủ yếu diễn giải các công thức, thuật toán được sử dụng để thực hiện Backpropagation tại Convolutional Layer.

Nhắc lại về Forward pass

Như đã nói ở phần I về Convolution operator, công thức tính output Y sau bước convolution input X với kernel W (kích thước $2k+1$) có thể viết thành:
$\Large Y = X \star W + b$
$ b$ là bias.
Tại mỗi điểm $ y_{i,j} \in Y$:
$\LARGE y_{i,j} = \sum\limits_{m=-k}^{k}\sum\limits_{n=-k}^{k}x_{i-m,j-n}w_{i,j} + b$
$\LARGE y_{i,j} = \sum\limits_{m=i-k}^{i+k}\sum\limits_{n=j-k}^{j+k}x_{m,n}w_{i-m,j-n} + b$


Nếu các bạn đã biết về Backpropagation ở Linear layer, thì cách tiếp cận với Convolutional layer cũng hoàn toàn tương tự.  Mục tiêu của quá trình lan truyền ngược là tính toán sự tham gia đóng góp lỗi vào hàm mất mát $L$ của mỗi layer, từ đó tối ưu các trọng số của những layer này nhằm giảm loss về mức tối thiểu. Thuật toán sử dụng chain-rule để tính toán gradient cho layer. 
Sau bước Backpropagation ở layer $l+1$, tại layer $l$ đang xét, ngoài $X^l$, $W^l$, ta còn có thêm giá trị $\frac {\partial L}{\partial Y^l}$. Như đã nói ở trên, mục tiêu là tính được $\frac {\partial L}{\partial Y^(l-1)}$ và $\frac {\partial L}{\partial W^l}$.

Để dễ hình dung, chẳng hạn với $Y$ có kích thước $2 \times 2$, đặt
$ \LARGE \frac{\partial L}{\partial Y} = \begin{bmatrix} \frac{\partial L}{\partial y_{11}} & \frac{\partial L}{\partial y_{12}} \\ \frac{\partial L}{\partial y_{21}} & \frac{\partial L}{\partial y_{22}} \end{bmatrix} = \begin{bmatrix} \delta_{11} & \delta_{12}\\ \delta_{21} & \delta_{22} \end{bmatrix}$

Theo chain-rule:
$\LARGE \frac{\partial L}{\partial w_{p,q}} = \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}}\frac{\partial y_{i,j}}{\partial w_{p,q}} $ 

$\LARGE = \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}}\frac{\partial \sum\limits_{m,n}w_{m,n}x_{i-m,j-n} + b}{\partial w_{p,q}}$ 

$\LARGE = \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}}\frac{\partial (w_{0,0}x_{i,j} + .. .+ w_{p,q}x_{i-p,j-q}+...+ b)}{\partial w_{p,q}} $

$\LARGE = \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}}x_{i-p,j-q}$  

Đặt $ i' = i-p => i = i'+p$, $j' = j-q => j= j'+q$:

$\LARGE \frac{\partial L}{\partial w_{p,q}} = \sum\limits_{i',j'}\frac{\partial L}{\partial y_{i'+p,j'+q}}x_{i',j'}$.

$ \LARGE \rightarrow  \frac{\partial L}{\partial W}= X \otimes \frac{\partial L}{\partial Y}  = X\star  flip(\frac{\partial L}{\partial Y}) $

Công thức trên là lý do trong quá trình Backpropagation, khi tính gradient của $W$, gradient của $Y$ bị flip:

Với $\frac{\partial L}{\partial Y^{l-1}}$ trước tiên cần biết rằng $X^l = f(Y^{l-1})$, trong đó $f(Y^{l-1})$ là activate function hoặc Pool, ReLU của layer $l-1$. Gọi đạo hàm của hàm này là $f'(Y^{l-1})$  (thường có công thức rất đơn giản).
Tương tự ta cũng dùng chain-rule:

$\LARGE \frac{\partial L}{\partial y_{p,q}^{l-1}} =\sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}^l}\frac{\partial \sum\limits_{m,n}w^{l}_{i-m,j-n}x^l_{m,n} + b^l}{\partial y_{p,q}^{l-1}}$
$\LARGE= \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}^l}\frac{\partial \sum\limits_{m,n}w^{l}_{i-m,j-n}f(y^{l-1}_{m,n}) + b^l}{\partial y_{p,q}^{l-1}} $
$\LARGE = \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}^l}\frac{\partial [w^{l}_{i,j}f(y^{l-1}_{0,0}) +...+w^{l}_{i-p,j-q}f(y^{l-1}_{p,q}) + ... + b^l]}{\partial y_{p,q}^{l-1}}$
$\LARGE= \sum\limits_{i,j}\frac{\partial L}{\partial y_{i,j}^l}w^{l}_{i-p,j-q}f'(y^{l-1}_{p,q})$
$\LARGE \rightarrow  \frac{\partial L}{\partial Y^{l-1}} = \frac{\partial L}{\partial Y^l}f'(Y^{l-1}) \star  flip(W^l)$

Convolution được sử dụng rất nhiều trong Deep learning, đặc biệt với các bài toán về hình ảnh. Hy vọng sau series này, bạn có thể hiểu thêm những điều chưa biết về Convolutional layer ngoài những khái niệm cơ bản thường thấy.


  1. This helps attract and retain players nicely as|in addition to} ensure you can to|you presumably can} pay them once they win on line casino games in your web site. A lot of people could argue that the best thing about land-based betting homes is socialisation, but web-based casinos have already picked up on this flaw and now offer stay on line casino games. When enjoying in} on line casino games online UK you can to|you presumably can} set handy betting limits, so you 1xbet korean by no means go above what's reasonably priced for you. Setting a price range and limits speaks for a responsible gambling experience, something rarely found at land-based betting homes. According to the British Gambling Commission, slot games are the most popular amongst British players.

  2. — Punters in North Korea who quickly as} risked three years onerous labour for gambling are now are|are actually} in a position to} 바카라 사이트 bet on native horse races because the isolated country scrambles to unearth new sources of onerous forex amid intensifying international sanctions. Recently, the KFTC has initiated an investigation towards a major Korean gaming company concerning loot boxes. The KFTC has a history of implementing sanctions for unfair business practices, together with false or deceptive promoting.

  3. Turner previously told The Drum about the challenge of growing regulation-safe campaigns for Betfair’s recent ‘Finger Ball’ campaign. “It’s a fantastic line between constructing leisure and attempting to do the thing that promoting needs to do to be able to} capture someone’s attention, but not going too far and falling foul of rules,” he mentioned on the time. This put Betfair Casino’s two-year-old marketing campaign featuring dogs threat of|susceptible to|vulnerable to} falling 메리트카지노 foul of the new new} guidelines. To stay one step ahead, Betfair culled all its existing marketing that used animals and set about growing a compliant substitute. Chances are when you meet a beautiful woman in a on line casino who wants to gamble with you, she just wants a chunk of the action. If you're taking them to your room and spend the night with them, you deserve each chip or greenback they take from your pockets before you wake up.


Post a Comment

Popular posts from this blog

Intersection over Union (IoU) cho object detection

Giới thiệu về Generative Adversarial Networks (GANs)

Correct A Math Test with Deep Learning - Part I