Có những lý do toán học cho sự tích chập trong các mạng lưới thần kinh vượt quá khả năng?


14

Trong các mạng nơ ron tích chập (CNN), ma trận các trọng số ở mỗi bước sẽ được lật các hàng và cột để lấy ma trận hạt nhân, trước khi tiến hành tích chập. Điều này được giải thích trên một loạt các video của Hugo Larochelle tại đây :

Việc tính toán các bản đồ ẩn sẽ tương ứng với việc thực hiện tích chập rời rạc với một kênh từ lớp trước, sử dụng ma trận hạt nhân [...] và hạt nhân đó được tính từ ma trận trọng số ẩn Wij , trong đó chúng ta lật các hàng và cột.

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

Nếu chúng ta so sánh các bước giảm của phép tích chập với phép nhân ma trận thông thường như trong các loại NN khác, thì phương tiện sẽ là một lời giải thích rõ ràng . Tuy nhiên, đây có thể không phải là so sánh thích hợp nhất ...

Trong xử lý hình ảnh kỹ thuật số, việc áp dụng tích chập bộ lọc vào hình ảnh ( đây là một video youtube tuyệt vời cho trực giác thực tế ) dường như có liên quan đến:

  1. Thực tế là tích chập là kết hợp trong khi tương quan (chéo) thì không.
  2. Khả năng áp dụng các bộ lọc trong miền tần số của hình ảnh dưới dạng phép nhân, vì tích chập trong miền thời gian tương đương với phép nhân trong miền tần số ( định lý tích chập ).

Trong môi trường kỹ thuật đặc biệt này của tương quan DSP được định nghĩa là:

FTôi(x,y)= =Σj= =-NNΣTôi= =-NNF(Tôi,j)Tôi(x+Tôi,y+j)

về cơ bản là tổng của tất cả các ô trong sản phẩm Hadamard:

FI(x,y)=[F[N,N]I[xN,yN]F[N,0]I[xN,yN]F[N,N]I[xN,y+N]F[0,N]I[x,yN]F[0,0]I[x,y]F[0,N]I[x,y+N]F[N,N]I[x+N,yN]F[N,0]I[x+N,y]F[N,N]I[x+N,y+N]]

Trong đó là hàm lọc (được biểu thị dưới dạng ma trận) và I ( x , y ) là giá trị pixel của ảnh tại vị trí ( x , y ) :F(i,j)I(x,y)(x,y)

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

Các mục tiêu của tương quan chéo là để đánh giá mức độ tương tự như là một hình ảnh thăm dò để một hình ảnh thử nghiệm. Việc tính toán một bản đồ tương quan chéo dựa trên định lý tích chập.


Mặt khác, tích chập được định nghĩa là:

F*Tôi(x,y)= =Σj= =-NNΣTôi= =-NNF(Tôi,j)Tôi(x-Tôi,y-j)

miễn là bộ lọc đối xứng, nó giống như một hoạt động tương quan với các hàng và cột của bộ lọc được lật:

FI(x,y)=[F[N,N]I[xN,yN]F[N,0]I[xN,yN]F[N,N]I[xN,y+N]F[0,N]I[x,yN]F[0,0]I[x,y]F[0,N]I[x,y+N]F[N,N]I[x+N,yN]F[N,0]I[x+N,y]F[N,N]I[x+N,y+N]]

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


[1474141626164726412674162616414741]

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


Tính toán, cả hai hoạt động là một sản phẩm bên trong Frobenius, tính toán để theo dõi phép nhân của ma trận .


Câu hỏi (cải cách sau khi nhận xét và trả lời đầu tiên):

  1. Việc sử dụng các cấu trúc trong CNN có liên quan đến FFT không?

Từ những gì tôi thu thập được cho đến nay câu trả lời là không. Các FFT đã được sử dụng để tăng tốc độ triển khai GPU của các kết cấu . Tuy nhiên, FFT thường không phải là một phần của cấu trúc hoặc chức năng kích hoạt trong CNN, mặc dù việc sử dụng các cấu trúc trong các bước kích hoạt trước.

  1. Là tích chập và tương quan chéo trong CNN tương đương?

Vâng, chúng là tương đương.

  1. Nếu nó đơn giản là "không có sự khác biệt", thì điểm nào để lật các trọng số vào ma trận hạt nhân?

Không phải sự kết hợp của tích chập (hữu ích trong chứng minh toán học), cũng không có bất kỳ cân nhắc nào liên quan đến FT và định lý tích chập được áp dụng. Trên thực tế, có vẻ như việc lật không thậm chí diễn ra (mối tương quan chéo đơn giản là bị gắn nhãn sai là tích chập) (?).


Antoni bạn có thể chỉ đến bất kỳ nguồn nào mà họ lật trọng lượng không? Như @hossein đã chỉ ra rằng bạn có thể làm bất cứ điều gì với sự giao thoa mà bạn có thể làm với các kết luận, chỉ bằng cách lật thứ tự. Vì vậy, tất cả các công cụ miền tần số này là không liên quan.
seanv507

@ seanv507 Tôi đã chỉnh sửa OP của mình để bao gồm nguồn cho những gì tôi tin rằng bạn đang hỏi tôi. Tôi thực sự hiểu rằng tích chập là hoạt động tương tự như tương quan chéo với ma trận bộ lọc lật, nhưng tôi không hiểu tại sao chúng ta vượt qua "nỗi đau" của tích chập rời rạc nếu không có gì với nó không thể xảy ra hoàn thành với sự tương quan. Câu trả lời được đưa ra rõ ràng là có kiến ​​thức, nhưng nó có thể được đưa vào một nhận xét và không giải thích lý do đằng sau hai hoạt động riêng biệt (đó có phải là "truyền thống" từ DSP được chuyển sang ML không?), Ý nghĩa của quá trình học tập, và mối quan hệ với FT's.
Antoni Parellada

1
Antoni, không cần phải lật. Đó là nhiều hơn một quy ước; trong dsp mọi người nói về tích chập hơn là tương quan chéo, và các mạng lưới thần kinh tương quan chéo không lăn ra khỏi lưỡi. Nhưng hoạt động tự nhiên hơn (để con người diễn giải) là tương quan chéo (bạn phù hợp với mẫu) cho CNN (xem xét ví dụ: bộ lọc cạnh dọc thay vì đối xứng xoay). Vì vậy, tôi nghĩ rằng Hugo larochelle có thể đang nói về các thư viện số trong đó tích chập chứ không phải tương quan chéo là hàm tiêu chuẩn. (Ông nói một cách hiệu quả là tương quan chéo có thể được thực hiện bằng một phép chập.)
seanv507

1
Antoni, đồng ý với 2 câu hỏi / câu trả lời đầu tiên, và nhận xét của tôi là trả lời câu hỏi thứ 3.
seanv507

1
Mặc dù không nhất thiết phải có một liên kết trực tiếp giữa CNN và FFT, nhưng có bằng chứng cho thấy rằng bạn có thể tăng tốc độ của CNN bằng cách sử dụng FFT khi bạn giữ lại tổng tích chập thông thường. Xem ở đây ví dụ: arxiv.org/pdf/1312.5851.pdf
Alex R.

Câu trả lời:


8

Không có sự khác biệt trong những gì mạng lưới thần kinh có thể làm khi họ sử dụng tích chập hoặc tương quan. Điều này là do các bộ lọc được học và nếu một CNN có thể học để thực hiện một tác vụ cụ thể bằng thao tác tích chập, thì nó cũng có thể học để thực hiện cùng một tác vụ bằng cách sử dụng thao tác tương quan (Nó sẽ học phiên bản xoay của từng bộ lọc).

Để tìm thêm chi tiết về lý do mà đôi khi mọi người thấy nó trực quan hơn khi nghĩ về tích chập hơn là tương quan, bài đăng này có thể hữu ích.

Vẫn còn câu hỏi này là nếu không có sự khác biệt giữa tích chập và tương quan chéo, thì điểm nào của việc lật các trọng số vào ma trận hạt nhân? Tôi muốn bao gồm một số câu từ cuốn sách Deep learning của Ian Goodfellow et al. để trả lời câu hỏi này:

"Lý do duy nhất để lật kernel là để có được thuộc tính giao hoán. Mặc dù thuộc tính giao hoán rất hữu ích để viết bằng chứng, nhưng nó thường không phải là một thuộc tính quan trọng của việc triển khai mạng thần kinh ... Nhiều thư viện máy học thực hiện tương quan chéo nhưng gọi nó chập chững. "

Điều đáng nói là mặc dù tích chập là một hoạt động yêu thích trong các ứng dụng thị giác máy cổ điển, nó được thay thế bằng sự tương quan trong nhiều triển khai của các mạng thần kinh tích chập.


Cảm ơn bạn. Tôi đã chú ý đọc blog mà bạn liên kết đến và dường như việc sử dụng tích chập không chỉ đơn giản là tương đương với tương quan và không đáp ứng với lựa chọn tính năng miền tần số. Tôi đang tìm kiếm một câu trả lời chi tiết về điều này.
Antoni Parellada

Như tôi biết, chúng tương đương với những gì chúng có thể làm , vì cả hai đều thực hiện một sản phẩm chấm gồm hai ma trận, nhưng tích chập lật ma trận bộ lọc trước sản phẩm chấm và vì CNN học các bộ lọc, chúng có thể tìm hiểu các bộ lọc lật.
Hossein

+1 để giải thích về Hosseins, nhưng -1 cho liên kết blog. Blog chủ yếu tập trung vào phần cứng, và anh ta là một người CS không có nền tảng về tích chập và các khái niệm xử lý tín hiệu khác.
seanv507

Tôi vẫn muốn nhấn mạnh vào việc có thêm một số đoạn về mối quan hệ (hoặc thiếu nó) giữa tích chập trong các biến đổi CNN và Fourier.
Antoni Parellada

2

Có một lý do thực tế cho mối liên hệ giữa FFT và tích chập.

Convolution chậm trong miền thời gian / hình ảnh. Áp dụng mộtn×n bộ lọc đến một pixel yêu cầu Ôi(n2)phép nhân và phép cộng. Áp dụng nó cho mọi pixel trong mộtN×N do đó hình ảnh đòi hỏi n2N2hoạt động. Điều này phát triển nhanh chóng và số lượng lớn các hoạt động không chỉ đòi hỏi thêm thời gian, mà còn gây ra nhiều lỗi số hơn.

Định lý Convolution nói rằng tích chập trong miền thời gian tương đương với phép nhân theo điểm trong miền tần số. FFT rất nhanh: chúng có hiệu suất tiệm cận tốtÔi(N2đăng nhậpN2)và việc thực hiện thực tế thường được tối ưu hóa cao. Chuyển sang miền Fourier do đó cho phép bạn thực hiện tích chập trongÔi(N2) thời gian (được chi phối bởi phép nhân theo chiều), thay vì Ôi(n2N2). Điều này có thể cung cấp một sự tăng tốc đáng kể, mặc dù việc đi xuống FFT -> nhân -> tuyến FFT nghịch đảo có vẻ phức tạp hơn nhiều. Thêm ở đây

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.