女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

觀察AI如何找到出口 強化游戲體驗

ouxn_HW_Digital ? 來源:華為開發者社區 ? 作者:華為開發者社區 ? 2021-08-24 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為一名快樂的肥宅,玩游戲是居家必備,無論是王者榮耀、吃雞、原神這些大熱游戲,還是跳一跳、合成大西瓜、2048、這些風靡一時得小游戲,咱都有涉及。但是為了成為一個“頭號玩家”,我總是瘋狂的去個各大社區、網站尋找各種攻略,跟著攻略成長,我時常在想,什么時候俺才能成為一代攻略大神啊,讓大家學習我的技術,豈不是很刺激!

靈光一閃,畢竟我是個有點小技術的肥宅,曾經也癡迷過deepmind,跑過AlphaGo,這不得訓練一個AI玩一玩。

強化學習訓練2048游戲,

觀察AI如何找到出口?

既然要練手,那就先從2048這種簡單,不考驗操作,純策略的游戲入手吧。在網上搜羅了一番,果然讓我找到了開源的2048游戲環境,GitHub地址:

https://github.com/rgal/gym-2048。

下一步就是把這個算法和強化學習結合了。

算法部分很簡單,目前我才用的是最傳統的DQN,10分鐘就可以達到一個還可以的模型效果。如果小伙伴們有想法,可以試試RainBow,PPO,A2C,SAC這類算法,相信會獲得更佳的效果。

我開發這個模型,用的是來自華為云的ModelArts(它是一個在線、開箱即用的AI平臺,還有免費的GPU算力,每天不限次數使用,不要太爽!),所以代碼是在ipynb中跑的。

整體步驟大概可以分為3步:

1.創建游戲環境

2.創建DQN算法

def learn(self, buffer): # 當replaybuffer中存儲的數據大于batchsize時,從中隨機采樣一個batch的數據學習 if buffer.size 》=self.args.batch_size: # 更新target_model的參數 if self.learn_step_counter %args.target_update_freq == 0: self.target_model.load_state_dict(self.behaviour_model.state_dict()) self.learn_step_counter += 1 # 從replaybuffer中隨機采樣一個五元組(當前觀測值,動作,下一個觀測值,是否一局結束,獎勵值) s1, a, s2, done, r =buffer.get_sample(self.args.batch_size) s1 =torch.FloatTensor(s1).to(device) s2 = torch.FloatTensor(s2).to(device) r = torch.FloatTensor(r).to(device) a = torch.LongTensor(a).to(device) if args.use_nature_dqn: q =self.target_model(s2).detach() else: q = self.behaviour_model(s2) # 每個動作的q值=r+gamma*(1-0或1)*q_max target_q = r +torch.FloatTensor(args.gamma * (1 - done)).to(device) * q.max(1)[0] target_q =target_q.view(args.batch_size, 1) eval_q = self.behaviour_model(s1).gather(1,torch.reshape(a, shape=(a.size()[0], -1))) # 計算損失函數 loss = self.criterion(eval_q,target_q) self.optimizer.zero_grad() loss.backward() self.optimizer.step() def get_action(self, state, explore=True): # 判斷是否探索,如果探索,則采用貪婪探索策略決定行為 if explore: if np.random.uniform() 》=args.epsilon: action = randint(0,self.action_dim - 1) else: # Choose the best action accordingto the network. q =self.behaviour_model(torch.FloatTensor(state).to(device)) m, index = torch.max(q, 1) action =index.data.cpu().numpy()[0] else: q = self.behaviour_model(torch.FloatTensor(state).to(device)) m, index = torch.max(q, 1) action =index.data.cpu().numpy()[0] return action classReplayBuffer: def __init__(self, buffer_size, obs_space): self.s1 = np.zeros(obs_space, dtype=np.float32) self.s2 = np.zeros(obs_space,dtype=np.float32) self.a = np.zeros(buffer_size,dtype=np.int32) self.r = np.zeros(buffer_size,dtype=np.float32) self.done = np.zeros(buffer_size,dtype=np.float32) # replaybuffer大小 self.buffer_size = buffer_size self.size = 0 self.pos = 0 # 不斷將數據存儲入buffer def add_transition(self, s1, action, s2,done, reward): self.s1[self.pos] = s1 self.a[self.pos] = action if not done: self.s2[self.pos] = s2 self.done[self.pos] = done self.r[self.pos] = reward self.pos = (self.pos + 1) %self.buffer_size self.size = min(self.size + 1,self.buffer_size) # 隨機采樣一個batchsize def get_sample(self, sample_size): i = sample(range(0, self.size), sample_size) return self.s1[i], self.a[i],self.s2[i], self.done[i], self.r[i]

3.創建網絡模型

此處我用的就是一個非常簡單的三層卷積網絡

classNet(nn.Module): #obs是狀態空間輸入,available_actions_count為動作輸出維度 def __init__(self, obs,available_actions_count): super(Net, self).__init__() self.conv1 = nn.Conv2d(obs, 128,kernel_size=2, stride=1) self.conv2 = nn.Conv2d(128, 64,kernel_size=2, stride=1) self.conv3 = nn.Conv2d(64, 16,kernel_size=2, stride=1) self.fc1 = nn.Linear(16,available_actions_count) self.relu = nn.ReLU(inplace=True) def forward(self, x): x = x.permute(0, 3, 1, 2) x = self.relu(self.conv1(x)) x = self.relu(self.conv2(x)) x = self.relu(self.conv3(x)) x = self.fc1(x.view(x.shape[0], -1)) return x

完成以上三步,就可以愉快的開始訓練啦:

print(‘

training.。。’)begin_t= time.time()max_reward= 0fori_episode in range(args.epochs): # 每局開始,重置環境 s = env.reset() # 累計獎勵值 ep_r = 0 while True: # 計算動作 a = dqn.get_action(np.expand_dims(s,axis=0)) # 執行動作 s_, r, done, info = env.step(a) # 存儲信息 memory.add_transition(s, a, s_, done,r) ep_r += r # 學習優化過程 dqn.learn(memory) if done: print(‘Ep: ’, i_episode, ‘| Ep_r: ’, round(ep_r, 2)) if ep_r 》 max_reward: max_reward = ep_r print(“current_max_reward{}”.format(max_reward)) # 保存模型 torch.save(dqn.behaviour_model,“2048.pt”) break s = s_print(“finish!time cost is {}s”.format(time.time() - begin_t))

我只訓練了10分鐘,在這個不能錯步的嚴格環境下,推理時可以達到256分,如果采用更先進算法,更長的訓練時間,2048不是夢。

詳細代碼獲取方式:

通過此鏈接可直接在線運行,或者下載

https://marketplace.huaweicloud.com/markets/aihub/notebook/detail/?id=3a11d09b-85f5-4ae4-b4a7-9b19be2b444d

這個技術來源是我在去年華為云AI全棧成長計劃中接觸到的,據說今年華為云又開始了新一輪【AI實戰營】,6大分類實戰營Python、ModelArts、MindSpore AI框架、深度、強化、機器學習,助我們成為“AI王者”!

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    88

    文章

    35352

    瀏覽量

    280853
  • 強化學習
    +關注

    關注

    4

    文章

    269

    瀏覽量

    11622
  • 華為云
    +關注

    關注

    3

    文章

    2774

    瀏覽量

    18351

原文標題:游戲“外掛”?- AI生成游戲最強攻略

文章出處:【微信號:HW-DigitalHome,微信公眾號:華為數字家庭】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    大家都在用什么AI軟件?有沒有好用的免費的AI軟件推薦一下?

    大家都在用什么AI軟件?有沒有好用的免費的AI軟件推薦一下?直接發個安裝包,謝謝。比如deepseek、Chatgpt、豆包、阿里AI、百度AI、騰訊
    發表于 07-09 18:30

    技嘉正式推出 RTX? 5060 Ti 和 5060 顯卡,先進散熱方案提升游戲AI 體驗

    ? 5060 系列顯卡,并將于 4 月 16 日起陸續上市。此系列產品專為主流游戲玩家、創作者與 AI 入門使用者設計,通過升級版 WINDFORCE 散熱系統,在性能與散熱效率間達到絕衡,帶來更流暢
    的頭像 發表于 04-16 10:07 ?428次閱讀

    韓國半導體對華出口暴跌 信息通信產業出口額減少31.8%

    據外媒《朝鮮日報》報道稱,在2025年2月份韓國信息通信產業出口額創下了歷年同月第二高的好成績;出口額達到167.1億美元,同比增長了1.2%。但是對我國的出口減少31.8%。 而韓國對越南
    的頭像 發表于 03-18 15:26 ?622次閱讀

    AI Agent 應用與項目實戰》----- 學習如何開發視頻應用

    上傳與視頻生成相關的知識庫文檔,以便AI助手能夠基于這些知識進行回答和生成視頻。 在AI助手的配置中,找到與視頻生成相關的功能模塊。 根據需要選擇或上傳視頻生成模型,這些模型可以是語聚AI
    發表于 03-05 19:52

    聯發科技攜手Cocos共建端側生成式AI游戲開發生態,推動行業升級

    全球領先的半導體公司聯發科技與知名游戲引擎開發商Cocos正式宣布達成深度合作!這一合作將把聯發科技在端側生成式AI領域的尖端技術,與Cocos在游戲開發領域的深厚積累深度結合,為開發者帶來更便
    的頭像 發表于 01-10 09:24 ?472次閱讀

    拜登擬在卸任前加強AI芯片出口管制

    拜登政府計劃在離任之際宣布對中國實施最廣泛的人工智能(AI)芯片出口管制,引發美國科技行業的廣泛批評。代表美國科技行業的貿易協會——美國信息技術產業理事會(ITI)7日敦促拜登政府不要在卸任前最后
    的頭像 發表于 01-09 17:27 ?451次閱讀

    韓國半導體出口動態:2024年對華出口下滑,對臺越出口增長

    近日,最新發布的產業數據揭示了韓國半導體出口在2024年的新趨勢。據韓國產業通商資源部于1月5日公布的官方數據顯示,盡管整體半導體出口額實現了顯著增長,但出口市場的分布卻發生了顯著變化。 數據顯示
    的頭像 發表于 01-07 14:32 ?840次閱讀

    巨人網絡發布“千影”大模型,加速“游戲+AI”布局

    近日,巨人網絡在2024年度中國游戲產業年會上,正式推出了名為“千影?QianYing”的有聲游戲生成大模型。這一創新舉措標志著巨人網絡在“游戲+AI”賽道上的又一重要布局。 “千影
    的頭像 發表于 12-16 09:45 ?1560次閱讀

    如何使用 PyTorch 進行強化學習

    的計算圖和自動微分功能,非常適合實現復雜的強化學習算法。 1. 環境(Environment) 在強化學習中,環境是一個抽象的概念,它定義了智能體(agent)可以執行的動作(actions)、觀察
    的頭像 發表于 11-05 17:34 ?1070次閱讀

    谷歌發布革命性AI游戲引擎GameNGen

    谷歌近期震撼推出全球首款完全由人工智能驅動的游戲引擎——GameNGen,這一創新技術標志著游戲開發領域的新紀元。GameNGen憑借其強大的計算能力,能夠在單個TPU上實現每秒20幀的實時游戲生成,每一幀畫面均源自精密的擴散模
    的頭像 發表于 08-29 18:07 ?1156次閱讀

    谷歌研究人員推出革命性首個AI驅動游戲引擎

    在科技日新月異的今天,人工智能(AI)正以前所未有的速度滲透到我們生活的每一個角落,從自動駕駛汽車到智能家居,無一不彰顯著其巨大的潛力和無限可能。而最近,谷歌研究團隊的一項突破性成果更是將AI的邊界
    的頭像 發表于 08-29 17:21 ?860次閱讀

    英偉達首推AI NPC,革新游戲體驗

    英偉達在游戲界再次引領創新潮流,宣布其首個基于AI技術的NPC(非玩家角色)正式入駐游戲。在一段令人矚目的demo中,玩家通過語音對話與NPC無縫交流,不僅獲取了詳盡的關卡指引,還能根據建議優化裝備配置,甚至實時調整武器外觀,隨
    的頭像 發表于 08-23 15:57 ?660次閱讀

    技嘉 AORUS 前進 Gamescom 2024帶來 AI 游戲新體驗

    發行的游戲大作,并在游戲挑戰中競逐好禮。 AORUS 于現場展示新款的 AI PC,包括搭載 Intel? Core? 第14代 HX 系列筆記本電腦處理器和 NVIDI
    的頭像 發表于 08-09 16:08 ?539次閱讀

    AMD 2024 ChinaJoy圓滿收官 AI+游戲 為熱愛全力以赴

    2024年7月26日~29日,AMD在上海成功舉辦了主題為 「 AI+ 游戲,為熱愛全力以赴!」 的AMD 2024 ChinaJoy。AMD攜手眾多合作伙伴為粉絲、硬件和游戲愛好者們帶來了最新的銳
    的頭像 發表于 08-05 15:21 ?927次閱讀