1. 程式人生 > 實用技巧 >【強化學習入門】 task1 概括與基礎

【強化學習入門】 task1 概括與基礎

強化學習入門 task1 概括與基礎


主要根據周博磊教授的教學視訊進行學習整理

1. 1 什麼是強化學習

強化學習(Reinforcement Learning, RL),又稱再勵學習、評價學習或增強學習,是機器學習的正規化和方法論之一,用於描述和解決智慧體(agent)在與環境的互動過程中通過學習策略以達成回報最大化或實現特定目標的問題

通俗來講就是使一個agent在一個複雜環境中去極大化獲得獎勵
在這裡插入圖片描述
強化學習主要由兩部分組成,即agent和環境

Agent選擇一個action用於環境,環境接受該動作後狀態發生變化,同時產生一個強化訊號(獎或懲)反饋給Agent,Agent根據強化訊號和環境當前狀態再選擇下一個action,選擇的原則是使受到正強化(獎)的概率增大。選擇的動作不僅影響立即強化值,而且影響環境下一時刻的狀態及最終的強化值
在這裡插入圖片描述
強化學習與監督學習對比

  • 強化學習的資料是由時間關聯的,而監督學習的資料是沒有關聯的
  • 強化學習中學習者沒有被告知要採取哪些行動,而是必須採取行動
  • 強化學習通過嘗試來發現哪些行為會帶來最大的回報。
  • 強化學習的獎勵是延遲的,只有一系列動作完成後才能知道是不是有提升作用
    在這裡插入圖片描述
    強化學習特點
  • 需要在環境中探索來獲取對環境的理解
  • 獲得的獎勵是延遲的
  • 強化學習是時間十分重要,因為其資料是時間關聯的
  • agent行為會影響其後面得到的資料,所以如何在獲得能夠使獎勵穩定提升的資料是十分重要的
    在這裡插入圖片描述
    獲得的獎勵是延遲的-》比如下面這個遊戲到了後面結果出來才能知道前面的動作是不是有用的
    在這裡插入圖片描述

1.2 強化學習應用

  • AlphaGo,如果只是應用了監督學習,它只能達到人類的最高水平,但是應用了強化學習後,它甚至可以超越人類
  • 股票交易
  • 機器視覺(深度強化學習)
  • 機器人

在這裡插入圖片描述
通過改進網路可以實現端到端的訓練,即通過一個網路便可以實現特徵提取和預測而無需人工提取特徵
在這裡插入圖片描述

1.3 強化學習發展的原因

  • GPU的出現,大大提升了計算能力
  • 更多資訊的獲取
  • 端到端培訓、功能和策略共同優化最終目標

在這裡插入圖片描述

1.4 獎勵函式

在這裡插入圖片描述
獎勵特點

  • 獎勵是一個反饋的訊號
  • 反饋訊號指定了agent在某步所採取的策略是否獲得了獎勵
  • 強化學習的目的是為了極大化獲得的獎勵
  • agent在環境中存在的目的就是最大化期望積累的獎勵
    不同環境下獎勵的例子
  • 下象棋的時候獎勵就是贏棋或者輸棋
  • 羚羊學習戰力的獎勵就是是否可以學會奔跑和被只掉
  • 股票中的獎勵就是贏錢還是輸錢

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

1.5 強化學習組成成分

  • 決策函式:用於選取下一步的動作
    在這裡插入圖片描述

  • 價值函式:用來對當前狀態進行評估
    在這裡插入圖片描述

  • 模型:對環境的整體理解
    包括轉移狀態和獎勵函式
    在這裡插入圖片描述
    例子-走迷宮
    要求從start走道goal,沒走一步減去一,要求代價最小
    在這裡插入圖片描述
    在這裡插入圖片描述
    強化學習中agent的分類

  • 基於價值函式

  • 基於策略導向

  • 上面兩者結合
    在這裡插入圖片描述
    其他分類方式

  • model-base

  • model-free
    在這裡插入圖片描述
    在這裡插入圖片描述

1.6 實踐

案例地址https://github.com/zhoubolei/introRL
其他推薦:
openai,提供了很多強化學習案例
在這裡插入圖片描述
在這裡插入圖片描述
使木棍保持平衡
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述