神经网络和深度学习

作者: TryEnough | 来源:发表于2017-11-03 12:20 被阅读96次
    neural networks.jpg
    我是薛银亮,感谢英文原版在线书籍,这是我学习机器学习过程中感觉非常适合新手入门的一本书。鉴于知识分享的精神,我希望能将其翻译过来,并分享给所有想了解机器学习的人,本人翻译水平有限,欢迎读者提出问题和发现错误,更欢迎大牛的指导。因为篇幅较长,文章将会分为多个部分进行,感兴趣的可以关注我的文集,文章会持续更新。

    在这本神经网络和深度学习的书籍中,你将学会这些:

    • 神经网络,一种受生物启发的编程技术,能从已有的观测数据中学习的技术
    • 深度学习,一套强大的神经网络学习技术

    目前,神经网络和深度学习提供了对图像识别、语言识别以及自然语言处理等等问题的解决方案。这里将会提供很多关于神经网络和机器学习的核心对比。

    关于

    神经网络是一种最美妙的编程规范(方法)。在传统的编程方法中,我们需要告诉计算机每一步要干什么,通过拆解一个大的问题成为很多小问题,并清晰的为计算机定义好简单执行的程序来完成我们的需求。但是在神经网络中我们并不告诉计算机如何解决我们的问题。相反的,它(计算机)通过从已有数据中自己学习,找到解决手头问题的方法。

    自动从数据中学习听起来非常靠谱,但是一直到2006年我们(人类)都没能知道如何才能使神经网络在一些指定领域的解决能力超过传统的编程方法。但是今天神经网络和深度学习被很多大公司,例如Google、Microsoft、Facebook、Baidu etc...应用在计算机视觉、语音识别和自然语言处理等各个领域。

    这里的一系列文章的目的是帮助你掌握深度学习和神经网络的核心概念。通过学习这些,你将会写一些使用神经网络和深度学习的代码来处理图像识别问题。并且你将能够会使用这些基础来处理你感兴趣的其他问题。

    方法指导

    学习时,要注重理解神经网络和深度学习的核心理论,而不是那一系列的建议。因为这样你可以将你理解的理论快速的应用在其他的领域。在编程语言的使用中,主要考虑核心的语法、库以及数据结构。因为一门语言有太多的库,我们没有那么多的精力去全部学习,把精力集中在关键的地方就好。

    这里并不会指导如何使用一些神经网络的库。如果你想学习关于一些类似库的使用,请到相应的官网去阅读。但是请注意:虽然直接学习一些库能在短时间内解决一些问题,但是如果你想了解神经网络中究竟干了什么以及为什么这么干,并希望应用这些思路来解决你自己的问题,那么仅仅学习那些库是不够的。你需要去学习神经网络工作的原理。这样才能走的更远。Technologies come and technologies go, but insight is forever.

    动手实践

    我们会通过使用计算机识别手写数字的例子来学习神经网络和深度学习的核心原理。动手实现意味着你需要一些编程经验,但是你并不需要是一个很牛逼的程序员。这里的代码是使用的Python(version 2.7)。这里会使用一点神经网络的库,你可以使用这些库来做试验。所有的代码都可以在这里下载demo,在完成这写文章学习之后,你可以轻松的获取完整的神经网络库,并使用它来工作。

    另外,阅读这些文章可能需要一些数学功底,但是不要太害怕,因为这些是相对比较基础的数学,为了让更多读者明白,我将会尽量解释清楚。尤其在第二章节会用更多的数学公式,这需要微积分和线性代数的知识基本就可以理解。一般来说(天朝)国内本科的基础课程都会有所涉及。如果你觉得实在是搞不懂这些,可以跳过这些算法概念,直接看结果。

    这里的文章是市面上非常稀缺的同时兼顾理论和实践的。我相信我们能一起建立自己的简单神经网络。

    这里是开篇,接下来我将会呈现第一章: 使用神经网络识别手写字。欢迎继续阅读我的下一篇文章。如果你能从我的文章获得一些进步,我建议你可以关注我或打赏。

    下一篇

    相关文章

      网友评论

        本文标题:神经网络和深度学习

        本文链接:https://www.haomeiwen.com/subject/tgazpxtx.html