推薦序
Johnny 是我們在念中學就認識的老友,一路上學習互相勉勵,在數理與電腦科學都十分投入的Johnny,從電子板端硬體開發一直到純軟演算法與AI 研究, 下了不少心血與努力,非常願意分享軟體開發中AI 的知識內容,從之前的Youtube 專題介紹讓讀者可以一步步漸進式學習,更集結大成整理出書真的很不容易。
從不同面向學習AI,即使是沒有開發過人工智能的讀者也能依照各章節理論與程式碼範例,建構出書中的內容,類神經網路常用於論文研究,近年來大量導入軟體開發當中,本書介紹的觀念正在現在與未來持續被實作著,車聯網、大數據、智能音箱助理、雲端伺服器... 等,各大領域都陸續前進著,我們的未來正在變成現在。
不論是軟體新鮮人或是工作十多年的軟體工程師,都建議閱讀此書,有效率的認識AI, 短期上能幫助實作在工作的上專案更能事半功倍,中長期上增進自身的能力與價值, 非常值得透過這本書投資自己!
Intel 英特爾 Software Engineer, Jamie Chang
近年來人工智慧的發展相當快速,工研院綠能所也將相關技術應用於節能減碳需求,如商辦的冰水空調系統,導入冰水設備全域優化控制系統,以負載預測、設備能耗預測等方法,進行整體空調水系統最小能耗運轉。隨著工業4.0 發展,過去部分產業大多仰賴老師傅經驗,導致技術傳承不易和品質不穩定,同時也造成能源浪費,藉由開發製程參數優化技術,以人工智慧演算法在最短時間內建立高度產線適應性之能耗與品質模型,加速實現智慧製造和節能技術。此書內容很詳細,以實作搭配觀念,把人工智慧程式常用的、重要的內容鉅細靡遺的說明,是一本相當適合踏入此領域學習的工具書,推薦給大家。
工業技術研究院 綠能所 智慧節能系統技術組 經理 趙浩廷
隨著生物醫學工程研究的應用需求, 科學家和學者們得到了很多重大進展, 也隨著醫學信息量的提升,高通量技術的資料應用在生物醫學領域中得到快速的推進,資訊技術對未來經濟與社會醫療發展具有重要的意義。例如: 在複雜的疾病發展中,為了分析複雜的基因序列變異,如何在廣泛的基因體資訊中,挖掘出變異實體識別的資訊成為一項重要的研究內容。
近年來, 落實變異命名實體識別的任務主要採用基於規則、機器學習和深度學習等方法,各種方法都有不錯的研究結果。另外,隨著深度學習架構的創建,醫學專業人員開始著手探索醫療資訊的專業辨識, 例如根據深度學習網路的預測輸入和放射治療(RT)結構來解決醫學圖像的各種盲點。Python 語言的易於學習與強大功能,可直接讀取與編輯DICOM 醫學影像, 節省醫療人員在深度學習技術上, 對於資料預處理和預測步驟中的大量時間。本書作者利用上述熱門的Python 語言, 由淺到深的引導讀者來撰寫程式,其中各種常用語法的意義, 巧妙地用一些例子讓讀者很快地明白如何使用,是一本可以從無到有的Python 語言入門書籍 從事教育事業多年的經驗上,推薦相關研究工作者可以將此書作為Python 語言的基礎教材,推進Python 在深度學習領域中的更多應用。
中國科學院大學 光電學院 副教授 陳靖容
強尼撰寫本書,用心之處在於將各種觀念用簡潔易懂的描述方式或是搭配圖示幫助讀者理解。
除了每一章節開始前,用日常生活的案例來說明此章節的用途,幫助讀者對內容的預先了解,對於初學Python 的讀者來說,是蠻好的入門教材。而在進入深度學習基礎的類神經網路章節,無可避免的數學式,搭配用心的圖示和程式碼的註解,簡潔易懂,對於想了解基礎的深度學習的讀者,應可獲得不少收穫。
台積電 3DIC 設計部門 副理 鄭詠守博士
這本書非常適合入門者由淺入深的理解深度學習與機器學習,作者幫大家列出了雲端資源Colab,可以不用自己安裝調試寫程式的環境,就可以開始寫出電腦程式。在整本書中,可以看到非常多的範例與情境,將Python 的語法特色列舉出來,經常是我讀到某處有疑問的時候,適合的範例就出現在下一段。
從19 章開始進入深度學習的介紹,裡面的比喻與一層一層漸進的說明,讓人不知不覺就碰觸到較深入的觀念而不覺得艱澀,搭配實例的程式對比就可以輕鬆實作。最後讀完才發現,電腦理解與學習的方式跟人類真是大不同。
不論只是好奇想要看看什麼是機器學習這樣時髦的詞彙,還是想要學習一門程式語言進入資訊科學的領域,我相信在閱讀以及進一步練習之後都可以順利達成。
半導體 化學製程 資深工程師 Luke Lin
我是一位AI 演算法工程師,目前在友達資訊部門研發AI 演算法,Johnny 是我多年認識的朋友,我和他會一同討論演算法的原理、效能與應用情境,Johnny總是專注在將一件事情變得淺顯易懂,以簡單的比喻來描述複雜的問題,此書就是用簡單的說明來教學如何入門深度學習領域。
這本書是適合給想要入門深度學習領域的第一本書,第一次閱讀時讓我以輕鬆愉快的心情複習了深度學習的基礎,尤其是在介紹卷積神經網路,總是以平易近人的說明讓讀者了解原理,而非艱澀難懂的數學符號。而且除了原理也有提供程式實作說明,讓完全不懂程式的人也能輕鬆上手。不管你是想要入門深度學習的初心者或正在學習但苦於難懂符號的學生,不要猶豫,這本書可以讓你豁然開朗,快速帶領你進門。
友達 AI 演算法工程師 李克耘
我是一位非程式控制背景的機械工程師,本身程式基礎薄弱,只有在大學時候修過C++ 以及工作上偶爾用到matlab 語法,當每次想要下定決心好好學個程式語言,往往因為書籍撰寫並未考慮到隔行如隔山的痛苦,每每在一開始進行後很快就因為看不懂而放棄。一開始我只是基於大學好友情誼想說幫忙看看哪裡有錯字,沒想到看著看著竟然能夠反饋哪個程式貼錯了,我想莫名其妙下我是被帶領看懂而能進一步有所回饋,這實在是很神奇。隨著章節的帶領,我發現語言這工具好像又更貼近了我一些,正好先前韓劇Start-Up 圍繞著AI 話題進行故事時,讓我了解這個年代若是能善用程式來與電腦溝通,電腦將會義無反顧地用他的運算速度來協助我們達到想做的事情。
這本書用口語將複雜的程式範例簡單化,尤其對於有點程式基礎的理工科學生來說,更能夠很快被引領進入狀況,我也因為看了這本工具書,決定將我執行分析重複性動作用Python 程式來取代,相信讓大家工作效率增加以及協助研究歸納程式化是本書作者期待的。
立錡科技 封裝開發部門 研發工程師 林士傑
我是一個 DotNet 軟體工程師,幾乎沒有 Python 的開發經驗,也沒有 Tensorflow 的相關知識,而因為這次的機會,我按照了這本書的內容,一步一步做,不只學會了Tensorflow 的基本運作流程,也學會了 Python 大致上的常用語法,他同時讓我了解了 Python 和 Tensorflow 的強大,由此可知 Johnny 對這本書是多麼的用心。
這本書真的很適合初學者,前面的章節會讓沒有 Python 開發經驗的人,一步一步的學會如何使用 Python,而後面關於 Tensorflow 章節和有大量的圖解說明,讓複雜的原理都變得簡單易懂,最貼心的是每個章節都有附上 Sample Code 輔助初學者快速上手,如果你是沒有 Python 開發經驗或是沒有 Tensorflow 相關知識,誠心推薦給你這本書,Johnny 為了初學者預想了很多狀況並且提供了解決辦法,確保你一定可以花最小的成本學會這些知識。
軟體工程師 Allen Tsao
近幾年來,AI 在一些領域上有了重大的突破,很多應用也慢慢融入到我們的生活中,像自動駕駛、圖像辨識、語音辨識... 等。本書作者使用最熱門的Python語言與Tensorflow 框架來介紹。從開發環境的選擇也推薦初學者使用的平台,詳細說明每個步驟,跟著作者的腳步可以減少前期摸索的時間;接著介紹Python 語法並也提供程式範例,讓初學者更容易了解與使用;後幾個章節就帶入深度學習的理論,此書用簡單的方式來描述複雜的理論,讓讀者在面對艱深的數學函數或抽象的類神經網路也能輕鬆且清楚了解其中的原理。
這本書很適合對深度學習有興趣的讀者,在作者循序漸近的方式引導初學者了解程式與理論,當你閱讀完本書會讓你不知不覺中進入到深度學習領域。
百漢應用 電控部經理 楊峻岳
作者自序
早期在學組合語言或C 語言,沒有太多參考資料與友善的介面下,花費大量時間也不一定會有好的成果,挫折感其實會蠻重的,於是很多學生不想在午夜夢迴因為程式碼而驚醒,紛紛選擇離開程式語言。
當然,我也不是上等聰明之人,學習時期的痛苦依然歷歷在目,心裡想著,計算機這麼簡單使用,那程式語言應該也要像這樣簡單使用,讓大家都會用,才能全面提升人類的工作效率。
直到Python 出現,簡單易學加上友善的介面,讓非資電領域的學生與專家都能夠快速地學習如何使用程式語言來輔助專題或工作上的效率。
時至2021 年,Python 已經普及到各個領域,延伸出來的教學書籍也相當多元,若現在的你剛好在書局,可以觀察一下Python 相關的書籍與其他程式語言的數量比較。
這幾年隨著半導體的進步,讓需要超大量計算的人工智慧有了大躍進,著名的事件有:
2016 年AlphaGo 在全球超過兩百萬人觀看下,擊敗了韓國棋王李世石。賽後的李世石說道:「我原本認為AlphaGo 只是能夠計算每一步機率的機器,但當我看到AlphaGo 下的棋步後,我改變我的想法,它真的下的非常有創意!」
2019 年AlphaStar 在即時戰略遊戲星海爭霸2(StarCraft II) 中大勝人類頂尖玩家,當時排名前十的職業玩家Grzegorz Komincz 表示,AlphaStar 在每場遊戲都採用不同的策略,能以相當人性化的方式進行遊戲。
2021 年AlphaFold 可以從蛋白質的序列來預測蛋白質的結構,若能精準預測蛋白質架構,就能夠知道蛋白質的功能,有助於開發治療疾病的藥物,這也意味著人工智慧已經開始協助人類解開生命起源的秘密。
為了讓人工智慧普及,GOOGLE、FACEBOOK 等大型企業紛紛推出免費開源的人工智慧框架,讓各行各業的專家能夠快速地應用。
本書的目的也是期望以比喻、圖說及程式碼解釋讓想學習程式語言與人工智慧的讀者能夠輕鬆地學習,了解每個步驟的來由。
書中提供兩種方式進行程式的撰寫,一種是本機電腦安裝Jupyter 來進行程式的撰寫,另一種是COLAB,同樣是以Jupyter 為基礎的開發介面,差別在於不用下載安裝任何程式,直接開啟瀏覽器就可以開始你的程式撰寫,即使在咖啡館也能夠優雅地寫上幾行程式碼。
兩種方式的使用介面幾乎相同,也都是在瀏覽器上進行開發,讀者們可以依照自己的需求來選擇,相當方便。
本書內容主要分成三部分
1. 19 章之前是基礎的Python 語法認識與使用
2. 19 ~ 24 章是類神經網路的理論、建立與訓練
3. 25 ~ 27 章是專題實作,教導如何訓練能夠判斷是否有戴口罩的模型
撰寫此書的另一個初衷是要寫一本自己也會翻找的書,內容的安排就像是我的自學歷程或是學習筆記,紀錄下我在學習期間的重點,哪天忘了也可以回去查閱。
本書的教學程式碼請至以下載
z 出版社網頁的資源下載頁面
z 作者的 Github https://github.com/highhand31
希望這本書能夠為你打開人工智慧的大門~
Johnny 廖源粕
FB 粉絲專頁、Youtube 頻道請搜尋JohnnyAI