Мережа радіальних базисних функцій

Матеріал з testwiki
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Мережа радіально базисних функцій (Шаблон:Lang-en) у математичному моделюванні — це штучна нейронна мережа, яка використовує радіальні базисні функції у якості функції активації. Виходом мережі є лінійна комбінація радіальних базисних функцій входу та параметрів нейрона. Мережі радіальних базисних функцій мають багато застосувань, зокрема, такі як Шаблон:Нп, прогнозування часових рядів, задачі класифікації та керування системою. Вони були вперше сформульовані у статті 1988 року Брумхедом і Лоу, обидва дослідники з Шаблон:Нп.[1][2][3]

Архітектура мережі

Малюнок 1: Архітектура мережі радіальних базисних функцій. Вхідний вектор x використовується як вхід для всіх радіальних базисних функцій, кожна з яких має різні параметри. Вихід мережі являє собою лінійну комбінацію виходів з радіальних базисних функцій.

Мережі радіально базисних функцій (RBF) зазвичай мають три шари: вхідний шар, прихований шар з нелінійною RBF функцією активації та лінійний вихідний рівень. Вхід можна моделювати як вектор дійсних чисел 𝐱n. Вихід мережі тоді, є скалярною функцією вхідного вектора, φ:n, і має вигляд

φ(𝐱)=i=1Naiρ(||𝐱𝐜i||)

де N — кількість нейронів у прихованому шарі, 𝐜i є центральним вектором для нейрона i, та ai — це вага нейрона i в лінійному виході нейронів. Функції, які залежать лише від відстані від центру вектора, є радіально симетричними щодо цього вектора, отже, називаються радіальною базисною функцією. У базовій формі всі входи пов'язані з кожним прихованим нейроном. За норму, як правило, обирається Евклідова відстань (хоча відстань Махаланобіса, загалом, більш пасує), та радіальна базисна функція зазвичай вважається розподілом Ґауса

ρ(𝐱𝐜i)=exp[β𝐱𝐜i2].

Гаусові базисні функції близькі до центрального вектора в тому сенсі, що

lim||x||ρ(𝐱𝐜i)=0

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

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

Параметри ai, 𝐜i, та βi визначаються так, щоб оптимізують відповідність між φ і даними.

Нормалізація

Шаблон:Multiple image

Нормалізована архітектура

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

φ(𝐱) =def i=1Naiρ(𝐱𝐜i)i=1Nρ(𝐱𝐜i)=i=1Naiu(𝐱𝐜i)

де

u(𝐱𝐜i) =def ρ(𝐱𝐜i)j=1Nρ(𝐱𝐜j)

відома як «нормована радіально-базисна функція».

Теоретична мотивація для нормалізації

Існує теоретичне обґрунтування цієї архітектури у випадку стохастичного потоку даних. Припустимо, що апроксимація Шаблон:Нп для спільної щільності ймовірностей

P(𝐱y)=1Ni=1Nρ(𝐱𝐜i)σ(|yei|)

де ваги 𝐜i та ei є зразками даних, і нам потрібно, щоб ядра нормалізувались

ρ(𝐱𝐜i)dn𝐱=1

і

σ(|yei|)dy=1.

Щільність ймовірностей у вхідному та вихідному просторах є

P(𝐱)=P(𝐱y)dy=1Ni=1Nρ(𝐱𝐜i)

і

Очікування у введеного на вхід 𝐱

φ(𝐱) =def E(y𝐱)=yP(y𝐱)dy

де

P(y𝐱)

умовна ймовірність y при заданому 𝐱. Умовна ймовірність пов'язана з ймовірністю теоремою Баєса.

P(y𝐱)=P(𝐱y)P(𝐱)

який дає

φ(𝐱)=yP(𝐱y)P(𝐱)dy.

Це стає

φ(𝐱)=i=1Neiρ(𝐱𝐜i)i=1Nρ(𝐱𝐜i)=i=1Neiu(𝐱𝐜i)

коли виконується інтегрування.

Локальні лінійні моделі

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

φ(𝐱)=i=1N(ai+𝐛i(𝐱𝐜i))ρ(𝐱𝐜i)

і

φ(𝐱)=i=1N(ai+𝐛i(𝐱𝐜i))u(𝐱𝐜i)

в ненормалізованих та нормалізованих випадках, відповідно. Тут визначаються ваги 𝐛i . Можливі також вирази більш високого порядку від лінійних термів. Цей результат можна записати як

φ(𝐱)=i=12Nj=1neijvij(𝐱𝐜i)

де

eij={ai,if i[1,N]bij,if i[N+1,2N]

і

vij(𝐱𝐜i) =def {δijρ(𝐱𝐜i),if i[1,N](xijcij)ρ(𝐱𝐜i),if i[N+1,2N]

в ненормалізованому випадку і

vij(𝐱𝐜i) =def {δiju(𝐱𝐜i),if i[1,N](xijcij)u(𝐱𝐜i),if i[N+1,2N]

в нормалізованому. Тут δij є дельто-функцією Кронекера і визначається як

δij={1,if i=j0,if ij.

Навчання

Мережі RBF, як правило, тренуються з пар вхідних і цільових значень 𝐱(t),y(t), t=1,,T, за двохетапним алгоритмом. На першому етапі обирається центр вектору 𝐜i RBF функції у прихованому шарі. Цей етап виконується кількома способами; центри можуть бути випадково відібрані з деякого набору прикладів, або їх можна визначити за допомогою кластеризації методом к–середніх. Зауважте, що цей крок не керований. Другий крок просто відповідає лінійній моделі з коефіцієнтами wi до виходів прихованого шару з відношенням до деякої цільової функції. Загальна цільова функція, принаймні для регресії/оцінки функції, є функцією найменших квадратів:

K(𝐰) =def t=1TKt(𝐰)

де

Kt(𝐰) =def [y(t)φ(𝐱(t),𝐰)]2.

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

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

H(𝐰) =def K(𝐰)+λS(𝐰) =def t=1THt(𝐰)

де

S(𝐰) =def t=1TSt(𝐰)

і

Ht(𝐰) =def Kt(𝐰)+λSt(𝐰)

де оптимізація S максимізує гладкість та λ відома, як регуляризація.

Третій, не обов'язковий етап зворотного поширення помилки, може бути виконаний для точного настроювання всіх параметрів мережі RBF.[3]

Інтерполяція

RBF мережі можуть бути використані для інтерполяції функції y:n коли значення цих функцій відомі на кінцевому числі точок: y(𝐱i)=bi,i=1,,N. Взяття відомих точок 𝐱i щоб бути центрами радіальних базисних функцій і оцінювати значення основних функцій в тих самих точках gij=ρ(||𝐱j𝐱i||) ваги можуть бути знайдені з рівняння

[g11g12g1Ng21g22g2NgN1gN2gNN][w1w2wN]=[b1b2bN]

Може бути доведено, що інтерполяція матриці у вищенаведеному рівнянні є несингулярною, якщо точки 𝐱i відрізняються, а отже ваги w можуть бути знайдені за допомогою простої лінійної алгебри:

𝐰=𝐆1𝐛

Апроксимація функції

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

Підготовка центрів базисних функцій

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

Ширина RBF, як правило, закріплена за тим самим значенням, яке пропорційно максимальній відстані між вибраними центрами.

Псевдообернене рішення для лінійної ваги

Після того, як центри ci зафіксовані, ваги, що мінімізують похибку на виході, обчислюються за допомогою лінійного псевдооберненого рішення:

𝐰=𝐆+𝐛,

де записи G є значеннями радіальних базисних функцій, оцінених в точках xi: gji=ρ(||xjci||).

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

Метод градієнтного спуску навчання лінійних ваг

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

𝐰(t+1)=𝐰(t)νdd𝐰Ht(𝐰)

де ν це «навчальний параметр».

Для випадку тренування лінійних ваг, ai, алгоритм стає

ai(t+1)=ai(t)+ν[y(t)φ(𝐱(t),𝐰)]ρ(𝐱(t)𝐜i)

в ненормалізованому випадку і

ai(t+1)=ai(t)+ν[y(t)φ(𝐱(t),𝐰)]u(𝐱(t)𝐜i)

в нормалізованому.

Для локальної лінійної архітектури навчання градієнт-спуском є

eij(t+1)=eij(t)+ν[y(t)φ(𝐱(t),𝐰)]vij(𝐱(t)𝐜i)

Тренування оператора проектування лінійних ваг

Для випадку тренування лінійних ваг, ai та eij, алгоритм стає

ai(t+1)=ai(t)+ν[y(t)φ(𝐱(t),𝐰)]ρ(𝐱(t)𝐜i)i=1Nρ2(𝐱(t)𝐜i)

в ненормалізованому випадку і

ai(t+1)=ai(t)+ν[y(t)φ(𝐱(t),𝐰)]u(𝐱(t)𝐜i)i=1Nu2(𝐱(t)𝐜i)

в нормалізованому і

eij(t+1)=eij(t)+ν[y(t)φ(𝐱(t),𝐰)]vij(𝐱(t)𝐜i)i=1Nj=1nvij2(𝐱(t)𝐜i)

в локально-лінійному випадку.

Для однієї базової функції тренування оператора проєкції зводиться до метода Ньютона.

Малюнок 6: Логістичне відображення часового ряду. Повторна ітерація логістичного відображення створює хаотичні часові ряди. Значення лежать між нулем і одиницею. Тут представлені 100 навчальних точок, які використовуються для тренування прикладів цього розділу. Ваги c — це перші п'ять точок цього часового ряду.

Приклади

Логістична карта

Основні властивості радіально-базисних функцій можна проілюструвати простим математичним відображенням, логістичне відображення, яке відображає інтервал одиниці на себе. Він може бути використаний для створення зручного прототипу потоку даних. Логістичне відображення може бути використане для вивчення Шаблон:Нп, прогнозування часових рядів і теорії керування. Відображення походить з поля популяційна динаміка і стало прототипом для хаосу часових рядів. Відображення в повністю хаотичному режимі дається

x(t+1) =def f[x(t)]=4x(t)[1x(t)],

де t — індикатор часу. Значення х у момент t+1 є параболічною параболічною функцією х від часу t. Це рівняння представляє основну геометрію хаосу часових рядів, що породжуються логістичною картою.

Покоління часових рядів з цього рівняння є Шаблон:Нп; ідентифікація основної динаміки або фундаментального рівняння логістичної карти з примірників часових рядів. Мета — знайти оцінку

x(t+1)=f[x(t)]φ(t)=φ[x(t)]

для f.

Апроксимація функції

Рисунок 7: Ненормовані базисні функції. Логістична карта (синя) та наближення до логістичної карти (червоний) після одного проходу через набір тренувань.

Ненормовані радіально базисні функції

Архітектурою є


φ(𝐱) =def i=1Naiρ(𝐱𝐜i)

де

ρ(𝐱𝐜i)=exp[β𝐱𝐜i2]=exp[β(x(t)ci)2].

Примітки

Шаблон:Reflist