Показать сообщение отдельно
Старый 28.07.2019, 11:46   #9
Alex_Zet
Эксперт
 
Аватар для Alex_Zet
 
Регистрация: 01.12.2016
Сообщений: 5,696
Сказал(а) спасибо: 264
Поблагодарили 1,517 раз(а) в 1,153 сообщениях
Записей в дневнике: 15
Репутация: Alex_Zet отключил(а) отображение уровня репутации
По умолчанию Re: TCEC 16 - Чемпионат Мира среди шахматных движков

Впопыхах остался не замеченным.

ChessFighterNN

Дата создания: 20-02-2019 в 2:26 утра.

Развернуть для просмотра

I would like to announce a new chess engine: Chess Fighter! It's a neural net engine based on AlphaZero although there are many many changes in my implementation. It's written in C++ and uses Dlib for the neural net. The project is private and the source code (and some of its novel techniques) will remain private for now. It does not use any Stockfish or Leela code.

It's probably around ELO 2500-2600 and although it's still training, its possible it may not go much further using my current methods and network size. It's trained entirely on self-play games from random weights and this has been done all on one PC with one 1080ti GPU!

Chess Fighter learns very fast: it takes about 1.5 minutes for one iteration and each iteration is about 19.2 games. Its had many many training runs which I've stopped and started and abandoned as I discovered new bugs and ideas. The current run (which I'm going to try to see to the end) is on iteration 14,000 == 268,000 games == 350 hours.

Generation 9852 (approx 190,000 games) won a 10 game match against AnMon (ELO 2537) +4-2=4, 2 min + 3 sec. And (I think) it started to have the occasional wins against 2500 engines around gen 6000 or so. There was a major bug discovered around gen 7000 that had the effect of CF not caring too much about being a pawn down. And another minor bug relating to the inputs was found later. Fortunately both issues were recoverable through further training (so no restart needed!) and there was a noticeable increase in strength (especially as it stopped giving away free pawns!)

It does use custom input planes in addition to the pieces though I do have a version that takes only the pieces as input and it trains just as fast. The fully zero version is on hold for now whilst I finish of this semi-zero version.

There is one very noticeable difference between Chess Fighter and Leela (aside from strength) and that is Chess Fighter does not troll! It is strictly a no-troll engine :mrgreen: . Of course in some situations when it can't find the way forward it may shuffle a bit but in general it always goes for the win (including in endgame play) in a very efficient manner just like a classical engine.

Here are some details:

Name: Chess Fighter
Other names: Chess Fighter Zero
Gender: Male (sorry guys)
Value net: 4x64
Policy net: 6x96
Search algorithm: MCTS/PUCT
Learning: RL Self-play games (800 node play-outs)
ELO: 2500-2600
Training time: 268,000 games / 350 hours.
Creation date: 20-02-2019 at 2:26 am. Chess Fighter became self-aware a few hours later and then started to display unusual signs of an aptitude towards chess.

Acknowledgements:
Davies E King, author of the dlib C++ machine learning library.
Deep Mind for making public the methods used in AlphaZero.
Author of the Vice chess engine for making the excellent youtube series on programming a chess engine in C.

If you're looking to beat Stockfish you probably might need 1000's of GPU's but if you want to create a GM level engine (or possibly up to 3000 ELO) that plays very natural moves then you can definitely do it in the comfort of your own bedroom!

I will post some of the Chess Fighter games in a bit.
[свернуть]


Если вы хотите победить Stockfish, вам, возможно, понадобится 1000 графических процессоров, но если вы хотите создать движок уровня GM (или, возможно, до 3000 ELO), который будет воспроизводить очень естественные движения, тогда вы точно сможете сделать это, не выходя из собственной спальни!

Alexander Lim

http://www.talkchess.com/forum3/view...hp?f=2&t=70206
__________________
10 оттенков https://www.youtube.com/playlist?lis...7RKv2pEmatnOBs
Alex_Zet вне форума   Ответить с цитированием