- 深度學習原理與PyTorch實戰(第2版)
- 集智俱樂部
- 1318字
- 2022-11-23 12:38:14
推薦序
“理解復雜世界”是生活在這個星球上的所有人共同的愿望。
4000多年前,埃及人通過觀察發現,當夏天黎明天狼星于東方升起時,尼羅河就會開始洪水泛濫。中國的先民由于積累了大量的觀察記錄,發展出了用來指代理性思考于腦中仿真的文字符號——“預”。“預”字的左邊(予)表示“通過”,右邊(頁)表示“頭腦”,合起來是指讓想象情景過腦,這也象征了人類獨特的智能行為——“預測”。
隨著智能技術的逐步發展,人類觀察世界的工具也有了質的飛越,從最早的肉眼觀察記錄,逐步發展出了通過實驗和理論來推演思辨的方式。但隨著知識的累積,人類發現世界上難以理解的事情與日俱增,這時才意識到過去犯了一個嚴重的錯誤,那就是企圖用“簡化的模型來描述世界”。問題是,這個世界本就不簡單,因此任何企圖化繁為簡的舉動都會讓我們離真實越來越遠。
既然簡化模型這條路行不通,那就正面挑戰這個世界的復雜性吧!深度學習開山鼻祖辛頓為我們帶來了挑戰復雜性的最新武器。從語音識別、計算機視覺,到自然語言,這些我們過去認為計算機不可能完成的任務,都被深度學習逐步破解。深度學習的關鍵正是計算機不再只靠人為的規則編程,而是用數據進行編程,重現這個世界的復雜性。
但現實中的深度學習工具并不友好。例如,TensorFlow雖然是一款主流的深度學習框架,但其語法難以跨版本兼容且啰唆繁雜,函數改名頻率過高。雖然有了挑戰復雜性的關鍵“神器”,但是要想將它切實應用,還要有讓人思維更清晰的分析框架。
2017年初,Facebook公司推出了全新的深度學習框架——PyTorch。
在深度學習頂級會議ICLR的提交論文中,提及PyTorch的論文數從2017年的87篇激增到2018年的252篇,而提及TensorFlow的論文數量卻沒有太大的起伏(從2017年的228篇提升至2018年的266篇),甚至快被PyTorch追平了。同時,隨著PyTorch 1.0的問世以及ONNX(Open Neural Network Exchange)深度學習開發生態的逐漸完備,PyTorch無疑成為眾多深度學習框架中值得期待的明日之星。
我們在研究深度學習時常常會有一個疑問:既然深度學習要正面解決世界的復雜性,為何現有的深度學習框架卻處處是人為的簡化呢?比如圖片必須固定大小、句子必須固定長度,等等。如果你對于這種束縛感到厭倦,那么使用動態計算圖的PyTorch可能會是更好的選擇。如果你擔心動態計算圖難以理解,那么本書將會是你學習和理解PyTorch過程中的最佳幫手,它將神經網絡、計算圖、自動微分、梯度反傳等概念用清晰的文字表達了出來。更重要的是,它很少用到數學公式。
學習技術的過程其實和深度學習的模型一樣,需要通過梯度下降的引導,才能逐漸找到復雜問題的最優解。學習任何新事物,只有遵循正確的學習路線,才有可能將基礎打牢,進而融會貫通。尤其是對于深度學習這樣處于發展中的年輕學科,從各種雜亂的來源中找出接近真相的信息,恐怕是學習中最大的障礙。
由張江老師領銜的集智俱樂部一直是國內復雜系統與深度學習社群中的領頭羊,長期為推廣技術和培育新生科研種子而努力。集智俱樂部創作的這本《深度學習原理與PyTorch實戰》通過豐富的案例和清晰的講解,帶你找到正確的深度學習修煉路線,直至達到最佳學習狀態,而不必像隨機梯度下降般迂回繞路。
讀完本書,你會發現,有了強大的工具和便捷的方法,深度學習竟然可以如此簡單。
尹相志
臺灣微軟數據科學金牌講師
中國微軟加速器專家顧問,集智學園人工智能金牌講師
- Rust編程:入門、實戰與進階
- C# 2012程序設計實踐教程 (清華電腦學堂)
- 機器人Python青少年編程開發實例
- SSM輕量級框架應用實戰
- C#程序設計
- 深入RabbitMQ
- Working with Odoo
- Learning Apache Cassandra
- 深入理解C指針
- Windows Phone 8 Game Development
- Training Systems Using Python Statistical Modeling
- Practical Maya Programming with Python
- TypeScript圖形渲染實戰:2D架構設計與實現
- Node.js 6.x Blueprints
- 3ds Max 2018從入門到精通