Чи є математичні причини згортання в нейронних мережах поза доцільністю?


14

У конволюційних нейронних мережах (CNN) матриця ваг на кожному кроці отримує свої рядки та стовпці, перевернуті, щоб отримати матрицю ядра, перш ніж приступити до згортання. Про це пояснюється у серії відео Уго Ларошель тут :

Обчислення прихованих карт буде відповідати виконанню дискретної згортки з каналом з попереднього шару, використовуючи матрицю ядра [...], і це ядро ​​обчислюється з матриці прихованих ваг Wij , де ми перегортаємо рядки та стовпчики.

введіть тут опис зображення

Якби ми порівнювали скорочені етапи згортки з регулярним множенням матриць, як і в інших типах NN, доцільність була б чітким поясненням . Однак це може бути не найбільш доречним порівнянням ...

У цифровій обробці зображень додаток згортання фільтра до зображення ( це чудове відео YouTube для практичної інтуїції ), схоже, пов'язане з:

  1. Справа в тому, що згортання асоціативне, а (перехресне) співвідношення - це не так.
  2. Можливість застосовувати фільтри в частотній області зображення як множення, оскільки згортання в часовій області еквівалентно множенню в частотній області ( теорема згортки ).

У цьому конкретному технічному середовищі кореляція DSP визначається як:

ЖЯ(х,у)=j=-NNi=-NNЖ(i,j)Я(х+i,у+j)

що по суті є сумою всіх комірок продукту Адамара:

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]]

F(i,j)I(x,y)(х,у)

введіть тут опис зображення

Мета крос-кореляції , щоб оцінити , наскільки це схоже зонд зображення тестового зображення. Розрахунок карти перехресної кореляції спирається на теорему згортки.


З іншого боку, згортка визначається як:

ЖЯ(х,у)=j=-NNi=-NNЖ(i,j)Я(х-i,у-j)

що, поки фільтр симетричний, це те саме, що операція кореляції з перевернутими рядками та стовпцями фільтра:

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]]

введіть тут опис зображення


Підвищення в DSP означає застосування фільтрів до зображення (наприклад, згладжування, різкість). Як приклад, після згортання обличчя Джозефа Фур'є з фільтром згортки Гаусса :[1474141626164726412674162616414741]

введіть тут опис зображення


Обчислено, що обидві операції є внутрішнім продуктом Фробеніуса, що дорівнює обчисленню сліду множення матриці .


Запитання (переформулювання після коментарів та першої відповіді):

  1. Чи пов'язане використання згортків у CNN з FFT?

З того, що я зараз збираю, відповідь - ні. FFT використовуються для прискорення реалізації GPU згортків . Однак FFT зазвичай не є частиною структури або функцій активації в CNN, незважаючи на використання згортків на етапах попередньої активації.

  1. Чи еквівалентні згортання та перехресна кореляція в CNN?

Так, вони рівноцінні.

  1. Якщо він простий як "немає різниці", який сенс переводити ваги в матрицю ядра?

Ні асоціативність згортки (корисна для математичних доказів), ні будь-які міркування щодо ФТ та теореми згортки не застосовуються. Насправді, здається, що гортання навіть не відбувається (перехресне співвідношення просто неправильно позначається як згортка) (?).


Антоні, ти можеш вказати на будь-яке джерело, де вони перекидають ваги? Як зазначав @hossein, ви можете робити все, що завгодно з крокореляцією, що ви можете зробити з згортаннями, просто прогортаючи замовлення. Отже, весь цей предмет частотної області не має значення.
seanv507

@ seanv507 Я відредагував свій ОП, щоб включити джерело того, про що я вважаю, що ви мене просите. Я розумію, що згортання - це та сама операція, що і перехресна кореляція з перевернутою матрицею фільтру, але я не розумію, чому ми переходимо через "біль" дискретної згортки, якщо немає нічого такого, чого не могло б бути здійснено з кореляцією. Надана відповідь чітко відома, але вона може бути вписана в коментар, і не пояснює причину двох різних операцій (чи це "традиція" від DSP, переданого до ML?), Наслідки щодо процесу навчання, і відношення до FT's.
Антоні Пареллада

1
Антоні, гортати не потрібно. Це більше конвенція; в dsp люди говорять про згортання, а не про перехресну кореляцію, а перехресна кореляційна нейронна мережа не скочує язика. Але більш природною (для людей інтерпретацією) операцією є перехресна кореляція (ви збігаєте шаблони) для CNN (враховуйте, наприклад, фільтр вертикального краю, а не симетричний обертання). Тому я думаю, що Уго Ларошель, можливо, говорить про чисельні бібліотеки, де згортання, а не перехресна кореляція, є стандартною функцією (він фактично говорить, що перехресне співвідношення може бути здійснене згорткою.)
seanv507

1
Антоні, погоджуйся на 2 перші питання / відповіді, і мій коментар відповідав на 3-те запитання.
seanv507

1
Хоча не обов'язково існує прямий зв'язок між CNN і FFT, є дані, які показують, що ви можете отримати прискорення CNN, використовуючи FFT, якщо зберігаєте звичайну суму згортки. Дивіться тут наприклад: arxiv.org/pdf/1312.5851.pdf
Алекс Р.

Відповіді:


8

Немає відмінностей у тому, що можуть робити нейронні мережі, коли вони використовують згортку або кореляцію. Це тому, що фільтри вивчені, і якщо CNN може навчитися виконувати певну задачу за допомогою операції згортання, вона також може навчитися виконувати те саме завдання, використовуючи кореляційну операцію (вона вивчила б поворотну версію кожного фільтра).

Щоб дізнатися більше про причини, через які людям часом здається, що інтуїтивніше думати про згортання, ніж про кореляцію, ця публікація може бути корисною.

Залишається це питання, що якщо різниці між згорткою та перехресною кореляцією немає, який сенс переводити ваги в матрицю ядра? Я хотів би включити кілька речень із книги « Глибоке навчання» Іана Гудфеллоу та ін. щоб відповісти на це запитання:

"Єдина причина перевернути ядро ​​- це отримати комутативну властивість. Хоча комутативна властивість корисна для написання доказів, вона зазвичай не є важливою властивістю реалізації нейронної мережі ... Багато бібліотек машинного навчання реалізують перехресну кореляцію, але викликають це згортання ".

Висновок полягає в тому, що хоча згортання є улюбленою операцією в класичних додатках машинного зору, воно замінюється кореляцією у багатьох реалізаціях конволюційних нейронних мереж.


Дякую. Я з увагою читаю щоденник, на який ви посилаєтесь, і здається, що використання згортки не просто еквівалентно кореляції, а реагує на вибір функції частотної області. Я шукаю відповідь, яка розробила це питання.
Антоні Пареллада

Як я знаю, вони є рівнозначними у тому, що можуть зробити , оскільки обидва роблять крапковий добуток з двох матриць, але згортка перевертає матрицю фільтру перед крапковим продуктом, і оскільки CNN вивчає фільтри, вони можуть вивчати перевернуті фільтри.
Hossein

+1 до пояснення Хоссейна, але -1 для посилання на блог. Блог в основному зосереджений на апаратному забезпеченні, і він - хлопець CS, який не має досвіду в згортці та інших концепціях обробки сигналів.
seanv507

Я хотів би все-таки наполягати на тому, щоб мати якийсь додатковий параграф щодо взаємозв'язку (або його відсутності) між згорткою в CNN та перетвореннями Фур'є.
Антоні Пареллада

2

Існує практична причина для зв'язку між FFT та згортанням.

У домі часу / зображення відбувається повільне згортання. Застосуваннян×н потрібен фільтр до одного пікселя О(н2)множення та доповнення Застосовуючи його до кожного пікселя вN×N зображення, таким чином, вимагає н2N2операції. Це швидко зростає, і велика кількість операцій не тільки вимагає додаткового часу, але і вводить більше числову помилку.

Теорема згортання говорить, що згортка у часовій області еквівалентна точковому множенню в частотній області. FFT швидко проходять: вони мають хороші асимптотичні показникиО(N2журналN2)а реальні реалізації часто дуже оптимізовані. Таким чином, перехід на домен Фур'є дозволяє здійснити згортку вО(N2) час (в якому переважає точкове множення), а не О(н2N2). Це може забезпечити значне прискорення, навіть якщо здатися набагато складніше спуститися по FFT -> множення -> зворотній маршрут FFT. Більше тут

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.