深度学习在……
动态媒体中的应用与实践!
原谅小编今天说话稍微有点结巴,是因为有点小激动……
前两天发布了4月书单公众号文章后,阅读量再一次惨不忍睹(小编习惯了),今天在楼道里看到一位编辑老师手里拿着一本书单中的新书《深度学习在动态媒体中的应用与实践》,小编赶紧“抢过来”这本书炫耀一番,嘴里碎碎叨叨地说:“对对对,书单中我就是这本书,就是这本书!”弄得身旁的编辑老师一脸茫然……
(是的,就是这本书让小编炫耀)
众所周知,最近几年人工智能的概念已经深入人心,各类基于人工智能的技术已经开始进入普通人的生活,国内外各大知名企业纷纷将大量的人力物力投入其中。对于计算机相关行业来说,下一个战略要点是人工智能已经确凿无疑。当然,人工智能是一个很广义的概念,它有很多分支。
2013年深度学习被《MIT技术评论》评选为世界十大突破性技术之首后,保持着迅猛发展的趋势,现已应用在人脸识别、自然语言处理、图像审核、车型识别、图像搜索等人工智能的前沿技术中。作为目前热门的人工智能技术,很多计算机从业者、科研爱好者都对深度学习充满了好奇。但是由于深度学习涉及很多高深的数学原理,所以对于初学者而言,深度学习的入门门槛较高,急需一本以项目实战为主的书指引初学者登入深度学习的殿堂。市场中现有关于深度学习的图书实在太少。
从编辑手里抢过来的这本书所讲述的深度学习就是人工智能旗下的其中一个分支,它也是机器学习的一种主要实现方式。为了更详细地了解深度学习,作者将从深度学习的发展、深度学习的应用以及主流的几款深度学习工具的对比等方面逐一进行介绍,注重实战项目的讲解,让读者从实战快速入门深度学习。
(图片源自百度)
该书第一部分主要从深度学习的发展、应用、几款主流的深度学习框架、基本概念、训练过程以及模型来阐述深度学习的基本理论;第二部分是深度学习三大主流框架以及各个框架下的生产实例的详细介绍。介绍了3种主流框架Caffe、TensorFlow、Torch, 主要以Ubuntu系统为主,介绍了三大框架的安装过程,并记录了一些安装过程中的常见问题和解决方法,介绍了应用于人脸识别、车辆识别、不良视频识别的生产实例,设计了项目系统,对功能和模块进行了描述,并在Ubuntu系统上部署了生产环境,对生产环境进行了验证,通过脚本实现了生产流程;第三部分阐述了由于深度学习框架部署的复杂性,引出了Docker容器,介绍了Docker的主要构成组件及其优点,然后以TensorFlow为例,详细介绍了基于Docker的TensorFlow实验环境搭建步骤。
该书只涉及深度学习的基本原理,不过多纠结数学公式推导,能让读者快速上手书中的实战项目,用于实际生产。本书非常适合以下读者:对深度学习有浓厚兴趣的读者、希望通过深度学习完成设计的计算机专业或电子信息专业的高校毕业生、想从实战项目入手的深度学习研发工程师或算法工程师。
下面就和小编一起从书中节选的内容了解下这本书是如何让小编说话结巴的。
佛系一下内容摘要:
1.2 深度学习的应用及研究方向
深度学习的应用涉及机器学习的方方面面,除了人们所熟知的图像识别、语音识别等,还包括诸如自动驾驶、机器人、搜索排名、医疗诊断以及游戏等各个方面。
(1)图像识别
深度学习最开始运用在图像识别领域,像目前比较热门的无人驾驶、人脸识别等功能都是基于图像识别技术。图像识别的实现方式很多,但是基于深度学习的图像识别准确度更高。图像识别技术历久弥新,不管是现在还是未来,其在深度学习的推动下必将走向一个更辉煌的发展道路!
(2)语音识别
说到语音识别,不得不说到科大讯飞,它是中国最大的智能语音技术服务商,得益于人工智能的发展,科大讯飞的语音识别技术已经达到世界顶级水准,国内多家互联网巨头纷纷与其合作,语音识别的前景不言而喻,相信在未来的发展也无可限量。
(3)游戏对战
在游戏中加入AI早已不是新鲜事,AI的出现不仅让游戏变得不再那么简单乏味,而且添加了人与电脑的互动,这个就要拿典型案例英雄联盟来说说了。过去打人机都非常简单,玩家可以很轻易地预判AI的活动方式,但AI将不再不堪一击,它们将会变得异常难以击败,对玩家的考验也非常大,在游戏行业,对AI的需求只会越来越大!
(可是小编想得都是:大吉大利,今晚吃鸡!)
1.3 深度学习工具介绍和对比
深度学习的框架很多,作者选取了几个最流行的深度学习框架来分别讲述它们的优缺点,读者可以根据自己的实际情况选取适合自己的学习框架。
1.3.1 Caffe
Caffe是一款老牌的深度学习框架,主要运用在视频和图像处理等方面。对其他深度学习应用,比如文本、声音和时序数据等,Caffe并不是一个好的选择。Caffe实现基于C/C++,它使用MATLAB和Python作为接口语言。
优点:
● 使用 Python 进行开发;
● 在前馈网络和图像处理上较好;
● 在微调已有网络方面较好;
● 不写任何代码就可训练模型。
缺点:
● 不擅长循环网络;
● 需要为新的GPU层编写C++/CUDA;
● 面对大型网络(GoogLeNet、ResNet)有点吃力;
● 不可扩展;
● 无商业化支持。
1.3.2 TensorFlow
谷歌作为科技界的龙头老大,也有自己的深度学习框架——TensorFlow,TensorFlow的出现基本上取代了Theano框架,当然读者可以发现这两个框架的众多雷同之处。和大部分深度学习框架的编程语言类似,TensorFlow框架语言使用 C/C++,使用C语言的引擎机制可以加速其运行,接口语言使用Python。对于有众多开发者的Java社区来说这并不友好,当然Java受制于其虚拟机的原因并不是很适合于深度学习。TensorFlow 的框架不仅解决深度学习方面的问题,也涉及强化学习等其他算法。
优点:
● 计算图抽象,如同 Theano;
● 比 Theano 的编译速度更快;
● 进行可视化的 TensorBoard;
● 数据和模型并行;
● GitHub 社区非常活跃,远超其他深度学习框架的活跃度。
缺点:
● 比其他框架慢;
● 预训练模型不多;
● 计算图是纯Python的,因此更慢;
● 无商业化支持;
● 需要退出到Python才能加载每个新的训练批处理(Batch);
● 不能进行太大的调整;
● 在大型软件项目上,动态键容易出错。
1.3.3 Torch
Torch 是用 Lua 语言编写的面向机器学习算法的计算框架。这个框架深受大型科技公司的喜爱,也广泛地运用在它们的内部项目中,它们拥有专门的内部团队开发自己的深度学习平台。
优点:
● 很多容易结合的模块碎片;
● 易于编写自己的层类型和在GPU上运行;
● Lua(大部分库代码是 Lua 语言,易于读取);
● 大量的预训练模型。
缺点:
● Lua 是小众语言;
● 需要编写自己的训练代码;
● 对循环神经网络不太好;
● 没有商业化支持;
● 糟糕的文档支持;
● 不能即插即用。
其他的深度学习框架如Theano、CNTK、DSSTNE和MXNet等在这里就不做介绍,读者可以自行搜索相关资料。这里值得一提的是,国内的百度公司也推出了自己的深度学习框架——PaddlePaddle,作者没有深入地研究这个框架,不过相比于国外的深度学习框架,这款国内的框架应该会更容易上手,毕竟没有语言障碍。当然其官网提供的模型和案例也很丰富,唯一的缺点是只支持在Docker中使用,所以还需要使用者有Docker的基础,算是一点小小的遗憾吧。
怎么样?小编是不是可以说非常用心了,从此深深地爱上了“深度学习”,这几天搜集很多相关内容,可是在知识的海洋里,再找到一本如此成功的如“大海捞~底~捞针”(这个词不是说那家有名的餐饮企业)。也怪小编的记忆力衰退速度太快,一筹莫展地在脑海中重复着“深度学习”这个词的时候,总觉得耳熟,突然还闪现出一幅画面……
《深度学习》
由人民邮电出版社出版的超级重点书,书中通过3个部分介绍了基本的数学工具和机器学习的概念;再系统深入地讲解现今已成熟的深度学习方法和技术;最后讨论具有前瞻性的深度学习未来的研究重点。第一次见到这本《深度学习》的时候,小编不仅被书厚重的外表震住了,定睛观瞧也被这本书的推荐大咖们的名气震住了+1。两本书不约而同地由浅入深、由易到难,逐步提升到一定的高度来介绍深度学习。
然后两本书有何不同呢?
然后……
买来看看对比一下呗!
wu~an,wan!
往期精彩内容回顾,点击蓝字即可阅读