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



Download 30,75 Mb.
Pdf ko'rish
bet369/457
Sana27.03.2022
Hajmi30,75 Mb.
#513488
1   ...   365   366   367   368   369   370   371   372   ...   457
Bog'liq
Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021


Глава 11. Основы глубокого обучения с подкреплением
449
Основное отличие, по сравнению с постановкой задачи «тележка — шест» 
(см. табл. 11.1), состоит в структуре вознаграждения. В задаче змейки агент получает 
положительные вознаграждения (+10 за каждый съеденный фрукт) лишь изред­
ка — то есть лишь после определенного количества отрицательных вознаграждений, 
вызванных перемещениями змейки, необходимыми для достижения фрукта. При дан­
ном размере доски два положительных вознаграждения могут отстоять друг от друга 
на 17 ходов, даже если змейка движется самым оптимальным образом. Небольшое 
отрицательное вознаграждение — мера, заставляющая змейку двигаться по самому 
короткому пути. Без этой меры змейка могла бы петлять самым замысловатым путем 
и все равно получить то же вознаграждение, что излишне затянуло бы игру и процесс 
обучения. Кроме того, вследствие именно подобной разреженной сложной структуры 
вознаграждений главным образом и не получится воспользоваться для решения этой 
задачи градиентным спуском по стратегиям и методом REINFORCE.
JavaScript-API змейки
Нашу реализацию игры «Змейка» вы можете найти в файле 
snake-dqn/snake_game.js

Мы опишем только API класса 
SnakeGame
и избавим вас от утомительных подроб­
ностей реализации, которые вы можете при желании изучить сами. Синтаксис 
конструктора класса 
SnakeGame
— следующий:
const game = new SnakeGame({height, width, numFruits, initLen});
Размеры доски по умолчанию, 
height
и 
width
, равны 9. 
numFruits
— количество 
присутствующих на доске в любой момент времени фруктов; по умолчанию — 1. 
initLen
— начальная длина змейки — по умолчанию равна 2.
Метод 
step()
объекта 
game
позволяет вызывающей стороне сделать ход в игре:
const {state, reward, done, fruitEaten} = game.step(action);
Аргумент метода 
step()
отражает выполняемое действие: 0 — двигаться прямо, 
1 — повернуть налево, 2 — повернуть направо. Возвращаемое методом 
step()
зна­
чение включает следующие поля.
z
z
state
— новое состояние доски, сразу же после действия, в виде простого объекта 
JavaScript с двумя полями:

s
— занимаемые змейкой клетки в виде массива координат 
[x,
y]
. Элементы 
массива упорядочены: первый элемент соответствует голове змейки, а по­
следний — хвосту;

f
— координаты 
[x,
y]
занимаемых фруктами клеток.
Отметим, что это представление состояния игры специально сделано как мож­
но более экономичным, поскольку алгоритму Q­обучения приходится хранить 
большое число (например, десятки тысяч) подобных объектов состояния, как мы 
вскоре увидим. Или же можно использовать массив или вложенный массив для 
фиксации состояния каждой клетки доски, включая пустые. Но при этом память 
будет использоваться намного менее эффективно.


450
Download 30,75 Mb.

Do'stlaringiz bilan baham:
1   ...   365   366   367   368   369   370   371   372   ...   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