神經網絡與深度學習(序)

這一系列是翻譯和備註在線書籍: http://neuralnetworksanddeeplearning.com/

Neural Networks and Deep Learning is a free online book. The book will teach you about: 
《神經網絡與深度學習》是一本免費的在線書籍,這本書將告訴你:

  • Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data
  • 神經網絡, 一種優美的深受生物學啓發的編程範式。它允許計算機從觀測數據中進行學習。
  • Deep learning, a powerful set of techniques for learning in neural networks
  • 深度學習,神經網絡機器學習中的一個強有力的集合。

Neural networks and deep learning currently provide the best solutions to many problems in image recognition, speech recognition, and natural language processing. This book will teach you many of the core concepts behind neural networks and deep learning. 
神經網絡與深度學習現在爲解決許多問題提供了最佳解決方案,例如圖像識別、語音識別和自然語言分析。這本書將告訴你許多神經網絡與深度學習後面的核心概念。

About 序言

Neural networks are one of the most beautiful programming paradigms ever invented. In the conventional approach to programming, we tell the computer what to do, breaking big problems up into many small, precisely defined tasks that the computer can easily perform. By contrast, in a neural network we don’t tell the computer how to solve our problem. Instead, it learns from observational data, figuring out its own solution to the problem at hand. 
神經網絡是已發明的最優美的編程範式之一。在傳統的編程中,我們告訴計算機如何去工作,例如將大的問題分解成許多小問題,精確的定義計算機能輕易執行的任務。相比之下,在神經網絡中我們並不告訴計算機如何去解決我們的問題。相反,計算機從觀測數據中自己學習,逐漸得出它自己對問題的解決方案。

Automatically learning from data sounds promising. However, until 2006 we didn’t know how to train neural networks to surpass more traditional approaches, except for a few specialized problems. What changed in 2006 was the discovery of techniques for learning in so-called deep neural networks. These techniques are now known as deep learning. They’ve been developed further, and today deep neural networks and deep learning achieve outstanding performance on many important problems in computer vision, speech recognition, and natural language processing. They’re being deployed on a large scale by companies such as Google, Microsoft, and Facebook. 
自動從數據中學習聽起來很有前途。但是,直到2006年我們在很少特殊問題之外並不知道如何去訓練神經網絡來超過許多傳統方法。2006年一件事情改變這種狀況,那就是我們發現一種名爲深度神經網絡的機器學習技術。這就是現在廣爲流行的深度學習。他們還在向前發展,現在深度神經網絡與深度學習在許多重要領域內取得了引人注目的效果,例如機器視覺,語音識別和自然語言處理。大量的公司例如谷歌,微軟和Facebook,在使用它們。

The purpose of this book is to help you master the core concepts of neural networks, including modern techniques for deep learning. After working through the book you will have written code that uses neural networks and deep learning to solve complex pattern recognition problems. And you will have a foundation to use neural networks and deep learning to attack problems of your own devising. 
這本書的目標是幫助你掌握神經網絡的核心概念,包括深度學習的前沿技術。在完成本書的學習後,你將可以編寫代碼來使用神經網絡和深度學習來解決複雜的模式識別問題。並且你將擁有使用神經網絡和深度學習來解決你自己發現的問題的基礎。

A principle-oriented approach 原理方面

One conviction underlying the book is that it’s better to obtain a solid understanding of the core principles of neural networks and deep learning, rather than a hazy understanding of a long laundry list of ideas. If you’ve understood the core ideas well, you can rapidly understand other new material. In programming language terms, think of it as mastering the core syntax, libraries and data structures of a new language. You may still only “know” a tiny fraction of the total language - many languages have enormous standard libraries - but new libraries and data structures can be understood quickly and easily. 
本書的一個基本的認定是獲得一個對神經網絡和深度學習核心原則一致的理解好過對一長串概念的模糊理解。如果你很好的理解了核心概念,你就可以很快的理解其他新發展。就像編程語言方面,掌握新語言的核心語法、依賴庫和數據結構。你也許只“瞭解”整個語言的一點點——許多語言擁有龐大的標準庫——但是你可以很快很容易的掌握新的依賴庫和數據結構。

This means the book is emphatically not a tutorial in how to use some particular neural network library. If you mostly want to learn your way around a library, don’t read this book! Find the library you wish to learn, and work through the tutorials and documentation. But be warned. While this has an immediate problem-solving payoff, if you want to understand what’s really going on in neural networks, if you want insights that will still be relevant years from now, then it’s not enough just to learn some hot library. You need to understand the durable, lasting insights underlying how neural networks work. Technologies come and technologies go, but insight is forever. 
這就意味着本書明顯不是一本介紹如何使用某些特定神經網絡庫的指南。如果你就是想圍繞特定的庫來學習,請不要閱讀這本書!找到你想學的庫,圍繞它的指南和文檔去工作吧。但是要強調的是,儘管這麼做有直接的解決問題的收益,但是如果你想了解神經網絡中是如何運算,如果你想洞察從現在開始什麼是依然重要的,你就必須擁有對此長期的持續的洞察,這依賴於理解神經網絡是如何工作的。技術是不斷變化的,但洞察是永恆的。

A hands-on approach 實操方面

We’ll learn the core principles behind neural networks and deep learning by attacking a concrete problem: the problem of teaching a computer to recognize handwritten digits. This problem is extremely difficult to solve using the conventional approach to programming. And yet, as we’ll see, it can be solved pretty well using a simple neural network, with just a few tens of lines of code, and no special libraries. What’s more, we’ll improve the program through many iterations, gradually incorporating more and more of the core ideas about neural networks and deep learning. 
我們通過解決一個具體的問題:交計算機識別手寫數字,來學習神經網絡與深度學習後面的核心理念。這個問題用傳統方法來解決是非常難的。可是,我們可以看見使用簡單神經網絡可以是否漂亮的解決它,只需要小几十行代碼而且無需特殊的依賴庫。更進一步,我們將通過多次迭代來提升這個程序的效果,逐漸觸及越來越多神經網絡與深度學習的核心概念。

This hands-on approach means that you’ll need some programming experience to read the book. But you don’t need to be a professional programmer. I’ve written the code in Python (version 2.7), which, even if you don’t program in Python, should be easy to understand with just a little effort. Through the course of the book we will develop a little neural network library, which you can use to experiment and to build understanding. All the code is available for download here. Once you’ve finished the book, or as you read it, you can easily pick up one of the more feature-complete neural network libraries intended for use in production. 
這個動手實踐的方法意味着你需要一些編程經驗來閱讀本書。不過你不需要是一個專業的程序員。我用Python(version 2.7)編寫的代碼,即使你不會用Python編程,通過小小的努力你也應該很容易理解。通過本書的課程我們將開發一個小的神經網絡庫,你可以使用它來做實驗和更好理解課程。所有的代碼都可以在這裏下載。一旦你讀完本書,或者正在閱讀本書,你可以很容易的從衆多版本的神經網絡庫中爲生產選擇一個。

On a related note, the mathematical requirements to read the book are modest. There is some mathematics in most chapters, but it’s usually just elementary algebra and plots of functions, which I expect most readers will be okay with. I occasionally use more advanced mathematics, but have structured the material so you can follow even if some mathematical details elude you. The one chapter which uses heavier mathematics extensively is Chapter 2, which requires a little multivariable calculus and linear algebra. If those aren’t familiar, I begin Chapter 2 with a discussion of how to navigate the mathematics. If you’re finding it really heavy going, you can simply skip to the summary of the chapter’s main results. In any case, there’s no need to worry about this at the outset. 
相關的要求,閱讀本書對數學的要求是適度的。在大多數章節有數學要求,不過通常只是初等代數和函數圖象,我希望大多數讀者對這些要求沒有問題。我偶爾會用到更高等的數學,不過也組織好了資料,這樣即使你記不起來某些數學細節也可以跟得上。第二章大規模的使用了更高等的數學,它需要多變量微積分和線性代數。如果對這些不熟悉,在第二章的開始我討論瞭如何操縱數學。如果你發現它真的很難,你可以簡單的忽略它們,只看對章節結論的彙總。不論怎樣,在開始的時候沒必要擔心這個。

It’s rare for a book to aim to be both principle-oriented and hands-on. But I believe you’ll learn best if we build out the fundamental ideas of neural networks. We’ll develop living code, not just abstract theory, code which you can explore and extend. This way you’ll understand the fundamentals, both in theory and practice, and be well set to add further to your knowledge. 
很少有書能兼顧原理方面和實操方面。不過我相信如果我們吃透了神經網絡的基本概念你可以學習的很好。我們將開發實際代碼,你可以分發和擴展它們,而不僅僅是抽象的理論。這意味着你將理解基本原則,不論是理論上的還是實踐上的,同時可以很好的加入你自己的知識。

轉自:http://blog.csdn.net/forrestyanyu/article/details/54666839

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章