Моделирование свойств химических соединений с использованием искусственных нейронных сетей и фрагментных дескрипторов (1097754), страница 4
Текст из файла (страница 4)
С точки зрения способа передачи информации, сигнал реальныхбиологических нейронов модулирован не по амплитуде, а по частоте, и, к томуже, является стохастическим, что вполне согласуется с уравнениями (1) и (3)при условии, что уровень сигнала (активации) oi показывает, с какой вероятностью нейрон i переходит в возбужденное состояние.Алгоритм обратного распространения ошибки (см.
ниже) сыграл настолько важную роль в истории становления многослойных персептронов, что саминейросети этого типа часто стали называть нейросетями с обратным распространением (backpropagation neural networks).К основным достоинствам таких нейросетей можно отнести их способность находить нелинейные и многопараметрические линейные зависимости,характеризующиеся высокой точностью интерполяции, даже в тех случаях, ко19гда экспериментальные данные сильно зашумлены. Для многослойных персептронов характерна послойная передача сигнала, от входа нейросети к ее выходу.
В то же время при обучении нейросетей этого типа настройка весовых коэффициентов связей проводится последовательно, начиная со связей выходногослоя, поэтому методы обучения таких нейросетей носят название методов обратного распространения ошибки [41, 42].1.2.4.2. Функционал ошибки нейросетиСуть обучения нейросети заключается в минимизации функционалаошибки для выборки E(w) в пространстве ее настроечных параметров, каковыми являются веса связей (пороги нейрона здесь тоже рассматриваются как весасвязей, ведущих от псевдонейронов смещения с постоянным значением выхода,равным единице, к этому нейрону):PE ( w) = ∑ v p E p ( w) ,(4)p =1где: νp – вес p-ого объекта (например, химического соединения) из обучающейвыборки; P – количество объектов в обучающей выборке; E p (w) - индивидуальный функционал ошибки для p-ого объекта из обучающей выборки, который обычно (но не всегда!) представляют как взвешенную сумму значенийфункции потерь l(·,·) для каждого из выходных нейронов (т.е.
для каждого изодновременно прогнозируемых свойств в случае QSAR/QSPR-анализа):KE p ( w) = ∑ vk l (d kp , okp ) ,(5)k =1где: νk – вес k-ого выходного нейрона; K – количество выходных нейронов(равное числу одновременно прогнозируемых свойств химических соединенийв случае QSAR/QSPR-анализа). В большинстве случаев (но не всегда!) используется квадратичная функция потерь, что превращает нейронную сеть в вариантметода наименьших квадратов:1l ( d , o) = ( d 2 − o 2 ) .2(6)20Значения весов объектов νp, отличные от единицы, берутся, главным образом, тогда, когда нейросеть обучается классифицировать объекты для придания большего веса тем из них, которые принадлежат к классам с меньшим числом представителей. В остальных же случаях (т.е. практически всегда) весаобъектов считаются одинаковыми и равны единице.
Аналогично, значения весов выходных нейронов νk, отличные от единицы, берутся лишь в редких случаях многозадачного обучения, в остальных же случаях они принимаются равными единице. С учетом вышесказанного, индивидуальный функционал ошибки для p-ого объекта из обучающей выборки обычно имеет вид:E p ( w) =1 K(d kp − okp[ N ] ) 2∑2 k =1(7)где: d kp - желаемый выход для k-ого выходного нейрона p-ого объекта (экспериментальное значение k-ого свойства для p-ого соединения) из обучающейвыборки; okp[ N ] - вычисленный выход для k-ого выходного нейрона p-ого объекта (спрогнозированное значение k-ого свойства для p-ого соединения) из обучающей выборки; N – номер выходного слоя; K – число выходов нейросети,равное числу одновременно прогнозируемых свойств химических соединений вслучае QSAR/QSPR-анализа. Функционал ошибки для всей выборки в этомслучае имеет вид:E ( w) =1 P K(d kp − okp[ N ] ) 2 .∑∑2 p =1 k =1(8)1.2.4.3.
Вычисление производных функционала ошибки по методу обратногораспространенияДля эффективной минимизации функционала необходимо уметь быстровычислять его градиент, т.е. вектор первых производных по отношению ко всемнастраиваемым параметрам. В случае индивидуального функционала ошибкидля p-ого соединения из обучающей выборки элементы искомого вектора градиента можно выразить в следующем виде:21∂E p ( w) ∂E p ( w) ∂aip[ n ] ∂E p ( w) p[ n ] ∂E p ( w) p[ n−1]oj≡ −δ i p[ n ]o jp[ n−1]xj =⋅ [n] ==p[ n ][ n]p[ n ]p[ n ]∂ai∂ai∂w ji∂ai∂w ji(9)где: величина − δ i p[n ] , называемая иногда невязкой нейрона, обозначает частнуюпроизводную функционала ошибки для p-ого объекта из обучающей выборкипо отношению к сетевому входу нейрона i, находящегося в слое n (знак минусавзят для совместимости с принятыми в литературе обозначениями); o jp[ n−1] - выходной сигнал находящегося в слое n-1 нейрона j для p-ого объекта из обучающей выборки.
Таким образом, частная производная функционала ошибки нейросети по отношению к весу связи равна произведению выхода находящегося впредыдущем слое нейрона, из которого выходит данная связь, на невязку нейрона следующего слоя, в который входит данная связь.Из вышеизложенного следует, что для вычисления градиента ошибки необходимо рассчитать значения выходов и невязок всех нейронов. Посколькунейросеть обратного распространения (многослойный персептрон) устроен таким образом, что каждый нейрон (кроме входных псевдонейронов и псевдонейронов смещения) получает сигнал из нейронов предыдущего слоя, то вычисление выходов нейронов производится по формулам (1) и (3) последовательно при движении от входного к выходному слою. Подобную последовательность вычислений называют прямым распространением сигнала.
В противоположность этому, расчет невязок нейронов производится в обратном направлении при движении от выходного слоя к входному (обратное распространение ошибки).Действительно, для нейронов выходного слоя, дифференцируя выражение (7), имеем:δ i p[ N ] = −∂oip[ N ] p∂E p ( w)∂ 1 Kpp[ N ] 2=−(−)=(d i − oip[ N ] ) ≡ f ' (aip[ N ] )(d ip − oip[ N ] ) ,(10)do∑kkp[ N ]p[ N ]p[ N ]∂ai∂ai∂ai2 k =1Для остальных нейронов, применяя цепное правило дифференцированияк формуле (1) и опуская некоторые тривиальные промежуточные преобразования, получаем:δip[ n ]p[ n +1]∂x jp[ n+1]∂E p ( w)∂E p ( w) ∂a j=−= −∑ p[ n+1] ⋅ p[ n+1] ⋅= f ' (aip[ n ] )∑ wij[ n+1]δ [j n+1]p[ n ]p[ n ]∂ai∂x j∂aij ∂a jj22(11)Таким образом, значения невязок нейронов каждого скрытого слоя рассчитываются исходя из значений невязок нейронов последующего слоя, чтоможно условно описать процессом распространения ошибки в направлении,обратном распространению сигнала.
Для сигмовидной передаточной функции(3) производная вычисляется по следующей формуле:d1e −af ' (a) =()== o(1 − o)da 1 + e −a(1 + e −a ) 2(12)Производные суммарного функционала ошибки для всей обучающей выборки могут быть получены суммированием производных индивидуальныхфункционалов ошибки:∂E ( w) P ∂E p ( w).=∑[ n]∂w[jin ]p =1 ∂w ji(13)Формулы (9-13) составляют суть метода обратного распространения, который можно рассматривать как очень эффективный алгоритм расчета градиента функционала ошибки нейросети в пространстве весов связей (посколькусуммарное время вычисления всех производных, число которых может бытьочень велико, не превышает времени расчета самого функционала).1.2.4.4. Градиентные методы обученияИсторически первым методом обучения сетей обратного распространенияявился метод Уидроу-Хоффа, называемый чаще дельта-правилом [43], которыйтрадиционно записывается в виде:Δw ji = w (jit +1) − w(jit ) = ηδ i o j ,(14)где: w(tji ) - текущий вес на t-ом шагу обучения связи, идущей от нейрона j к нейрону i; δ i - невязка i-ого нейрона, получаемая по методу обратного распространения (см.
выше); oj – выходное значение j-ого нейрона; η – параметр скоростиобучения. Типичное значение параметра скорости обучения – 0.25, но оно может меняться в широких приделах, особенно в сторону уменьшения на окончательных этапах обучения.23Все весовые коэффициенты связей перед началом обучения инициализируются небольшими случайными числами. Правильный выбор границ инициализации, обеспечивающий удаленные от нуля значения производной передаточной функции нейронов (в противном случае происходит т.н. «паралич» нейронов), может сократить время обучения нейросети и улучшить качество получаемых нейросетевых моделей [44, 45]. На каждой итерации обучения производится корректировка значений весов по формуле (14) после предъявления очередного примера из обучающей выборки.
Такой режим обучения называют последовательной адаптацией (online mode), в противоположность режиму группового обучения (batch mode), когда корректировка значений весов происходитпосле предъявления всей обучающей выборки. В классическом варианте обучение проводится до тех пор, пока не будет выполнено одно из возможных условий остановки обучения (например, когда значение функционала ошибки неопустится ниже заранее заданного порога, либо когда число итераций не превысит определенный лимит).Хотя исторически дельта-правило возникло как обобщение алгоритма обучения персептрона Розенблатта на непрерывные входы и выходы и первоначально никак не было связано с представлениями о функционале ошибки нейросети, тем не менее оно оказалось математически эквивалентным применениюметода скорейшего спуска к минимизации функционала ошибки нейросети впространстве весов связей.