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



Download 30,75 Mb.
Pdf ko'rish
bet329/457
Sana27.03.2022
Hajmi30,75 Mb.
#513488
1   ...   325   326   327   328   329   330   331   332   ...   457
Bog'liq
Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021

Эпох 
обучения
Потери на 
проверочном 
наборе
T = 0
T = 0.25
T = 0.5
T = 0.75
5
2,44
"rle the the 
the the the 
the the the 
the the the 
the the the 
the the the 
the the the 
the the the 
the the the 
the the the "
"te ans and 
and and and 
and warl 
torle an at 
an yawl and 
tand and an 
an ind an an 
in thall ang 
ind an tord 
and and and 
wa"
"te toll 
nlatese ant 
ann, tomdenl, 
teurteeinlndti
ng fall ald 
antetetell 
linde ing 
thathere taod 
winld mlinl 
theens tord y"
"p, af ane me 
pfleh; fove 
this?
Iretltard 
efidestind 
ants anl 
het insethou 
loellr ard,
25
1,96
"ve tray the 
stanter an 
truent to the 
stanter to the 
stanter to the 
stanter to the 
stanter to the 
stanter to the 
stanter "
"ve to the 
enter an 
truint to 
the surt 
an truin to 
me truent 
me the will 
tray mane 
but a bean 
to the 
stanter an 
trust tra"
"ve of marter 
at it not me 
shank to an 
him truece 
preater the 
beaty atweath 
and that 
marient shall 
me the manst 
on hath s"
"rd; not an an 
beilloters
An bentest 
the like have 
bencest on it 
love gray to 
dreath avalace 
the lien I am 
sach me, m"

Отрывок из пьесы «Кориолан» Шекспира, акт пятый, сцена вторая. Обратите внимание, 
что пример текста включает разрывы строк и обрывается посередине слова (love).
Продолжение 



392
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Эпох 
обучения
Потери на 
проверочном 
наборе
T = 0
T = 0.25
T = 0.5
T = 0.75
50
1,67
"rds the world 
the world the 
world
the world 
the world the 
world the
world the 
world
the world 
the world the 
worl"
"ngs they 
are their 
shall the 
englents
the 
world the 
world the 
stand the 
provicess 
their string 
shall the 
world
I"
"nger of the 
hath the 
forgest as you
for sear 
the device of 
thee shall, 
them at a hame,
The now the 
would have bo"
"ngs, he coll,
As heirs 
to me which 
upon to my 
light fronest 
prowirness 
foir.
I be chall 
do vall twell.
SIR C"
100
1,61
"nd the sough 
the sought
That the 
more the man 
the forth and 
the strange as 
the sought
That the 
more the man 
the "
"nd the 
sough as the 
sought
In the 
consude the 
more of the 
princes and 
show her art 
the compont "
"rds as the 
manner.
To the 
charit and the 
stranger and 
house a tarron.
A tommern 
the bear you 
art this a 
contents, "
"nd their 
conswents
That thou 
be three as me 
a thout thou 
do end,
The 
longers and an 
heart and not 
strange.
A G"
120
1,49
"ve the strike 
the strike
the strike 
the strike the 
strikes the 
strike
And the 
strike the 
strike the 
strike
A"
"ve the fair 
brother,
And this 
in the strike 
my sort the 
strike,
The 
strike the 
sound in the 
dear strike
And "
"ve the 
stratter for 
soul.
Monty to 
digning him 
your poising.
This for 
his brother be 
this did fool.
A mock'd"
"ve of his 
trusdum him.
poins 
thinks him 
where sudy's 
such then you;
And soul 
they will I 
would from in 
my than s"
В табл. 10.1 показаны примеры текстов при четырех различных 
значениях темпе-
ратуры
— параметра, определяющего степень случайности сгенерированного текста. 
Возможно, вы заметили в примерах сгенерированного текста, что при низких значе­
ниях температуры текст выглядит более однообразным и менее естественным, в то 
время как б
ó
льшим значениям соответствует менее предсказуемый текст. По умол­
чанию максимальное значение температуры, демонстрируемое Node.js­сценарием 
обучения, равно 0,75, в результате чего иногда получаются последовательности 
символов, напоминающие английские слова, но на самом деле ими не являющиеся 
(например, 
stratter
и 
poins
в приведенных в таблице примерах). Далее вы узнаете, 
как температура работает и почему так называется.
Таблица 10.1
(продолжение)


Глава 10. Генеративное глубокое обучение
393
10.1.3. Температура: настройка степени стохастичности 
генерируемого текста
Определять выбираемый символ на каждом шаге процесса генерации текста на 
основе выдаваемых моделью вероятностей будет функция 
sample()
(листинг 10.2). 
Как видите, алгоритм довольно сложен и включает вызовы трех низкоуровневых 
операций TensorFlow.js: 
tf.div()

tf.log()
и 
tf.multinomial()
. Почему мы исполь­
зуем этот сложный алгоритм, вместо того чтобы просто брать вариант с наибольшей 
оценкой вероятности, для чего хватило бы одного вызова 
argMax()
?
Дело в том, что в данном случае выходной сигнал процесса генерации текста 
оказался бы 
детерминированным
(deterministic). Иначе говоря, при многократных 
запусках результат всякий раз оказывался бы тем же самым. Все встречавшиеся нам 
до сих пор глубокие нейронные сети были детерминированными в том смысле, что 
для заданного входного тензора выходной тензор полностью определяется топо­
логией сети и значениями весовых коэффициентов. При желании можно написать 
модульный тест для контроля выходного значения (см. обсуждение тестирования 
алгоритмов машинного обучения в главе 12). Подобный детерминизм для нашей 
задачи генерации текста 
не
лучший вариант. В конце концов, написание текста — 
творческий процесс. Небольшая степень случайности сгенерированного текста 
при одном и том же начальном варианте делает его интереснее. Именно для этого 
и служат операция 
tf.multinomial()
и параметр температуры. 
tf.multinomial()
— 
источник стохастичности, степень которой определяет температура.
Листинг 10.2.
Стохастическая функция выборки, с параметром температуры
Важнейшей частью функции 
sample()
в листинге 10.2 является строка:
const logPreds = tf.div(tf.log(probs),
Math.max(temperature, 1e-6));
Она преобразует 
probs
(вероятности на выходе модели) в 
logPreds
— логарифмы 
вероятностей, умноженные на определенный коэффициент. Что делают операции 
взятия логарифма (
tf.log()
) и масштабирования (
tf.div()
)? Поясним на примере. 


394
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Ради простоты допустим, что существует лишь три варианта выбора (три символа 
в наборе символов). Пусть наш алгоритм предсказания очередного символа для за­
данной входной последовательности выдал такие три оценки вероятностей:
[0.1, 0.7, 0.2]
Взглянем, как два различных значения температуры влияют на эти вероятности. 
Для начала возьмем относительно низкое значение: 0,25. Логиты с учетом масшта­
бирования:
log([0.1, 0.7, 0.2]) / 0.25 = [-9.2103, -1.4267, -6.4378]
Чтобы понять, что эти логиты значат, преобразуем их обратно в оценки вероят­
ностей с помощью уравнения для многомерной логистической функции, для чего 
вычислим экспоненту логитов и нормализуем их:
exp([-9.2103, -1.4267, -6.4378]) / sum(exp([-9.2103, -1.4267, -6.4378]))
= [0.0004, 0.9930, 0.0066]
Как видите, логиты для температуры 0,25 соответствуют сильно локализованно­
му распределению вероятности, в котором вероятность второго варианта намного 
выше, чем у остальных двух (см. второй блок на рис. 10.3).
А что, если взять температуру повыше, скажем 0,75? Повторяя те же вычисления, 
получаем:
log([0.1, 0.7, 0.2]) / 0.75 = [-3.0701, -0.4756, -2.1459]
exp([-3.0701, -0.4756, -2.1459]) / sum([-3.0701, -0.4756, -2.1459])
= [0.0591, 0.7919 0.1490]
Получается распределение не с таким резким максимумом, по сравнению с пре­
дыдущим, при температуре 0,25 (см. четвертый блок на рис. 10.3). Но у него все рав­
но более выраженный пик, чем у исходного распределения. Как вы могли догадаться, 
при температуре 1 получатся в точности исходные вероятности (см. рис. 10.3, пятый 
блок). Температура выше 1 даст более «выровненное» по вариантам распределение 
вероятности (см. рис. 10.3, шестой блок), хотя расстановка вариантов по местам 
всегда будет одинаковой.
Эти преобразованные вероятности (точнее, их логарифмы) затем передаются 
в функцию 
tf.multinomial()
, выполняющую роль многогранной игральной кости 
с не равновероятными гранями, что определяется входным аргументом. В результате 
мы и получаем следующий символ.
Именно так параметр температуры и определяет степень стохастичности гене­
рируемого текста. Термином 
температура
мы обязаны термодинамике, из которой 
знаем, что чем выше температура системы, тем выше степень хаоса в ней. Такая 
аналогия здесь вполне уместна, ведь при повышении значения температуры в коде 
получается текст более хаотичного вида. Существует золотая середина значения 
температуры, ниже которой сгенерированный текст более однообразный и менее 
естественный, а выше — слишком непредсказуемый и причудливый.
На этом мы завершаем экскурс в LSTM, предназначенные для генерации текста. 
Обратите внимание: эта методика универсальна и применима ко многим другим 
типам последовательностей, с соответствующими изменениями. Например, обучив 


Download 30,75 Mb.

Do'stlaringiz bilan baham:
1   ...   325   326   327   328   329   330   331   332   ...   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