NORMALIZATION LÀ GÌ

     
Giới thiệu

Các mô hình Deep Learning hiện thời đang tạo nên các mô hình cực tốt để giải quyết và xử lý rất các các nghành nghề và bài bác toán phức hợp như là speech recognition, computer vision, machine translation, v.v.. Tuy nhiên, để có thể huấn luyện xuất sắc được các quy mô Deep Learning là rất khó khăn vì các mô hình hiện tại có cấu trúc bao gồm rất những layer, vào suốt quy trình đó,phân bố dữ liệu qua những layer bị biến đổi. Vị vậy, nhằm mô hình rất có thể học nó là khó khăn. Bởi vậy, trong nội dung bài viết này, bản thân sẽ chỉ dẫn tầm quan trọng đặc biệt của vấn đề normalization cùng các phương thức của nó nhằm các bạn có thể sử dụng chúng cân xứng với việc của bạn.

Bạn đang xem: Normalization là gì

*

Sau khi normalied dữ liệu, khoảng dữ liệu khác biệt của 2 feature được đem lại cùng một khoảng chừng từ -2 cho 2.

*

Bây giờ, mình sẽ cùng luận bàn tại sao normalization lại tốt trong trường phù hợp trên ?

Trước khi họ normalized tài liệu đầu vào, trọng số liên quan đến các features sẽ khác nhau rất nhiều vì giá trị đầu vào của các features trình diễn ở những cùng khác biệt rất mập từ -200 mang lại 200 cùng từ -10 cho 10. Để mê say nghi với sự biệt lập giữa những features thì một số trong những trọng số sẽ khủng và một trong những trọng số lại nhỏ. Nếu ta có trọng số to thì sẽ ảnh hưởng đến việc cập nhật nó trong thừa trình lan truyền ngược cũng trở nên lớn cùng ngược lại. Vị sự phân bố không đồng đều của những trọng số nên dẫn tới bài toán thuật toán có khả năng sẽ bị dao đồng vào vùng tối ưu trước lúc nó tìm tới vị trí rất tiểu toàn cục.

Để tránh câu hỏi thuật toán học tập dành vô số thời gian xấp xỉ khi về tối ưu, ta normalize những features đầu vào về cùng tỉ lệ, phân phối. Từ đó thì dữ liệu đầu vào vẫn tỉ lệ và trọng số liên quan đến chúng cũng trở nên cùng tỉ lệ. Điều này góp mô hình rất có thể học nhanh hơn.

Các phương pháp normalization

*

Normalization có rất nhiều phương pháp, như tôi đã nói làm việc trên, việc lựa chọn phương thức đúng cho mục tiêu của mô hình là siêu quan trọng, dưới đây mình sẽ giới thiệu một số phương thức mà mình search hiêu được :

Batch normalization

Batch normalization là 1 trong các phương thức normalization được sử dụng thịnh hành trong mô hình deep learning. Nó chất nhận được đào tạo nhanh hơn với ổn dịnh các mạng nơ-ron sâu bằng phương pháp ổn định sự phân bố của các đầu vào các layer trong quy trình huấn luyện.Cách tiếp cận này hầu hết liên quan đến Internal Covariate Shift (ICS). Để cải thiện việc huấn luyện mô hình, điều đặc trưng là nên giảm ICS bằng cách kiểm thẩm tra means với variances của tài liệu đầu vào các layer, nôm na là kiểm soát và điều chỉnh phân phối của tài liệu cho đồng nhất trên toàn mô hình. Batch normalization là một trong phương thức chuẩn hóa các hàm kích hoạt trong mạng sang 1 mini-batch theo form size được khái niệm trước đó. Với từng feature, batch normalization đo lường trung vị cùng phương không đúng của feature đó trong một mini-batch. Sau đó, nó trừ đi giá trị trung bình và phân tách cho độ lệch chuẩn chỉnh của mini-batch đó. Công thức sẽ tiến hành biểu diễn như sau:

μB←1m∑i=1mxi//mini−batchmeanmu_mathcalB leftarrow frac1m sum_i=1^m x_i / / mini-batch meanμB​←m1​i=1∑m​xi​//mini−batchmean

σB2←1m∑i=1m(xi−μB)2//mini−batchvariancesigma_mathcalB^2 leftarrow frac1m sum_i=1^mleft(x_i-mu_mathcalB ight)^2 quad / / mini-batch variance σB2​←m1​i=1∑m​(xi​−μB​)2//mini−batchvariance

Điều gì xảy ra nếu ta tăng cường độ trọng số có tác dụng cho mô hình trở nên xuất sắc hơn. Để xử lý vấn đề này, bạn cũng có thể thêm γ với β để chúng có thể học scale và shift vs tham số tương ứng. Được miêu tả như sau:

Input: Values of xxx over a mini-batch: B=x1…mmathcalB=leftx_1 ldots m ightB=x1…m​ Parameters to be learned: γ,βgamma, etaγ,β

Output: yi=BNγ,β(xi)lefty_i=mathrmBN_gamma, etaleft(x_i ight) ightyi​=BNγ,β​(xi​)

μB←1m∑i=1mxi//mini−batchmeanmu_mathcalB leftarrow frac1m sum_i=1^m x_i / / mini-batch meanμB​←m1​i=1∑m​xi​//mini−batchmean

σB2←1m∑i=1m(xi−μB)2//mini−batchvariancesigma_mathcalB^2 leftarrow frac1m sum_i=1^mleft(x_i-mu_mathcalB ight)^2 quad / / mini-batch variance σB2​←m1​i=1∑m​(xi​−μB​)2//mini−batchvariance

x^i←xi−μBσB2+ϵ//normalizewidehatx_i leftarrow fracx_i-mu_mathcalBsqrtsigma_mathcalB^2+epsilon / / normalize xi​←σB2​+ϵ​xi​−μB​​//normalize

yi←γx^i+β≡BNγ,β(xi)//scaleandshifty_i leftarrow gamma widehatx_i+eta equiv mathrmB mathrmN_gamma, etaleft(x_i ight) / /scale và shiftyi​←γxi​+β≡BNγ,β​(xi​)//scaleandshift

Các vấn đề của batch normalization

Variable batch size -> giả dụ barch kích cỡ là 1, thì phương không nên sẽ bởi 0, lúc này thì batch norm không chuyển động được. Rộng nữa, trường hợp ta đến mini-batch nhỏ tuổi thì nó sẽ thành nhiễu và ảnh hưởng đến quá trình huấn luyện mô hình.Cũng có vấn đề trong lúc huấn luyện. Như là, nếu khách hàng đang giám sát trên những máy không giống nhau thì các bạn phải có batch kích thước giống nhau vày tham số γ với β sẽ khác nhau so với các khối hệ thống khác nhauRecurrent Neural Network -> vào RNN, những kích hoạt tái diễn của mỗi bước thời gian sẽ sở hữu được một câu chuyện không giống nhau để đề cập (tức là số liệu thống kê). Điều này còn có nghĩa là họ phải cân xứng với những layer batch norm cá biệt cho mỗi time-step. Điều này có tác dụng cho mô hình phức tạp hơn với tốn không gian hơn vày nó buộc chúng ta phải tàng trữ số liệu thống kê mang lại từng bước thời hạn trong quy trình đào tạo.

Các ích lợi của batch normalization

Làm sút internal covariate shift (ICS) và tăng vận tốc huấn luyện cho mô hình deep learning.Cách tiếp cận này làm sút sự dựa vào của gradients vào tỉ lệ của những tham số hoặc giá bán trị ban đầu của chúng, dẫn mang lại learning rate cao hơn nữa mà không tồn tại nguy cơ phân kỳ.Batch normalization giúp bạn có thể sử dụng các chế độ phi tuyến bão hòa bằng cách ngăn mạng tránh bị kẹt trong các chế độ bão hòa.

Weight normalization

Weight normalization là 1 quá trình review lại các trọng số vector vào một mạng neural sâu hoạt động bằng phương pháp tách độ dài của các vectơ trọng lượng đó khỏi vị trí hướng của chúng. Nói một bí quyết dễ hiểu, chúng ta cũng có thể định nghĩa chuẩn chỉnh hóa trọng số như một phương thức để cải thiện tính về tối ưu của các trọng số của mô hình mạng nơ-ron.Weight normalization đánh giá lại các trọng số như sau:

w=g∥v∥voldsymbolw=fracg oldsymbolvw=∥v∥g​v

Việc tách bóc các vector trọng số thoát khỏi hướng của nó, điều này tương tự như cách hoạt động vui chơi của batch normalization cùng với phương sai. Điều khác hoàn toàn duy độc nhất ở đấy là biến thể thay bởi hướng.Về giá trị trung bình, các tác mang của bài xích báo này đã khéo léo kết hợp trung bình batch normalization và chuẩn hóa trọng lượng để sở hữu được giá bán trị mong ước ngay cả trong những lô bé dại nhỏ. Có nghĩa là chúng trừ đi cực hiếm trung bình của mini-batch mà lại không phân tách cho phương sai. Cuối cùng, bọn họ sử dụng chuẩn chỉnh hóa trọng số thay vị chia mang lại phương sai.Lưu ý: Trung bình không nhiều nhiễu hơn so cùng với phương sai (ở trên tức là một lựa chọn tốt so cùng với phương sai) vị quy luật số lớn.Bài báo chỉ ra rằng weight normalization kết phù hợp với batch normalization đạt được tác dụng tốt tuyệt nhất trên CIFAR-10.

Xem thêm: " Cục Thống Kê Tiếng Anh Là Gì : Định Nghĩa, Ví Dụ Anh Việt, Cục Thống Kê Tiếng Anh Là Gì

Các tiện ích của weight normalization

Weight normalization nâng cấp điều kiện của sự việc tối ưu tương tự như tăng vận tốc hội tụ sự giảm dần của SGD.Nó rất có thể áp dụng xuất sắc cho mô hình hồi quy như thể LSTM cũng như là mô hình reinforcemnet learning,...

Layer normalization

Layer normalization là một phương thức để cải tiển tốc đố huấn luyện với các mô hình neural nerworks đa dạng. Không y như batch normalization, phương pháp này cầu tính trực tiếp số liệu thống kê chuẩn chỉnh hóa từ các đầu vào tổng hợp đến các nơ-ron phía bên trong một lớp ẩn. Layer normalization về cơ bản được xây đắp để khắc chế những hạn chế của batch normalization như phụ thuộc vào vào các mini-batch, v.v.Layer normalization chuẩn hóa nguồn vào trên những layers gắng vì chuẩn hóa những features đầu vào trên từng batch vào batch normalization.

Một mini-batch bao gồm nhiều lấy ví dụ với cùng một số tính năng. Mini-batch là ma trận (hoặc tenxơ) trong đó một trục tương xứng với lô với trục kia (hoặc những trục) khớp ứng với các form size đặc trưng.

μi=1m∑j=1mxijmu_i=frac1m sum_j=1^m x_i jμi​=m1​j=1∑m​xij​

σi2=1m∑j=1m(xij−μi)2sigma_i^2=frac1m sum_j=1^mleft(x_i j-mu_i ight)^2σi2​=m1​j=1∑m​(xij​−μi​)2

xij^=xij−μiσi2+ϵhatx_i j=fracx_i j-mu_isqrtsigma_i^2+epsilonxij​^​=σi2​+ϵ​xij​−μi​​

Trong những bài báo, các tác giả tuyên cha rằng layer normalization vận động tốt hơn batch normalization trong những bài toán RNN,..

Các ích lợi của layer normalization

Layer normalization có thể dễ dàng vận dụng cho quy mô RNN cũng chính vì nó giám sát thống kê chuẩn chỉnh hóa lẻ tẻ trên từng time-step.Cách tiếp cận này có kết quả trong việc ổn định các trạng thái ẩn trong số mạng hồi quy.

Instance normalization

Layer normalization cùng instance normalization rất tương tự nhau nhưng mà sự biệt lập giữa bọn chúng là instance normalization chuẩn hóa qua từng channel trong những ví dụ huấn luyện thay vì chuẩn chỉnh hóa qua các features nguồn vào trong một lấy ví dụ như huấn luyện. Không y như batch normalization,lớp instance normalization được vận dụng trong quá trình thử nghiệm rất tốt ( vì chưng không phụ thuộc vào vào mini-batch ), được áp dụng cho cục bộ loạt hình ảnh thay vì một hình ảnh duy nhất

ytijk=xtijk−μtiσti2+ϵy_t i j k=fracx_t i j k-mu_t isqrtsigma_t i^2+epsilonytijk​=σti2​+ϵ​xtijk​−μti​​

μti=1HW∑l=1W∑m=1Hxtilmquad mu_t i=frac1H W sum_l=1^W sum_m=1^H x_t i l mμti​=HW1​l=1∑W​m=1∑H​xtilm​

σti2=1HW∑l=1W∑m=1H(xtilm−muti)2quadsigma_t i^2=frac1H W sum_l=1^W sum_m=1^Hleft(x_t i l m-m u_t i ight)^2σti2​=HW1​l=1∑W​m=1∑H​(xtilm​−muti​)2

Trong đó, x∈ ℝ T ×C×W×H là đầu vào tensor đựng một batch của T ảnh. Call xₜᵢⱼₖ biểu lộ phần tử tijk-th của nó, trong các số ấy k cùng j mở rộng kích thước không gian (Chiều cao và Chiều rộng của hình ảnh), i là kênh đặc trưng (kênh color nếu đầu vào là hình hình ảnh RGB) với t là chỉ số của hình hình ảnh trong lô.

Các tác dụng của instance normalization

Việc chuẩn hóa này đơn giản dễ dàng hóa quá trình huấn luyện của tế bào hình.Instance normalization hoàn toàn có thể áp dụng trong quy trình thử nghiệm tế bào hình.

Xem thêm: Xin Mẫu Biên Bản Thử Áp Lực Đường Ống Hdpe (Cấp Nước), Biên Bản Nghiệm Thu Thử Áp Lực Ống Hdpe

Group normalization

Group normalization nói theo cách khác là một giải pháp thay nỗ lực cho batch normalization. Bí quyết tiếp cận này hoạt động bằng phương pháp chia những kênh (channels) thành các nhóm và đo lường và tính toán trong từng nhóm giá trị trung bình cùng phương không nên để chuẩn hóa tức là chuẩn hóa các tính năng trong mỗi nhóm. Không giống hệt như batch normalization, chuẩn hóa nhóm tự do với form size batch form size và độ chính xác của nó cũng ổn định định trong nhiều loại batch size.

Chúng ta hoàn toàn có thể thấy Group normalization đứng ở giữa instance normalization với layer normalization. Khi họ cho toàn bộ các kênh (channels) vào 1 nhóm thì group normalization biến layer normalization. Còn khi cho từng keenh(channel) vào các nhóm khác biệt thì nó biến đổi instance normalization

μi=1m∑k∈Sixk,σi=1m∑k∈Si(xk−μi)2+ϵmu_i=frac1m sum_k in mathcalS_i x_k, quad sigma_i=sqrtfrac1m sum_k in mathcalS_ileft(x_k-mu_i ight)^2+epsilonμi​=m1​k∈Si​∑​xk​,σi​=m1​k∈Si​∑​(xk​−μi​)2+ϵ​

Si=k∣kN=iN,⌊kCC/G⌋=⌊iCC/G⌋mathcalS_i=leftk mid k_N=i_N,leftlfloorfrack_CC / G ight floor=leftlfloorfraci_CC / G ight floor ightSi​=k∣kN​=iN​,⌊C/GkC​​⌋=⌊C/GiC​​⌋

x^i=1σi(xi−μi)hatx_i=frac1sigma_ileft(x_i-mu_i ight)x^i​=σi​1​(xi​−μi​)

yi=γx^i+βy_i=gamma hatx_i+etayi​=γx^i​+β

Các công dụng của group normalization

Nó rất có thể thay thể batch normalization trong một vài bài toán về Deep Learning.Dễ dàng thực thi nó.Kết luận

Qua nội dung bài viết này chúng ta đã khám phá tầm đặc trưng của câu hỏi normalization. Trong những phương thức normalization bên trên thì Batch Normalization vẫn chính là phương thức cực tốt và được áp dụng thoáng rộng cho nhiều bài toán trong Deep Learning. Mặc dù nhiên, vào một trong những ngày không đẹp nhất trời làm sao đó, mô hình của công ty chạy lâu với khó quy tụ , các chúng ta cũng có thể thử thay đổi các phương thức khác theo bài toán của bạn xem sao, biết đâu trời lại đẹp. Chúc chúng ta một ngày tiếp thu kiến thức và thao tác hiệu quả. Cảm ơn với nhớ để lại cho mình một upvote và một like nhé. Thanks you!!!