Archive for the ‘Alphazero’ Category

Leela Zero – Wikipedia

Leela Zero is a free and open-source computer Go program released on 25 October 2017. It is developed by Belgian programmer Gian-Carlo Pascutto,[1][2][3] the author of chess engine Sjeng and Go engine Leela.[4][5]

Leela Zero's algorithm is based on DeepMind's 2017 paper about AlphaGo Zero.[3][6]Unlike the original Leela, which has a lot of human knowledge and heuristics programmed into it, the program code in Leela Zero only knows the basic rules and nothing more. The knowledge that makes Leela Zero a strong player is contained in a neural network, which is trained based on the results of previous games that the program played.[7]

Leela Zero is trained by a distributed effort, which is coordinated at the Leela Zero website. Members of the community provide computing resources by running the client, which generates self-play games and submits them to the server. The self-play games are used to train newer networks. Generally, over 500 clients have connected to the server to contribute resources.[7] The community has provided high quality code contributions as well.[7]

Leela Zero finished third at the BerryGenomics Cup World AI Go Tournament in Fuzhou, Fujian, China on 28 April 2018.[8] The New Yorker at the end of 2018 characterized Leela and Leela Zero as "the worlds most successful open-source Go engines".[9]

In early 2018, another team branched Leela Chess Zero from the same code base, also to verify the methods in the AlphaZero paper as applied to the game of chess. AlphaZero's use of Google TPUs was replaced by a crowd-sourcing infrastructure and the ability to use graphics card GPUs via the OpenCL library. Even so, it is expected to take a year of crowd-sourced training to make up for the dozen hours that AlphaZero was allowed to train for its chess match in the paper.[10]

Here is the original post:
Leela Zero - Wikipedia

Leela Chess Zero – Wikipedia

Neural network-based chess engine

Leela chess Zero (abbreviated as LcZero, Lc0) is a free, open-source, and neural networkbased chess engine and distributed computing project. Development has been spearheaded by programmer Gary Linscott, who is also a developer for the Stockfish chess engine. Leela chess Zero was adapted from the Leela Zero Go engine,[1] which in turn was based on Google's AlphaGo Zero project.[2] One of the purposes of Leela Chess Zero was to verify the methods in the AlphaZero paper as applied to the game of chess.

Like Leela Zero and AlphaGo Zero, Leela chess Zero starts with no intrinsic chess-specific knowledge other than the basic rules of the game.[1] Leela chess Zero then learns how to play chess by reinforcement learning from repeated self-play, using a distributed computing network coordinated at the Leela Chess Zero website.

As of 2020[update], Leela chess Zero had played over 300 million games against itself,[3] and is capable of play at a level that is comparable with Stockfish, the leading conventional chess program.[4][5]

The Leela chess Zero project was first announced on TalkChess.com on January 9, 2018.[1][6] This revealed Leela Chess Zero as the open-source, self-learning chess engine it would come to be known as, with a goal of creating a strong chess engine.[7] Within the first few months of training, Leela Chess Zero had already reached the Grandmaster level, surpassing the strength of early releases of Rybka, Stockfish, and Komodo, despite evaluating orders of magnitude fewer positions while using MCTS.

In December 2018, the AlphaZero team published a new paper in Science magazine revealing previously undisclosed details of the architecture and training parameters used for AlphaZero.[8] These changes were soon incorporated into Leela Chess Zero and increased both its strength and training efficiency.[9]

The work on Leela chess Zero has informed the similar AobaZero project for shogi.[10]

The engine has been rewritten and carefully iterated upon since its inception, and now runs on multiple backends, allowing it to effectively utilize different types of hardware, both CPU and GPU.[11]

The engine supports the Fischer Random Chess variant, and a network is being trained to test the viability of such a network as of May 2020.[11]

The method used by its designers to make Leela Chess Zero self-learn and play chess at above human level is reinforcement learning. This is a machine-learning algorithm, mirrored from AlphaZero used by the Leela chess Zero training binary to maximize reward through self-play.[1][8] As an open-source distributed computing project, volunteer users run Leela Chess Zero to play hundreds of millions of games which are fed to the reinforcement algorithm.[3] In order to contribute to the advancement of the Leela Chess Zero engine, the latest non-release candidate (non-rc) version of the Engine as well as the Client must be downloaded. The Client is needed to connect to the current server of Leela Chess Zero, where all of the information from the self-play chess games are stored, to obtain the latest network, generate self-play games, and upload the training data back to the server.[12]

In order to play against the Leela Chess Zero engine on a machine, 2 components are needed: the engine binary, and a network (The engine binary is distinct from the client, in that the client is used as a training platform for the engine). The network contains Leela Chess Zero's evaluation function that is needed to evaluate positions.[12] Older networks can also be downloaded and used by placing those networks in the folder with the Lc0 binary.

Self-play Elo is used to gauge relative network strength to look for anomalies and general changes in network strength, and can be used as a diagnostic tool when Lc0 undergoes significant changes. Through test match games that are played with minimal temperature-based variation, Lc0 engine clients test the most recent version against other recent versions of the same network's run, which is then sent the training server to create an overall Elo assessment.

Standard Elo formulae are used to calculate relative Elo strength between the two players. More recent Self-Play Elo calculations use match game results against multiple network versions to calculate a more accurate Elo value.

The Self-Play approach has several consequences on gauging Lc0 Elo:

Cumulative Self-Play Elo inflation can be compared with other runs to gauge the lack of generality in gauging strength with pure cumulative self-play elo. The Fischer Random Chess run Test 71.4 (named 714xxx nets), ranks at nearly 4000 cumulative self-play Elo 76 nets into its run (714076). The T60 (6xxxx) run 63000 net has a cumulative self-play Elo of around 2900. Pitting 714076 against net 63000 reveals 63000 clearly beats 714076 in head-to-head matches at most, if not all "fair" time controls. 4000 Elo >> 2900 elo, but the net with 2900 Elo is clearly beating the 4000 Elo net. This alone is enough to credit the claim that Cumulative self-play Elo is not an objective measure of strength, nor is it a measure which allows one to linearly compare Lc0 network strength to Human strength.

Setting up the engine to play a single node with ``--minibatch-size=1`` and ``go nodes 1`` for each played move creates deterministic play, and Self-Play Elo on such settings will always yield the same result between 2 of the same networks on the same start position--always win, always loss, or always draw. Self-play Elo is not reliable for determining strength in these deterministic circumstances.

In season 15 of the Top Chess Engine Championship, the engine AllieStein competed alongside Leela. AllieStein is a combination of two different spinoffs from Leela: Allie, which uses the same evaluation network as Leela, but has a unique search algorithm for exploring different lines of play, and Stein, an evaluation network which has been trained using supervised learning based on existing game data featuring other engines (as opposed to the unsupervised learning which Leela uses). While neither of these projects would be admitted to TCEC separately due to their similarity to Leela, the combination of Allie's search algorithm with the Stein network, called AllieStein, is unique enough to warrant it competing alongside mainstream Lc0. (The TCEC rules require that a neural network-based engine has at least 2 unique components out of 3 essential features: The code that evaluates a network, the network itself, and the search algorithm. While AllieStein uses the same code to evaluate its network as Lc0, since the other two components are fresh, AllieStein is considered a distinct engine.)[13]

In early 2021, the LcZero blog announced Ceres, a new chess engine that uses LcZero networks. It implements Monte Carlo tree search as well as many novel algorithmic improvement ideas. Initial Elo testing showed that Ceres is stronger than Lc0 with the same network. [14]

In April 2018, Leela chess Zero became the first neural network engine to enter the Top Chess Engine Championship (TCEC), during season 12 in the lowest division, division 4.[15] Leela did not perform well: in 28 games, it won one, drew two, and lost the remainder; its sole victory came from a position in which its opponent, Scorpio 2.82, crashed in three moves.[16] However, it improved quickly. In July 2018, Leela placed seventh out of eight competitors at the 2018 World Computer Chess Championship.[17] In August 2018, it won division 4 of TCEC season 13 with a record of 14 wins, 12 draws, and 2 losses.[18][19] In Division 3, Leela scored 16/28 points, finishing third behind Ethereal, which scored 22.5/28 points, and Arasan on tiebreak.[20][18]

By September 2018, Leela had become competitive with the strongest engines in the world. In the 2018 Chess.com Computer Chess Championship (CCCC),[21] Leela placed fifth out of 24 entrants. The top eight engines advanced to round 2, where Leela placed fourth.[22][23] Leela then won the 30-game match against Komodo to secure third place in the tournament.[24][25] Concurrently, Leela participated in the TCEC cup, a new event in which engines from different TCEC divisions can play matches against one another. Leela defeated higher-division engines Laser, Ethereal and Fire before finally being eliminated by Stockfish in the semi-finals.[26]

In October and November 2018, Leela participated in the Chess.com Computer Chess Championship Blitz Battle.[27] Leela finished third behind Stockfish and Komodo.[28]

In December 2018, Leela participated in season 14 of the Top Chess Engine Championship. Leela dominated divisions 3, 2, and 1, easily finishing first in all of them. In the premier division, Stockfish dominated while Houdini, Komodo and Leela competed for second place. It came down to a final-round game where Leela needed to hold Stockfish to a draw with black to finish second ahead of Komodo. It successfully managed this and therefore contested the superfinal against Stockfish. Whilst many expected Stockfish to win comfortably, Leela exceeded all expectations and scored several impressive wins, eventually losing the superfinal by the narrowest of margins in a 49.5-50.5 final score.[29]

In February 2019, Leela scored its first major tournament win when it defeated Houdini in the final of the second TCEC cup. Leela did not lose a game the entire tournament.[30][31] In April 2019, Leela won the Chess.com Computer Chess Championship 7: Blitz Bonanza, becoming the first neural-network project to take the title.[32]

In May 2019, Leela defended its TCEC cup title, this time defeating Stockfish in the final 5.5-4.5 (+2 =7 -1) after Stockfish blundered a 7-man tablebase draw.[33] Leela also won the Superfinal of season 15 of the Top Chess Engine Championship 53.5-46.5 (+14 -7 =79) versus Stockfish, including winning as both white and black in the same predetermined opening in games 61 and 62.[34][35]

Season 16 of TCEC saw Leela finish in 3rd place in premier division, missing qualification for the superfinal to Stockfish and new neural network engine AllieStein. Leela did not suffer any losses in the Premier division, the only engine to do so, and defeated Stockfish in one of the six games they played. However, Leela only managed to score 9 wins, while AllieStein and Stockfish both scored 14 wins. This inability to defeat weaker engines led to Leela finishing 3rd, half a point behind AllieStein and a point behind Stockfish.[36] In the fourth TCEC cup, Leela was seeded first as the defending champion, which placed it on the opposite half of the brackets as AllieStein and Stockfish. Leela was able to qualify for the finals, where it faced Stockfish. After seven draws, Stockfish won the eighth game to win the match.[37]

In Season 17 of TCEC, held in January-April 2020, Leela regained the championship by defeating Stockfish 52.5-47.5, scoring a remarkable 6 wins in the final 10 games, including winning as both white and black in the same predetermined opening in games 95 and 96.[38] It qualified for the superfinal again in Season 18, but this time was defeated by Stockfish 53.5-46.5.[39] In the TCEC Cup 6 final, Leela lost to AllieStein, finishing 2nd.[40]

Season 19 of TCEC saw Leela qualify for the superfinal again. This time it played against a new Stockfish version with support for NNUE, a neural networkbased evaluation function used primarily for the leaf nodes of the search tree. It defeated Leela convincingly with a final score of 54.5-45.5 (+18 -9 =73).[41][42]

More:
Leela Chess Zero - Wikipedia

How AI is reinventing what computers are – MIT Technology Review

Fall 2021: the season of pumpkins, pecan pies, and peachy new phones. Every year, right on cue, Apple, Samsung, Google, and others drop their latest releases. These fixtures in the consumer tech calendar no longer inspire the surprise and wonder of those heady early days. But behind all the marketing glitz, theres something remarkable going on.

Googles latest offering, the Pixel 6, is the first phone to have a separate chip dedicated to AI that sits alongside its standard processor. And the chip that runs the iPhone has for the last couple of years contained what Apple calls a neural engine, also dedicated to AI. Both chips are better suited to the types of computations involved in training and running machine-learning models on our devices, such as the AI that powers your camera. Almost without our noticing, AI has become part of our day-to-day lives. And its changing how we think about computing.

What does that mean? Well, computers havent changed much in 40 or 50 years. Theyre smaller and faster, but theyre still boxes with processors that run instructions from humans. AI changes that on at least three fronts: how computers are made, how theyre programmed, and how theyre used. Ultimately, it will change what they are for.

The core of computing is changing from number-crunching to decision-making, says Pradeep Dubey, director of the parallel computing lab at Intel. Or, as MIT CSAIL director Daniela Rus puts it, AI is freeing computers from their boxes.

The first change concerns how computersand the chips that control themare made. Traditional computing gains came as machines got faster at carrying out one calculation after another. For decades the world benefited from chip speed-ups that came with metronomic regularity as chipmakers kept up with Moores Law.

But the deep-learning models that make current AI applications work require a different approach: they need vast numbers of less precise calculations to be carried out all at the same time. That means a new type of chip is required: one that can move data around as quickly as possible, making sure its available when and where its needed. When deep learning exploded onto the scene a decade or so ago, there were already specialty computer chips available that were pretty good at this: graphics processing units, or GPUs, which were designed to display an entire screenful of pixels dozens of times a second.

Anything can become a computer. Indeed, most household objects, from toothbrushes to light switches to doorbells, already come in a smart version.

Now chipmakers like Intel and Arm and Nvidia, which supplied many of the first GPUs, are pivoting to make hardware tailored specifically for AI. Google and Facebook are also forcing their way into this industry for the first time, in a race to find an AI edge through hardware.

For example, the chip inside the Pixel 6 is a new mobile version of Googles tensor processing unit, or TPU. Unlike traditional chips, which are geared toward ultrafast, precise calculations, TPUs are designed for the high-volume but low-precision calculations required by neural networks. Google has used these chips in-house since 2015: they process peoples photos and natural-language search queries. Googles sister company DeepMind uses them to train its AIs.

In the last couple of years, Google has made TPUs available to other companies, and these chipsas well as similar ones being developed by othersare becoming the default inside the worlds data centers.

AI is even helping to design its own computing infrastructure. In 2020, Google used a reinforcement-learning algorithma type of AI that learns how to solve a task through trial and errorto design the layout of a new TPU. The AI eventually came up with strange new designs that no human would think ofbut they worked. This kind of AI could one day develop better, more efficient chips.

The second change concerns how computers are told what to do. For the past 40 years we have been programming computers; for the next 40 we will be training them, says Chris Bishop, head of Microsoft Research in the UK.

Traditionally, to get a computer to do something like recognize speech or identify objects in an image, programmers first had to come up with rules for the computer.

With machine learning, programmers no longer write rules. Instead, they create a neural network that learns those rules for itself. Its a fundamentally different way of thinking.

More here:
How AI is reinventing what computers are - MIT Technology Review

graphneural.network – Spektral

Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2.The main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).

You can use Spektral for classifying the users of a social network, predicting molecular properties, generating new graphs with GANs, clustering nodes, predicting links, and any other task where data is described by graphs.

Spektral implements some of the most popular layers for graph deep learning, including:

and many others (see convolutional layers).

You can also find pooling layers, including:

Spektral also includes lots of utilities for representing, manipulating, and transforming graphs in your graph deep learning projects.

See how to get started with Spektral and have a look at the examples for some templates.

The source code of the project is available on Github.Read the documentation here.

If you want to cite Spektral in your work, refer to our paper:

Graph Neural Networks in TensorFlow and Keras with SpektralDaniele Grattarola and Cesare Alippi

Spektral is compatible with Python 3.6 and above, and is tested on the latest versions of Ubuntu, MacOS, and Windows. Other Linux distros should work as well.

The simplest way to install Spektral is from PyPi:

To install Spektral from source, run this in a terminal:

To install Spektral on Google Colab:

The 1.0 release of Spektral is an important milestone for the library and brings many new features and improvements.

If you have already used Spektral in your projects, the only major change that you need to be aware of is the new datasets API.

This is a summary of the new features and changes:

Spektral is an open-source project available on Github, and contributions of all types are welcome. Feel free to open a pull request if you have something interesting that you want to add to the framework.

The contribution guidelines are available here and a list of feature requests is available here.

See original here:
graphneural.network - Spektral

MuZero – Wikipedia

Game-playing artificial intelligence

MuZero is a computer program developed by artificial intelligence research company DeepMind to master games without knowing their rules.[1][2][3] Its release in 2019 included benchmarks of its performance in go, chess, shogi, and a standard suite of Atari games. The algorithm uses an approach similar to AlphaZero. It matched AlphaZero's performance in chess and shogi, improved on its performance in Go (setting a new world record), and improved on the state of the art in mastering a suite of 57 Atari games (the Arcade Learning Environment), a visually-complex domain.

MuZero was trained via self-play, with no access to rules, opening books, or endgame tablebases. The trained algorithm used the same convolutional and residual algorithms as AlphaZero, but with 20% fewer computation steps per node in the search tree.[4]

MuZero really is discovering for itself how to build a model and understand it just from first principles.

On November 19, 2019, the DeepMind team released a preprint introducing MuZero.

MuZero (MZ) is a combination of the high-performance planning of the AlphaZero (AZ) algorithm with approaches to model-free reinforcement learning. The combination allows for more efficient training in classical planning regimes, such as Go, while also handling domains with much more complex inputs at each stage, such as visual video games.

MuZero was derived directly from AZ code, sharing its rules for setting hyperparameters. Differences between the approaches include:[6]

The previous state of the art technique for learning to play the suite of Atari games was R2D2, the Recurrent Replay Distributed DQN.[7]

MuZero surpassed both R2D2's mean and median performance across the suite of games, though it did not do better in every game.

MuZero used 16 third-generation tensor processing units (TPUs) for training, and 1000 TPUs for selfplay for board games, with 800 simulations per step and 8 TPUs for training and 32 TPUs for selfplay for Atari games, with 50 simulations per step.

AlphaZero used 64 first-generation TPUs for training, and 5000 second-generation TPUs for selfplay. As TPU design has improved (third-generation chips are 2x as powerful individually as second-generation chips, with further advances in bandwidth and networking across chips in a pod), these are comparable training setups.

R2D2 was trained for 5 days through 2M training steps.

MuZero matched AlphaZero's performance in chess and Shogi after roughly 1 million training steps. It matched AZ's performance in Go after 500 thousand training steps and surpassed it by 1 million steps. It matched R2D2's mean and median performance across the Atari game suite after 500 thousand training steps and surpassed it by 1 million steps, though it never performed well on 6 games in the suite.

MuZero was viewed as a significant advancement over AlphaZero,[8] and a generalizable step forward in unsupervised learning techniques.[9][10] The work was seen as advancing understanding of how to compose systems from smaller components, a systems-level development more than a pure machine-learning development.[11]

While only pseudocode was released by the development team, Werner Duvaud produced an open source implementation based on that.[12]

MuZero has been used as a reference implementation in other work, for instance as a way to generate model-based behavior.[13]

View original post here:
MuZero - Wikipedia