Deep neural network là gì

     

Trong bài xích thứ tư này, chúng ta sẽ tò mò về Deep neural networks. Từ này đang trlàm việc lên thường dùng ngày này trong ngành công nghiệp và lĩnh vực phân tích.

Bạn đang xem: Deep neural network là gì

Mục tiêu của nội dung bài viết này :

Xem deep neural networks Lúc những lớp kết nối cùng nhau.Xây dựng cùng huấn luyện một mạng thần tởm sâu gồm L lớpPhân tích form size ma trận với vectơ để khám nghiệm vấn đề xúc tiến mạng thần kinhHiểu giải pháp thực hiện cỗ đệm để media tin trường đoản cú forward propagation thanh lịch backward propagationHiểu phương châm của hyperparameters vào Deep learning

Notation:

Ký hiệu vần âm in hoa A, Z, W, B là các ma trậnKý hiệu các chữ cái thường xuyên a, z, w, b là các vector kích cỡ (x,1)Ký hiệu đại diện thay mặt mang lại lớp trang bị lthl^thlth .L là số lớp của màng lưới thần kinhnln^lnl là số unit trong lớp đồ vật llla=g(z)=g(wa+b)a^= g(z^) = g(w^a^ +b^)a=g(z)=g(wa+b) là lthl^thlth layer"s activations với g sinh hoạt đó là các hàm kích hoạt nlỗi sigmod(), relu(), ...WW^W và bb^b là những thông số của lớp lthl^thlth (layer parametes).Ký hiệu (i)(i)(i) thay mặt đến ithi^thith example.VÍ dụ: x(i)x^(i)x(i) là tỉ dụ đồ vật ithi^thith của tập training.Ký hiệu chữ thường iii thay mặt mang lại ví trí vật dụng ithi^thith của một vectorVí dụ: aia^_iai​ ngốc diện mang đến ví trí ithi^thith của lthl^thlth layer"s activations.

Đây là các ký kết hiệu mà lại họ đang dùng vào cả bài này. Hãy ghi lưu giữ bọn chúng nhằm ban đầu bài xích phát âm, hoặc bạn cũng có thể mau lẹ dàn ra đầu trang để xem trong ngôi trường học bạn quên.

*

Một Deep Neural Network bao gồm số lượng lớp ấn nhiều hơn thế.

*

Với mạng thân bên trên, ta thấy các điểm nlỗi sau:

Có L=4L=4L=4 layerSố unit của các layer lần lượt là n<1>=5n^<1>=5n<1>=5, n<2>=5n^<2>=5n<2>=5, n<3>=3n^<3>=3n<3>=3, n<4>=1n^<4>=1n<4>=1Forward Propagation in a Deep Network

Đâu tiên họ nhìn vào Forward Propagation của mạng lưới thần ghê bên trên với 1 tài liệu a<0>=x=a^<0> = x = eginbmatrix và x_1 \ và x_2 \ & x_3endbmatrixa<0>=x=⎣⎢⎡​​x1​x2​x3​​⎦⎥⎤​đào tạo tốt nhất. Ta có:

z<1>=w<1>a<0>+b<1>;a<1>=g<1>(z<1>)z<2>=w<2>a<1>+b<2>;a<2>=g<2>(z<2>)z<3>=w<3>a<2>+b<3>;a<3>=g<3>(z<3>)z<4>=w<4>a<3>+b<4>;a<2>=g<3>(z<4>)=y^z^<1> = w^<1>a^<0> + b^<1> ; a^<1> = g^<1>(z^<1>) ewline z^<2> = w^<2>a^<1> + b^<2>; a^<2> = g^<2>(z^<2>) ewlinez^<3> = w^<3>a^<2> + b^<3>; a^<3> = g^<3>(z^<3>) ewlinez^<4> = w^<4>a^<3> + b^<4>; a^<2> = g^<3>(z^<4>) =haty ewlinez<1>=w<1>a<0>+b<1>;a<1>=g<1>(z<1>)z<2>=w<2>a<1>+b<2>;a<2>=g<2>(z<2>)z<3>=w<3>a<2>+b<3>;a<3>=g<3>(z<3>)z<4>=w<4>a<3>+b<4>;a<2>=g<3>(z<4>)=y^​

Tổng quát hóa cùng với ngôi trường đúng theo gồm LLL layer :

z=wa+bz^ = w^a^ + b^ z=wa+b

a=g(z)a^ = g^(z^) ewlinea=g(z)

Chúng ta rất có thể vectorize quá trình này Lúc có m dữ liệu huấn luyện và giảng dạy nlỗi sau:

Z=WA+BZ^ = W^A^ + B^ Z=WA+B

A=g(Z)A^ = g^(Z^) ewlineA=g(Z)

Getting your matrix dimensions right

Phân tích form size của ma trận là 1 Một trong những công cụ gỡ lỗi rất tốt để soát sổ mức độ chính xác của code của bọn họ. Chúng ta vẫn trao đổi về hầu như gì yêu cầu là form size đúng mực cho từng ma trận trong phần này. Hãy cẩn thận ví dụ sau:

*

Mạng lưới thần ghê bên trên có số layer L = 5 cùng với 4 hidden layer và 1 output layer. Số unit trong những layer được diễn đạt trên hình vẽ.

Ta so sánh size của z<1>=w<1>a<0>+b<1>z^<1> = w^<1>a^<0> + b^<1>z<1>=w<1>a<0>+b<1>. Lúc có 1 tài liệu giảng dạy.

Kích thước của w<1>:(3,2)w^<1>: (3,2)w<1>:(3,2) xuất xắc (n<0>,n<1>)(n^<0>, n^<1>)(n<0>,n<1>)Kích thước của x=a<0>=x:(2,1)x=a^<0> = x: (2,1)x=a<0>=x:(2,1) hay (n<0>,1)(n^<0>, 1)(n<0>,1)Kích thước của b<1>:(3,1)b^<1>: (3,1)b<1>:(3,1) xuất xắc (n<1>,1)(n^<1>, 1)(n<1>,1)Do đó, kích thước của z<1>:(3,1)z^<1>: (3,1)z<1>:(3,1) giỏi (n<1>,1)(n^<1>, 1)(n<1>,1)

Suy ra dạng bao quát của W,bW, bW,b cùng những dẫn suất của bọn chúng Khi tất cả m training example:

W:(n,n)W^: (n^, n^)W:(n,n)b:(n,1)b^: (n^, 1)b:(n,1)dW=∂J∂W:(n,n)dW^ = fracpartial mathcalJ partial W^: (n^, n^)dW=∂W∂J​:(n,n) trong đó L là hàm loss function.db=∂J∂Z:((n,1)db^ = fracpartial mathcalJ partial Z^: ((n^, 1)db=∂Z∂J​:((n,1)Kích thước của Z,A,dZ,dA:(n,m)Z^, A^, dZ^, dA^ : (n^, m)Z,A,dZ,dA:(n,m)

Đây là một vài size ma trận bao quát để giúp đỡ code của khách hàng chạy một phương pháp suôn sẻ tru. Chúng ta vẫn thấy một số điều cơ phiên bản của deep neural networks cho tới thời đặc điểm đó. Nhưng vì sao bọn họ bắt buộc thay mặt sâu sắc tức thì từ đầu? Tại sao khiến cho số đông vật dụng phức hợp lúc phương án thuận lợi rộng tồn tại? Hãy thuộc tra cứu hiểu!

Why Deep Representations?

Trong những màng lưới thần tởm sâu, bọn họ có một vài lượng to các lớp ẩn. Những lớp ẩn này thực sự vẫn làm gì? Để hiểu vấn đề đó, hãy cẩn thận hình hình họa dưới đây:

*

Mạng lưới thần kinh sâu tra cứu mối quan hệ với tài liệu (quan hệ đơn giản dễ dàng cho phức tạp). Lớp ẩn thứ nhất hoàn toàn có thể đã làm gì, đang cố gắng kiếm tìm những hàm đơn giản dễ dàng như xác định các cạnh trong ảnh bên trên. Và Khi họ đi sâu rộng vào mạng, những tác dụng dễ dàng và đơn giản này kết hợp với nhau nhằm tạo thành những chức năng phức hợp hơn như dìm diện khuôn mặt. Một số ví dụ phổ biến về Việc tận dụng **deep neural network ** là:

Ta cẩn thận bất kỳ phần bên trong Deep Neural Network, đầu vào của lớp này là những activation trường đoản cú lớp trước (l-1) với Áp sạc ra của lớp này là những activations của chinc lớp nó.

Input: aa^aOutput: aa^a

Lớp này trước tiên tính zz^z dựa vào aa^a được truyền vào . zz^z này được lưu dưới dạng cabịt, trong cabít này cũng giữ W,bW^, b^W,b nhằm về sau còn cập nhật những tđê mê số. Đối cùng với backward propagation, trước tiên, nó và tính dada^da , nghĩa là đạo hàm activation sống lớp lthl^thlth, đạo hàm của trọng số dW,db,dZdW^, db^,dZ^dW,db,dZ, và sau cuối là dada^da . Các các bạn hãy hình cần sử dụng các bước như sau:

*

Đay là phương pháp mỗi kăn năn tốt phần trong Deep Neural Network. Bây giờ đồng hồ ta đang xem phương thức hiện tại của Forward and Backward Propagation vào từng kăn năn thế nào.

Forward and Backward Propagation

Forward Propagation for layer lll:

Input: aa^aOutput: a,cache(z>)a^, cache(z^>)a,cache(z>) trong các số đó ZZ^Z là 1 trong những hàm của W,bW^, b^W,b

Với 1 dữ liệu đạo tạo ra thì ta tính nlỗi sau:

Z=Wa+bZ^ = W^ a^ + b^ Z=Wa+b

a=g(Z)a^ = g^(Z^)a=g(Z)

Vectorized cùng với m tài liệu đào tạo ta được:

Z=WA+bZ^ = W^A^ +b^Z=WA+b

cùng với A<0>=XA^<0> = XA<0>=X.

A=g(Z)A^ = g^(Z^)A=g(Z)

Chúng ta công thêm ZZZ với AAA cho mỗi lớp của mạng. Sau Lúc tính tân oán các activations, bước tiếp theo sau là backward propagation (lan truyền ngược), trong số đó Shop chúng tôi cập nhật các trọng số bằng phương pháp áp dụng gradient descent nhỏng tôi đã trình bày sống những bài bác trước.

Xem thêm: 10 Cụm Động Từ Với ' Work As Là Gì, Nghĩa Của Từ Works, 10 Cụm Động Từ Với 'Work'

Backward propagation for layer lll

Input: dada^daOuput: da,dW,dbda^, dW^, db^da,dW,db

Với 1 dữ liệu đạo chế tác thì ta tính nhỏng sau:

dZ=∂L∂Z=da∗g′(Z)dZ^ = fracpartial mathcalL partial Z^ = da^ * g'^(Z^)dZ=∂Z∂L​=da∗g′(Z)

dW=∂J∂W=dZaTdW^ = fracpartial mathcalJ partial W^ = dZ^ a^ T dW=∂W∂J​=dZaT

db=∂J∂b=dZdb^ = fracpartial mathcalJ partial b^ = dZ^db=∂b∂J​=dZ

da=∂L∂a=WTdZda^ = fracpartial mathcalL partial a^ = W^ T dZ^ da=∂a∂L​=WTdZ

Vectorized với m dữ liệu huấn luyện ta được:

dZ=∂L∂Z=da∗g′(Z)dZ^ = fracpartial mathcalL partial Z^ = da^ * g'^(Z^)dZ=∂Z∂L​=da∗g′(Z)

dW=∂J∂W=1mdZATdW^ = fracpartial mathcalJ partial W^ = frac1m dZ^ A^ T dW=∂W∂J​=m1​dZAT

db=∂J∂b=1m∑i=1mdZ(i)db^ = fracpartial mathcalJ partial b^ = frac1m sum_i = 1^m dZ^(i)db=∂b∂J​=m1​i=1∑m​dZ(i)

dA=∂L∂A=WTdZdA^ = fracpartial mathcalL partial A^ = W^ T dZ^ dA=∂A∂L​=WTdZ

Với LLL sinh sống đấy là hàm loss fuction L(y−y^)L(y - haty)L(y−y^​) cùng cost function J=1m∑i=1mL(y((i)−y(i)^)J = frac1m sum_i = 1^mL(y(^(i) - haty^(i))J=m1​∑i=1m​L(y((i)−y(i)^​)

Với xây dựng thì ta rất có thể viết của thể tính dW, db, dA_prev nhỏng sau:

dW = 1/m * np.dot(dZ, A_prev.T) db = 1/m * np.sum(dZ, axis = 1, keepdims = True) dA_prev = np.dot(W.T, dZ)

Update Parameters

Sau lúc Backward propagation, thì ta đang cập nhật tmê say số như sau, với α alpha ext α  là learning rate ta trường đoản cú khởi chế tạo ra.

W=W−α dWW^ = W^ - altrộn ext dW^ W=W−α dW

b=b−α dbb^ = b^ - altrộn ext db^ b=b−α db

Đây là biện pháp họ thực hiện deep neural networks..

Deep neural networks. vận động tốt xứng đáng không thể tinh được (hoàn toàn có thể không thật quá bất ngờ nếu khách hàng vẫn áp dụng chúng trước đó!). Chỉ chạy một vài ba cái mã mang lại bọn họ kết quả một cách khách quan. Như vậy là do chúng tôi vẫn hỗ trợ một lượng Khủng tài liệu đến mạng và nó sẽ giao lưu và học hỏi trường đoản cú dữ liệu kia bằng cách thực hiện những lớp ẩn.

Chọn đúng hyperparameters góp bọn họ tạo nên mô hình của bản thân hiệu quả rộng. Mình đang nhắc cụ thể về điều chỉnh rất tham mê số trong nội dung bài viết tiếp theo sau của loạt bài xích này.

Parameters vs Hyperparameters

Đây là một câu hỏi hay gặp gỡ của những người new học Deep learning. Sự khác hoàn toàn ở chính giữa Parameters vs Hyperparameters là những Parameters được quy mô học tập vào thời gian đào tạo và huấn luyện, trong khi Hyperparameters có thể được đổi khác trước lúc huấn luyện mô hình cùng ta cần tự lựa chọn qua kinh ngiệm.

Các Parameters của mạng nơ ron sâu là WWW và bbb, mô hình update trong bước Backward propagation. Mặt không giống, có nhiều Hyperparameters cho 1 deep NN,, bao gồm:

Learning rate α altrộn ext α Number of iterationsNumber of hidden layersUnits in each hidden layerChọn activation function

Đây là 1 trong những tổng quan tiền nthêm gọn gàng về sự biệt lập giữa nhì chu đáo này. quý khách hàng rất có thể tham khảo nội dung bài viết của anh ấy Toàn phần máy 7 để biết thêm cụ thể.

ReferencesTL,DR

Đến đây vẫn dứt khóa đào tạo thứ nhất Neural Networks and Deep Learning(Course 1 of the Deep Learning Specialization) Bây giờ bọn họ biết làm cho thế làm sao để tiến hành forward và backward propagation và gradient descent cho những deep neural networks. Chúng ta đã và đang thấy làm cho gắng làm sao vectorization góp chúng ta thoát khỏi những vòng lặp ví dụ, khiến cho code của bọn họ tác dụng vào quá trình.

Chắc một số ít nội dung bài viết cho tới bản thân đã reviews những gốc rễ nhằm thiết kế bao hàm pyeo hẹp, numpy, pandomain authority, matplot, tiếp nối bản thân đã khuyên bảo làm cho lại bài bác thực hành thực tế tuần 4 bên trên khóa học để chúng ta gồm mẫu nhìn thấy rõ đường nét rộng cách code những phần sinh hoạt trên mỗi bước một, nhằm chúng ta về sau khoản thời gian làm cho thân quen cùng với các thư viện bao gồm sẵn nhỏng Tensorflow, keras, pytorch,.. vẫn phát âm bên dưới bọn chúng triển khai hầu hết gì và để mình cũng nhớ lâu bền hơn

*
. Rất mong mỏi được sự cỗ vũ của các bạn.

Trong phần tiếp sau (sẽ bao hàm khóa 2) đã một thời nhiều năm sau, bọn họ đã xem làm rứa làm sao bạn cũng có thể nâng cấp mạng lưới thần gớm sâu bằng phương pháp kiểm soát và điều chỉnh hyperparameter, regularizationoptimization. Đó là 1 trong số những cẩn thận khó khăn với hấp dẫn hơn của deep learning.


Chuyên mục: Đầu tư