当前位置:
首页 > 互联网+ > 人工智能 > MXNet深度学习实战pdf/doc/txt格式电子书下载

MXNet深度学习实战pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

MXNet深度学习实战pdf/doc/txt格式电子书下载

书名:MXNet深度学习实战pdf/doc/txt格式电子书下载

推荐语:网易资深计算机视觉算法工程师撰写,从算法实现和框架原理2个维度详细讲解计算机视觉算法的实现和MXNet框架的使用与原理

作者:魏凯峰著

出版社:机械工业出版社

出版时间:2019-05-01

书籍编号:30485899

ISBN:9787111626800

正文语种:中文

字数:175428

版次:1

所属分类:互联网+-人工智能

全书内容:

MXNet深度学习实战pdf/doc/txt格式电子书下载






前言


为什么要写这本书


深度学习领域开始受到越来越多的关注,各大深度学习框架也孕育而生,在这个阶段,我被深度学习深深吸引并逐渐开始学习相关知识。研究生毕业后,我继续从事算法相关的工作,具体而言是深度学习算法在图像领域的应用,也就是常说的计算机视觉算法。


MXNet和PyTorch这两个框架我都非常喜欢,不过目前市面上关于MXNet框架的书籍较少,而且MXNet发展至今各种接口比较稳定,用户体验挺不错的,所以最终决定以MXNet框架来写这本深度学习实战教程。MXNet是亚马逊官方维护的深度学习框架,在灵活性和高效性方面都做得很棒,非常推荐读者学习。


本书的写作难度比想象中要大许多,在写作过程中许多零散的知识点需要想办法串联起来,让不同知识储备的人都能看懂,许多环境依赖需要从头到尾跑一遍来确认清楚。写书和写博客[1](AI之路)最大的区别在于书籍在出版后修正比较麻烦,不像博客,随时发现错误都可以修改,因此在写作过程中对许多细节和措辞都推敲了很久,自己也从中学到了许多。


读者对象


随着深度学习的快速发展和相关学习资料的出版,深度学习入门门槛越来越低,竞争也越来越激烈,相关从业者不仅要有坚实的算法基础,更要具备一定的实战经验,相信本书能够帮助你更好地入门深度学习。


本书面向的读者为:


·计算机视觉算法从业者或爱好者


·准备入门深度学习的读者


·使用MXNet框架进行算法实现的读者


本书特色


假如一本书只是单纯介绍算法内容,那其实和直接看论文没有太大区别;假如一本书只是单纯介绍框架接口,那其实和直接看接口文档没有太大区别。在笔者看来,算法是思想,框架是工具,用框架实现算法才能体现算法的价值,因此这本书将算法和框架结合起来,通过讲解算法和个人项目经验介绍如何使用MXNet框架实现算法,希望能够帮助读者领略算法之美。


本书是从一名算法工程师的角度出发介绍算法实现,整体上偏基础和细节,能够帮助入门者少走弯路。随着这几年深度学习的快速发展,众多深度学习框架对各类接口的封装都很完善,使用起来非常方便,但是部分深度学习入门者仅仅停留在跑通demo却不理解细节内容的层面,这也常常被人调侃有些浮躁,通过本书,笔者希望读者不仅能够灵活调用这些接口实现算法,而且能够理解这些接口的内在含义,不断夯实自己的算法基础。


如何阅读本书


本书分为四大部分:


第一部分为准备篇(第1~2章),简单介绍深度学习相关的基础背景知识、深度学习框架MXNet的发展过程和优缺点,同时介绍基础开发环境的构建和docker的使用,帮助读者构建必要的基础知识背景。


第二部分为基础篇(第3~7章),介绍MXNet的几个主要模块,介绍MXNet的数据读取、数据增强操作,同时介绍了常用网络层的含义及使用方法、常见网络结构的设计思想,以及介绍模型训练相关的参数配置。


第三部分为实战篇(第8~10章),以图像分类、目标检测和图像分割这三个常用领域为例介绍如何通过MXNet实现算法训练和模型测试,同时还将结合MXNet的接口详细介绍算法细节内容。


第四部分为扩展篇(第11~12章),主要介绍Gluon和GluonCV。Gluon接口是MXNet推出的用于动态构建网络结构的重要接口,GluonCV则是一个专门为计算机视觉任务服务的深度学习库。


本书按照由浅至深的顺序进行编写,如果你是一名初学者,那么建议从第1章的基础理论知识开始学习,如果你是一名经验丰富的资深用户,能够理解MXNet的相关基础知识和使用技巧,那么你可以直接阅读实战部分的内容。


勘误和支持


由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。本书所有代码都可以从https://github.com/miraclewkf/MXNet-Deep-Learning-in-Action下载,同时如果你遇到任何问题,都可以在Issues界面提出,我将尽量在线上为读者提供最满意的解答,后期发现的错误也将在该项目中注明,欢迎读者关注。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱wkf8092@163.com,期待能够得到你们的真挚反馈。


致谢


首先要感谢MXNet的开发者们,是你们创造并一直维护这个高效便捷的深度学习框架,让众多深度学习爱好者能够通过MXNet享受算法带来的乐趣。


感谢MXNet社区中每一位为MXNet的发展和推广做出贡献的朋友,是你们带领我走进MXNet并逐渐喜欢上它,你们的活力与坚持将使得MXNet的明天更加美好。


感谢机械工业出版社华章公司的杨福川老师、李良老师和张锡鹏老师,在这一年多的时间中始终支持我的写作,你们的鼓励和帮助引导我顺利完成全部书稿。


感谢那些通过华章鲜读购买和阅读早期电子版书籍的读者们,你们的支持让我更加有动力不断完善这本书的内容,也让我更加确信自己在做一件非常有意义的事情。


最后感谢我的家人将我培养成人,你们永远是我最坚实的后盾!


谨以此书献给众多热爱深度学习算法及MXNet的朋友们!


魏凯峰


[1] 笔者的CSDN博客。

第1章 全面认识MXNet


人工智能在最近几年非常火热,许多名词不断出现在我们的生活中,比如人工智能、机器学习、大数据、深度学习等。这些名词对大众而言既陌生又熟悉,陌生是因为大部分人其实并不从事相关行业,因此这些名词往往与大众之间隔着一层神秘的面纱;熟悉是因为大部分人在生活中其实正在享受这些名词背后的技术和产品所带来的服务。实际上,很多技术并不是刚刚出现,只不过最近几年,硬件资源和算法的快速迭代,推动了许多技术的发展和产品的落地,使得越来越多的人在生活中接触到人工智能相关的产品。


人工智能相关技术的发展使得我们目前的生活更加智能化,举个例子,目前有很多家公司都在深耕人脸检测和识别技术,该技术既可以用在手机屏幕解锁,又可以用在机场、小区等场景做人脸比对,还可以用人脸识别技术辅助公安部门抓捕逃犯。另一个例子是手机的实时翻译,当你身处异国他乡,语言沟通不畅时,只需要对着手机讲中文,然后实时翻译算法自动将你说的话翻译成对应的语言并播放出来,相信这一定会让你的沟通畅通无阻。综上所述,人工智能相关技术的应用可以节约大量的人力成本,提高效率,同时解决生活中的诸多难题,这也是为什么最近几年人工智能相关技术如此火热。


随着人工智能相关技术在各行各业的不断渗透,学习和使用人工智能相关技术成为了很多人的选择。本书将以深度学习技术在图像领域的应用为切入点,并通过详细的代码例程和算法基础介绍,带领大家了解并使用深度学习框架MXNet训练深度学习模型,以达到解决实际问题的目的。本章将首先为大家揭开人工智能、机器学习、深度学习、深度学习框架MXNet的神秘面纱,让大家建立起对这些知识的认识,为后续的学习打下坚实的基础。

1.1 人工智能、机器学习与深度学习


人工智能、机器学习和深度学习这三个名词作为最近几年工业界和学术界的宠儿,在我们生活中扮演了非常重要的角色。简单来讲,这三者基本上是从宏观到微观的关系,也就是说人工智能的范围是最广的,机器学习可以看作是人工智能中的一部分,而深度学习可以看作是机器学习的一部分。这样的定义也许并不是十分严谨,但这并不会影响你对这三者的认识。另外还有一个名词也经常出现在我们的生活中,那就是大数据。其实这里提到的人工智能、机器学习和深度学习都离不开大数据的支撑,在今后的学习中你会发现,正是因为越来越多的数据得到了利用,深度学习技术才能不断发挥其“神秘”的作用。

1.1.1 人工智能


人工智能涉及的概念和技术非常广泛,而且其与传统技术之间没有特别明显的界限,所以很难对人工智能相关技术做一个限定,但是提到人工智能,就不得不提图灵测试。图灵测试是由人工智能之父艾伦·麦席森·图灵(Alan Mathison Turing)提出的一个关于检验机器是否具备人类智能的测试。该实验的内容是测试者和被测试者(一个人和一台机器)在分开的前提下,由测试者通过一定的装置(比如键盘)向被测试者发问,经过多次测试之后,如果有超过30%的测试者不能判断出被测试者是人还是机器,那么这台机器就通过了图灵测试。


目前,我们所实现的人工智能还不能算是完全的人工智能,基本上都是先进行人工干预才有所谓的智能。那么什么是人工干预呢?比如说你要训练一个模型去判断一张图像里面的动物是猫还是狗,那么大部分情况下,你要提前为这个模型提供大量的猫狗图像并明确告诉它每张图像中的动物是什么,这样模型才能根据它所学到的东西对新提供的图像进行分类。这一点就和婴儿的学习认知过程非常相似,婴儿在刚出生时,这个世界对他来说是陌生的,随着周围人不断教他学习和认识新事物,他的大脑中慢慢地就知道了每个事物及其对应的名字,以后当他再次遇到这些事物时,他就能够直接说出名字。虽然人工智能所涉及的技术难以进行完整描述,但不可否认的是,人工智能所涉及的算法,很大一部分都离不开机器学习。

1.1.2 机器学习


相信很多技术从业者对机器学习这个名词并不陌生,即便不知道这个名词,也肯定享用过机器学习算法提供的服务,比如最常见的推荐。新闻推荐、音乐推荐、商品推荐等大部分服务都是通过机器学习算法实现的,这些算法基于你的数据构造用户画像,不断了解你的喜好,最后像你的秘书一样为你提供定制化服务。


大数据往往是与机器学习紧密相连的名词,因为随着信息的爆炸式增长,网上能够获取到的数据非常多,这些数据是机器学习算法能够发挥作用的主要原料。但是这些数据类型多样,既有结构化数据,又有非结构化数据,同时数据杂乱无章,因此如何有效利用这些数据就成为了大数据带来的挑战,而机器学习其实就是从大量无序的数据中整理并提取有效信息的过程。宏观来讲,机器学习包含数据获取、数据清洗、特征提取、模型构建、结果分析等过程,这其中的每一步都影响着最终的结果,并不仅仅是训练一个模型这么简单。机器学习工程师往往需要具备多学科的知识,比如数据清洗和特征提取需要做数据的统计分析,模型构建离不开线性代数,具体到某种场景领域的数据又需要你具有相关领域的知识储备才能做好特征提取的工作,另外整个过程还需要你具备一定的编程能力才能快速实现想法并反复试错,因此机器学习涉及多学科的知识,如果利用好了这些知识,往往就能取得理想的效果。


机器学习涉及的算法非常广泛,如果按照输入数据是否有标签来区分的话可以分为3种:有监督学习、无监督学习和半监督学习。有监督学习的算法是指你为算法提供的输入中包含标签,比如你要训练一个识别手写数字的分类器,那么当你提供一张手写数字的图片时,还要告诉分类器该图片上的数字是多少,这就是有监督学习。大部分的分类和回归算法都是有监督学习的算法,比如分类算法中的kNN、决策树、逻辑回归、支持向量机(Support Vector Machine,SVM)等,以及回归算法中的线性回归、树回归等。既然大部分的分类算法和回归算法都是有监督学习算法,那么二者之间有什么区别呢?区别在于分类算法的标签是类别,而回归算法的标签是数值,因此二者的应用场景也不一样。比如,你可以用分类算法去训练一个手写数字识别的分类器,因为手写数字的标签是类别(这里讨论的是整数数字),一般而言类别都是1、2、3这样的整数;你还可以用回归算法去训练一个房价预测、股票预测的模型,因为房价和股票价格都是数值,一般而言数值都是1234.56、40.01、999这样的实数。显然,与有监督学习算法相比,无监督学习算法并不会向算法提供标签,也就是说你为算法提供一堆手写数字的图像,但是并不告知每张图像的标签,然后让算法自行学习。无监督学习算法主要是聚类算法,比如K-Means,可以用来将具有相同属性的变量聚集在一起达到分类的效果。半监督学习算法是近年来的研究热点,因为我们常常难以获取大量带有标签的数据,但是又需要训练一个有监督学习模型,这时候就可以同时用带和不带标签的混合数据进行训练,这就是半监督学习算法。

1.1.3 深度学习


在介绍深度学习之前首先需要了解下神经网络,神经网络是机器学习算法中的一个重要分支,通过叠加网络层模拟人类大脑对输入信号的特征提取,

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示