基本信息

内容简介
作译者
目录
前言
第1篇 基础知识
第1章 引言 2
1.1 人工智能的新焦点——深度学习 2
1.1.1 人工智能——神话传说到影视漫画 2
1.1.2 人工智能的诞生 3
1.1.3 神经科学的研究 4
1.1.4 人工神经网络的兴起 5
1.1.5 神经网络的第一次寒冬 6
1.1.6 神经网络的第一次复兴 8
1.1.7 神经网络的第二次寒冬 9
1.1.8 2006年——深度学习的起点 10
1.1.9 生活中的深度学习 11
1.1.10 常见深度学习框架简介 12
1.2 给计算机一双眼睛——计算机视觉 14
1.2.1 计算机视觉简史 14
1.2.2 2012年——计算机视觉的新起点 16
1.2.3 计算机视觉的应用 17
1.2.4 常见计算机视觉工具包 19
前言
当本书编辑找到我时,我才意识到,这两年火爆程度堪比一线城市房价的深度学习,在国内竟没有几本专门的中文书籍。目前市场上为数不多的有关深度学习的中文书,有大而全的名家之作,但其中关于深度学习的内容只有很少的一部分;有针对框架的工具书,但其偏重框架本身,缺少基础知识和理论,就好像介绍了一把剑,却没教剑法;有科普型的书,主要作用是提振读者自信,其实读者并不能从中学到任何动手能力。最重要的是,作为深度学习被应用最多,也是最有趣的领域——计算机视觉,却没有专门的书,这是笔者编写这本书的初衷。
我并非计算机科班出身,在转向深度学习的过程中遇到了很多问题,总结了许多经验。从写书的角度来讲,这没准是个优势。希望我在业界实际项目中的经验,加上自学时总结的教训,可以有效地帮助尚未进入深度学习和计算机视觉领域的读者。
本书面向有志于进入深度学习和计算机视觉领域的学生和技术研发人员,通过介绍深度学习及计算机视觉中最基础的知识,并结合最常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理+实践”教程,本书用最基本的公式推导加上大量的配图和实例代码,给读者生动的内容,而不是枯燥的原理堆砌。
本书特色
注重原理和上手实战。力求读者在阅读本书后,不仅能了解常见算法背后的思想,还能具备独立开发常见的基于深度学习的计算机视觉算法的能力。
原理讲解通俗易懂。本书能通过文字定性讲解的就不用计算和公式,能用图表述的就不用文字。公式虽然不可避免,但尽量做到公式是讲解和图示的辅助,而不是需要细致理解的部分。
大量原创代码和图示。本书结合作者在实际工作中的经验,将入门实战的例子和其他示例力求做到实用性和趣味性并存,并将代码分享到本书的github页面上供读者下载。本书的github页面地址为https://frombeijingwithlove.github.io/dlcv_for_beginners/。
本书内容
本书共13章,分为2篇。
第1篇 基础知识
第1章从历史讲起,介绍了深度学习和计算机视觉的基础概念和常见应用。
第2章介绍了最基础的数学知识,包括线性代数、概率、高维空间、卷积和数学优化。
第3章以神经网络为重点,讲解了机器学习和数据的基础知识。
第4章在第3章的基础上,介绍了卷积神经网络的概念、原理和一些常见结构。
第2篇 实例精讲
第5章介绍Python基础,并通过小例子介绍了NumPy和matplotlib的基本使用。
第6章介绍了基于Python的OpenCV使用,并动手实现了数据增加小工具和物体框标注小工具。
第7章分别通过MXNet和Caffe实现了最简单的神经网络,以及结果的可视化。
第8章从头开始一步步基于MNIST数据集,分别实现了基于MXNet和Caffe的卷积神经网络模型用于手写数字识别,并介绍了如何测试和评估模型。
序言
互联网巨头谷歌、Facebook、亚马逊、微软、百度、阿里巴巴和腾讯等公司都建立了相应的深度学习部门和平台。随着近几年深度学习的快速发展,相继出现了大量的开源软件平台,如Caffe、MXNet、TensorFlow和Torch等。这些平台多数都有相应的Python和C++接口,功能非常强大。但是对于初学者来说,还是有一定的门槛。
本书架起了一座初学者和开源深度学习软件之间的桥梁,致力于帮助初学者进入机器学习特别是深度学习在计算机视觉中的应用等领域。本书涵盖了基础的数学、机器学习和图像识别等内容,同时对两个主流的开源深度学习库Caffe和MXNet都有大量的实战例子描述分类和回归等问题。
本书作者在深度学习领域有着深入的研究,善于把复杂的问题用浅显易懂的语言描述出来,使得本书内容引人入胜。本书结构合理,内容涵盖了计算机视觉领域的一些主要问题。对于一个学习计算机视觉的新手来说,本书的数学推导浅显易懂,从一些简单例子开始,然后推广到抽象的矩阵描述方式,大大减轻了学习负担。读者可以通过前7章的学习,对神经网络、基础的数学和编程技巧有一个全面的了解。在此基础上可以根据具体的问题参考本书中具体的章节,例如图像识别、回归和目标检测等。在这些章节中,读者可以按照书中的步骤搭建自己的应用。
田疆
西门子高级研究员
附英文原文
Deep learning is a branch of machine learning based on a set of algorithms that attempt to model high level abstractions in data, and mimics human brain’s neural networks in a simplistic manner. It is powerful and driving advances in speech recognition, computer vision, natural language processing, generative networks, and unsupervised machine learning in recent years, which are changing our daily life from different aspects.
Internet giants Google, Facebook, Amazon, Microsoft, Baidu, Alibaba, and Tencent launch their deep learning teams and platforms. With the rapidly growing related research and development community, in recent years, there appear plenty of open source frameworks for deep learning, such as: Caffe, MXNet, TensorFlow, Torch, etc. These frameworks can usually interface with Python, Lua, and C++. They are powerful and usually well maintained, however, they are not that straightforward and "easy cooking recipes" for beginners.
This book bridges the gap with the spirit of open source. It is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning (computer vision) in particular. This book not only covers basic theory on math, machine learning, image recognition, but also helps deep learning practitioner on two major libraries Caffe and MXNet by plenty of examples on classification, regression, metric learning, etc. The tutorials in this book also provide step-by-step instructions for creating models for specific types of applications.
The writing of this book is good and also interesting, which shows the author's delving very deep into this field. The structure of this book is quite reasonable. Its topics cover the major tasks in computer vision. The mathematics derivation in this book is solid and understandable for a computer vision novice, it starts from simple examples, and then to more abstract matrix counterparts, which greatly reduces the "activation threshold" for a learning curve.
Readers of this book may start the first seven chapters to get a comprehensive understanding of neural network, basic math and programming techniques. Thereafter, he may pick up the related applications such as image recognition, regression, fine-tuning, image detection, metric learning, and neural art in the following chapters, wherein, he can get step by step instructions to build the demo, which is "train by example" learning.
Jiang Tian, PHD
Lead Research Scientist, Siemens