क्या समीचीनता से परे तंत्रिका नेटवर्क में संकेतन के गणितीय कारण हैं?


14

कनफ्यूजनियल न्यूरल नेटवर्क (CNN) में प्रत्येक चरण पर वेट का मैट्रिक्स अपनी पंक्तियों और कॉलम को कर्नेल मैट्रिक्स को प्राप्त करने के लिए फ़्लिप करता है, कनवल्शन के साथ आगे बढ़ने से पहले। यह ह्यूगो लॉरोले द्वारा वीडियो की एक श्रृंखला पर समझाया गया है :

छिपे हुए मानचित्रों की गणना करना, कर्नेल मैट्रिक्स [...] का उपयोग करके पिछली परत से एक चैनल के साथ एक असतत संकेतन करने के अनुरूप होगा, और उस कर्नेल की गणना छिपे हुए भार मैट्रिक्स , जहाँ हम पंक्तियों और छुपाएँ फ्लिप करते हैं कॉलम।Wij

यहाँ छवि विवरण दर्ज करें

यदि हम अन्य प्रकार के एनएन के रूप में नियमित मैट्रिक्स गुणन के लिए एक दृढ़ संकल्प के कम किए गए चरणों की तुलना करने के लिए थे, तो समीचीनता एक स्पष्ट व्याख्या होगी । हालांकि, यह सबसे अधिक प्रासंगिक तुलना नहीं हो सकती है ...

डिजिटल इमेजिंग में एक छवि के लिए एक फिल्टर के दृढ़ संकल्प के आवेदन को संसाधित करना ( यह व्यावहारिक अंतर्ज्ञान के लिए एक महान यूट्यूब वीडियो है ) से संबंधित लगता है:

  1. तथ्य यह है कि सजा संबद्ध है जबकि (पार) सहसंबंध नहीं है।
  2. गुणा के रूप में छवि के आवृत्ति डोमेन में फ़िल्टर लागू करने की संभावना है, क्योंकि समय डोमेन में कन्वेंशन आवृत्ति डोमेन ( कन्वेक्शन प्रमेय ) में गुणा के बराबर है ।

डीएसपी सहसंबंध के इस विशेष तकनीकी वातावरण के रूप में परिभाषित किया गया है:

FI(x,y)=j=NNi=NNF(i,j)I(x+i,y+j)

जो अनिवार्य रूप से एक 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]]

जहाँ एक फिल्टर फंक्शन (मैट्रिक्स के रूप में व्यक्त) है, और I ( x , y ) स्थान पर छवि का पिक्सेल मान ( x , y ) है :F(i,j)I(x,y)(x,y)

यहाँ छवि विवरण दर्ज करें

पार से संबंध का उद्देश्य आकलन करने के लिए कैसे समान एक परीक्षण छवि के लिए एक जांच छवि है। एक क्रॉस-सहसंबंध मानचित्र की गणना सजा प्रमेय पर निर्भर करती है।


दूसरी ओर, दृढ़ संकल्प के रूप में परिभाषित किया गया है:

FI(x,y)=j=NNi=NNF(i,j)I(xi,yj)

जब तक फ़िल्टर सममित होता है, यह फ़िल्टर के पंक्तियों और स्तंभों के साथ सहसंबंध संचालन के समान होता है:

Fमैं(एक्स,y)=[एफ[एन,एन]मैं[एक्स-एन,y-एन]एफ[एन,0]मैं[एक्स-एन,y-एन]एफ[एन,-एन]मैं[एक्स-एन,y+एन]एफ[0,एन]मैं[एक्स,y-एन]एफ[0,0]मैं[एक्स,y]एफ[0,-एन]मैं[एक्स,y+एन]एफ[-एन,-एन]मैं[एक्स+एन,y-एन]एफ[-एन,0]मैं[एक्स+एन,y]एफ[-एन,-एन]मैं[एक्स+एन,y+एन]]

यहाँ छवि विवरण दर्ज करें


[1474141626164726412674162616414741] the edges on his face are fuzzier:

यहाँ छवि विवरण दर्ज करें


Computationally, both operations are a Frobenius inner product, amounting to calculating the trace of a matrix multiplication.


Questions (reformulating after comments and first answer):

  1. Is the use of convolutions in CNN linked to FFT?

From what I gather so far the answer is no. FFTs have been used to speed up GPU implementations of convolutions. However, FFT are not usually part of the structure or activation functions in CNNs, despite the use of convolutions in the pre-activation steps.

  1. Is convolution and cross-correlation in CNN equivalent?

Yes, they are equivalent.

  1. If it is a simple as "there is no difference", what is the point of flipping the weights into the kernel matrix?

Neither the associativity of convolution (useful in math proofs), nor any considerations regarding FTs and the convolution theorem are applicable. In fact, it seems as though the flipping doesn't even take place (cross-correlation being simply mislabeled as convolution) (?).


Antoni can you point to any source where they flip the weights? As @hossein pointed out you can do anything with crosscorrelation that you can do with convolutions, just by flipping the ordering. So all this frequency domain stuff is irrelevant.
seanv507

@seanv507 I edited my OP to include the source for what I believe you are asking me. I do get that convolution is the same operation as cross-correlation with a flipped filter matrix, but I don't get why we go over the "pain" of the discrete convolution if there isn't anything to it that couldn't be accomplished with correlation. The answer given is clearly knowledgeable, but it could be fitted into a comment, and does not explain the reason behind two distinct operations (is it a "tradition" from DSP carried over to ML?), the implications as to the learning process, and the relation to FT's.
Antoni Parellada

1
Antoni, there is no need to flip. It's more of a convention; in dsp people talk about convolution rather than cross correlation, and cross correlational neural networks doesn't roll off the tongue. But the more natural (for humans to interpret) operation is cross correlation (you are template matching) for CNN (consider eg a vertical edge filter rather than a rotation symmetric) . So I think Hugo larochelle is maybe talking about numerical libraries where convolution rather than cross correlation is standard function.(he is effectively saying cross correlation can be done by a convolution.)
seanv507

1
Antoni, agree on the 2 first questions/answers, and my comment was answering the 3rd question.
seanv507

1
While there isn't necessarily a direct link between CNN's and FFT's, there is evidence that shows that you can obtain speedup of CNN's by using FFT's when you retain the usual convolution sum. See here for example: arxiv.org/pdf/1312.5851.pdf
Alex R.

जवाबों:


8

There are no differences in what neural networks can do when they use convolution or correlation. This is because the filters are learned and if a CNN can learn to do a particular task using convolution operation, it can also learn to do the same task using correlation operation (It would learn the rotated version of each filter).

To find more details about the reasons that people sometimes find it more intuitive to think about convolution than correlation, this post may be useful.

यह सवाल बना हुआ है कि अगर दोषारोपण और क्रॉस-सहसंबंध में कोई अंतर नहीं है, तो वज़न को कर्नेल मैट्रिक्स में फ़्लिप करने का क्या मतलब है? मैं इयान गुडफेलो एट अल द्वारा दीप सीखने की किताब से कुछ वाक्य शामिल करना चाहूंगा इस सवाल का जवाब देने के लिए:

"कर्नेल को फ़्लिप करने का एकमात्र कारण कम्यूटेटिव प्रॉपर्टी प्राप्त करना है। जबकि कम्यूटेटिव प्रॉपर्टीज़ प्रूफ लिखने के लिए उपयोगी है, यह आमतौर पर न्यूरल नेटवर्क कार्यान्वयन की एक महत्वपूर्ण प्रॉपर्टी नहीं है ... कई मशीन लर्निंग लाइब्रेरी क्रॉस-कोरिलेशन लागू करती हैं - कॉल यह दृढ़ संकल्प है। "

Takeaway यह है कि यद्यपि क्लासिक मशीन विज़न अनुप्रयोगों में कनवल्शन एक पसंदीदा ऑपरेशन है, लेकिन यह कन्वेन्शनल न्यूरल नेटवर्क के कई कार्यान्वयनों में सहसंबंध द्वारा प्रतिस्थापित किया जाता है।


धन्यवाद। मैं उस ब्लॉग को ध्यान से पढ़ता हूं जिसे आप लिंक करते हैं, और ऐसा लगता है कि हालांकि कनवल्शन का उपयोग केवल सहसंबंध के बराबर नहीं है, और यह आवृत्ति-डोमेन सुविधा चयन का जवाब देता है। मैं इस पर विस्तृत जवाब की तलाश में हूं।
एंटोनी परेलादा

जैसा कि मुझे पता है, वे जो कर सकते हैं उसमें बराबर हैं , क्योंकि दोनों दो मैट्रेस का एक डॉट उत्पाद करते हैं, लेकिन कनवल्शन डॉट उत्पाद से पहले फ़िल्टर मैट्रिक्स को फ्लिप करता है, और चूंकि सीएनएन फ़िल्टर सीखते हैं, इसलिए वे फ़्लिप किए गए फ़िल्टर सीख सकते हैं।
होसैन

+1 से होसेन स्पष्टीकरण, लेकिन ब्लॉग लिंक के लिए -1। ब्लॉग मुख्य रूप से हार्डवेयर पर केंद्रित है, और वह एक सीएस पुरुष है जिसमें कोई भी पृष्ठभूमि नहीं है, जो संकल्पना और अन्य सिग्नल प्रोसेसिंग अवधारणाओं की पृष्ठभूमि है।
seanv507

मैं अभी भी सीएनएन और फूरियर ट्रांसफॉर्म में सजा के बीच संबंध (या इसके अभाव) पर कुछ अतिरिक्त पैराग्राफ होने पर जोर देना चाहूंगा।
एंटोनी परेलादा

2

FFT और कनवल्शन के बीच लिंक का एक व्यावहारिक कारण है।

समय / छवि डोमेन में वार्तालाप धीमा है। आवेदन करना an×n एक पिक्सेल के लिए फ़िल्टर की आवश्यकता होती है हे(n2)गुणन और परिवर्धन। इसे हर पिक्सेल में एक पर लागू करनाएन×एन इस प्रकार छवि की आवश्यकता है n2एन2संचालन। यह जल्दी से बढ़ता है, और बड़ी संख्या में संचालन को न केवल अतिरिक्त समय की आवश्यकता होती है, बल्कि अधिक संख्यात्मक त्रुटि का भी परिचय होता है।

कन्वर्सेशन थ्योरीम का कहना है कि टाइम डोमेन में कन्वेंशन आवृत्ति डोमेन में पॉइंटवाइज़ गुणा के बराबर है। एफएफटी तेज हैं: उनके पास अच्छा स्पर्शोन्मुख प्रदर्शन हैहे(एन2लॉगएन2)और वास्तविक कार्यान्वयन अक्सर अत्यधिक अनुकूलित होते हैं। फूरियर डोमेन पर स्विच करने से आप एक कनवल्शन में प्रदर्शन कर सकते हैंहे(एन2) समय (जिस पर बिंदुवार गुणन का वर्चस्व होता है), के बजाय हे(n2एन2)। यह काफी गति प्रदान कर सकता है, भले ही यह FFT -> गुणन -> उलटा एफटीएफ मार्ग पर जाने के लिए अधिक जटिल लगता है। यहां अधिक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.