空闲时:每天抽半小时到一小时。争取每次翻译10页左右。30天结束。
一种以原则为导向的方法
本书背后的信念是,让你更好的透彻的理解神经网络和深度学习的核心理念,而不是像一条冗长的洗衣单一样列出一堆模糊的想法。如果你已经很好的理解了核心思想,你可以快速理解其他新材料。用编程语言对比,把这理解为掌握一门新的编程的核心语法,库和数据结构。你可能只是知道整个语言的一小部分-很多语言有巨大的标准库-但是新库和数据结构可以更快和简单的被理解。
这意味着本书的重点不是作为一本如何使用一些特定神经网络库的教程。如果你主要想围绕库进行学习,不要读这本书。找到你想要的库,通过教程和文档完成。注意这点。可是这可以立即解决你的问题。如果你想理解神经网络真正发生了是什么,如果你想理解今后几年都不会过时的原理,仅仅学习一些热门库是不够的。你需要理解让神经网络工作的原理。技术来来去去,但是原理不变。
一个手动实践的方法
我们将通过解决具体的问题学习神经网络和深度学习背后的核心思想。这个问题是交计算机识别手写数字。用传统的编程方式解决这个问题极度困难。就像你看到那样,通过使用简单的神经网络,仅仅使用几十行代码并且不用特殊的库,就可以很完美的解决这个问题。而且,我们会通过多次迭代来改进程序,逐步融入神经网络和深度学习的核心思想。
实践方法意味着,你读这本书需要一些编程经验。但是你不需要是一个专业的编程者。我将使用Python(2.7)编程,即使你不使用Python编程,努力一下也可以很容易理解。通过本书的教程我们将开发一个小神经库,他可以用来实验和建立理解。所有的代码可以从这里下载。一旦你读完这本书,或者你正在读这本书,你可以轻松的学会一个功能更完善的神经网络库用于生产。
类似的,对读者数学的需要是适度的。大部分章节有一些数学公式,但是他们通常仅仅是初等代数和函数图,我期望大部分读者能看懂他。我有时会使用一些高等数学,但是已经组织了材料,让你不能理解一些数学细节,也能跟上。使用数学较多的章节是章节二,他需要一些多元微积分和线性代数。如果你对这些不熟悉,在第二章开头讨论如何通览的数学。如果你发现他真的很难继续,你可以直接跳到章节主要结果的讨论。不管如何,在开始时你不需要担心这些。
难得有书能兼顾原理和动手实践。但是我相信如果我们建出神经网络基本思想,是最好的学习方法。我们将开发实际能用的代码,而不是仅仅抽象的理论,代码可以探索和扩展。这个方式你将理解理论和实践的基础,并且扩展和提升你的知识面。
关于练习和问题
通常科技书的作者警告读者必须做练习和问题。当我读到这些警告时,总会感到很奇怪。如果我不做这些练习和问题,将发生什么坏事?当然不是。我获得了一些时间,但是抵消理解的深度。有些时候这是值得的,有些时候不是。
所以本书哪些是值得做的?我的建议是你应该尝试大部分练习,而不是做大部分问题。
你应该做大部分练习,因为他们检验你是否理解了材料。如果你不能解决相对简单的问题,你可能忘记了一些基础概念。当然,如果你偶尔困在一些问题上,继续前进--可能你只是对看到的部分有一些误解,或者我的措辞比较差。但是如果你做大部分练习都很挣扎,你可能需要重读一些之前的材料。
问题是另一回事。他们比练习更困难,你可能挣扎的解决一些问题。虽然很烦人,但是,当然,耐心的面对这些挫折可能是唯一的方式去理解和内化一门学科的方式。
就像之前所说的,我不要推荐做所有的问题。发现你自己的工程可能更好。可能你想要使用神经网络去分类你的音乐收藏。或者去预测股票价格。或者不论什么。但是找到一个你关心的工程。然后你可以忽略本书的问题,或者简单的应用到你自己的项目上。完成再多数量的题,也没为你关心的问题做斗争学的多。投入情感是精通技术的关键。
当然,你可能没有一个项目在你脑中,至少在当前。那很好。完成这些问题,会激发你继续努力。使用本书的材料将帮助你搜索个人创新项目的创意。