Mối liên quan giữa tích chập trong toán học và CNN


10

Tôi đã đọc giải thích về tích chập và hiểu nó ở một mức độ nào đó. Ai đó có thể giúp tôi hiểu hoạt động này liên quan đến sự tích chập trong Mạng lưới thần kinh Convolutional như thế nào không? Là bộ lọc như chức năng gáp dụng trọng lượng?



Đó chính xác là những gì tôi đang đọc và tôi thấy từ đó sự tích chập trong CNN là một hoạt động ma trận. Và tích chập "chức năng" không bao giờ được sử dụng ở đó? Vậy đây chỉ là 2 thao tác khác nhau có cùng tên?
VladimirLenin

2
Có thể sự khác biệt mà bạn đang thấy là giữa các quan điểm tích chập rời rạc và liên tục - về cơ bản là cùng một hoạt động, nhưng phải được thực hiện khác nhau trong hai không gian khác nhau đó. CNNs sử dụng các kết cấu rời rạc. Và họ chỉ làm điều đó bởi vì đó là một cách thuận tiện để diễn đạt toán học của các kết nối (điều này áp dụng theo cả hai hướng - đó là sự tiện lợi về mặt toán học cho thiết kế, và có thể là một lý do khiến thiết kế này phổ biến vì nó ánh xạ gọn gàng vào giếng chức năng được hiểu đã được sử dụng trong xử lý tín hiệu)
Neil Slater

Câu trả lời:


2

Sử dụng ký hiệu từ trang wikipedia, tích chập trong CNN sẽ là hạt nhân mà chúng ta sẽ tìm hiểu một số trọng số để trích xuất thông tin chúng ta cần và sau đó có thể áp dụng chức năng kích hoạt.g

Kết luận rời rạc

Từ trang wikipedia, tích chập được mô tả là

(f*g)[n]= =Σm= =-thông tinthông tinf[m]g[n-m]

Ví dụ giả sử là hàm fb là hàm chập ,mộtfbg

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

Để giải quyết điều này, chúng ta có thể sử dụng phương trình trước tiên, chúng ta lật hàm theo chiều dọc, do xuất hiện trong phương trình. Sau đó, chúng tôi sẽ tính tổng cho mỗi giá trị của . Trong khi thay đổi , hàm ban đầu không di chuyển, tuy nhiên hàm tích chập được dịch chuyển tương ứng. Bắt đầu từ ,- m n n n = 0b-mnnn= =0

c[0]=ma[m]b[m]= =0*0,25+0*0,5+1*1+0,5*0+1*0+1*0= =1

c[1]=ma[m]b[m]=00.25+10,5+0,5*1+1*0+1*0= =1

c[2]= =Σmmột[m]b[-m]= =1*0,25+0,5*0,5+1*1+1*0+1*0= =1,5

c[3]= =Σmmột[m]b[-m]= =1*0+0,5*0,25+1*0,5+1*1= =1.625

c[4]= =Σmmột[m]b[-m]= =1*0+0,5*0+1*0,25+1*0,5+0*1= =0,75

c[5]= =Σmmột[m]b[-m]= =1*0+0,5*0+1*0+1*0,25+0*0,5*0*1= =0,25

Như bạn có thể thấy đó chính xác là những gì chúng ta có trên cốt truyện . Vì vậy, chúng tôi đã chuyển xung quanh hàm qua hàm .c[n]b[n]một[n]

Kết hợp rời rạc 2D

Ví dụ: nếu chúng ta có ma trận màu xanh lá cây

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

với bộ lọc chập

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

Sau đó, hoạt động kết quả là một phép nhân phần tử và thêm các thuật ngữ như dưới đây. Rất giống như trang wikipedia cho thấy, hạt nhân này (ma trận màu cam) được dịch chuyển trên toàn bộ chức năng (ma trận xanh) .gf

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

lấy từ liên kết mà @Hobbes tham khảo. Bạn sẽ nhận thấy rằng không có sự lật của hạt nhân như chúng ta đã làm cho tính toán rõ ràng của phép chập ở trên. Đây là một vấn đề về ký hiệu như @Media chỉ ra. Điều này nên được gọi là tương quan chéo. Tuy nhiên, tính toán sự khác biệt này không ảnh hưởng đến hiệu suất của thuật toán vì hạt nhân đang được đào tạo sao cho trọng số của nó phù hợp nhất cho hoạt động, do đó việc thêm thao tác lật sẽ đơn giản làm cho thuật toán tìm hiểu các trọng số trong các ô khác nhau của hạt nhân chứa lật. Vì vậy, chúng ta có thể bỏ qua lật.g


1

Vâng, họ có liên quan. Ví dụ, xem xét làm mịn Gaussian (en.wikipedia.org/wiki/Gaussian_blur) là một tổ hợp với một hạt nhân của các giá trị Gaussian. Một CNN học các trọng số của các bộ lọc (tức là hạt nhân) và do đó có thể học cách thực hiện làm mịn nếu cần.


1

Mặc dù CNNlà viết tắt của mạng nơ ron tích chập, những gì họ làm được đặt tên là tương quan chéo trong toán học và không phải là tích chập. Hãy nhìn vào đây .

Bây giờ, trước khi tiếp tục có một nhận xét kỹ thuật tôi muốn đưa ra về mối tương quan chéo với các kết quả và chỉ cho các sự kiện bạn phải làm để thực hiện các mạng thần kinh tích chập. Nếu bạn đọc sách giáo khoa toán học hoặc sách giáo khoa xử lý tín hiệu khác nhau, có một sự không nhất quán khác có thể có trong ký hiệu đó là, nếu bạn nhìn vào sách giáo khoa toán học điển hình, cách xác định tích chập được xác định trước khi thực hiện sản phẩm và tính tổng của phần tử Y, có thực ra là một bước khác ...

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.