人工智能實(shí)踐——?jiǎng)邮肿瞿阕约旱腁I
定 價(jià):96 元
本書通過五個(gè)有趣的項(xiàng)目,帶領(lǐng)讀者在理解原理的同時(shí),動(dòng)手編寫代碼,實(shí)現(xiàn)自己的人工智能應(yīng)用。這五個(gè)項(xiàng)目分別是:圖像識(shí)別、圖像風(fēng)格遷移、文本生成、角斗士游戲和紅綠燈調(diào)度。
● 本書為本叢書中的第四冊。
● 人工智能作為引領(lǐng)未來的戰(zhàn)略性技術(shù),世界各國都高度重視。近年來,人工智能已經(jīng)成為國家、研究機(jī)構(gòu)、企業(yè)、高校關(guān)注的焦點(diǎn)。隨著大數(shù)據(jù)時(shí)代的到來,以及計(jì)算能力的提升,人工智能在技術(shù)領(lǐng)域的突破日新月異。本書精心挑選了五個(gè)實(shí)踐項(xiàng)目,將帶領(lǐng)讀者們一邊理解原理,一邊編寫代碼,以理論與實(shí)踐相結(jié)合的方式認(rèn)識(shí)人工智能。另外,為了能夠滿足不同層次讀者的需要,設(shè)計(jì)了多條學(xué)習(xí)路徑,使不同層次的讀者都能體驗(yàn)人工智能的神奇。零基礎(chǔ)的讀者,僅通過閱讀本書就能快速地了解用到的算法;對編程感興趣的讀者,可了解書中介紹的每一種算法,并根據(jù)給出的Python代碼,配合注釋與講解,嘗試一步一步編寫AI算法;沒有編程基礎(chǔ)的讀者,可以通過可視化拖拽式的方法體驗(yàn)AI系統(tǒng);有編程經(jīng)驗(yàn)的讀者,可以通過DIY方式搭建自己的AI系統(tǒng)。
Talkischeap,showmethecode,大名鼎鼎的Linux系統(tǒng)創(chuàng)始人林納斯·本納第克特·托瓦茲(LinusBenedictTorvalds)在2000年給編寫Linux系統(tǒng)核心的成員群發(fā)了一封郵件,里面提到了這句話,翻譯成中文就是多說無益,給我看你的代碼!這句名言在計(jì)算機(jī)科學(xué)屆廣為流傳并奉為金句。計(jì)算機(jī)作為一門實(shí)踐性很強(qiáng)的學(xué)科,理解理論后動(dòng)手寫出可運(yùn)行的、能看到成果的代碼才是硬道理。人工智能是計(jì)算機(jī)科學(xué)中應(yīng)用場景多的子學(xué)科之一,這更需要學(xué)習(xí)者在理解原理后,動(dòng)手實(shí)踐、應(yīng)用算法解決實(shí)際問題。正所謂紙上得來終覺淺,絕知此事要躬行。所以在2018年的夏天,俞勇教授組建了我們這支編寫團(tuán)隊(duì),開始嘗試編寫針對青少年的項(xiàng)目實(shí)踐教程。初的內(nèi)容包括圖像上色、英語語法單選題與角斗士桌游。在教程中,我們努力用淺顯的語言將復(fù)雜的人工智能算法講明白,并且提供了相應(yīng)的代碼和可在線交互的展示。一些中學(xué)生看了我們編寫的這些教程之后給出了一致的好評,這也讓我們產(chǎn)生了將其拓展為一套給青少年看的關(guān)于人工智能的叢書的想法。2019年初,我們給這套叢書加入了更多關(guān)于實(shí)踐的內(nèi)容,引導(dǎo)讀者一邊理解原理,一邊編寫代碼,理論與實(shí)踐相結(jié)合地認(rèn)識(shí)人工智能。在本書中,我們精心安排了5個(gè)兼顧項(xiàng)目的有趣程度、使用技術(shù)的流行程度,以及盡可能涵蓋更多知識(shí)的項(xiàng)目。編寫本書的過程中,我們也努力精簡知識(shí),僅介紹與項(xiàng)目任務(wù)相關(guān)的必要知識(shí),希望能夠讓零基礎(chǔ)的讀者,僅通過閱讀本書也能快速地了解用到的算法。對每一種算法,我們都會(huì)給出python代碼實(shí)現(xiàn),配合注釋與講解,引領(lǐng)讀者一步一步編寫人工智能算法。5個(gè)項(xiàng)目各由我們編寫團(tuán)隊(duì)中的一到兩位編者負(fù)責(zé),每周俞勇教授與張偉楠教授都會(huì)與編者們開例會(huì)、審閱進(jìn)度,并討論可以改進(jìn)的地方。在編寫教材的同時(shí),我們還與實(shí)驗(yàn)平臺(tái)的開發(fā)人員合作,提供了線上可交互的展示,方便讀者理解項(xiàng)目與算法。編寫本套叢書前后歷時(shí)近一年,俞勇教授、張偉楠教授與編者們投入了大量的心血,希望能幫助青少年理解并自己實(shí)現(xiàn)人工智能算法,培養(yǎng)對人工智能的興趣,為將來更深入地探索人工智能打下基礎(chǔ)。
從本書中可以讀到我們將通過5個(gè)有趣的項(xiàng)目,帶領(lǐng)大家在理解原理的同時(shí),動(dòng)手編寫代碼,實(shí)現(xiàn)自己的人工智能應(yīng)用。本書的每一部分對應(yīng)一個(gè)項(xiàng)目,它們分別是:圖像識(shí)別:圖像識(shí)別是近幾年人工智能浪潮中,發(fā)展快、技術(shù)成熟、落地早的算法,如車牌識(shí)別、人臉識(shí)別的諸多基于圖像識(shí)別的技術(shù)正在改變著我們的生活。在這個(gè)項(xiàng)目中,你將了解機(jī)器如何處理圖像數(shù)據(jù),學(xué)習(xí)并編寫圖像識(shí)別的兩個(gè)經(jīng)典算法:K近鄰與卷積神經(jīng)網(wǎng)絡(luò),并解決手寫數(shù)字識(shí)別以及物體識(shí)別問題。圖像風(fēng)格遷移:圖像風(fēng)格遷移是一個(gè)非常有趣的項(xiàng)目。利用該技術(shù),人們可以將任意一張圖片轉(zhuǎn)換成其他的風(fēng)格。一些熱門的圖像處理軟件中就提供了類似功能,比如將照片轉(zhuǎn)化成馬賽克風(fēng)格甚至是梵高的畫作風(fēng)格。在本項(xiàng)目中,你將嘗試實(shí)現(xiàn)3種圖像風(fēng)格遷移算法。文本生成:與文本相關(guān)的智能技術(shù)隨著人工智能浪潮也得到了快速發(fā)展。在這個(gè)項(xiàng)目中,你將了解機(jī)器處理文本數(shù)據(jù)的方法,并學(xué)習(xí)和編寫3個(gè)用于文本生成的算法。使用該算法,可以讓機(jī)器生成古詩甚至是文章。角斗士:角斗士是一個(gè)熱門的桌面游戲。在這個(gè)項(xiàng)目中,你將學(xué)習(xí)并使用各類搜索算法,制作角斗士游戲的AI。與上面3個(gè)項(xiàng)目不同的是,本項(xiàng)目中你將次接觸到教機(jī)器作出決策,讓機(jī)器作出正確的決策是邁向真正智能的重要一步。紅綠燈調(diào)度:大城市中如何緩解交通擁堵是一個(gè)廣受關(guān)注的問題。在這個(gè)項(xiàng)目中,就是使用強(qiáng)化學(xué)習(xí)算法來優(yōu)化紅綠燈的控制,以達(dá)到緩解擁堵的目的。強(qiáng)化學(xué)習(xí)是近幾年非常熱門的領(lǐng)域,大名鼎鼎的AlphaGo就是使用強(qiáng)化學(xué)習(xí)算法戰(zhàn)勝了所有人類棋手。你將了解強(qiáng)化學(xué)習(xí)算法的基本概念,并嘗試編寫強(qiáng)化學(xué)習(xí)算法來控制路口的紅綠燈。
如何使用這本書本書沒有嚴(yán)格的閱讀順序要求,你可以選擇自己感興趣的項(xiàng)目直接閱讀,若提到了其他項(xiàng)目中的概念均會(huì)給出提示。除了算法原理,本書還包含了大量示例代碼。如果想要理解這些代碼,你需要有一些python基礎(chǔ)編程知識(shí),包括變量、循環(huán)、函數(shù)、類、庫的使用等。如果想要入門python,你可以訪問伯禹學(xué)堂中的python基礎(chǔ)課程(www.boyu.ai/pythonbasics)。本書的所有代碼都基于Anaconda35.2.0版本用python3實(shí)現(xiàn),Anaconda是一個(gè)免費(fèi)的python發(fā)行版,包含了大量常用的庫,非常易于安裝,強(qiáng)烈建議你在學(xué)習(xí)過程中安裝使用。項(xiàng)目中的代碼示例可以在github.com/boyuai/textbook下載。另外,本書配有實(shí)驗(yàn)平臺(tái)(www.boyu.ai/playground),為書中涉及的項(xiàng)目提供一個(gè)交互式的學(xué)習(xí)體驗(yàn)。對每個(gè)任務(wù),我們提供了體驗(yàn)、調(diào)試、理解源碼、源碼填空、改進(jìn)源碼5個(gè)階段。不同基礎(chǔ)背景的讀者可以選擇不同的階段入門:零基礎(chǔ)的讀者可以通過體驗(yàn)算法了解人工智能的魅力,基礎(chǔ)較好的讀者可以自己編寫代碼改進(jìn)算法。我們希望你通過閱讀本書,至少可以達(dá)到理解項(xiàng)目內(nèi)容、掌握算法原理和能夠進(jìn)行基本的算法實(shí)現(xiàn)的程度。若你對學(xué)習(xí)人工智能的積極性非常強(qiáng),希望你能在實(shí)驗(yàn)平臺(tái)上多多地嘗試改進(jìn)代碼,并創(chuàng)造屬于自己的人工智能算法。本書的內(nèi)容僅包含5個(gè)項(xiàng)目的知識(shí)以及代碼。如果希望系統(tǒng)地學(xué)習(xí)人工智能算法,建議閱讀本套叢書的第三本《人工智能技術(shù)入門:讓你也看懂的AI內(nèi)幕》;如果對人工智能的發(fā)展歷史與未來展望感興趣,建議閱讀本套叢書的本《從人腦到人工智能:帶你探索AI的過去和未來》;如果對人工智能在生活中的具體應(yīng)用感興趣,建議閱讀本套叢書的第二本《人工智能應(yīng)用:酷炫的AI讓你腦洞大開》。
致謝本書的主要參與編寫人員有16位,俞勇教授策劃并確定本書架構(gòu)、內(nèi)容組織及審核,張偉楠博士對全書內(nèi)容進(jìn)行專業(yè)指導(dǎo)及審核,張惠楚與秋聞達(dá)編寫部分,蘇起冬與徐逸凡編寫第二部分,侯博涵與蔡亞星編寫第三部分,趙寒燁與任云瑋編寫第四部分,錢蘇澄編寫第五部分。書中的卡通插畫的設(shè)計(jì)與繪制由陳子薇完成。感謝陳子薇繪制本書的卡通插圖,實(shí)驗(yàn)平臺(tái)由王思捷、馮思遠(yuǎn)開發(fā),并感謝任侃、沈鍵及潘哲逸在編寫時(shí)提供的幫助。
俞勇,上海交通大學(xué)電子信息與電氣工程學(xué)院教授、博士生導(dǎo)師,中國計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)教育專業(yè)委員會(huì)常務(wù)理事。 先后獲和上海市教學(xué)成果獎(jiǎng)9項(xiàng)、上海市優(yōu)秀教材獎(jiǎng)2項(xiàng),并獲國務(wù)院特殊津貼、全國模范教師、全國師德標(biāo)兵、上海市五一勞動(dòng)獎(jiǎng)?wù)、寶鋼?yōu)秀教師特等獎(jiǎng)、上海市教學(xué)名師、上海市模范教師、上海交通大學(xué)受學(xué)生歡迎教師等榮譽(yù)。入選首批國家高層次人才特殊支持計(jì)劃教學(xué)名師。教學(xué)方面,主編教材及著作6本、譯著2本。先后主持*教育教學(xué)改革項(xiàng)目2項(xiàng),主持國家精品課程數(shù)據(jù)結(jié)構(gòu)及上海市程序設(shè)計(jì)類基礎(chǔ)課程教學(xué)團(tuán)隊(duì),主持*質(zhì)量工程項(xiàng)目4項(xiàng),發(fā)表教育教學(xué)研究論文6篇,率隊(duì)奪得ACM國際大學(xué)生程序設(shè)計(jì)競賽世界冠軍3次。科研方面,主要從事數(shù)據(jù)與知識(shí)管理研究。先后承擔(dān)10多個(gè)國際會(huì)議、研討會(huì)等程序委員和主席,國際期刊編輯。先后主持10多項(xiàng)國家自然科學(xué)基金和863項(xiàng)目、30多項(xiàng)企業(yè)合作項(xiàng)目,發(fā)表重要國際會(huì)議和期刊論文近300篇,被引用11000余次。指導(dǎo)的博士生獲全國優(yōu)秀博士學(xué)位論文提名獎(jiǎng)1次、上海市優(yōu)秀博士學(xué)位論文獎(jiǎng)1次,指導(dǎo)的碩士生獲上海市優(yōu)秀碩士學(xué)位論文獎(jiǎng)2次。
前言 1第1部分圖像識(shí)別章圖像識(shí)別的基礎(chǔ)知識(shí) 10第二章K近鄰算法 22第三章卷積神經(jīng)網(wǎng)絡(luò) 29第2部分圖像風(fēng)格遷移第四章圖像風(fēng)格遷移基礎(chǔ)知識(shí) 52第五章色彩的模仿 K近鄰算法 53第六章像素級別梯度優(yōu)化 58第七章生成對抗網(wǎng)絡(luò) 72第3部分文本生成第八章文本生成基礎(chǔ)知識(shí) 98第九章n元語法模型 從數(shù)數(shù)開始 102第十章循環(huán)神經(jīng)網(wǎng)絡(luò) 107第十一章編碼與解碼 seq2seq第4部分角斗士棋第十二章角斗士棋基礎(chǔ)知識(shí) 128第十三章常用的搜索算法 133第5部分紅綠燈調(diào)度第十四章紅綠燈調(diào)度基礎(chǔ)知識(shí) 152第十五章馬爾可夫決策過程 155第十六章Q-learning 160第十七章DeepQ-Network 165第十八章智能紅綠燈的代碼實(shí)現(xiàn) 170結(jié)語 187附錄一思考與實(shí)踐解答參考 188附錄二參考文獻(xiàn) 191