Thứ Năm, 27 tháng 12, 2018

[Machine Learning] Deep neural network vs shallow neural network

Trong bài trước, khi ta nhắc đến shallow neural network, ta hiểu rằng đây là mạng nơ ron mà chỉ có một hoặc hai hidden layer, thực ra con số này là không định lượng, việc ta nói shallow và deep chỉ để phân biệt rằng hai kiến trúc mạng một kiến trúc sử dụng số lượng nhỏ và mạng còn lại sử dụng số lượng lớn hidden layer. Trái lại, trong deep neural network, số lượng hidden layer lớn hơn nhiều. Như đã nói ở trước, khi nói về số lớp của 1 mạng, ta sẽ bỏ qua input layer, do đó với hình dưới đây, logistic regression cũng có thể coi là một mạng neuron với chỉ 1 lớp.

Khi thực hiện tính toán forward propagation và back propagation trong Deep NN, ta cũng phải thực hiện tuần tự qua từng layer, ví dụ như với hình trên là 2 hidden layer, khi này ta sẽ phải lần lượt tính z1, a1, z2, a2 tương ứng với 2 hidden layer. 
Ta nên để ý và phân biệt rõ 2 khái niệm: hidden layer và layer của 1 mạng khi layer của 1 mạng được hiểu như là số lượng hidden layer cộng với 1 output layer.
Ngoài ta, ta sẽ có 1 vòng loop trong việc thực hiện FP và BP, ví dụ ta có n hidden layers, khi đó vòng loop của ta sẽ phải chạy qua n layer. Trái với việc tính toán trước đó ta có thể dùng vectorization, việc tính toán BP và FP không thể áp dụng vectorization và ta phải lặp qua từng layer để tính toán các giá trị W, b hay a, z.

Ngoài ra, ở layer input, ta nên chú ý rằng x1,x2,x3 chỉ là input feature của 1 sample, do đó khi có m samples, thì input vector sẽ là [mx3] với 3 là số feature của 1 input, mỗi hàng là 1 sample trong input vector.

Tiếp theo ta nói về size của các tham số trong 1 mạng Deep NN.
Giả sử ta có một Deep NN như hình dưới đây, khi đó, với mỗi layer, ta kí hiện n^[k] là số unit của layer đó, ví dụ với input layer, mỗi sample được biểu diễn bởi 2 feature, do đó n^[0] = 2, tương tự n^[1] = 3.
Các w và b của các layer có số chiều tổng quát là:
W[L] = n^[L]xn^[L-1].
Ví dụ W[2] = n^[2] x n^[1] = [5x3]
b là bias của các unit trong 1 layer, do đó nếu 1 layer có n^[L] units, thì chiều của b[L] = [n^[L] x 1]
Để tính BP, dw và db có cùng số chiều với w và b

Khi ta có 1 sample, chiều của z[L] hay a[L] là [n^[L] x 1]
Khi có m sample, chiều của z[L] hay a[L] là [n^[L] x m]

Không có nhận xét nào:

Đăng nhận xét