GSoC 2018: Enhancing Flux.jl with Reinforcement Learning and Generative Models
This article summarizes a Google Summer of Code (GSoC) 2018 project focused on enriching the model zoo of Flux.jl, a machine learning library for the Julia programming language. The developer implemented various deep reinforcement learning models, including Deep Q Networks (DQN), Double DQN, Duel DQN, Actor-Critic (A2C), and Deep Deterministic Policy Gradient (DDPG). These models were designed to handle both discrete and continuous action spaces, with demonstrations provided for classic games like CartPole and Atari Pong. A significant portion of the project involved creating AlphaGo.jl, a package aiming to replicate the AlphaGo Zero algorithm for zero-sum games like Go and Gomoku, although training challenges were noted. Additionally, the project expanded into computer vision by implementing Generative Adversarial Networks (GANs), such as DCGAN, WGAN, and CycleGAN, to generate realistic images from datasets like MNIST. The work also explored Decoupled Neural Interfaces as an alternative training technique. Overall, the project successfully added diverse state-of-the-art AI models to the Flux ecosystem, facilitating easier training and testing environments for researchers and developers using Julia.
Wire timeline
GSoC 2018: Enhancing Flux.jl with Reinforcement Learning and Generative Models
This article summarizes a Google Summer of Code (GSoC) 2018 project focused on enriching the model zoo of Flux.jl, a machine learning library for the Julia programming language. The developer implemented various deep reinforcement learning models, including Deep Q Networks (DQN), Double DQN, Duel DQN, Actor-Critic (A2C), and Deep Deterministic Policy Gradient (DDPG). These models were designed to handle both discrete and continuous action spaces, with demonstrations provided for classic games like CartPole and Atari Pong. A significant portion of the project involved creating AlphaGo.jl, a package aiming to replicate the AlphaGo Zero algorithm for zero-sum games like Go and Gomoku, although training challenges were noted. Additionally, the project expanded into computer vision by implementing Generative Adversarial Networks (GANs), such as DCGAN, WGAN, and CycleGAN, to generate realistic images from datasets like MNIST. The work also explored Decoupled Neural Interfaces as an alternative training technique. Overall, the project successfully added diverse state-of-the-art AI models to the Flux ecosystem, facilitating easier training and testing environments for researchers and developers using Julia.
JuliaLang - The Julia programming language