強化學習(RL)將成為未來10年人工智能領域最大的突破之一,使算法能夠從環境中學習以實現任意目標。這一令人興奮的發展避免了傳統機器學習(ML)算法中的限制。這本實用的書向數據科學和人工智能專業人士展示了如何通過強化學習,讓機器自己學習。
Winder研究的作者Phil Winder涵蓋了從基本的模塊到最先進的實踐。您將探索RL的當前狀態,關注工業應用,學習許多算法,并從部署RL解決方案到生產的專門章節中受益。這不是一本教譜; 不回避數學,并希望熟悉ML。
目錄內容: Preface
要實現人工智能的夢想,就需要學會做出正確決策的自主系統。強化學習是這樣做的一個強大范式,它與大量的任務相關,包括機器人、游戲、消費者建模和醫療保健。本課程將提供強化學習領域的充實介紹,學生將學習強化學習的核心挑戰和方法,包括推廣和探索。通過講課、書面作業和編碼作業的結合,學生將學習RL的關鍵思想和技術。作業將包括強化學習的基礎知識以及深度強化學習——一個結合了深度學習技術和強化學習的極具前景的新領域。
學生能夠學習到:
內容目錄:
1 Introduction to Reinforcement Learning
2 Tabular MDP planning
3 Tabular RL policy evaluation
4 Q-learning
5 RL with function approximation
6 Policy search
7 Fast Learning
8 Batch Reinforcement Learning
這本書提供了一個廣泛的不確定性決策的算法介紹。我們涵蓋了與決策相關的各種主題,介紹了潛在的數學問題公式和解決它們的算法。
本文面向高級本科生、研究生和專業人員。本書要求具有一定的數學基礎,并假定預先接觸過多變量微積分、線性代數和概率概念。附錄中提供了一些復習材料。這本書特別有用的學科包括數學、統計學、計算機科學、航空航天、電氣工程和運籌學。
這本教科書的基礎是算法,它們都是用Julia編程語言實現的。這本允許免費使用與本書相關的代碼片段,條件是必須確認代碼的來源。我們預計其他人可能想把這些算法翻譯成其他編程語言。隨著翻譯版本的發布,我們將從該書的網頁上鏈接到它們。
許多重要的問題都涉及不確定性下的決策,包括飛機碰撞避免、災害管理和災難反應。在設計自動化決策系統或決策支持系統時,在做出或推薦決策時考慮各種不確定性來源是很重要的。考慮到這些不確定性的來源并仔細平衡系統的多個目標是非常具有挑戰性的。我們將從計算的角度討論這些挑戰,旨在提供決策模型和計算方法背后的理論。本章介紹了不確定性下的決策問題,提供了一些應用實例,并概述了可能的計算方法的空間。本章總結了各種學科對我們理解智能決策的貢獻,并強調了潛在社會影響的領域。我們以本書其余部分的大綱結束。
Introduction
這份手冊最大的特點就是包含許多關于機器學習的經典公式和圖表,有助于您快速回憶有關機器學習的知識點。非常適合那些正在準備與機器學習相關的工作面試的人。
項目地址: //github.com/soulmachine/machine-learning-cheat-sheet
該手冊雖然只有 135 頁,但麻雀雖小五臟俱全,包含了 28 個主題內容,目錄如下:
Deep Reinforcement Learning via Policy Optimization
題目:Applied Reinforcement Learning with Python With OpenAI Gym, Tensorflow, and Keras
深入研究強化學習算法,并通過Python將它們應用到不同的用例中。這本書涵蓋了重要的主題,如策略梯度和Q學習,并利用框架,如Tensorflow, Keras,和OpenAI Gym。
Python中的應用增強學習向您介紹了強化學習(RL)算法背后的理論和用于實現它們的代碼。您將在指導下了解OpenAI Gym的特性,從使用標準庫到創建自己的環境,然后了解如何構建強化學習問題,以便研究、開發和部署基于rl的解決方案。
你將學習:
這本書是給誰看的: 數據科學家、機器學習工程師和軟件工程師熟悉機器學習和深度學習的概念。
地址:
//www.springerprofessional.de/en/applied-reinforcement-learning-with-python/17098944
目錄:
第1章 強化學習導論
在過去的一年里,深度學習技術的不斷擴散和發展給各個行業帶來了革命性的變化。毫無疑問,這個領域最令人興奮的部分之一是強化學習(RL)。這本身往往是許多通用人工智能應用程序的基礎,例如學習玩視頻游戲或下棋的軟件。強化學習的好處是,假設可以將問題建模為包含操作、環境和代理的框架,那么代理就可以熟悉大量的任務。假設,解決問題的范圍可以從簡單的游戲,更復雜的3d游戲,自動駕駛汽車教學如何挑選和減少乘客在各種不同的地方以及教一個機械手臂如何把握對象和地點在廚房柜臺上。
第二章 強化學習算法
讀者應該知道,我們將利用各種深度學習和強化學習的方法在這本書。然而,由于我們的重點將轉移到討論實現和這些算法如何在生產環境中工作,我們必須花一些時間來更詳細地介紹算法本身。因此,本章的重點將是引導讀者通過幾個強化學習算法的例子,通常應用和展示他們在使用Open AI gym 不同的問題。
第三章 強化學習算法:Q學習及其變體
隨著策略梯度和Actor-Critic模型的初步討論的結束,我們現在可以討論讀者可能會發現有用的替代深度學習算法。具體來說,我們將討論Q學習、深度Q學習以及深度確定性策略梯度。一旦我們了解了這些,我們就可以開始處理更抽象的問題,更具體的領域,這將教會用戶如何處理不同任務的強化學習。
第四章 通過強化學習做市場
除了在許多書中發現的強化學習中的一些標準問題之外,最好看看那些答案既不客觀也不完全解決的領域。在金融領域,尤其是強化學習領域,最好的例子之一就是做市。我們將討論學科本身,提出一些不基于機器學習的基線方法,然后測試幾種基于強化學習的方法。
第五章 自定義OpenAI強化學習環境
在我們的最后一章,我們將專注于Open AI Gym,但更重要的是嘗試理解我們如何創建我們自己的自定義環境,這樣我們可以處理更多的典型用例。本章的大部分內容將集中在我對開放人工智能的編程實踐的建議,以及我如何編寫這個軟件的建議。最后,在我們完成創建環境之后,我們將繼續集中精力解決問題。對于這個例子,我們將集中精力嘗試創建和解決一個新的視頻游戲。
The tutorial is written for those who would like an introduction to reinforcement learning (RL). The aim is to provide an intuitive presentation of the ideas rather than concentrate on the deeper mathematics underlying the topic. RL is generally used to solve the so-called Markov decision problem (MDP). In other words, the problem that you are attempting to solve with RL should be an MDP or its variant. The theory of RL relies on dynamic programming (DP) and artificial intelligence (AI). We will begin with a quick description of MDPs. We will discuss what we mean by “complex” and “large-scale” MDPs. Then we will explain why RL is needed to solve complex and large-scale MDPs. The semi-Markov decision problem (SMDP) will also be covered.
The tutorial is meant to serve as an introduction to these topics and is based mostly on the book: “Simulation-based optimization: Parametric Optimization techniques and reinforcement learning” [4]. The book discusses this topic in greater detail in the context of simulators. There are at least two other textbooks that I would recommend you to read: (i) Neuro-dynamic programming [2] (lots of details on convergence analysis) and (ii) Reinforcement Learning: An Introduction [11] (lots of details on underlying AI concepts). A more recent tutorial on this topic is [8]. This tutorial has 2 sections: ? Section 2 discusses MDPs and SMDPs. ? Section 3 discusses RL. By the end of this tutorial, you should be able to ? Identify problem structures that can be set up as MDPs / SMDPs. ? Use some RL algorithms.