Tầm quan trọng của chuẩn hóa đáp ứng cục bộ trong CNN


41

Tôi đã thấy rằng Imagenet và CNN lớn khác sử dụng các lớp chuẩn hóa phản ứng cục bộ. Tuy nhiên, tôi không thể tìm thấy nhiều thông tin về họ. Chúng quan trọng như thế nào và khi nào chúng nên được sử dụng?

Từ http : // caffe.berICHvision.org/tutorial/layers.html#data-layers :

"Lớp chuẩn hóa phản hồi cục bộ thực hiện một loại ức chế bên cạnh bằng cách chuẩn hóa trên các vùng đầu vào cục bộ. Trong chế độ ACROSS_CHANNELS, các vùng cục bộ mở rộng qua các kênh lân cận, nhưng không có phạm vi không gian (nghĩa là chúng có hình dạng local_size x 1 x 1) Trong chế độ FORIN_CHANNEL, các vùng cục bộ mở rộng theo không gian, nhưng ở các kênh riêng biệt (nghĩa là chúng có hình dạng 1 x local_size x local_size). Mỗi giá trị đầu vào được chia cho (1+ (α / n) ∑ix2i), trong đó n là kích thước của từng khu vực địa phương và tổng được lấy trên khu vực tập trung ở giá trị đó (phần đệm bằng 0 được thêm vào khi cần thiết). "

Biên tập:

Dường như các loại lớp này có tác động tối thiểu và không được sử dụng nữa. Về cơ bản, vai trò của họ đã bị vượt qua bởi các kỹ thuật chính quy hóa khác (như bỏ học và chuẩn hóa hàng loạt), khởi tạo và phương pháp đào tạo tốt hơn. Xem câu trả lời của tôi dưới đây để biết thêm chi tiết.

Câu trả lời:


20

Dường như các loại lớp này có tác động tối thiểu và không được sử dụng nữa. Về cơ bản, vai trò của họ đã bị vượt qua bởi các kỹ thuật chính quy hóa khác (như bỏ học và chuẩn hóa hàng loạt), khởi tạo và phương pháp đào tạo tốt hơn. Đây là những gì được viết trong các ghi chú bài giảng cho Khóa học Stanford CS321n trên ConvNets:

Lớp chuẩn hóa

Nhiều loại lớp chuẩn hóa đã được đề xuất để sử dụng trong các kiến ​​trúc ConvNet, đôi khi với ý định thực hiện các sơ đồ ức chế được quan sát trong não sinh học. Tuy nhiên, các lớp này gần đây đã không còn được ưa chuộng vì trong thực tế đóng góp của chúng đã được chứng minh là tối thiểu, nếu có. Đối với các loại chuẩn hóa khác nhau, hãy xem thảo luận trong API thư viện cuda-convnet của Alex Krizhevsky.


20

Thật vậy, dường như không có lời giải thích tốt ở một nơi duy nhất. Tốt nhất là đọc các bài báo từ nơi nó đến:

Bài viết gốc của AlexNet giải thích một chút trong Phần 3.3:

  • Krizhevsky, Sutskever và Hinton, Phân loại ImageNet với Mạng lưới thần kinh chuyển đổi sâu, NIPS 2012. pdf

Cách chính xác để làm điều này đã được đề xuất trong (nhưng không có nhiều thông tin thêm ở đây):

  • Kevin Jarrett, Koray Kavukcuoglu, Marc'Aurelio Ranzato và Yann LeCun, Kiến trúc nhiều giai đoạn tốt nhất để nhận dạng đối tượng là gì?, ICCV 2009. pdf

Nó được lấy cảm hứng từ khoa học thần kinh tính toán:

  • S. Lyu và E. Simoncelli. Biểu diễn hình ảnh phi tuyến bằng cách sử dụng chuẩn hóa chia. CVPR 2008 pdf . Bài viết này đi sâu hơn vào toán học, và phù hợp với câu trả lời của seanv507.
  • [24] N. Pinto, DD Cox và JJ DiCarlo. Tại sao nhận dạng đối tượng thực tế trong thế giới thực khó? Sinh học tính toán PLoS, 2008.

15

XXTX

Giải pháp tối ưu sẽ là hình cầu / làm trắng các đầu vào cho mỗi nơ ron, tuy nhiên điều này là quá đắt về mặt tính toán. LCN có thể được chứng minh là làm trắng gần đúng dựa trên giả định mức độ tương quan cao giữa các pixel (hoặc kênh) lân cận. Vì vậy, tôi sẽ khẳng định lợi ích là bề mặt lỗi là lành tính hơn đối với SGD ... Một tỷ lệ Học tập duy nhất hoạt động tốt trên các kích thước đầu vào (của mỗi nơron)


2
Bình thường hóa hàng loạt: Tăng tốc đào tạo mạng lưới sâu bằng cách giảm sự thay đổi đồng biến nội bộ Serge Ioffe, Christian Szegedy, arxiv.org/abs/1502.03167 thực hiện thay đổi (được thiết kế cẩn thận) các đầu vào nơ-ron và đạt được tốc độ học tập lớn hơn.
seanv507

Bạn có thể chỉnh sửa thông tin này vào câu trả lời của mình bằng nút chỉnh sửa bên dưới văn bản câu trả lời của bạn.
Phục hồi lại

10

Với câu trả lời này, tôi muốn tóm tắt những đóng góp của các tác giả khác và đưa ra một lời giải thích duy nhất về kỹ thuật LRN (hoặc chuẩn hóa tương phản) cho những người, những người chỉ muốn biết nó là gì và hoạt động như thế nào.

Động lực: ' Loại chuẩn hóa đáp ứng (LRN) này thực hiện một hình thức ức chế bên được lấy cảm hứng từ loại được tìm thấy trong các tế bào thần kinh thực sự, tạo ra sự cạnh tranh cho các hoạt động lớn giữa các đầu ra nơ-ron được tính toán bằng các hạt nhân khác nhau. ' AlexNet 3.3

Nói cách khác, LRN cho phép giảm các phản hồi có độ lớn đồng đều cho vùng lân cận và làm cho kích hoạt lớn rõ rệt hơn trong vùng lân cận, tức là tạo độ tương phản cao hơn trong bản đồ kích hoạt. prateekvjoshi.com nói rằng nó rất hữu ích với các chức năng kích hoạt không giới hạn là RELU.

Original Formula: Đối với mỗi vị trí cụ thể (x, y) và hạt nhân tôi rằng tương ứng với một đơn 'pixel' đầu ra chúng tôi áp dụng 'lọc', kết hợp thông tin về kết quả đầu ra của khác n Kernels áp dụng cho các vị trí tương đương. Chính quy này được áp dụng trước khi kích hoạt chức năng. Sự chính quy hóa này, thực sự, dựa vào thứ tự của hạt nhân, theo hiểu biết tốt nhất của tôi, chỉ là một sự trùng hợp đáng tiếc.

Trung tâm

Trong thực tế (xem Caffe ) 2 cách tiếp cận có thể được sử dụng:

  1. VỚIIN_CHANNEL. Bình thường hóa trên vùng lân cận cục bộ của một kênh (tương ứng với bộ lọc tích chập đơn). Nói cách khác, phân chia đáp ứng của một kênh của một pixel theo các giá trị đầu ra của cùng một nơron cho các pixel gần đó.
  2. ACROSS_CHANNELS. Đối với một pixel, bình thường hóa các giá trị của mọi kênh theo giá trị của tất cả các kênh cho cùng một pixel

Sử dụng thực tế LRN được sử dụng thường xuyên hơn trong những ngày đầu tiên như LeNet-5. Việc triển khai GoogLeNet (Inception) hiện tại trong Caffe thường sử dụng LRN liên quan đến các kỹ thuật tổng hợp, nhưng dường như nó được thực hiện chỉ vì có nó. Cả Inception / GoogLeNet gốc ( ở đây ) cũng như bất kỳ phiên bản nào sau đây đều đề cập đến LRN theo bất kỳ cách nào. Ngoài ra, việc triển khai TensorFlow của Inception (được cung cấp và cập nhật bởi nhóm các tác giả gốc) không sử dụng LRN mặc dù nó có sẵn.

Kết luận Áp dụng LRN cùng với lớp gộp sẽ không ảnh hưởng đến hiệu suất của mạng miễn là các giá trị siêu tham số là hợp lý. Mặc dù vậy, tôi không biết về bất kỳ lời biện minh nào gần đây cho việc áp dụng chuẩn hóa tương phản LRN / trong mạng lưới thần kinh.


Tôi cũng sẽ nói thêm rằng LRN là một loại "bình thường hóa cạnh tranh", theo trang 374 trong Géron, Aurélien. Học máy thực hành với Scikit-Learn và TensorFlow: khái niệm, công cụ và kỹ thuật để xây dựng các hệ thống thông minh. "O'Reilly Media, Inc.", 2017 .. (Tôi đề cập đến điều đó bởi vì Hinton chỉ gọi nó là "bình thường hóa cạnh tranh" trong bài giảng Convolutional lưới để nhận dạng đối tượng trong khóa học coursera của mình.
Oren Milman

7

Loại lớp chuẩn hóa đáp ứng cục bộ (LRN) hóa ra rất hữu ích khi sử dụng các nơ-ron với các kích hoạt không liên kết (ví dụ: các nơ-ron tuyến tính được chỉnh lưu), vì nó cho phép phát hiện các tính năng tần số cao với đáp ứng nơ-ron lớn, trong khi các phản ứng giảm dần đều trong một khu phố địa phương. Đó là một loại thường xuyên khuyến khích "cạnh tranh" cho các hoạt động lớn giữa các nhóm tế bào thần kinh gần đó.

src- https://code.google.com.vn/p/cuda-convnet/wiki/LayerParams#Local_response_n normalization_layer_(same_map )


0

i

xi=xi(k+(αjxj2))β

k,α,βRκ=0α=1β=12

Tuy nhiên, có một kỹ thuật mới hơn nhiều gọi là "chuẩn hóa hàng loạt" (xem bài viết ) hoạt động khá giống nhau và đề nghị không sử dụng LRN nữa. Chuẩn hóa hàng loạt cũng hoạt động theo pixel-khôn ngoan:

y=xμσ2+ϵγ+β

μσ2ε>0γ,βR

Vì vậy, câu trả lời là: Chuẩn hóa đáp ứng cục bộ không còn quan trọng nữa, bởi vì chúng ta có một cái gì đó hoạt động tốt hơn và thay thế LRN: Batch bình thường hóa.

Xem thêm


Tôi nghĩ rằng điều này là không chính xác. LRN được áp dụng trong đầu ra của kernel, không phải đầu vào (mặc dù Alexnet không sử dụng chuẩn hóa đầu vào, nhưng đó là riêng biệt).
Shital Shah
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.