Моделирование свойств химических соединений с использованием искусственных нейронных сетей и фрагментных дескрипторов (1097754), страница 6
Текст из файла (страница 6)
Сама матрица при этом не хранится, а ее действие аппроксимируется скалярными произведениями специально подобранных векторов. Наиболее удачным методом из этой группы является метод БройденаФлетчера-Гольдфарба-Шанно (BFGS) [52], согласно которому:st +1 = − g t +1 +( g t +1 − g t )T g t +1st ,( g t +1 − g t ) T st(30)где: st – направление, вдоль которого проводится одномерная оптимизация на tой итерации; gt+1 – вектор градиента на t+1-ой итерации.Для квазиньютоновских методов наилучшим алгоритмом поиска вдольвыбранного направления является, по-видимому, метод перебора с возвратами[49, 52].
На первой итерации этот алгоритм использует значения функционалаошибки и его производных, чтобы построить его квадратичную аппроксимацию вдоль направления поиска. Минимум этой аппроксимирующей функциивыбирается в качестве приближения к оптимальной точке, в которой оценивается функционал ошибки.
Если значение функционала недостаточно мало, то31строится кубическая интерполяция, и ее минимум выбирается в качестве новойоптимальной точки. Этот процесс продолжается до тех пор, пока не будет достигнуто существенное уменьшение функционала ошибки.1.2.4.8. Метод Левенберга-МарквардтаМетод Левенберга-Марквардта (LM) (Levenberg-Marquardt) [53] реализует специальный способ аппроксимации матрицы Гессе для случая, когда функционал ошибки определяется как сумма квадратов ошибок, что как раз и имеетместо при обучении нейросетей обратного распространения. В рамках данногометода матрица Гессе H аппроксимируется какH ≅ JTJ ,(31)а вектор градиента g может быть рассчитан по формулеg = JTe ,(32)где: J – матрица Якоби производных функционалов ошибки отдельно для каждого выходного нейрона (т.е.
для каждого свойства) и для каждого объекта (т.е.химического соединения) в обучающей выборке по настраиваемым параметрам(т.е. весам нейросети); e – вектор ошибок нейросети. Матрицу Якоби можно записать в следующем виде:⎛ ∂e11⎜⎜ ∂wi (1) j (1)⎜M⎜ ∂eK 1⎜⎜ ∂wi (1) j (1)J =⎜Me∂⎜1P⎜ ∂w⎜ i (1) j (1)M⎜e∂KP⎜⎜ ∂w⎝ i (1) j (1)LLLLLLL∂e11⎞⎟∂wi ( M ) j ( M ) ⎟⎟M∂eK 1 ⎟⎟∂wi ( M ) j ( M ) ⎟M⎟∂e1P ⎟∂wi ( M ) j ( M ) ⎟⎟M⎟∂eKP ⎟∂wi ( M ) j ( M ) ⎟⎠(33)где: функция i(m) показывает номер нейрона, из которого исходит связь m; j(m)-номер нейрона, в который входит связь m; M – число связей (т.е.
число настраиваемых параметров) в нейросети; ekp – ошибка прогноза для k-го выходного нейрона и p-го объекта из обучающей выборки; K – число выходных нейронов (равное числу одновременно прогнозируемых свойств); P – число объектов32(химических соединений) в обучающей выборке. Отсюда видно, что элементыматрицы Якоби легко могут быть вычислены на основе метода обратного распространения ошибки по приведенной выше формуле (33), что существеннопроще вычисления матрицы Гессе.Метод Левенберга-Марквардта реализует итерационную схему настройкивесов нейросети по формуле:wijk +1 = wijk − ( J T J + μI ) −1 J T e k(34)где, как и прежде, wijk - вес связи (на k-ой итерации) исходящей из нейрона i ивходящей в нейрон j; J – матрица Якоби; I – единичная матрица (т.е. содержащая единицы на диагонали и нули вне ее); ek – вектор ошибок нейросети на k-ойитерации; µ - динамически изменяемый по ходу обучения нейросети коэффициент, называемый фактором демпинга.
Когда µ приближается к 0, то методЛевенберга-Марквардта переходит в метод Ньютона с приближением матрицыГессе в форме (31), когда же значение µ велико, то получается метод градиентного спуска с маленьким шагом. Поскольку метод Ньютона имеет большуюточность и скорость сходимости вблизи локального минимума по сравнению сметодом градиентного спуска, то задача состоит в том, чтобы в процессе минимизации как можно быстрее перейти к методу Ньютона.
С этой целью параметрµ уменьшают после каждой успешной итерации (т.е. приводящей к уменьшению функционала ошибки) и увеличивают лишь тогда, когда пробный шаг показывает, что функционал ошибки возрастает.Метод Левенберга-Марквардта в настоящее время является одним из самых эффективных методов (по крайней мере, в смысле скорости) обучениянейронных сетей обратного распространения, в связи с чем он приобрел большую популярность в области QSAR/QSPR-исследований [54].
Тем не менее, унего есть существенный недостаток: необходимо, чтобы число объектов (химических соединений) в обучающей выборке превышало число настраиваемыхпараметров (т.е. межнейронных связей) нейросети. В связи с этим, вQSAR/QSPR-исследованиях его можно применять только при относительно не-33большом числе дескрипторов, относительно большом объеме обучающей выборки и при относительно небольшом числе скрытых нейронов.1.2.5. Другие архитектуры нейронных сетей1.2.5.1.
Самоорганизующиеся карты Кохонена и другие конкурирующие нейросетиНейросети Кохонена (Kohonen) [14, 20, 55] (см. Рис. 6), широко используемые для кластерного анализа, позволяют получить такое отображение исходных данных, при котором близкие вектора входных значений отображаютсяв топологически близкие выходные нейроны.Рис. 6.
Самоорганизующаяся карта КохоненаНейросеть Кохонена состоит из двух слоев – входного и конкурирующеговыходного. В каждый нейрон конкурирующего выходного слоя поступают сигналы сразу со всех нейронов входного слоя. Одной из особенностей конкурирующего выходного слоя нейросетей Кохонена является то, что нейроны в неморганизованы в виде 2-мерной решетки (решетки другой размерности для нейросетей Кохонена тоже возможны, но на практике используются редко). Чтобыизбежать краевых эффектов и сделать все выходные нейроны равноправными,34на границах решетки часто вводятся периодические условия, что эквивалентноее свертыванию в тор. Таким образом, выходной конкурирующий слой нейросетей Кохонена можно представить в виде 2-мерной решетки, натянутой на поверхность тора.
Эта решетка может быть как тетрагональной (наиболее частоиспользуемый вариант), так и гексагональной (классический вариант). Подобная организация выходного слоя имеет два последствия. Во-первых, вводитсямера близости между нейронами в этом слое, называемая топологическим расстоянием, равная минимальному числу шагов, с помощью которых, двигаясь отодного узла решетки к ближайшему другому, можно перейти от одного из этихнейронов к другому. Во-вторых, вводится определенная «двухмерность» намножестве нейронов конкурирующего выходного слоя, что дает возможностьотобразить их на плоскость, т.е. создать топологическую карту нейронов.Еще одной особенностью нейронов конкурирующего выходного слоя является то, что они обладают весьма специфической функцией активации: только у одного нейрона, имеющего максимальный сетевой вход, уровень выходного сигнала равен единице (т.е.
он активируется), тогда как у других нейроновэтого слоя он равен нулю. Таким образом, между нейронами происходит своеобразная конкуренция за право формирования единичного выходного сигнала,и лишь нейрон с наивысшим сетевым входом становится победителем. К егоактивации приводят лишь те вектора входных значений, которые ближе (болеесходны) к вектору весов входящих связей данного нейрона по сравнению с аналогичными векторами других нейронов данного слоя. Это следует из того, чтосетевой вход нейрона рассчитывается как скалярное произведение векторавходных значений (вектора дескрипторов в QSAR/QSPR-анализе) и векторавходящих в него весов (см. формулу 001), а скалярное произведение нормализованных векторов рассматривается как мера их близости. Для того, чтобыблизкие вектора входных значений приводили к активации топологическиблизких выходных нейронов, нейросеть Кохонена необходимо этому обучить.Алгоритм обучения нейросетей Кохонена можно представить как итерационную 4-шаговую процедуру:351.
Инициализировать все веса wji случайными числами. Нормировать все веса wji и входные сигналы xj.2. Для очередного входного вектора в конкурирующем выходном слое найти нейрон-победитель i* с наименьшим до него расстоянием di :di =M∑ (xj =1− w ji ) 2 .j(35)Заметим, что в случае нормированных wji и xj минимизация di эквивалентна максимизации сетевого входа ai:Mai = ∑ x j w ji(36)j =13. Для всех нейронов выходного конкурирующего слоя адаптировать весасвязей, идущих к ним:w (jit +1) = w(jit ) + α (t ) ⋅ γ ( t ) ⋅ ( x j − w ji ) ,(37)где: α(t) – параметр скорости обучения (в интервале от 0 до 1), которыйуменьшают по ходу обучения; γ(t) – функция соседства, которая кодируетпонижение влияния нейрона при увеличении топологического расстояниядо него:γ (t ) = exp(−ri*i(σ (t ) ) 2),(38)где: ri*i – топологическое расстояние между нейроном-победителем i* итекущим нейроном i; σ(t) – радиус соседства, значение которого такжеуменьшают по мере обучения нейросети.4.
Пункты 1-3 повторять до тех пор, пока все вектора из обучающей выборки не будут предъявлены нейросети определенное число раз.Таким образом, при обучении нейросети Кохонена происходит самоорганизация конкурирующего выходного слоя нейронов, в результате которой близкие входные вектора оказываются отображенными из исходного многомерногопространства в расположенную на плоскости (либо на поверхности тора) решетку нейронов таким образом, чтобы близким входным векторам соответствовали топологически близкие выходные нейроны.
У обученной нейросети Кохонена веса связей, входящих в нейроны, практически совпадают с усреднен36ными значениями соответствующих компонент входных векторов, приводящихк активации этих нейронов.Перед началом обучения нейросети Кохонена веса связей инициализируются случайными числами, после чего они, а также входные вектора данных, нормируются. После подобной нормировки вектора весов связей и данных могутбыть представлены векторами, идущими из центра координат на поверхностьгиперсферы единичного радиуса, а процесс обучения нейросети может бытьпредставлен как итерационный процесс вращения векторов весов связей по направлению к ближайшим векторам данных.Следует отметить, что нейросети Кохонена не являются чисто математической конструкцией – они имеют очень солидный нейрофизиологический фундамент.