menu
arrow_back

Reinforcement Learning: Qwik Start

search favorite_border
Add to favorites
help
Help
—/100

Checkpoints

arrow_forward

Create an AI Platform Notebook

Clone the sample code

Reinforcement Learning: Qwik Start

1 hour Free

GSP691

Google Cloud Self-Paced Labs

Overview

Introduction

Like many other areas of machine learning research, reinforcement learning (RL) is evolving at breakneck speed. Just as they have done in other research areas, researchers are leveraging deep learning to achieve state-of-the-art results.

In particular, reinforcement learning has significantly outperformed prior ML techniques in game playing, reaching human-level and even world-best performance on Atari, beating the human Go champion, and is showing promising results in more difficult games like Starcraft II.

In this lab, you will learn the basics of reinforcement learning by building a simple game, which has been modelled off of a sample provided by OpenAI Gym.

Objectives

In this lab, you will:

  • Understand the fundamental concepts of reinforcement learning.
  • Create an AI Platform Tensorflow 2.1 Notebook.
  • Clone the sample repository from the training data analyst repo found on Github.
  • Read, understand, and run the steps found in the notebook.

Once you're ready, scroll down and follow the steps below to get your lab environment set up.

Setup and Requirements

Qwiklabs setup

Before you click the Start Lab button

Read these instructions. Labs are timed and you cannot pause them. The timer, which starts when you click Start Lab, shows how long Google Cloud resources will be made available to you.

This Qwiklabs hands-on lab lets you do the lab activities yourself in a real cloud environment, not in a simulation or demo environment. It does so by giving you new, temporary credentials that you use to sign in and access Google Cloud for the duration of the lab.

What you need

To complete this lab, you need:

  • Access to a standard internet browser (Chrome browser recommended).
  • Time to complete the lab.

Note: If you already have your own personal Google Cloud account or project, do not use it for this lab.

Note: If you are using a Pixelbook, open an Incognito window to run this lab.

Google Cloud Platform Console

How to start your lab and sign in to the Google Cloud Console

  1. Click the Start Lab button. If you need to pay for the lab, a pop-up opens for you to select your payment method. On the left is a panel populated with the temporary credentials that you must use for this lab.

    Open Google Console

  2. Copy the username, and then click Open Google Console. The lab spins up resources, and then opens another tab that shows the Sign in page.

    Sign in

    Tip: Open the tabs in separate windows, side-by-side.

  3. In the Sign in page, paste the username that you copied from the Connection Details panel. Then copy and paste the password.

    Important: You must use the credentials from the Connection Details panel. Do not use your Qwiklabs credentials. If you have your own Google Cloud account, do not use it for this lab (avoids incurring charges).

  4. Click through the subsequent pages:

    • Accept the terms and conditions.
    • Do not add recovery options or two-factor authentication (because this is a temporary account).
    • Do not sign up for free trials.

After a few moments, the Cloud Console opens in this tab.

Reinforcement learning 101

Reinforcement learning (RL) is a form of machine learning whereby an agent takes actions in an environment to maximize a given objective (a reward) over this sequence of steps. Unlike more traditional supervised learning techniques, every data point is not labelled and the agent only has access to "sparse" rewards.

While the history of RL can be dated back to the 1950s and there are a lot of RL algorithms out there, 2 easy to implement yet powerful deep RL algorithms have a lot of attractions recently: deep Q-network (DQN) and deep deterministic policy gradient (DDPG). We briefly introduce the algorithms and variants based on them in this section.

8c84b4dbb56d882e.png

A conceptual process diagram of the Reinforcement Learning problem

The Deep Q-network (DQN) was introduced by Google Deepmind's group in this Nature paper in 2015. Encouraged by the success of deep learning in the field of image recognition, the authors incorporated deep neural networks into Q-Learning and tested their algorithm in the Atari Game Engine Simulator, in which the dimension of the observation space is very large.

The deep neural network acts as a function approximator that predicts the output Q-values, or the desirability of taking an action, given a certain input state. Accordingly, DQN is a value-based method: in the training algorithm DQN updates Q-values according to Bellman's equation, and to avoid the difficulty of fitting a moving target, it employs a second deep neural network that serves as an estimation of target values.

On a more practical level, the following model highlights the source files, the shell command, and the endpoint to get an RL job running on GCP:

62687b03fa144178.png

Create an AI Platform Notebook

All the required files that you need for this lab can be found in this repository. You will create an AI platform tensorflow notebook to run all these commands.

From the left-hand navigation menu, select AI Platform > Notebooks. Then from the top-hand menu, select + New Instance > TensorFlow 2.x > Without GPUs:

tensorflow.png

Then click Create. It will take a couple of minutes to provision your AI Platform Notebook. Refresh the page occasionally. Once the notebook has been built, click the OPEN JUPYTERLAB button:

5fd20811e4ca5ec7.png

This will open a new tab with your Jupyterlab loaded.

Click Check my progress to verify the objective. Create an AI Platform Notebook

Clone the sample code

Click on the Terminal icon. This will give you a temporary shell to enter commands. Enter in the following command to clone the sample repo from the training data analyst repository:

git clone https://github.com/GoogleCloudPlatform/training-data-analyst.git

Wait for this command to propagate. Then from the left-hand menu, select training-data-analyst> quests> rl > early_rl > early_rl.ipynb. This will open a new tab.

Click Check my progress to verify the objective. Clone the sample code

Run through the notebook

Your new tab should look similar to the following:

6827f6f1a1eae75.png

Read through the following notebook and run all code blocks with Shift + Enter.

Return here after you have completed the instructions in the notebook.

Congratulations!

In this lab you learned the basic principles of reinforcement learning (RL). After creating a Jupyterlab instance, you cloned a sample repository and ran through a notebook where you received hands-on practice with the fundamentals of reinforcement learning. You are now ready to take more labs in this series.

Finish Your Quest

quest-badge.png

This self-paced lab is part of the Qwiklabs Quest Baseline: Data, ML, AI. A Quest is a series of related labs that form a learning path. Completing this Quest earns you the badge above, to recognize your achievement. You can make your badge (or badges) public and link to them in your online resume or social media account. Enroll in this Quest and get immediate completion credit if you've taken this lab.

This lab isn't part of a quest (yet), but you can check out other available Qwiklabs Quests here.

Google Cloud Training & Certification

...helps you make the most of Google Cloud technologies. Our classes include technical skills and best practices to help you get up to speed quickly and continue your learning journey. We offer fundamental to advanced level training, with on-demand, live, and virtual options to suit your busy schedule. Certifications help you validate and prove your skill and expertise in Google Cloud technologies.

Manual Last Updated August 25, 2020
Lab Last Tested August 25, 2020

Copyright 2021 Google LLC All rights reserved. Google and the Google logo are trademarks of Google LLC. All other company and product names may be trademarks of the respective companies with which they are associated.