神经网络与深度学习(2)--这本书是关于什么的

神经网络是有史以来发明的最美丽的编程范例之一。在传统的编程方法中,我们告诉计算机该做什么,将大问题分解为计算机可以轻松执行的许多小的,精确定义的任务。相比之下,在神经网络中,我们不告诉计算机如何解决我们的问题。相反,它从观察数据中学习,找出自己解决手头问题的方法。

自动学习数据听起来很有酷,然而,2006年之前,除了一些专门的问题以外,我们还不知道如何超越传统的方法训练神经网络。2006年发生的变化是在所谓的深度神经网络中发现了学习技术。这些技术现在称为深度学习。它们得到了进一步的发展,如今深度神经网络和深度学习在计算机视觉,语音识别和自然语言处理等许多重要问题上都取得了突出的成绩。它们被谷歌,微软和Facebook等公司大规模部署。

本书的目的是帮助您掌握神经网络的核心概念,包括深度学习的现代技术。完成本书后,您将可以编写使用神经网络和深度学习的代码来解决复杂的模式识别问题。你将拥有使用神经网络和深度学习来解决你自己设计的问题的基础。

一种以原则为导向的方法

本书背后的一个信念是,最好是对神经网络和深度学习的核心原理有一个深刻的理解,而不是对长长的一系列想法进行朦胧的理解。如果您已经很好地理解了核心思想,那么您可以快速了解其他新材料。在编程语言术语中,将其视为掌握新语言的核心语法,库和数据结构。您可能仍然只“知道”总语言的一小部分 - 许多语言都有大量标准库 - 但可以快速,轻松地理解新的库和数据结构。

这意味着本书着重不是如何使用某些特定神经网络库的教程。如果您想学习某些库的用法,请不要阅读本书!您应该找到您想要学习的库,并完成教程和文档。但要注意。虽然这可以立即解决问题,但如果你想了解神经网络中究竟发生了什么,那么仅仅学习一些热门库是不够的。

亲自动手的方法

我们将通过解决一个具体问题来学习神经网络和深度学习背后的核心原则:教授计算机识别手写数字的问题。使用传统的编程方法很难解决这个问题。然而,正如我们所看到的,使用简单的神经网络可以很好地解决它,只需几十行代码,而且没有特殊的库。更重要的是,我们将通过多次迭代改进程序,逐步融入越来越多关于神经网络和深度学习的核心思想。

这种实践方法意味着您需要一些编程经验才能阅读本书。但你不需要成为一名专业的程序员。我已经用Python(2.7版)编写了代码,即使你不用Python编程,也应该只需要一点点努力就可以轻松理解。通过本书的过程,我们将开发一个小型神经网络库,您可以使用它来进行实验和建立更深的理解。所有代码都可以在这里下载 。完成本书或阅读本书后,您可以轻松选择一个用于生产的,功能更完善的神经网络库。

在相关的说明中,阅读本书的数学要求是适度的。在大多数章节中都有一些数学,但它通常只是初等代数和函数图,我希望大多数读者都能接受。我偶尔会使用更高级的数学,但是已经构建了这些材料,使你有一些数学细节可以遵循。使用数学较高级的章节是第2章,它需要一些多变量微积分和线性代数。如果您对那些不熟悉,我将从第2章开始讨论如何推导数学。如果你觉得它真的很重要,你可以直接跳到该章主要结果的摘要部分查看。无论如何,一开始就没有必要担心这个问题。

本书旨在既是面向原则又是面向实践的,当然,这种情况很少见。但我相信如果我们建立了神经网络的基本思想,你将会学习到很棒的东西。我们将开发生活代码,而不仅仅是抽象理论,您可以探索和扩展的代码。通过这种方式,您可以在理论和实践中理解基础知识,并为您的知识做好充分准备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值