国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

人工智能導論——機器人自動走迷宮&強化學習

這篇具有很好參考價值的文章主要介紹了人工智能導論——機器人自動走迷宮&強化學習。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、問題重述

  強化學習是機器學習中重要的學習方法之一,與監(jiān)督學習和非監(jiān)督學習不同,強化學習并不依賴于數(shù)據(jù),并不是數(shù)據(jù)驅(qū)動的學習方法,其旨在與發(fā)揮智能體(Agent)的主觀能動性,在當前的狀態(tài)(state)下,通過與環(huán)境的交互,通過對應(yīng)的策略,采用對應(yīng)的行動(action),獲得一定的獎賞(reward),通過獎賞來決定自己下一步的狀態(tài)。

  強化學習的幾個重要的組分是:

  • 環(huán)境,即智能體所處的外來環(huán)境,環(huán)境可以提供給智能體對應(yīng)的狀態(tài)信息,并且基于智能體一定的獎賞或者乘法。
  • 智能體:智能體是強化學習中的學習和決策主體,他可以通過與環(huán)境的交互來學習改進其在當前環(huán)境下采取的決策策略。
  • 狀態(tài):用于描述當前環(huán)境與智能體的情況,或者所觀測的具體的變量。
  • 行動:智能體基于觀察到的狀態(tài)所采取的操作或者決策
  • 獎勵:環(huán)境根據(jù)智能體所采取的行動和當前的狀態(tài)給與其的反饋。

  強化學習的目標是通過學習,不斷優(yōu)化自己的決策策略,使得對于任意一個狀態(tài)下,智能體所采取的行動,都能夠獲得最大的獎勵,值得注意的是,這種獎勵是長期獎勵,而非眼前獎勵。我們?yōu)榱藢崿F(xiàn)這一目標,通常會引入價值函數(shù)和動作-價值函數(shù)來評估行為的好壞,同時使用一定的算法和方法來不斷迭代價值函數(shù),在優(yōu)化迭代價值函數(shù)同時,我們實際上就是在優(yōu)化智能體的決策策略,這是因為事實上價值函數(shù)就是表示智能體在時刻t處于狀態(tài)s時,按照策略π采取行動時所獲得回報的期望。價值函數(shù)衡量了某個狀態(tài)的好壞程度,反映了智能體從當前狀態(tài)轉(zhuǎn)移到該狀態(tài)時能夠為目標完成帶來多大“好處”。我們通過迭代價值函數(shù),就可以不斷的迭代自己的行動策略π。

  機器人走迷宮問題是一個經(jīng)典的強化學習的基本問題,我們可以將機器人看做是智能體,將迷宮看做環(huán)境,將機器人所處的地方視為狀態(tài),機器人的行動稱之為動作,機器人根據(jù)當前的迷宮周圍的環(huán)境所采取的動作稱之為策略,每次移動是否合法,是否到達迷宮終點視為環(huán)境給予的獎勵。

二、設(shè)計思想

  我們考察機器人走迷宮問題,由于迷宮是有限范圍的迷宮,迷宮的狀態(tài)是有限的,針對這種情況,我們可以采用深度優(yōu)先搜素或?qū)挾葍?yōu)先搜索實現(xiàn)對狀態(tài)的窮舉,然后探索出一條符合條件的路徑。針對寬度優(yōu)先搜索,題中已經(jīng)給出了對應(yīng)的代碼,構(gòu)建了一顆搜索樹,然后通過層次遍歷的辦法來搜索,我們在這里考慮使用深度優(yōu)先搜索。

  深度優(yōu)先搜索的實現(xiàn)方法是遞歸與堆棧,可以看做“一條路走到黑,不見黃河不回頭,不見棺材不落淚”,他會沿著一條路徑一直走,直到走到不合法死胡同為止。我們在當前狀態(tài)下,可以通過函數(shù)得到可以走的路徑,然后從中選擇一個,進行遞歸傳參,然后繼續(xù)這個過程,直到走到死胡同或者路徑終點為止。不過值得注意的是,我們需要用到回溯算法:回溯算法的本質(zhì)是,我們這次搜索不希望對于下一次搜索產(chǎn)生影響,所以想要完全消除掉本次搜索對于環(huán)境的影響,在這里我們采用了一個vis數(shù)組來判定該狀態(tài)是否被遍歷過,采用了一個path數(shù)組來存儲每次采取的動作是什么,我們回溯的思路便是在搜索完或者走到死胡同后往回走,將當前搜索完的path刪掉,同時vis數(shù)組置0,這種算法的正確性是顯然的,并不會陷入無窮的遍歷過程,因為對于每一個狀態(tài),我們采取的動作都是唯一的,我們在每一個狀態(tài)都會遍歷對應(yīng)的動作,而不會往回遍歷,回溯的目的并不是回溯動作,而是刪除當前搜索對于未來搜索的影響。這便是我們深度優(yōu)先搜索的設(shè)計思想。

  接下來我們考慮實現(xiàn)非搜索算法,即使用強化學習的方法:強化學習首先需要明確優(yōu)化的對象即價值函數(shù)和動作價值函數(shù):

我們不妨假設(shè)環(huán)境所給智能體的獎賞為:
? ? ? ? maze.set_reward(reward={
? ? ? ? ? ? "hit_wall": -10.,
? ? ? ? ? ? "destination": 50.,
? ? ? ? ? ? "default": -0.1,
? ? ? ? })

  即撞墻的獎賞為-10,到達重點獎賞為50,正常情況下的獎賞為-0.1,撞墻需要提供一定的懲罰是顯然的,而且懲罰力度要盡可能的大,以鼓勵智能體去探索可行的路徑。

  接下來我們考慮優(yōu)化價值函數(shù)和動作價值函數(shù),我們考慮采取Q-learning算法進行迭代。Q-learning是一個值迭代算法,而不是策略迭代算法,下面簡要介紹一下值迭代和策略迭代之間的差異:

  值迭代是一種基于迭代更新價值函數(shù)的方法,旨在找到最優(yōu)的價值函數(shù)和策略。它通過反復(fù)迭代計算每個狀態(tài)的值函數(shù),直到值函數(shù)收斂到最優(yōu)值函數(shù)。具體而言,值迭代的步驟如下:

  • 初始化所有狀態(tài)的值函數(shù)為任意值。
  • 對于每個狀態(tài),根據(jù)當前值函數(shù)和當前策略,計算其更新后的值函數(shù)。
  • 重復(fù)步驟2,直到值函數(shù)收斂到最優(yōu)值函數(shù)。
  • 根據(jù)最優(yōu)值函數(shù),得到最優(yōu)策略。

  而策略迭代是一種同時優(yōu)化價值函數(shù)和策略的方法。它交替進行策略評估和策略改進的步驟,直到策略收斂到最優(yōu)策略。具體而言,策略迭代的步驟如下:

  • 初始化策略為任意策略。
  • 策略評估:根據(jù)當前策略計算每個狀態(tài)的值函數(shù)。
  • 策略改進:根據(jù)當前值函數(shù)選擇每個狀態(tài)的最優(yōu)行動,更新策略。
  • 重復(fù)步驟2和步驟3,直到策略收斂到最優(yōu)策略。

  值迭代和策略迭代都可以用于找到最優(yōu)的策略,但它們在算法的執(zhí)行方式和收斂性質(zhì)上有所不同。值迭代通常需要更多的迭代次數(shù)來達到收斂,但每次迭代的計算量較小。策略迭代在每次迭代中都需要進行策略評估和策略改進的步驟,計算量較大,但通常收斂更快。

  我們在此處采取Q-learning算法進行值迭代。Q-learning算法會將狀態(tài)和動作構(gòu)成一張表來存儲Q值,如下所示:

人工智能導論——機器人自動走迷宮&強化學習

  Q值為動作價值函數(shù),具體的計算公式為

人工智能導論——機器人自動走迷宮&強化學習

  也就是說,當前狀態(tài)下,采取動作a的Q值為環(huán)境即時的獎賞以及到達下一個狀態(tài)后,執(zhí)行任意行動后所獲得的最大獎賞的γ倍,此處的γ為折扣因子,換句話說,當前狀態(tài)的Q值取決于環(huán)境的即時獎賞和未來的長期獎勵,其中長期獎勵的定義方法是遞歸定義。

  我們的Q-learning的本質(zhì)就是維護一個Q表,在Q表收斂后,根據(jù)Q表進行決策,由于強化學習是一個馬爾科夫過程,當前時刻的獎賞與事件無關(guān),只與狀態(tài)和采取的行動有關(guān),所以我們可以在某一個狀態(tài)下,找到Q表中對應(yīng)獲得獎賞最大的動作進行行動,然后根據(jù)行動后到達的狀態(tài)繼續(xù)行動,以此類推,直到到達目標點。

  如何根據(jù)Q表進行決策的過程我們已經(jīng)說明,接下來我們考慮如何對Q表進行維護:維護Q表是通過不斷更新Q值實現(xiàn)的,具體來說,我們對于每一個時間步的狀態(tài),會選擇一個動作a,值得注意的是,該動作的選擇并不是通過簡單的貪心找最大實現(xiàn)的,我們通常會使用貪心策略,即在某一個狀態(tài)下,有的概率選擇其余的部分進行探索,有1-的概率選擇最高的獎賞進行迭代,是超參數(shù),為了平衡利用和探索,類似于MCT中的超參數(shù)c。在選擇完動作a后,觀察到獎勵和下一個狀態(tài),根據(jù)我們的更新規(guī)則對Q表的Q值進行更新,然后跳轉(zhuǎn)到下一個狀態(tài),以此類推。

  值得注意的是,我們更新Q表的Q值,采用較為保守的策略進行更新,引入松弛變量α,具體而言,公式如下:

人工智能導論——機器人自動走迷宮&強化學習

  也就是說,我們的值并不完全通過計算的新Q值得到,而是通過新Q值和舊Q值線性加權(quán)得到的。
我們考慮基本的Q-learning有一個問題:我們的Q值取決于動作價值函數(shù),動作價值函數(shù)就與狀態(tài)耦合,如果狀態(tài)過多,有些狀態(tài)可能始終無法采樣到,因此對這些狀態(tài)的q函數(shù)進行估計是很困難的,并且,當狀態(tài)數(shù)量無限時,不可能用一張表(數(shù)組)來記錄q函數(shù)的值。我們考慮多層感知機(MLP)是一個通用的函數(shù)逼近器,可以以任意精度逼近任意多項式函數(shù),所以我們考慮采用深度神經(jīng)網(wǎng)絡(luò)來擬合Q函數(shù),而不是通過值迭代的方法對Q值進行計算。這便是我們的DQN(Deep-Q-Learning)

  • 初始化q函數(shù)的參數(shù)θ
    • 循環(huán)
      • 初始化s為初始狀態(tài)
      • 循環(huán)
        • 采樣a~??greedy_π(s;θ)

        • 執(zhí)行動作a,觀察獎勵R和下一個狀態(tài)s′

        • 損失函數(shù)

        • 人工智能導論——機器人自動走迷宮&強化學習

        • 根據(jù)梯度?L(θ)∕?θ更新參數(shù)θ
          s←s′

      • 直到s是終止狀態(tài)
    • 直到q_π收斂

  我們的損失函數(shù)一般而言是MSE損失函數(shù),主要刻畫了當前神經(jīng)網(wǎng)絡(luò)擬合的Q值與我們計算出的Q值之間的差異,通過不斷優(yōu)化減少損失函數(shù)來更新神經(jīng)網(wǎng)絡(luò)的參數(shù)。

  值得注意的是,我們有一些小tricks例如經(jīng)驗重現(xiàn),經(jīng)驗重現(xiàn)是指我們建立一個經(jīng)驗緩沖區(qū),用于存儲過去的狀態(tài),所采取的動作,獲得的獎勵和更新后的狀態(tài),這樣做的動機是,如果我們只使用當前的經(jīng)驗來更新模型參數(shù),容易受到樣本的相關(guān)性和序列效應(yīng)的影響,導致不穩(wěn)定的學習和收斂困難。

  我們考慮使用經(jīng)驗緩沖區(qū)對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,每次隨機選取一定量的樣本進行更新迭代,這樣做就可以避免樣本的相關(guān)性的影響。

  接下來我們考慮損失函數(shù),在損失函數(shù)中,q函數(shù)的值既用來估計目標值,又用來計算當前值?,F(xiàn)在這兩處的q函數(shù)通過θ有所關(guān)聯(lián),可能導致優(yōu)化時不穩(wěn)定,我們考慮讓損失函數(shù)中的兩個q函數(shù)使用不同的參數(shù)計算。

  • 用于計算估計值的q使用參數(shù)θ?計算,這個網(wǎng)絡(luò)叫做目標網(wǎng)絡(luò)
  • 用于計算當前值的q使用參數(shù)θ計算
  • 保持θ?的值相對穩(wěn)定,例如θ每更新多次后才同步兩者的值θ?←θ

三、代碼內(nèi)容

  代碼內(nèi)容略

四、實驗結(jié)果

  對于實驗結(jié)果,可以完全通過網(wǎng)站上的幾個例子,并且程序運行時間特別快
人工智能導論——機器人自動走迷宮&強化學習

人工智能導論——機器人自動走迷宮&強化學習

人工智能導論——機器人自動走迷宮&強化學習

人工智能導論——機器人自動走迷宮&強化學習

五、總結(jié)

  總體來看,本次實驗符合預(yù)期,DQN的效果特別不錯,在實驗中,遇到的比較大的問題是建立DQN網(wǎng)絡(luò)和調(diào)整相應(yīng)的超參數(shù),我們調(diào)整超參數(shù)的策略可以通過在本地運行不同maze大小,看訓練完之后,機器人采取一定行動能否到達最終的目的地,如果不能到達目的地,看機器人的行動軌跡,調(diào)整不同的超參數(shù)的值來使模型達到最佳的效果。

  樸素的搜索算法本來我寫了一個傳遞location參數(shù)的版本,但是評測要求不能傳遞這個參數(shù),所以我們只能將其聲明為全局變量進行使用,總體來看,本次實驗難度適中,特別合理,收獲很大!文章來源地址http://www.zghlxwxcb.cn/news/detail-461116.html

到了這里,關(guān)于人工智能導論——機器人自動走迷宮&強化學習的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 人工智能與機器人:實現(xiàn)智能化的未來

    人工智能(Artificial Intelligence, AI)和機器人技術(shù)(Robotics)是當今最熱門的技術(shù)領(lǐng)域之一,它們正在驅(qū)動我們進入一個智能化的未來。人工智能是指一種使計算機能夠像人類一樣思考、學習和理解自然語言的技術(shù)。機器人則是一種自主行動的物體,它可以接收數(shù)據(jù)、執(zhí)行任務(wù)

    2024年01月23日
    瀏覽(104)
  • 人工智能ai寫作系統(tǒng),ai智能寫作機器人

    人工智能ai寫作系統(tǒng),ai智能寫作機器人

    ?人工智能AI大數(shù)據(jù)深度:基于偽原創(chuàng)算法,采用神經(jīng)網(wǎng)絡(luò)算法,在超過1535000篇文章中進行自動學習、聚合算法進行人工智能的創(chuàng)建,內(nèi)容語義不變,媒體阿里、騰訊、百度均于日前在百家號內(nèi)容創(chuàng)作者盛典上推出人工智能創(chuàng)作支撐平臺創(chuàng)作大腦。 智能助手可以為人類創(chuàng)作者

    2024年02月10日
    瀏覽(36)
  • 開發(fā)ROS機器人的人工智能功能

    機器人技術(shù)的發(fā)展已經(jīng)進入了一個新的高潮,隨著計算能力的不斷提高和傳感器技術(shù)的不斷發(fā)展,機器人在各個領(lǐng)域的應(yīng)用也越來越廣泛。在這個背景下,機器人的人工智能功能也變得越來越重要。ROS(Robot Operating System)是一個開源的機器人操作系統(tǒng),它提供了一系列的庫和

    2024年01月23日
    瀏覽(37)
  • 大象機器人人工智能套裝2023版深度學習協(xié)作機器人、先進機器視覺與應(yīng)用場景

    大象機器人人工智能套裝2023版深度學習協(xié)作機器人、先進機器視覺與應(yīng)用場景

    介紹當前的版本 今天我們要介紹的是aikit2023,aikit2023是aikit的全新升級版。 AIkit 2023 是一套集視覺,定位抓取、自動分揀模塊為一體的入門級人工智能套裝。 該套裝基于python平臺,可通過開發(fā)軟件實現(xiàn)機械臂的控制,簡單易學,能夠快速入門學習人工智能基礎(chǔ)知識,啟發(fā)創(chuàng)新

    2024年02月13日
    瀏覽(34)
  • 人工智能與機器人:未來的挑戰(zhàn)與機遇

    作者:禪與計算機程序設(shè)計藝術(shù) 隨著互聯(lián)網(wǎng)、智能手機等新技術(shù)的不斷推出,人們對人工智能領(lǐng)域的關(guān)注也越來越高。在這個領(lǐng)域里,研究人員已成功開發(fā)出可以進行各種各樣的人類活動的機器人。不過,這一切并非都沒有風險,有可能帶來一些負面影響,比如健康危害、安

    2024年02月07日
    瀏覽(38)
  • 搭建人工智能wx機器人完整版教程

    搭建人工智能wx機器人完整版教程

    參考搭建流程 首先需要下載Ubuntu 20.04 鏡像包 阿里云開源鏡像包 下載方式: 打開以上網(wǎng)站--點擊20.04/--點擊ubuntu-20.04.5-live-server-amd64.iso下載 項目開源地址 https://github.com/zhayujie/chatgpt-on-wechat NxShell 下載地址 https://xiaodao.lanzoui.com/b0dr4mztg VMware 17(自行網(wǎng)上找有很多資源) 安裝完N

    2024年02月09日
    瀏覽(27)
  • 免費的chartGPT 人工智能機器人問答展示

    免費的chartGPT 人工智能機器人問答展示

    ??無意中發(fā)現(xiàn)一個特別好用的AI工具,試著問了幾個最近一直困擾我的小孩子的幼小銜接的問題,發(fā)現(xiàn)比度娘好用。給出的答案更加智能,還可以免費試用。 對于日常的一些問題,回答更具針對性 ? ?日常寫代碼也能輕松搞定 ?人工智能是一種讓計算機系統(tǒng)具備智能的技術(shù)和

    2024年02月07日
    瀏覽(31)
  • ChatGPT——OpenAI推出的人工智能聊天機器人

    ChatGPT——OpenAI推出的人工智能聊天機器人 [ 編輯] ChatGPT 全稱為“chat Generative Pre-trained Transformer”,翻譯成中文就是生成型預(yù)訓練變換模型。它是美國公司OpenAI在2022年11月30日發(fā)布研發(fā)的聊天機器人程序,能用于問答、文本摘要生成、機器翻譯、分類、代碼生成和對話AI。 [1

    2024年02月04日
    瀏覽(26)
  • 走進人工智能|機器人技術(shù) 人機協(xié)作新紀元

    走進人工智能|機器人技術(shù) 人機協(xié)作新紀元

    前言: 機器人技術(shù)為人類提供協(xié)助、增強生產(chǎn)力,改善生活質(zhì)量,并推動科技進步和社會發(fā)展。 機器人技術(shù)作為現(xiàn)代科技領(lǐng)域的重要研究方向,已經(jīng)在各個領(lǐng)域展現(xiàn)出巨大的潛力和影響力。 隨著人工智能、感知技術(shù)和機械工程的進步,機器人能夠模擬和執(zhí)行人類的動作和任

    2024年02月12日
    瀏覽(30)
  • 【人工智能】Embodied AI : 人工智能的下一步,已經(jīng)卷到了機器人了

    The goal of embodied artificial intelligence is to create agents, such as robots, which learn to creatively solve challenging tasks requiring interaction with the environment. 隨著科技不斷發(fā)展,人工智能(AI)已經(jīng)變得越來越成熟,并在各個領(lǐng)域取得了巨大的突破。從數(shù)據(jù)分析到語音識別,再到無人駕駛等等,我們

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包