Почти
год назад наколеночная нейронная сеть научилась играть в шахматы просто имея массив готовых игр. В опубликованной недавно
статье (магистрская работа) описывается шахматная программа, использующая нейронную сеть для оценки позиции и оптимизации перебора. По утверждению авторов программа играет в силу мастера
(
Read more... )
К.Л.М.
Reply
Reply
Кроме того, зависимость результата (окончательных оценок позиций) от порядка обхода ветвей -- лишь следствие того, что граф обходится не полностью. А разве эта зависимость как-то мешает ?
К.Л.М.
p.s. Альфа-бета отсечение я когда-то ещё в школе делал для игры в шашки. Давно это было, мог позабыть чего...
Reply
Кстати, одно из следующих направлений исследований, которое предлагают авторы в статье, это использование сети для распределения времени на анализ тех или иных ветвей.
Reply
Если программы на нейросетях будут стабильно переигрывать другие программы на том же железе -- это будет для меня новостью, конечно.
К.Л.М.
Reply
Reply
Reply
Возможно, что не хватало дешевых вычислительных мощностей и тестовых наборов (позиций, партий), которые в достаточном для обучения количестве стали открыто доступны в последние лет 5-10, не больше.
> Вообще NN решает задачу подгонки произвольной неизвестной функции другой функцией, которая имеет огромное число параметров.
Безусловно. Я как-то даже обсуждал этот вопрос менее абстрактно: http://ushastyi.livejournal.com/248444.html
Reply
О_О спасибо
Вот прям недавно с пытался объяснить плохи переоптимизация и подгонка параметров но похоже так и не донёс (дошёл аж до Колмогоровской сложности).
Reply
К.Л.М.
Reply
А если более развёрнуто, то:
1. Переоптимизация -- плохо всегда (тут по определению просто что для одного проекта (способа задания свободных коннстант) "пере" то для другого вполне себе оптимизация).
2. Подгонка (в этой вселенной) -- плохо почти всегда.
те из 2х случаев (дающих сразу после коммита одинаковый эффект)
if (app_name == "gcc") {
RunSpecialGccOptimization()
}
или
// область определения 1.0 - 1.5
// 1.1 - 1.4 "плато" с примерно одинаковой производительностью
// было 1.25 -- ровно середина мы соптимизировали
#define DEFICITE_KOEF 1.203
Первый случай -- вполне может быть оправданным распространённым юз-кейсом
А второй -- почти наверняка чистая переоптимизация которая даёт эффект "здесь и сейчас" с учётом всех остальных коэффициентов и эвристик. И вопрос лишь в том когда (через неделю или месяц) она перестанет работать.
Reply
Leave a comment