Значення (і доказ) "RNN може наближати будь-який алгоритм"


28

Нещодавно я прочитав, що періодична нейронна мережа може наближати будь-який алгоритм.

Отже, моє запитання: що це точно означає і чи можете ви дати мені посилання, де це доведено?


Перевірте роботи Хальберта Уайта. Я думаю, що саме він довів, що нейронна мережа є універсальним наближенням. (Не впевнений у періодичних нейронних мережах.)
Річард Харді,

Відповіді:


42

Фон

Спочатку ми повинні перейти деякі концепції з теорії обчислення. Алгоритм являє собою процедуру для обчислення функції. З огляду на вхід, алгоритм повинен створити правильний результат у кінцевій кількості кроків, а потім припинити. Сказати, що функція обчислюється означає, що існує алгоритм її обчислення. Серед нескінченного набору всіх функцій більшість не обчислюються. Машини Тьюрінга - це математична модель, яка формалізує поняття обчислення. Існують інші еквівалентні моделі, але машини Тьюрінга є стандартною 'еталонною моделлю'. Відповідно до тези Церкви-Тьюрінга, будь-який алгоритм може бути реалізований машиною Тьюрінга, і всі обчислювані функції можуть бути обчислені таким чином. Будь-який конкретний екземпляр машини Тьюрінга обчислює лише певну функцію. Але існує спеціальний клас машин Тьюрінга, який називається універсальними машинами Тьюрінга, який може імітувати будь-яку іншу машину Тьюрінга для будь-якого введення. Вони роблять це, описуючи машину, яка буде імітованою (та її введенням), як частину власного введення. Отже, будь-який конкретний екземпляр універсальної машини Тьюрінга може обчислити будь-яку обчислювальну функцію (тобто реалізувати будь-який алгоритм). Будь-яка система, яка поділяє цю здатність, називається Тьюрінгом завершеною. Один із способів довести, що система Тьюрінга є повною - це показати, що вона може імітувати універсальну машину Тьюрінга. Було показано, що багато систем є Тьюрінгом завершеними (наприклад, більшість мов програмування, певні стільникові автомати та квантова механіка ).

Рецидивуючі нейронні мережі

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

Зігельман і Сонтаг (1992) . Про обчислювальну потужність нейронних сіток

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

Мережа виконує відображення від бінарної вхідної послідовності до двійкової послідовності виводу. Є два зовнішніх входи в мережу, які подаються на всі одиниці: "рядок даних" і "лінія перевірки". Рядок даних містить послідовність введення нулів і одиниць, а потім нуль після завершення послідовності введення. Рядок перевірки повідомляє мережі, коли відбувається послідовність введення. Він містить один протягом тривалості послідовності введення, а потім нуль після його закінчення. Один блок вважається "вихідним блоком". Він виводить нулі за деяку довільну затримку, потім послідовність виведення нулів і одиниць, а потім нуль після закінчення послідовності виводу. Іншою одиницею вважається «одиниця перевірки», яка повідомляє нам, коли відбувається послідовність виводу.

Хоча ці RNN відображають бінарні вхідні послідовності у бінарних вихідних послідовностях, нас можуть зацікавити функції, визначені на різних інших математичних об'єктах (інші типи чисел, векторів, зображень, графіків тощо). Але для будь-якої обчислювальної функції ці інші типи об'єктів можуть бути кодовані у вигляді двійкових послідовностей (наприклад, див. Тут опис кодування інших об'єктів за допомогою натуральних чисел, які в свою чергу можуть бути представлені у двійковій).

Результат

Вони показують, що для кожної обчислюваної функції існує кінцевий RNN (форми, описаної вище), який може обчислити її. Вони роблять це, показуючи, що можна використовувати RNN для явного імітації автоматичного відключення з двома стеками. Це ще одна модель, обчислювально еквівалентна машині Тьюрінга. Будь-яка обчислювальна функція може бути обчислена машиною Тьюрінга. Будь-яка машина Тьюрінга може бути змодельована автоматом віджимання з двома стеками. Будь-який автомат з двома стеками може бути змодельований RNN. Тому будь-яку обчислювальну функцію можна обчислити RNN. Крім того, оскільки деякі машини Тьюрінга є універсальними, RNN, що імітують їх, є Тьюрінгом повним, і тому можуть реалізувати будь-який алгоритм. Зокрема, вони показують, що існує Тюрінг повних RNN з 1058 або меншими одиницями.

Інші наслідки

Цікавим наслідком результатів моделювання є те, що певні питання щодо поведінки RNN не можна вирішити. Це означає, що не існує алгоритму, який би міг відповісти на них за довільні RNN (хоча вони можуть відповідати у випадку конкретних RNN). Наприклад, питання про те, чи приймає дана одиниця значення 0, не може бути вирішеним; якби в цілому можна було відповісти на це питання, можна було б вирішити проблему зупинки машин Тьюрінга, що не можна визначити.

Обчислювальна потужність

У наведеній статті всі параметри мережі та стани - це раціональні числа. Це важливо, оскільки це обмежує потужність RNN і робить отримані мережі більш реалістичними. Причина полягає в тому, що раціонали - це обчислювані числа , а це означає, що існує алгоритм їх обчислення до довільної точності. Більшість реальних цифр є незрівнянними, а тому недоступними - навіть найпотужніша машина Тьюрінга не може їх представляти, і багато людей сумніваються в тому, що вони навіть могли бути представлені у фізичному світі. Коли ми маємо справу з "реальними числами" на цифрових комп'ютерах, ми отримуємо доступ до ще меншої підмножини (наприклад, 64-бітові числа з плаваючою комою ). Представлення довільних дійсних чисел потребує нескінченної інформації.

У статті йдеться, що надання мережі доступу до реальних цифр ще більше збільшить обчислювальну потужність, крім машин Тьюрінга. Зігельман написав ряд інших робіт, вивчаючи цю здатність «супер-Тюрінга». Однак важливо зазначити, що це математичні моделі, і результати не означають, що така машина фактично може існувати у фізичному світі. Є вагомі причини вважати, що це не могло, хоча це питання відкрите.


1
Ей, мені здається, це супер цікаво, мені було цікаво, чи є у вас будь-яка довідка, щоб дізнатися більше про цю теорію обчислення та її відношення до алгоритмів машинного навчання або квантових обчислень. Спасибі!
користувач110320

0

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

Горник, К. (1991). Можливості наближення багатошарових мереж подачі даних. Нейронні мережі, 4 (2), 251-257.


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