Bước tích chập trong Mạng nơ ron kết hợp làm gì?


16

Tôi đang nghiên cứu các mạng thần kinh tích chập (CNN) do các ứng dụng của chúng trong thị giác máy tính. Tôi đã quen thuộc với các mạng thần kinh tiêu chuẩn nguồn cấp dữ liệu, vì vậy tôi hy vọng rằng một số người ở đây có thể giúp tôi thực hiện thêm bước hiểu biết về CNN. Đây là những gì tôi nghĩ về CNNs:

  1. Trong các NN cấp dữ liệu truyền thống, chúng tôi có dữ liệu huấn luyện trong đó mỗi phần tử bao gồm một vectơ đặc trưng mà chúng tôi nhập vào NN trong "lớp đầu vào", vì vậy, với nhận dạng hình ảnh, chúng tôi chỉ có thể có mỗi pixel là một đầu vào. Đó là những vectơ đặc trưng của chúng tôi. Ngoài ra, chúng ta có thể tự tạo các vectơ đặc trưng khác - có thể nhỏ hơn.
  2. Ưu điểm của CNN là nó có thể tạo ra các vectơ đặc trưng mạnh hơn, bất biến hơn đối với biến dạng hình ảnh và vị trí. Như hình ảnh sau đây cho thấy (từ hướng dẫn này ), các CNN tạo ra các bản đồ tính năng sau đó được đưa vào mạng thần kinh tiêu chuẩn (vì vậy thực sự đó là một bước tiền xử lý khổng lồ).

nhập mô tả hình ảnh ở đây

  1. Cách chúng ta có được các tính năng "tốt hơn" đó là bằng cách xen kẽ và lấy mẫu phụ. Tôi hiểu cách lấy mẫu phụ hoạt động. Đối với mỗi bản đồ tính năng, chỉ cần lấy một tập hợp con các pixel hoặc chúng ta có thể lấy trung bình các giá trị pixel.

Nhưng điều tôi chủ yếu bối rối là cách thức tích chập hoạt động. Tôi quen thuộc với các kết luận từ lý thuyết xác suất (mật độ cho tổng của hai biến ngẫu nhiên), nhưng chúng hoạt động như thế nào trong CNN và tại sao chúng hiệu quả?

Câu hỏi của tôi tương tự như câu hỏi này nhưng đặc biệt, tôi không chắc tại sao bước tích chập đầu tiên hoạt động.

Câu trả lời:


16

Trước tiên tôi sẽ cố gắng chia sẻ một số trực giác đằng sau CNN và sau đó nhận xét các chủ đề cụ thể mà bạn đã liệt kê.

Các lớp chập và lấy mẫu phụ trong CNN không khác với các lớp ẩn trong MLP chung, nghĩa là chức năng của chúng là trích xuất các tính năng từ đầu vào của chúng. Các tính năng này sau đó được đưa cho lớp ẩn tiếp theo để trích xuất các tính năng phức tạp hơn hoặc được cung cấp trực tiếp cho bộ phân loại tiêu chuẩn để đưa ra dự đoán cuối cùng (thường là Softmax, nhưng cũng có thể sử dụng SVM hoặc bất kỳ loại nào khác). Trong bối cảnh nhận dạng hình ảnh, các tính năng này là các hình ảnh xử lý, như các mẫu đột quỵ ở các lớp thấp hơn và các phần đối tượng ở các lớp trên.

Trong ảnh tự nhiên, các đặc điểm này có xu hướng giống nhau ở tất cả các vị trí. Nhận biết một mẫu đột quỵ nhất định ở giữa các hình ảnh sẽ hữu ích như nhận ra nó gần với các đường viền. Vậy tại sao chúng ta không sao chép các lớp ẩn và kết nối nhiều bản sao của nó trong tất cả các vùng của hình ảnh đầu vào, để các tính năng tương tự có thể được phát hiện ở bất cứ đâu? Đó chính xác là những gì một CNN làm, nhưng theo một cách hiệu quả. Sau khi sao chép (bước "tích chập"), chúng tôi thêm một bước mẫu phụ, có thể được thực hiện theo nhiều cách, nhưng không gì khác hơn là một mẫu phụ. Về lý thuyết, bước này thậm chí có thể được gỡ bỏ, nhưng trong thực tế, nó rất cần thiết để cho phép vấn đề vẫn có thể xử lý được.

Như vậy:

  1. Chính xác.
  2. Như đã giải thích ở trên, các lớp ẩn của CNN là các trình trích xuất tính năng như trong MLP thông thường. Các bước tích chập và lấy mẫu phụ xen kẽ được thực hiện trong quá trình đào tạo và phân loại, vì vậy chúng không phải là thứ được thực hiện "trước" quá trình xử lý thực tế. Tôi sẽ không gọi chúng là "tiền xử lý", giống như cách các lớp ẩn của MLP không được gọi như vậy.
  3. Chính xác.

Một hình ảnh tốt giúp hiểu được tích chập là trang CNN trong hướng dẫn ULFDL. Hãy nghĩ về một lớp ẩn với một nơron duy nhất được đào tạo để trích xuất các tính năng từ vá. Nếu chúng tôi kết hợp tính năng đã học này qua hình ảnh , quá trình này có thể được biểu thị bằng gif sau:3×35×5

nhập mô tả hình ảnh ở đây

Trong ví dụ này, chúng tôi đã sử dụng một nơron duy nhất trong lớp trích xuất tính năng của chúng tôi và chúng tôi đã tạo ra tính năng được tích hợp. Nếu chúng ta có số lượng đơn vị lớn hơn trong lớp ẩn, thì rõ ràng tại sao bước lấy mẫu phụ sau khi điều này là bắt buộc.9

Các bước tích chập và lấy mẫu phụ tiếp theo dựa trên cùng một nguyên tắc, nhưng được tính toán trên các tính năng được trích xuất trong lớp trước, thay vì các pixel thô của ảnh gốc.


Cảm ơn bạn đã làm rõ. Tôi sẽ kiểm tra hướng dẫn mà bạn đề cập.
ComputerSellectist

Đồ họa minh họa thực sự tốt đẹp. Xem tác phẩm giới thiệu: M. Egmont-Petersen, D. de Ridder, H. Handels. Xử lý hình ảnh với các mạng thần kinh - một đánh giá, Nhận dạng mẫu, Tập. 35, Số 10, Trang 2279-2602, 2002
Match Maker EE

Bốn năm sau và bây giờ tôi làm việc với CNN gần như mỗi ngày. Bài đăng này từ @Saul Berardo thực sự đã giúp tôi đi đúng hướng :)
ComputerSellectist

1

Tôi không biết ý của bạn là gì bởi "tại sao bước tích chập đầu tiên hoạt động." Để một CNN thành công, nó cần phải có nhiều lớp. Một trong những ý tưởng cơ bản đằng sau CNN và nhiều phương pháp học sâu khác là các tín hiệu lớn hơn có thể được xác định bằng sự tương quan không gian của các phần nhỏ hơn của chúng có thể được trình bày thưa thớt. Nói cách khác, hình ảnh có thể trông phức tạp nhưng chúng được tạo ra từ sự kết hợp của chỉ một vài phần cơ bản. Đối với tầm nhìn máy tính, cấu trúc đường cơ sở trong hình ảnh thường bao gồm các cạnh và góc. CNN cố gắng khai thác độ thưa của cấu trúc trong ảnh bằng cách tìm kiếm các cấu trúc cục bộ phổ biến. Đó là những gì lớp đầu tiên của CNN đang cố gắng xác định. Hãy nghĩ về tích chập như một bộ lọc đối sánh đang tìm kiếm các tín hiệu khớp với một mẫu cụ thể. Làm thế nào nó hoạt động tốt phụ thuộc vào dữ liệu trong tay. May mắn thay, thế giới đầy sự lặp lại ở quy mô nhỏ, vì vậy CNN hoạt động tốt cho các nhiệm vụ thị giác máy tính.


Vâng, tôi nghĩ đó là ý tưởng chung. Tôi đã không rõ ràng trong câu hỏi ban đầu của mình, nhưng tôi đã tự hỏi tại sao toán học hoạt động, tức là tại sao chính thuộc tính tích chập cho phép lớp đầu tiên tìm thấy những phần nhỏ đó.
ComputerSellectist

1
Tìm hiểu thêm về tích chập và lọc phù hợp. Khi hạt nhân chập khớp với tín hiệu, nó mang lại lợi nhuận lớn nhất.
SimpleLikeAnEgg

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.