Q-learning - Machine Learning mit Reinforcement Learning (2024)

Zurück zu den Artikeln
  • 21. Dezember 2022

-

4

Minuten Lesezeit

-

  • Data Science
Q-learning - Machine Learning mit Reinforcement Learning (1)

Reinforcement Learning ist eine Methode des Machine Learning, mit der komplexe Aufgaben selbstständig gelöst werden können.

Erst kürzlich machte diese Algorithmusfamilie im E-Sport von sich reden, als AlphaStar veröffentlicht wurde, ein Algorithmus, der entwickelt wurde, um die besten Spieler der Welt in StarCarft herauszufordern. Diese Algorithmen haben ein großes Potenzial, erweisen sich aber manchmal als sehr zeitaufwendig in der Erstellung und Parametrisierung. Dieser Artikel soll dir helfen, zu verstehen, was Q-Learning ist und wie du Zeit bei der Implementierung dieser Art von Lösung sparen kannst.

Lernen Sie Machine Learning

Definitionen

Was genau ist Reinforcement Learning?

Reinforcement Learning ist eine Methode des maschinellen Lernens, die es einem Agenten (virtuelle Entität: Roboter, Programm usw.), der in eine interaktive Umgebung gesetzt wird (seine Aktionen verändern den Zustand der Umgebung), ermöglichen soll, Aktionen zu wählen, die quantitative Belohnungen maximieren. Der Agent probiert aus und verbessert seine Handlungsstrategie auf der Grundlage der von der Umgebung gelieferten Belohnungen.

Was ist Q-Learning?

Es gibt viele verschiedene Reinforcement-Learning-Algorithmen, die in mehrere Unterfamilien kategorisiert werden. Q-Learning ist sowohl relativ einfach und ermöglicht gleichzeitig das Verständnis von Lernmechanismen, die vielen anderen Modellen gemeinsam sind.

Zur einleitenden Veranschaulichung: Ein Q-Learning-Algorithmus arbeitet, um ein grundlegendes Problem zu lösen. Beim Labyrinth-Spiel z. B. besteht das Ziel des Spiels darin, dem Roboter beizubringen, das Labyrinth so schnell wie möglich zu verlassen, während er zufällig auf einem der weißen Felder platziert wird. Um dies zu erreichen, gibt es drei zentrale Schritte im Lernprozess:

  • Kenntnis: Definition einer Aktien-Wert-Funktion Q ;
  • Wissen erweitern: Q-Funktion aktualisieren ;
  • Handeln: eine Strategie für PI-Aktionen beschließen

Q-Learning ist also ein verstärkender Lernalgorithmus, der versucht, die beste Handlung unter Berücksichtigung des aktuellen Zustands zu finden. Es wird als nicht-politisch betrachtet, weil die Q-Learning-Funktion Aktionen lernt, die außerhalb der aktuellen Politik liegen, wie z. B. zufällige Aktionen zu ergreifen, und daher keine Politik erforderlich ist. Genauer gesagt versucht Q-Learning, eine Politik zu erlernen, die die Gesamtbelohnung maximiert.

Das „Q“ in Q-Learning steht für Qualität. In diesem Fall steht Qualität für den Nutzen einer bestimmten Handlung, um eine zukünftige Belohnung zu erhalten.

Q-Learning beherrschen lernen

Q-Learning: Konkrete Umsetzung

Erstellen einer Q-Tabelle

Wenn der Lernprozess abgeschlossen ist, erstellen wir eine sogenannte q-Tabelle oder -Matrix, die der Form [Zustand, Aktion] folgt, und initialisieren unsere Werte auf null. Wir aktualisieren und speichern unsere q-Werte dann nach jeder Episode. Diese Wertetabelle wird zu einer Referenztabelle für unseren Agenten, der anhand der Werte in dieser Matrix die beste Aktion auswählt.

import numpy as np# Initialize q-table values to 0Q = np.zeros((state_size, action_size))

Q-Learning und Updates

Der nächste Schritt besteht einfach darin, dass der Agent mit der Umgebung interagiert und Aktualisierungen der Zustand-Aktion-Paare in unserem Array Q[state, action] durchführt.

- Handeln: Untersuchen oder verwerten

Ein Agent interagiert mit der Umgebung auf zwei Arten. Die erste besteht darin, die Q-Tabelle als Referenz zu verwenden und alle möglichen Aktionen für einen bestimmten Zustand zu visualisieren. Der Agent wählt dann die Aktion aus, die auf dem maximalen Wert dieser Aktionen basiert. Dies wird als Exploitation bezeichnet, da wir die uns zur Verfügung stehenden Informationen nutzen, um eine Entscheidung zu treffen.

Der zweite Weg besteht darin, nach dem Zufallsprinzip zu handeln. Dies wird als Exploration bezeichnet. Anstatt Handlungen nach der maximalen zukünftigen Belohnung auszuwählen, wählen wir eine Handlung zufällig aus. Zufällig zu handeln ist wichtig, weil es dem Agenten erlaubt, zu erforschen und neue Zustände zu entdecken, die sonst während des Exploitationsprozesses möglicherweise nicht ausgewählt werden.

Du kannst das Erkunden / Abbauen ausbalancieren, indem du epsilon (ε) verwendest und den Wert für die Häufigkeit, mit der du erkunden oder abbauen möchtest, festlegst. Hier ist ein ungefährer Code, der davon abhängt, wie der Status und der Aktionsraum eingestellt sind.

import random# Set the percent you want to exploreepsilon = 0.2if random.uniform(0, 1) < epsilon: """ Explore: select a random action """else: """ Exploit: select the action with max value (future reward) """

- Aktualisierung der q-Tabelle

Aktualisierungen finden nach jedem Schritt oder jeder Aktion statt und enden, wenn eine Episode abgeschlossen ist. In diesem Fall bedeutet „beendet“, dass der Agent einen Endzustand erreicht hat. Ein Endzustand kann z. B. auf einer Bezahlseite landen oder ein gewünschtes Ziel erreichen. Mit genügend Exploration (Schritte und Episoden) wird der Agent in der Lage sein, zu konvergieren und die optimalen Werte von q oder q-Star (Q∗) zu lernen.

Hier sind die drei grundlegenden Schritte:

  1. Der Agent beginnt in einem Zustand (s1), nimmt eine Aktion (a1) vor und erhält eine Belohnung (r1).
  2. Der Agent wählt die Aktion, indem er sich auf die Q-Tabelle mit dem höchsten Wert (max) ODER zufällig (epsilon, ε) bezieht.
  3. Aktualisierung der Q-Werte

Hier ist die grundlegende Update-Regel für Q-Learning :

# Update q valuesQ[state, action] = Q[state, action] + lr * (reward + gamma * np.max(Q[new_state, :]) — Q[state, action])

In der obigen Aktualisierung gibt es einige Variablen, die wir noch nicht erwähnt haben. Was hier passiert, ist, dass wir unsere q-Werte entsprechend der Differenz zwischen den neuen aktualisierten und den alten Werten anpassen. Wir aktualisieren die neuen Werte mithilfe des Gamma und passen unsere Schrittgröße mithilfe der Lernrate (lr) an.

Einige Referenzen

  • Lernrate: lr, oft auch als Alpha bezeichnet, kann als der Grad der Akzeptanz des neuen Wertes im Vergleich zum alten Wert definiert werden. Oben nehmen wir die Differenz zwischen dem neuen und dem alten Wert und multiplizieren diesen Wert mit der Lernrate. Dieser Wert wird dann zu unserem vorherigen q-Wert addiert, wodurch er sich in die Richtung unserer letzten Aktualisierung bewegt.
  • Gamma: Gamma oder γ ist ein Aktualisierungsfaktor. Er wird verwendet, um die sofortige und die zukünftige Belohnung ins Gleichgewicht zu bringen. In unserer obigen Aktualisierungsregel kannst du sehen, dass wir den Abschlag auf die zukünftige Belohnung anwenden. Im Allgemeinen kann dieser Wert zwischen 0,8 und 0,99 variieren.
  • Belohnung: Eine Belohnung (reward) ist der Wert, den du erhältst, nachdem du eine bestimmte Aktion in einem bestimmten Zustand ausgeführt hast. Eine Belohnung kann zu jedem gegebenen Zeitschritt oder nur zum Terminalzeitschritt auftreten.
  • Max: np.max() verwendet die numpy-Bibliothek und nimmt das Maximum der zukünftigen Belohnung und wendet es auf die Belohnung des aktuellen Zustands an. Dies bewirkt, dass die aktuelle Handlung durch die mögliche zukünftige Belohnung beeinflusst wird. Tatsächlich sind wir durch Q-Learning in der Lage, die zukünftige Belohnung den aktuellen Handlungen zuzuordnen, um dem Agenten zu helfen, die rentabelste Handlung in jedem gegebenen Zustand auszuwählen.

Q-learning - Machine Learning mit Reinforcement Learning (2)

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Weiterlesen

ChatGPT Jailbreak: Was ist das und wie funktioniert es?

DanielJuli 16, 2024

Starke KI vs. schwache KI, was sind die Unterschiede?

DanielJuli 15, 2024

Netzwerkkonvergenz: Alles, was Du darüber wissen musst

DanielJuli 12, 2024

MAC-Adresse: Was ist das und wofür wird sie verwendet?

DanielJuli 11, 2024

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!

Q-learning - Machine Learning mit Reinforcement Learning (7)

Q-learning - Machine Learning mit Reinforcement Learning (2024)

FAQs

Is Q-learning same as reinforcement learning? ›

Q-learning is a machine learning approach that enables a model to iteratively learn and improve over time by taking the correct action. Q-learning is a type of reinforcement learning. With reinforcement learning, a machine learning model is trained to mimic the way animals or children learn.

What is the Q-table in reinforcement learning? ›

Q-Table. The agent will use a Q-table to take the best possible action based on the expected reward for each state in the environment. In simple words, a Q-table is a data structure of sets of actions and states, and we use the Q-learning algorithm to update the values in the table.

How is SARSA reinforcement learning different from Q-learning? ›

The main difference between SARSA and Q-learning is that SARSA is an on-policy learning algorithm, while Q-learning is an off-policy learning algorithm. In reinforcement learning, two different policies are also used for active agents: a behavior policy and a target policy.

Why is DQN better than Q-learning? ›

DQN uses neural networks rather than Q-tables to evaluate the Q-value, which fundamentally differs from Q-Learning (see Fig. 4). In DQN, the input are states while the output are the Q-values of all actions.

What are the disadvantages of Q-learning? ›

Disadvantages of Q-Learning

In environments with a large number of states and actions, the Q-table can take a very long time to converge to the optimal values, especially since each state-action pair needs to be sufficiently sampled to achieve reliable estimates.

What is the alternative to Q-learning? ›

VA-learning learns off-policy and enjoys similar theoretical guarantees as Q-learning. Thanks to the direct learning of advantage function and value function, VA-learning improves the sample efficiency over Q-learning both in tabular implementations and deep RL agents on Atari-57 games.

What is the math behind Q-Learning? ›

The mathematical equation behind q-learning is the Bellman Equation. Q-learning, in its continuous efforts to find the optimal policy, leverages a systematic approach to quantify the quality, or 'Q-value,' of taking a specific action in a particular state.

What is deep Q learning reinforcement learning? ›

It aims to enable agents to learn optimal actions in complex, high-dimensional environments. By using a neural network to approximate the Q-function, which estimates the expected cumulative reward for each action in a given state, Deep Q-Learning can handle environments with large state spaces.

What is the Q-value and V value in reinforcement learning? ›

The Q function takes both the state and the action as input, while the value function only takes the state as input. This means that the Q function can be used to learn an optimal policy, while the value function can only be used to evaluate different policies.

Why is SARSA faster than Q-learning? ›

Generally speaking, the Sarsa algorithm has faster convergence characteristics, while the Q-learning algorithm has a better final performance. However, Sarsa algorithm is easily stuck in the local minimum and Q-learning needs longer time to learn. Most literatures investigated the action selection policy.

Why is double Q-learning better than Q-learning? ›

In general, double Q-learning tends to be more stable than Q-learning. And delayed Q-learning is more robust against outliers, but can be problematic in environments with larger state/action spaces.

Is Q-learning an off-policy reinforcement learning algorithm? ›

Q-learning is a common example of off-policy RL. Like SARSA, the behavior policy generates random control actions with a small probability. Unlike SARSA however, Q-Learning uses the outcome of this action to separately update the value function for a greedy (target) policy.

Is DQN outdated? ›

On a side note, DQN is essentially obsolete at this point, but the themes from that paper were the fuse leading up to the RL explosion of the last few years.

Why is Q-learning unstable? ›

Deep Q-learning

This instability comes from the correlations present in the sequence of observations, the fact that small updates to Q may significantly change the policy of the agent and the data distribution, and the correlations between Q and the target values.

Why is Q-learning biased? ›

The overestimation bias occurs since the target maxa0∈A Q(st+1,a0) is used in the Q-learning update. Because Q is an approximation, it is probable that the approximation is higher than the true value for one or more of the actions. The maximum over these estimators, then, is likely to be skewed towards an overestimate.

What is reinforced learning also known as? ›

In the operations research and control literature, reinforcement learning is called approximate dynamic programming, or neuro-dynamic programming.

What is the difference between Q-learning and actor critic reinforcement learning? ›

Q-Learning does not specify an exploration mechanism, but requires that all actions be tried infinitely often from all states. In actor/critic learning systems, exploration is fully determined by the action probabilities of the actor.

What type of learning is reinforcement learning? ›

Reinforcement learning (RL) is a machine learning (ML) technique that trains software to make decisions to achieve the most optimal results. It mimics the trial-and-error learning process that humans use to achieve their goals.

References

Top Articles
Italian Sub Pinwheel Sandwiches - Easy Flavorful Appetizer Recipe
Pizza Topping Ideas - The MEGA List
Sams Gurnee Gas Price
Black Adam Showtimes Near Maya Cinemas Delano
Orange County's diverse vegan Mexican food movement gains momentum
Craigslist Greencastle
Papa's Pizzeria - Play Online at Coolmath Games
Yasmin Boland Daily Horoscope
Does Publix Pharmacy Accept Sunshine Health
Osu Worday
Dr Paul Memorial Medical Center
Craislist Vt
Okc Farm And Garden Craigslist
Nearest Walmart Address
211475039
Myjohnshopkins Mychart
Lorton Transfer Station
Dabs Utah State Liquor Store #09 - Murray
Shore Lodge Webcam
The Emergent Care Clinic Hesi Case Study
Orlando Magic Account Manager
Best Internists In Ft-Lauderdale
Craigslist Apartments For Rent Ozone Park
Cocaine Bear Showtimes Near Harkins Cerritos
Simply Gorgeous! — Tecnam Completely Refreshed their Best-Selling Light-Sport Aircraft - ByDanJohnson.com
How Much Is Cvs Sports Physical
Cherry Crush Webtoon Summary
Mercedes E-Klasse Rembekrachtigers voorraad | Onderdelenlijn.nl
Razwan Ali ⇒ Free Company Director Check
Cardaras Logan Ohio
Amerikaanse dollar bestellen | USD kopen
Core Relief Texas
Conan Exiles Meteor Shower Command
Tackytwinzzbkup
Biopark Prices
100X35 Puerto Rico Meaning
Amarillos (FRIED SWEET PLANTAINS) Recipe – Taste Of Cochin
Alaska State Troopers Dispatch
Craigslist General Fresno
Lacy Aaron Schmidt Where Is He Now
Rwby Crossover Fanfiction Archive
Rs3 Bis Perks
5417873087
Upc 044376295592
Heatinghelp The Wall
Delta Incoming Flights Msp
Investeerder Parry bijt bij Vitesse van zich af: 'Mensen willen mij beschadigen'
Strange World Showtimes Near Amc Marquis 16
Obtaining __________ Is A Major And Critical Closure Activity.
Fraction Button On Ti-84 Plus Ce
Union Corners Obgyn
Milly Bobby Brown Nsfw
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 6084

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.