JavaScript для глубокого обучения 2021 TensorFlow js Ббк



Download 30,75 Mb.
Pdf ko'rish
bet99/457
Sana27.03.2022
Hajmi30,75 Mb.
#513488
1   ...   95   96   97   98   99   100   101   102   ...   457
Bog'liq
Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021


Глава 3. Вводим нелинейность: теперь не только взвешенные суммы
111
функции — кривая (см. рис. 3.2, 
левый блок
), а график ReLU склеен из двух прямых 
сегментов (см. рис. 3.2, 
правый блок
). И хотя сигма­функция и ReLU нелинейные, 
в числе их свойств — гладкость и дифференцируемость во всех точках, что позволяет 
производить с их помощью обратное распространение ошибки
1
. Без этих свойств 
невозможно было бы обучать модели, включающие слои с подобной функцией 
активации.
Рис. 3.1.
Модель линейной регрессии (блок A) и двухслойная нейронная сеть (блок Б) 
для набора данных Boston-housing. Ради большей наглядности мы снизили число входных 
признаков с 12 до 3, а число нейронов скрытого слоя — с 50 до 5 в блоке Б. У каждой модели 
только один выходной нейрон, поскольку они служат для решения задачи простой (univariate) 
регрессии (в роли целевой переменной выступает одно число). Блок Б иллюстрирует 
нелинейную активацию скрытого слоя модели
Рис. 3.2.
Две функции активации, часто применяемые для глубоких нейронных сетей. 
Слева: сигма-функция S(x) = 1 / (1 + e ^ –x).
Справа: функция-выпрямитель (ReLU) relu(x) = {0:x < 0, x:x >= 0}

См. подраздел 2.2.2, чтобы освежить знания о методе обратного распространения ошибки.


112
Часть II • Введение в TensorFlow.js
Помимо сигма­функции, в глубоком обучении нередко используется еще не­
сколько видов дифференцируемых нелинейных функций. В их числе ReLU и ги­
перболический тангенс (th). Мы опишем их подробнее, когда встретим в следующих 
примерах.
Нелинейность и разрешающие возможности модели
Почему нелинейность повышает точность модели? Благодаря нелинейным функ­
циям можно выражать более разнообразные отношения входного и выходного 
сигналов. Многие из таких отношений на практике оказываются практически 
линейными, как в нашем примере со временем скачивания из предыдущей главы. 
Но многие прочие отношения — нет. Привести примеры нелинейных отношений не­
сложно. Рассмотрим отношение между ростом и возрастом человека. Рост меняется 
с возрастом практически линейно лишь до определенного момента, после которого 
график изгибается и перестает расти. Или другой вполне возможный сценарий: цены 
на дома линейно обратно зависят от уровня преступности в микрорайоне, только 
если уровень преступности находится в определенных пределах. Чисто линейная 
модель наподобие той, которую мы создали в предыдущей главе, не может точно 
смоделировать такие отношения, для этой цели гораздо лучше подойдет нелинейная 
сигма­функция. Конечно, отношение уровня преступности к ценам на дома скорее 
напоминает перевернутую (убывающую) сигма­функцию, а не исходную, показан­
ную в левом блоке рис. 3.2. Но для нашей нейронной сети не составит никаких труд­
ностей смоделировать это соотношение, поскольку перед сигма­функцией активации 
и после нее есть линейные функции с подстраиваемыми весами.
Но не утратит ли наша модель способность усваивать линейные отношения из 
данных при замене линейной функции активации на нелинейную, наподобие сиг­
ма­функции? К счастью, ответ — нет. Дело в том, что часть графика сигма­функции 
(около центра) достаточно близка к прямой линии. Графики других часто исполь­
зуемых нелинейных функций активации, например th и ReLU, также включают 
линейные или близкие к линейным фрагменты. Если связи между определенными 
элементами входного и выходного сигналов приближенно линейны, плотный слой 
с нелинейной функцией активации вполне может усвоить веса и смещения, под­
ходящие для использования почти линейных фрагментов функции активации. 
Поэтому включение в плотный слой нелинейной функции активации дает чистый 
выигрыш в смысле диапазона доступных ему для усвоения связей входного и вы­
ходного сигналов.
Более того, нелинейные функции можно соединять последовательно и получать, 
в отличие от линейных, новые нелинейные функции с большими возможностями. 
«Последовательно»
здесь означает подачу выходного сигнала одной функции на 
вход следующей. Пусть дано две линейные функции:
f(x) = k1 * x + b1
и
g(x) = k2 * x + b2


Download 30,75 Mb.

Do'stlaringiz bilan baham:
1   ...   95   96   97   98   99   100   101   102   ...   457




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish