Mạng thần kinh dạng con nhộng - Tập hợp các lớp thần kinh lồng nhau



Capsule Networks - Blog này nói về những hạn chế của Mạng Neural Convolutions và cách Capsule Neural Networks giải quyết những hạn chế đó.

Mạng con nhộng:

Mạng con nhộng là gì? Về cơ bản, nó là một mạng lưới các lớp thần kinh lồng nhau.

Tôi cũng khuyên bạn nên xem qua các blog dưới đây:





Tôi giả định rằng, các bạn biết Mạng thần kinh hợp pháp (CNN). Ở đây, tôi sẽ giới thiệu cho các bạn về vấn đề tương tự, để tôi có thể thảo luận về những hạn chế của CNN.

Bạn cũng có thể tham khảo video dưới đây về Mạng thần kinh chuyển đổi.



Mạng thần kinh hợp pháp (CNN)

Mạng thần kinh chuyển đổi, về cơ bản là chồng các lớp tế bào thần kinh nhân tạo khác nhau, được sử dụng cho thị giác máy tính. Dưới đây, tôi đã đề cập đến các lớp đó:

Mạng thần kinh chuyển đổi - Mạng thần kinh dạng viên nang - Edureka

Lớp chuyển đổi: Khi chúng tôi sử dụng Mạng Nơ-ron nguồn cấp dữ liệu (Multi Layer Perceptron) để phân loại hình ảnh, có rất nhiều thách thức với nó. Thách thức khó chịu nhất là nó giới thiệu rất nhiều thông số, hãy xem xét video hướng dẫn trên CNN.



Để vượt qua thử thách này Lớp chuyển đổi đã được giới thiệu. giả định rằng, các pixel gần nhau hơn về mặt không gian sẽ “hợp tác” để hình thành một đặc điểm cụ thể được quan tâm hơn nhiều so với các pixel ở các góc đối diện của hình ảnh. Ngoài ra, nếu một tính năng cụ thể (nhỏ hơn) được nhận thấy là có tầm quan trọng lớn khi xác định nhãn của hình ảnh, thì tính năng này cũng quan trọng không kém, nếu tính năng này được tìm thấy ở bất kỳ đâu trong hình ảnh, bất kể vị trí.

Lớp ReLU: Chức năng biến đổi Đơn vị tuyến tính chỉnh lưu (ReLU) chỉ kích hoạt một nút nếu đầu vào cao hơn một số lượng nhất định, trong khi đầu vào dưới 0, đầu ra bằng 0, nhưng khi đầu vào tăng trên một ngưỡng nhất định, nó có mối quan hệ tuyến tính với biến phụ thuộc.

  • Trong lớp này, chúng tôi xóa mọi giá trị âm khỏi các hình ảnh được lọc và thay thế nó bằng các giá trị âm
  • Điều này được thực hiện để tránh các giá trị tổng bằng 0

Lớp gộp: Điều này được sử dụng để thực hiện lấy mẫu xuống, tiêu thụ các phần nhỏ và (thường) rời rạc của hình ảnh và tổng hợp chúng thành một giá trị duy nhất. Có một số kế hoạch khả thi cho việc tổng hợp - phổ biến nhất là Tổng cộng tối đa , nơi giá trị pixel tối đa trong mỗi đoạn được lấy. Nó làm cho mạng bất biến đối với các biến đổi nhỏ, biến dạng và dịch trong hình ảnh đầu vào (một biến dạng nhỏ trong đầu vào sẽ không thay đổi đầu ra của Pooling - vì chúng tôi lấy giá trị lớn nhất / trung bình trong vùng lân cận cục bộ).

Lớp được kết nối đầy đủ: Lớp này sẽ tính toán điểm của lớp, trong đó mỗi số tương ứng với một điểm của lớp. Như với các Mạng Nơron thông thường và như tên của nó, mỗi nơron trong lớp này sẽ được kết nối với tất cả các nơron trong tập trước. Tóm lại, nó thực hiện phân loại cuối cùng.

Bằng cách này, ConvNets biến đổi từng lớp hình ảnh gốc từ các giá trị pixel ban đầu đến điểm số lớp cuối cùng.

Đây là một phần giới thiệu rất ngắn về Mạng nơ-ron Convolutions, tôi vẫn khuyên bạn nên xem qua video CNN mà tôi đã nhúng trong bài đăng này.

Trong blog Capsule Networks này, bây giờ tôi sẽ thảo luận về một số hạn chế của Mạng nơ ron chuyển đổi

Hạn chế của mạng nơ-ron phù hợp:

Hãy để tôi giải thích điều này với một phép loại suy.

Giả sử có một con người, mắt của họ có thể phát hiện ra các đặc điểm của nhiều hình ảnh khác nhau. Chúng ta hãy xem xét khuôn mặt của một con người như một ví dụ. Vì vậy, anh chàng kém may mắn này có thể xác định các đặc điểm khác nhau như mắt, mũi, v.v. nhưng không thể xác định mối quan hệ không gian giữa các đối tượng (phối cảnh, kích thước, hướng). Ví dụ, bức ảnh sau đây có thể đánh lừa anh chàng đó trong việc phân loại nó là một bức phác thảo tốt về khuôn mặt người.

Đây cũng là vấn đề với Mạng Nơ-ron Hợp pháp. CNN rất giỏi trong việc phát hiện các tính năng, nhưng sẽ kích hoạt sai nơ-ron để nhận diện khuôn mặt. Điều này là do nó kém hiệu quả hơn trong việc khám phá các mối quan hệ không gian giữa các đối tượng địa lý.

Một mô hình CNN đơn giản có thể trích xuất các đặc điểm của mũi, mắt và miệng một cách chính xác nhưng sẽ kích hoạt sai nơ-ron để nhận diện khuôn mặt. Nếu không nhận ra sự sai khớp về hướng và kích thước không gian, kích hoạt tính năng nhận diện khuôn mặt sẽ quá cao.

Vâng, hạn chế này là do lớp Max Pooling.

Tổng số tối đa trong CNN xử lý phương sai tịnh tiến. Ngay cả khi một tính năng được di chuyển nhẹ, nếu nó vẫn nằm trong cửa sổ gộp, nó vẫn có thể được phát hiện. Tuy nhiên, cách tiếp cận này chỉ giữ lại tính năng tối đa (thống trị nhất) và loại bỏ các tính năng khác.

Vì vậy, hình ảnh khuôn mặt hiển thị ở trên sẽ được xếp vào khuôn mặt bình thường. Pooling layer cũng bổ sung loại bất biến này.

Đây không bao giờ là ý định của lớp gộp. Những gì gộp chung được cho là để giới thiệu các bất biến vị trí, định hướng, tỷ lệ thuận.

Trong thực tế, lớp gộp này thêm tất cả các loại bất biến vị trí. Như bạn có thể thấy trong sơ đồ trên, nó dẫn đến vấn đề khó khăn trong việc phát hiện khuôn mặt một cách chính xác.

Hãy xem giải pháp được đề xuất bởi Geoffrey Hinton .

Làm thế nào để giải quyết vấn đề này?

Bây giờ, chúng ta tưởng tượng rằng mỗi nơ-ron chứa khả năng cũng như thuộc tính của các đặc trưng. Ví dụ, nó xuất ra một vectơ có chứa [khả năng xảy ra, hướng, kích thước]. Với thông tin không gian này, chúng tôi có thể phát hiện sự nhất quán về hướng và kích thước giữa các đặc điểm của mũi, mắt và tai và do đó tạo ra khả năng kích hoạt nhận diện khuôn mặt thấp hơn nhiều.

Trong bài báo do Geoffrey Hinton , những loại tế bào thần kinh này được gọi là viên nang. Các viên nang này xuất ra một vectơ thay vì một giá trị tỷ lệ đơn lẻ.

kết hợp dữ liệu trong hoạt cảnh 10

Hãy để tôi làm sáng tỏ những gì là Mạng Capsule.

Mạng con nhộng là gì?

Capsule về cơ bản là một tập hợp các lớp thần kinh lồng vào nhau. Trạng thái của các tế bào thần kinh bên trong viên nang nắm bắt các thuộc tính khác nhau như - tư thế (vị trí, kích thước, hướng), biến dạng, vận tốc, kết cấu, v.v. của một thực thể bên trong hình ảnh.

Thay vì nắm bắt một tính năng với một biến thể cụ thể, một viên nang được đào tạo để nắm bắt khả năng xuất hiện của một tính năng và biến thể của nó. Vì vậy, mục đích của viên nang không chỉ để phát hiện một tính năng mà còn để đào tạo mô hình để tìm hiểu biến thể.

Sao cho cùng một viên nang có thể phát hiện cùng một lớp đối tượng với các hướng khác nhau (ví dụ: xoay theo chiều kim đồng hồ):

Có thể nói nó hoạt động dựa trên sự tương đương chứ không phải bất biến.

Bất biến: là phát hiện các tính năng bất kể các biến thể. Ví dụ, một tế bào thần kinh phát hiện mũi sẽ phát hiện mũi bất kể hướng nào.

Tương đương: là việc phát hiện các đối tượng có thể chuyển đổi cho nhau (ví dụ, phát hiện các khuôn mặt có hướng khác nhau). Bằng trực giác, mạng viên nang phát hiện khuôn mặt được xoay sang phải 31 ° (tương đương) thay vì nhận ra khuôn mặt khớp với một biến thể được xoay 31 °. Bằng cách buộc mô hình tìm hiểu biến thể tính năng trong một viên nang, chúng tôi có thể ngoại suy các biến thể có thể có hiệu quả hơn với ít dữ liệu đào tạo hơn. Ngoài ra, chúng tôi có thể từ chối đối thủ một cách hiệu quả hơn.

Một viên nang xuất ra một vectơ để biểu thị sự tồn tại của thực thể. Hướng của vectơ thể hiện các thuộc tính của thực thể.

Vectơ được gửi đến tất cả các bậc cha mẹ có thể có trong mạng nơ-ron. Đối với mỗi phụ huynh có thể, một viên nang có thể tìm thấy một vectơ dự đoán. Vectơ dự đoán được tính dựa trên việc nhân trọng lượng của chính nó với ma trận trọng số. Bất kỳ cha mẹ nào có tích véc tơ dự đoán vô hướng lớn nhất, sẽ làm tăng liên kết viên nang. Phần còn lại của cha mẹ làm giảm mối liên kết của họ. Điều này được gọi là Định tuyến theo thỏa thuận .

Đây chắc chắn là một cách tiếp cận tốt hơn sau đó là tổng hợp tối đa, trong đó định tuyến dựa trên tính năng mạnh nhất được phát hiện ở lớp dưới.

Sau đó, có một chức năng thu nhỏ được thêm vào. Điều này được thực hiện để giới thiệu tính phi tuyến tính. Hàm thu nhỏ này được áp dụng cho đầu ra vector của mỗi viên nang.

Bây giờ, hãy để tôi cho bạn biết, cách hoạt động của Capsule Networks.

Mạng Capsule hoạt động như thế nào?

Hãy để chúng tôi lùi lại một bước. Trong mạng được kết nối đầy đủ, đầu ra của mỗi nơ-ron là tổng trọng số của các đầu vào.

Bây giờ, hãy xem điều gì xảy ra trong Mạng con nhộng.

Mạng Neural Capsule:

Hãy để chúng tôi xem xét một Mạng nơron dạng Capsule nơiTôi‘Là vectơ hoạt động cho viên nang‘Tôi'trong lớp bên dưới.

Bước - 1: Áp dụng ma trận chuyển đổiTRONGijđến đầu ra viên nang uTôi của lớp trước. Ví dụ, với ma trận m × k, chúng ta biến đổi k-DuTôi đến một m-Du ^j | i. ((m × k) × (k × 1) = m × 1).

Đó là dự đoán ( bỏ phiếu ) từ viên nang ‘i’ trên đầu ra của viên nang ‘j’ ở trên. ‘Vj‘Là vectơ hoạt động cho viên nang‘j 'trong lớp trên

Bước - 2: Tính tổng có trọng sốjvới trọng lượngcij.cijlà các hệ số ghép nối. Tổng của các hệ số này bằng một. Đây là thông số thực tế hoạt động dựa trên mối quan hệ của nhóm viên nang mà chúng ta đã nói trước đó.

Bước - 3: Trong Mạng nơ-ron Convolutions, chúng tôi sử dụng chức năng ReLU. Ở đây, chúng ta sẽ áp dụng một hàm thu nhỏ để chia tỷ lệ vectơ giữa 0 và độ dài đơn vị. Nó thu nhỏ các vectơ nhỏ về không và vectơ dài thành vectơ đơn vị. Do đó, khả năng mỗi viên nang bị giới hạn từ 0 đến 1.

Đó là dự đoán ( bỏ phiếu ) từ viên nang ‘i’ trên đầu ra của viên nang ‘j’ ở trên. Nếu vectơ hoạt động có độ tương đồng gần với vectơ dự đoán, chúng tôi kết luận rằng viên nang ‘Tôi'có liên quan nhiều đến viên nang ‘j '. (Ví dụ: nang mũi có liên quan nhiều đến nang mặt.) Độ tương đồng như vậy được đo bằng tích vô hướng của vectơ dự đoán và hoạt động. Do đó, sự giống nhau có tính đến cả khả năng xuất hiện và các thuộc tính của tính năng. (thay vì chỉ có khả năng xuất hiện ở tế bào thần kinh).

Bước - 4: Tính toán điểm phù hợp ‘bij‘. Nó sẽ là tích số chấm của vector hoạt động và vector dự đoán. Các hệ số ghép nốicTôijđược tính là softmax củabTôij:

Hệ số ghép cijđược tính là softmax của bij.

B nàyijđược cập nhật lặp đi lặp lại trong nhiều lần lặp lại.

Điều này được gọi là Định tuyến theo thỏa thuận .

Sơ đồ dưới đây là một ví dụ:

Sau blog này trên Capsule Networks, tôi sẽ đến với một blog về triển khai Capsule Neural Network bằng TensorFlow.

Tôi hy vọng bạn thích đọc blog này trên mạng con nhộng, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa học Edureka Deep Learning with TensorFlow Certification Training giúp người học trở thành chuyên gia đào tạo và tối ưu hóa mạng nơ ron cơ bản và tích hợp bằng cách sử dụng các dự án và bài tập thời gian thực cùng với các khái niệm như chức năng SoftMax, Mạng lưới thần kinh mã hóa tự động, Máy Boltzmann hạn chế (RBM).

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.