deeplearning ============ 机器学习研究如何使计算机系统利用经验改善性能。它是人工智能领域的分支,也是实现人工智能的一种手段。在机器学习的众多研究方向中,表征学习关注如何 自动找出表示数据的合适方式,以便更好地将输入变换为正确的输出,而本书要重点探讨的深度学习是具有多级表示的表征学习方法。在每一级(从原始数据开始) ,深度学习通过简单的函数将该级的表示变换为更高级的表示。因此,深度学习模型也可以看作是由许多简单函数复合而成的函数。当这些复合的函数足够多时, 深度学习模型就可以表达非常复杂的变换。 深度学习的一个外在特点是端到端的训练。也就是说,并不是将单独调试的部分拼凑起来组成一个系统,而是将整个系统组建好之后一起训练。除端到端的训练以外, 我们也正在经历从含参数统计模型转向完全无参数的模型。当数据非常稀缺时,我们需要通过简化对现实的假设来得到实用的模型。当数据充足时,我们就可以用能 更好地拟合现实的无参数模型来替代这些含参数模型。这也使我们可以得到更精确的模型,尽管需要牺牲一些可解释性。 相对其它经典的机器学习方法而言,深度学习的不同在于:对非最优解的包容、对非凸非线性优化的使用,以及勇于尝试没有被证明过的方法。这种在处理统计问 题上的新经验主义吸引了大量人才的涌入,使得大量实际问题有了更好的解决方案。尽管大部分情况下需要为深度学习修改甚至重新发明已经存在数十年的工具, 但是这绝对是一件非常有意义并令人兴奋的事。 深度学习框架主要包含: - MXNet - Tensorflow - Caffe - Theano - Torch - PyTorch 深度学习框架的出现降低了入门的门槛,你不需要从复杂的神经网络开始编代码,你可以根据需要选择已有的模型,通过训练得到模型参数,你也可以在已有模型 的基础上增加自己的layer,或者是在顶端选择自己需要的分类器和优化算法(比如常用的梯度下降法)。当然也正因如此,没有什么框架是完美的,就像一套积木 里可能没有你需要的那一种积木,所以不同的框架适用的领域不完全一致。 总的来说深度学习框架提供了一些列的深度学习的组件(对于通用的算法,里面会有实现), 当需要使用新的算法的时候就需要用户自己去定义,然后调用深度学习框架的函数接口使用用户自定义的新算法。 -------------------------------------------------------------------------------------------------------------------------------- .. toctree:: :maxdepth: 1 overview/install overview/concept overview/learing overview/regression overview/perceptron overview/activationfunction overview/bpn overview/optimizer overview/weightdecay overview/loss