Глава 3. Вводим нелинейность: теперь не только взвешенные суммы
113
Их последовательное соединение (суперпозиция) равносильно описанию новой
функции:
h(x) = g(f(x)) = k2 * (k1 * x + b1) + b2 = (k2 * k1) * x + (k2 * b1 + b2)
Как вы можете видеть, функция
h
осталась линейной, просто с другим ядром
(угловым коэффициентом) и другим смещением (точкой пересечения с осью коор
динат), чем у функций
f
и
g
. Угловой коэффициент теперь равен
k2
*
k1
, а смещение
равно
k2
*
b1
+
b2
. В результате суперпозиции любого числа линейных функций все
равно получается линейная функция.
Взглянем теперь на часто используемую нелинейную функцию активации: ReLU.
Внизу рис. 3.3 показано, что произойдет в результате суперпозиции двух нормиро
ванных функций ReLU. При суперпозиции двух нормированных функций ReLU
получается функция, совершенно непохожая на ReLU. Форма ее графика суще
ственно отличается от формы ReLU. Дальнейшая суперпозиция этой ступенчатой
функции с другими функциями ReLU приведет к еще более разнообразному мно
жеству функций, например к оконной функции, функции, состоящей из несколь
ких окон, функций с окнами наверху более широких окон и т. д. (все это на рис. 3.3
не показано). Путем суперпозиции нелинейных функций наподобие ReLU (одной
из чаще всего используемых функций активации) можно создать функции с пора
зительно широким диапазоном форм. Но при чем здесь нейронные сети? По сути,
нейронные сети представляют собой суперпозицию функций. Каждый из слоев
нейронной сети можно рассматривать как функцию, а набор слоев — как создание
(путем суперпозиции этих функций) более сложной функции — собственно, самой
нейронной сети. Из этого должно быть ясно, почему включение в нейронную сеть
нелинейных функций активации расширяет диапазон доступных для усвоения мо
делью отношений входного и выходного сигналов. Становится также интуитивно
понятно, зачем нужен часто используемый прием с добавлением дополнительных
слоев в нейронную сеть и почему в результате его нередко (но не всегда!) получа
ются модели, лучше подгоняемые к набору данных.
Диапазон доступных для усвоения моделью машинного обучения отношений
входного и выходного сигналов часто называют
разрешающими возможностями
(capacity) модели. Из предыдущего разговора о нелинейности понятно, что разре
шающие возможности нейронной сети со скрытыми слоями и нелинейными функ
циями активации больше, чем у линейного регрессора. Именно поэтому точность
нашей двухслойной модели на контрольном наборе данных выше, чем у модели
линейной регрессии.
Наверное, вам интересно, можно ли улучшить модель для задачи предсказания
цен на бостонскую недвижимость, просто добавив в нейронную сеть больше скрытых
слоев, раз уж суперпозиция нелинейных функций активации ведет к повышению
разрешающих возможностей (как, например, в нижней части рис. 3.3). Именно это
мы и делаем в функции
multiLayerPerceptronRegressionModel2Hidden()
из файла
index.js
. Эта функция закреплена за кнопкой
Train Neural Network Regressor (2 Hidden
Layers)
(Обучить нейросетевой регрессор (2 скрытых слоя)). См. листинг 3.2 с фраг
ментом кода (из файла
index.js
примера Bostonhousing).
Do'stlaringiz bilan baham: |