![]() ![]() |
機(jī)器學(xué)習(xí)實(shí)用仿真技術(shù) ![]() 人工智能和機(jī)器學(xué)習(xí)受數(shù)據(jù)驅(qū)動(dòng)的趨勢(shì)日益明顯。仿真技術(shù)不僅強(qiáng)大,而且魅力無(wú)窮,有望釋放兩者的全部潛能。本書的主要內(nèi)容有:用Unity引擎和仿真技術(shù),解決機(jī)器學(xué)習(xí)和人工智能問(wèn)題。用游戲引擎合成圖像訓(xùn)模。創(chuàng)建仿真環(huán)境,訓(xùn)練強(qiáng)化學(xué)習(xí)和模仿學(xué)習(xí)模型。采用PPO等高效通用算法解決基于仿真的機(jī)器學(xué)習(xí)問(wèn)題。用不同方法訓(xùn)練多種機(jī)器學(xué)習(xí)模型。用PyTorch、Unity ML-Agents和Perception工具集,打通機(jī)器學(xué)習(xí)工具和業(yè)界標(biāo)準(zhǔn)游戲開(kāi)發(fā)工具。 編輯推薦 前言歡迎閱讀本書!它融我們兩大摯愛(ài)于一體:電子游戲引擎和人工智能。寫作過(guò)程,我們自是非常享受。閱讀過(guò)程,希望你也能收獲同樣快樂(lè)。確切來(lái)講,本書將探討Unity 的用法。過(guò)去,人常稱其為游戲引擎,但如今又傾向改稱創(chuàng)造和運(yùn)營(yíng)交互式實(shí)時(shí)3D 內(nèi)容的平臺(tái)。這一串詞語(yǔ)可真不少,但基本可歸結(jié)為:Unity 是3D 內(nèi)容開(kāi)發(fā)平臺(tái)。盡管過(guò)去它一直用于電子游戲開(kāi)發(fā),但綜合利用3D 圖像、物理仿真和某種輸入,它也可用于開(kāi)發(fā)任何可用3D 表示的內(nèi)容。你若有平臺(tái)創(chuàng)造和運(yùn)營(yíng)交互式實(shí)時(shí)3D 內(nèi)容,再借助機(jī)器學(xué)習(xí)工具,就可利用跟真實(shí)世界有幾分相像的自創(chuàng)3D 世界,訓(xùn)練機(jī)器學(xué)習(xí)模型。盡管它跟真實(shí)世界并非一模一樣,但自己發(fā)揮想象,腦補(bǔ)其區(qū)別,不也很有趣嗎,而且該種3D 世界跟真實(shí)世界確有某些合理的有用聯(lián)系(如它既可為真實(shí)世界機(jī)器學(xué)習(xí)應(yīng)用生成數(shù)據(jù),又可生成可遷移到機(jī)器人等真實(shí)世界物體的模型)。本書所言真實(shí)世界是指物理世界。Unity 和機(jī)器學(xué)習(xí)結(jié)合,是創(chuàng)建仿真體(simulation)和合成數(shù)據(jù)(synthetic data)的好方法。兩者正是本書的兩大不同主題。本書所用資源我們建議你在閱讀本書各章過(guò)程,最好邊讀邊自己敲代碼。寫代碼如遇難題解決不了,又或只想保存一份我們的代碼,你可從我們網(wǎng)站(http://wwwsecretlabcomau/books/practical-simulations)找到所需內(nèi)容。本書我們要做的某些項(xiàng)目,需使用特定資源。這些資源我們已放到上述網(wǎng)站,建議下到本地,以便查找、使用。本書讀者和讀法本書是為對(duì)機(jī)器學(xué)習(xí)感興趣的程序員和軟件工程師而寫,只要從事相關(guān)領(lǐng)域就可以,并非一定要做機(jī)器學(xué)習(xí)工程師才能讀。你對(duì)機(jī)器學(xué)習(xí)產(chǎn)生過(guò)興趣,或正要在機(jī)器學(xué)習(xí)領(lǐng)域做更多工作,那么本書就是為你而寫。你是游戲開(kāi)發(fā)者,現(xiàn)已多少了解Unity 或其他游戲引擎,正打算學(xué)習(xí)機(jī)器學(xué)習(xí)(用于游戲或其他應(yīng)用),那么本書也適合你。你即使已成為機(jī)器學(xué)習(xí)專家,仍是本書目標(biāo)讀者,但不妨換種讀法。毋庸擔(dān)心,我們不會(huì)太過(guò)深入解釋機(jī)器學(xué)習(xí)的原理和方法。因此,即使你已掌握PyTorch 和類似框架的內(nèi)部工作原理,本書仍適合你。倘若你對(duì)機(jī)器學(xué)習(xí)的了解還不夠深入,你也不必?fù)?dān)心。本書可讀性強(qiáng),你讀起來(lái)不會(huì)有困難。Unity 仿真和合成,屬于那種你無(wú)需理解其復(fù)雜細(xì)節(jié)就能跑起來(lái)的技術(shù)。真好用。。ㄟ記得前人這句著名的話吧譯注1)用在這里也十分貼切。因此,只要你從事軟件、機(jī)器學(xué)習(xí)或游戲開(kāi)發(fā),本書就是為你而寫。你都能從本書找到適合自己的內(nèi)容。我們將教你足夠的Unity 和機(jī)器學(xué)習(xí)知識(shí)。你可以此為起點(diǎn),沿自己感興趣的技術(shù)路線繼續(xù)學(xué)習(xí)。內(nèi)容編排本書包括三部分。第一部分仿真和合成基礎(chǔ)介紹仿真和合成兩大主題,并通過(guò)一個(gè)基于兩者的項(xiàng)目帶你逐漸熟悉它們。第二部分為樂(lè)趣和收益而模擬世界專講仿真。仿真主題遠(yuǎn)比合成主題宏大,因此這是本書的重頭戲。這一部分,我們將做一系列仿真項(xiàng)目。做的過(guò)程,幾乎逐步講解,期間捎帶補(bǔ)充概念,介紹方法。等到這一部分結(jié)束,仿真的多種不同路徑,你已了然于胸,可按需選擇。第三部分用合成數(shù)據(jù)獲得真實(shí)結(jié)果專講合成。這一部分雖比仿真短得多,但仍極為關(guān)鍵。你將學(xué)到用Unity 合成數(shù)據(jù)的基礎(chǔ)。學(xué)完這一部分,你基本就能按需合成數(shù)據(jù)。本書用法我們用一個(gè)個(gè)小項(xiàng)目來(lái)組織本書內(nèi)容。希望你能跟我們一道完成。期間如癡迷于自己的想法,你還可將其加到項(xiàng)目中來(lái)(視自己情況而定,并非一定要這么做)。我們采用基于項(xiàng)目的方法,是因?yàn)槲覀冋J(rèn)為該方法最適合學(xué)習(xí)你需要的Unity 游戲引擎和機(jī)器學(xué)習(xí)知識(shí)。我們不打算教你掌握Unity 的一切,而且本書限于篇幅,也不可能放下機(jī)器學(xué)習(xí)所有細(xì)節(jié)。而我們通過(guò)一個(gè)個(gè)項(xiàng)目,就可以做到按需引入或排除內(nèi)容。這些項(xiàng)目系我們精心挑選,希望你也能喜歡!我們的任務(wù)仿真部分的任務(wù)如下:? 第2 章開(kāi)發(fā)一個(gè)能自己滾向目標(biāo)的小球(你可能覺(jué)得很神奇,不過(guò)確實(shí)如此)。? 第4 章開(kāi)發(fā)一個(gè)能自己推方塊的立方體。它能將方塊推入目標(biāo)區(qū)域。? 第5 章開(kāi)發(fā)一輛簡(jiǎn)易自動(dòng)駕駛小車。它能沿軌道行駛。? 第6 章開(kāi)發(fā)一個(gè)撿幣小球。它經(jīng)過(guò)訓(xùn)練,學(xué)習(xí)我們示范的撿幣方法后,能學(xué)會(huì)自己撿。? 第8 章采用課程學(xué)習(xí)技術(shù)開(kāi)發(fā)一個(gè)拋物智能體。它能向目標(biāo)拋石塊。? 第9 章開(kāi)發(fā)一群立方體。它們能一起將方塊推向目標(biāo)。? 第10 章開(kāi)發(fā)一個(gè)顛球智能體。它能利用視覺(jué)輸入(如攝像機(jī))而非準(zhǔn)確度量值,使其頂部小球保持平衡。? 第11 章介紹一種用Python 連接和操縱仿真體的方法。合成部分的任務(wù)如下:? 第3 章隨機(jī)擲骰子并為其生成其圖像。? 第13 章改變地板和骰子顏色,改進(jìn)骰子圖像生成器。? 第14 章生成背景復(fù)雜且位置多樣的超市商品圖像。這些圖像可脫離Unity,訓(xùn)練智能體。排版約定本書排版遵循以下約定:斜體表示新術(shù)語(yǔ)、URL、郵件地址、文件名和文件擴(kuò)展名。等寬字體(Constant width)表示程序片段和正文出現(xiàn)的編程元素,如變量、函數(shù)名、數(shù)據(jù)庫(kù)、數(shù)據(jù)類型、環(huán)境變量、聲明和關(guān)鍵字。也用于命令和命令行輸出。加粗等寬字體(Constant width bold)表示應(yīng)由用戶原封不動(dòng)輸入的命令或其他文本。等寬斜體(Constant with italic)表示應(yīng)該使用用戶輸入的值或根據(jù)上下文確定的值替換的文本。使用代碼示例本書配套材料(代碼示例、練習(xí)和勘誤等)請(qǐng)從http://secretlabcomau/books/practical-simulations 下載。本書是為幫你完成工作而寫。一般來(lái)講,書中示例代碼,你用于自己項(xiàng)目和文檔,無(wú)需聯(lián)系并征得我們?cè)S可,但大量復(fù)制代碼另議。例如,你編寫的程序使用書中多處代碼,無(wú)需我們授權(quán),但出售或分發(fā) OReilly 圖書示例代碼,則需我們授權(quán)。引用本書內(nèi)容或示例代碼回答問(wèn)題,無(wú)需授權(quán)。但在你的產(chǎn)品文檔大量使用本書示例代碼,則需我們授權(quán)。引用時(shí)如能添加內(nèi)容出處,我們非常感激,當(dāng)然這并非必須。出處通常要標(biāo)明書名、作者、出版社和ISBN。例如:Practical Simulations for Machine Learning,by Paris and Mars Buttfield-Addison, Tim Nugent, and Jon Manning Copyright 2022 Secret Lab, 978-1-492-08992-6。如果你覺(jué)得示例代碼的使用方式可能不當(dāng)或超出上述許可范圍,請(qǐng)聯(lián)系我們加以確認(rèn),郵箱是 permissions@oreillycom。OReilly 在線學(xué)習(xí)平臺(tái)(OReilly Online Learning)近40 年來(lái),OReilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見(jiàn)解,來(lái)幫助眾多公司取得成功。公司獨(dú)有的專家和改革創(chuàng)新者網(wǎng)絡(luò)通過(guò)OReilly 書籍、文章以及在線學(xué)習(xí)平臺(tái),分享他們的專業(yè)知識(shí)和實(shí)踐經(jīng)驗(yàn)。OReilly 在線學(xué)習(xí)平臺(tái)按照您的需要提供實(shí)時(shí)培訓(xùn)課程、深入學(xué)習(xí)渠道、交互式編程環(huán)境以及來(lái)自O(shè)Reilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請(qǐng)?jiān)L問(wèn)網(wǎng)站:https://wwworeillycom/。聯(lián)系我們?nèi)魏斡嘘P(guān)本書的意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系出版社。美國(guó):OReilly Media, Inc1005 Gravenstein Highway NorthSebastopol, CA 95472中國(guó):北京市西城區(qū)西直門南大街2 號(hào)成銘大廈C 座807 室(100035)奧萊利技術(shù)咨詢(北京)有限公司我們?yōu)楸緯隽艘粋(gè)網(wǎng)頁(yè),將勘誤信息、示例和其他附加信息列在上面。其地址是https://oreilly/practical-sims-for-ML。對(duì)本書的評(píng)論或技術(shù)性問(wèn)題,請(qǐng)發(fā)電子郵件至:errata@oreillycomcn。如欲了解OReilly 圖書、培訓(xùn)課程、會(huì)議和新聞的更多信息,請(qǐng)?jiān)L問(wèn)網(wǎng)站:http://wwworeillycom。我們的Facebook:http://facebookcom/oreilly。我們的Twitter:http://twittercom/oreillymedia。我們的YouTube:http://youtubecom/oreillymedia。致謝Mars 想感謝家人和本書其他幾位作者的支持。她還想感謝塔斯馬尼亞大學(xué)信息與通信技術(shù)學(xué)院的同仁和澳大利亞技術(shù)社區(qū)所給予的所有機(jī)會(huì)。Jon 感謝父母和日益壯大的大家族其他成員的大力支持。Paris 想把感謝送給母親,沒(méi)有她,他幾乎不可能做任何趣事,更不必說(shuō)寫書。他還想感謝妻子Mars(同為本書作者)和所有朋友(他有幸跟其中幾位共同寫作本書。。Tim 感謝父母和其他家人坦然接受自己相當(dāng)平凡的人生。我們幾位作者一致感謝人中翹楚Michele Cronin,其技能和建議對(duì)本書成書極其寶貴。Paris 為自己在我們會(huì)議期間經(jīng)常帶偏話題而抱歉,但大家能聊得投機(jī),其實(shí)很有意思!我們真心期盼未來(lái)跟你做更多項(xiàng)目!我們特別感謝友人 O Reilly Media 前編輯Rachel Roumeliotis。開(kāi)會(huì)間隙,我們一起喝咖啡的時(shí)光令人懷念。寫作過(guò)程,我們跟OReilly Media 多位員工打過(guò)交道,真心謝謝他們。我們特別感謝Chris Faucher,其團(tuán)隊(duì)不僅工作出色,而且對(duì)我們有驚人的耐心。我們還想把感謝送給優(yōu)秀的文字編輯Elizabeth Oliver。你專業(yè)、有趣、才華橫溢。寫書真令人恐懼。我們要深深感謝Tony Gray 和Apple University Consortium(http://wwwauceduau)使勁推了我們和本頁(yè)提及的其他同仁一把。若不是他們,我們就不會(huì)寫這本書。而且,Tony,你現(xiàn)在也投身寫作,真對(duì)不!我們還想感謝Neal Goldstein。寫書過(guò)程興奮又辛酸,皆拜其所賜。我們非常感激MacLab 伙計(jì)們(他們頗有自知之明,并一如既往監(jiān)督Admiral Dolphin 團(tuán)隊(duì)那不可避免的自我封神行徑) 的大力支持。我們還想感謝Christopher Lueg 教授、Leonie Ellis 博士以及塔斯馬尼亞大學(xué)的新老員工對(duì)我們的百般寬容。我們還要感謝 Dave J、Jason I、Adam B、Josh D、Andrew B 和Jess L 等給予我們靈感和幫助的所有人。我們特別感謝蘋果公司團(tuán)隊(duì),沒(méi)有其工程師、作者和藝術(shù)師等員工的辛勤工作,本書(和大量同類書籍)就不可能問(wèn)世。我們還想感謝技術(shù)審校!他們把關(guān)徹底,反饋專業(yè),對(duì)我們工作充滿熱情。本書問(wèn)世,也離不開(kāi)他們。他們那極其挑剔的態(tài)度,我們很欣賞!真心話!最后,非常感謝你購(gòu)買本書,我們很感激!期待你的反饋! Paris Buttfield-Addison是游戲設(shè)計(jì)師、計(jì)算研究員和法律精英。他還是游戲開(kāi)發(fā)工作室Secret Lab的聯(lián)合創(chuàng)始人。Mars Buttfield-Addison是塔斯馬尼亞大學(xué)計(jì)算和機(jī)器學(xué)習(xí)研究員。Tim Nugent是移動(dòng)端應(yīng)用開(kāi)發(fā)者、游戲設(shè)計(jì)師和計(jì)算研究員。Jon Manning是軟件工程專家,精通Swift、C#和Objective-C。他同為Secret Lab的聯(lián)合創(chuàng)始人。他開(kāi)發(fā)的對(duì)話框架Yarn Spinner廣泛應(yīng)用于游戲開(kāi)發(fā)。 目錄
你還可能感興趣
我要評(píng)論
|