Перейти к основному содержимому

Сеть радиальных базисных функций

Определение

Сеть радиально-базисных функций (radial basis function network, RBF-network [1], предложена в [2]) - это специальный вид двухслойной нейронной сети, схема которой представлена ниже:

У этой архитектуры отсутствуют смещения (нейроны, выдающие константу 1), а на скрытом слое используются активации специального вида - радиальные базисные функции (radial basis function, RBF, RB-функции [3]):

ai=S(xci),a_i=S(||\mathbf{x}-\mathbf{c}_i||),

которые зависят только от расстояния между входным объектом x\mathbf{x} и некоторым настраиваемым центром ci\mathbf{c}_i.

S()0S(\cdot)\ge 0 некоторая убывающая функция от расстояния, что позволяет трактовать активацию как степень близости или похожести x\mathbf{x} на ci\mathbf{c}_i (similarity function).

Прогноз RBF-сети строится как взвешенная сумма таких функций близости:

f(x)=i=1KwiSi(xci)(1)f(x)=\sum_{i=1}^K w_i S_i(||\mathbf{x}-\mathbf{c}_i||) \tag{1}

В качестве функций чаще всего берётся функция Гауссова ядра (Gaussian kernel):

S(xc)=eγxc22,S(||\mathbf{x}-\mathbf{c}||)=e^{-\gamma ||\mathbf{x}-\mathbf{c}||^2_2},

где

  • xc22||\mathbf{x}-\mathbf{c}||^2_2 - квадрат L2L_2-нормы;

  • γ>0\gamma>0 - параметр, характеризующий скорость убывания функции при удалении x\mathbf{x} от центра c\mathbf{c} и управляющий гибкостью модели (при γ0\gamma\to0 прогноз модели стремится к константе).

Гауссово ядро убывает к нулю экспоненциально быстро, что диктует локальный характер прогнозов - активации, соответствующие только самым близким центрам к x\mathbf{x} будут существенно влиять на решение. Если по смыслу задачи влиять должны все активации, необходимо выбрать RB-функцию, убывающую к нулю более медленно.

Для этого может использоваться обратная квадратичная функция (inverse quadratic):

S(xc)=11+γxc22S(||\mathbf{x}-\mathbf{c}||)=\frac{1}{1+\gamma ||\mathbf{x}-\mathbf{c}||^2_2}

и обратная мультиквадратичнвая функция (inverse multiquadratic):

S(xc)=11+γxc22,S(||\mathbf{x}-\mathbf{c}||)=\frac{1}{\sqrt{1+\gamma ||\mathbf{x}-\mathbf{c}||^2_2}},

которая убывает ещё более медленно.

С другими популярными видами радиально-базисных функций можно ознакомиться в [3].

Идеологически RBF-сеть больше всего похожа на метод ближайших центроидов классического машинного обучения, представляя его сглаженную версию, в которой число центроидов не связано напрямую с числом классов, а может быть любым. При этом их расположение не описывается явной формулой, а настраивается автоматически по данным. Сама же модель выдаёт непрерывные прогнозы, что позволяет использовать её как в задачах регрессии, так и классификации (при вычислении дискриминантных функций).

Настраиваемые параметры

Настраиваемыми параметрами RBF-сети выступают:

  • центры RBF-функций c1,...cK\mathbf{c}_1,...\mathbf{c}_K;

  • параметры функций близости γ1,...γK\gamma_1,...\gamma_K;

  • веса, с которыми суммируются активации w1,...wKw_1,...w_K.

Инициализация параметров

Методы инициализации параметров перед обучением:

  • Центры инициализируются случайными объектами выборки.

    • Более устойчивый вариант: инициализировать их центроидами после кластеризации методом K-средних (K-means [4]).
  • Коэффициенты γ1,...γK\gamma_1,...\gamma_K инициализируются обратной величиной к средним квадратам расстояний между парами объектов, чтобы в начале оптимизации скрытые нейроны имели невырожденный характер изменений.

  • Веса w1,...wKw_1,...w_K инициализируются случайно.

    • Более содержательный вариант: как значения откликов в обучающих объектах, ближайших к соответствующим центрам c1,...cK\mathbf{c}_1,...\mathbf{c}_K.

Пример использования

Рассмотрим аппроксимацию следующей модельной функции:

RBF-сеть с тремя центрами может (при некоторой инициализации) моделировать её следующим образом:

В примере число скрытых нейронов (3 шт.) недостаточно для моделирования всех локальных максимумов функции (5 шт.), и аппроксимация получилась неточной.

RBF-сеть с 5 центрами:

Здесь интересно, что даже в случае, когда число скрытый нейронов совпадает с числом локальных максимумов, аппроксимация всё равно получилась неточной из-за неудачной инициализации центров RB-функций. Часть центров оказалось на периферии моделируемой области, где прогнозируемая функция принимает малые значения. Веса при таких RB-функциях оказались отрицательными.

Это наглядный пример того, насколько для моделей с малым числом параметров важна грамотная инициализация.

RBF-сеть с 50 центрами будет уже значительно лучше аппроксимировать моделируемую функцию, поскольку при 50 центрах хотя бы один из них будет оказываться недалеко от локального максимума моделируемой функции:

При дальнейшем наращивании количества RB-функций в скрытом слое точность аппроксимации будет возрастать. В частности, сеть получит возможность моделировать несферическую форму локальных максимумов функции.

Если обучающая выборка достаточно велика, то для повышения точности лучше выбирать более гибкую перепараметризованную модель.

Варианты использования

В стандартной RBF-сети (особенно с Гауссовым ядром) функции близости быстро затухают до нуля при удалении от центров. Если объект x\mathbf{x} попадает в область признакового пространства, далекую от всех обучающих центров, то все активации станут близки к нулю, и сеть выдаст почти нулевой прогноз.

Поэтому вместо независимых функций близости в активациях часто используются их нормализованные варианты:

Sn(xci)=S(xci)j=1KS(xcj),i=1,2,...KS_n(||\mathbf{x}-\mathbf{c}_i||) = \frac{S(||\mathbf{x}-\mathbf{c}_i||)}{\sum_{j=1}^K S(||\mathbf{x}-\mathbf{c}_j||)},\quad i=1,2,...K

В этом случае RBF-сеть будет всегда выдавать невырожденный прогноз, зависящий от того, к каким центрам объект x\mathbf{x} оказался ближе всего (даже если он будет далеко отстоять от каждого).

Вместо Евклидового расстояния в (1) можно использовать и другие, например, изученные ранее. В работах [5], [6] расстояние Махаланобиса показало себя лучше Евклидового. Также в сами функции расстояния можно вводить настраиваемые параметры - такой подход называется metric learning.

Совмещение подходов

Классическая модель нейрона с нелинейностью даёт аппроксимацию данных, изменяющуюся в зависимости от расстояния от объекта x\mathbf{x} до гиперплоскости w0+wTxw_0+\mathbf{w}^T\mathbf{x}.

Нейрон, основанный на RB-функции, даёт локальную аппроксимацию данных вокруг соответствующего центра ci\mathbf{c}_i, зависящую от расстояния до него.

Если в целевой зависимости помимо плавных нелинейных зависимстей присутствуют локальные особенности, целесообразно их моделировать нейросетями, включающими как классические нейроны, так и активации на основе RF-функций. Это повышает выразительную способность нейросети, но может приводить к переобучению при отсутствии ярко выраженных локальных особенностей в данных.

Дополнительно о применениях радиально-базисных функций можно прочитать в [7].

Литература

  1. Wikipedia: Radial basis function network.
  2. Lowe D., Broomhead D. Multivariable functional interpolation and adaptive networks //Complex systems. – 1988. – Т. 2. – №. 3. – С. 321-355.
  3. Wikipedia: Radial basis function.
  4. Wikipedia: k-means clustering.
  5. Beheim L. et al. New RBF neural network classifier with optimized hidden neurons number //WSEAS Trans. Syst. – 2004. – Т. 2. – С. 467-472.
  6. Ibrikci T. et al. Mahalanobis distance with radial basis function network on protein secondary structures //Proceedings of the Second Joint 24th Annual Conference and the Annual Fall Meeting of the Biomedical Engineering Society. – IEEE, 2002. – Т. 3. – С. 2184-2185.
  7. Scholarpedia: Radial basis function.