Deep Learning with Python (英語) ペーパーバック – 2017/12/22
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Deep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher François Chollet, this book builds your understanding through intuitive explanations and practical examples.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Machine learning has made remarkable progress in recent years. We went from near-unusable speech and image recognition, to near-human accuracy. We went from machines that couldn't beat a serious Go player, to defeating a world champion. Behind this progress is deep learning—a combination of engineering advances, best practices, and theory that enables a wealth of previously impossible smart applications.
About the Book
Deep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher François Chollet, this book builds your understanding through intuitive explanations and practical examples. You'll explore challenging concepts and practice with applications in computer vision, natural-language processing, and generative models. By the time you finish, you'll have the knowledge and hands-on skills to apply deep learning in your own projects.
- Deep learning from first principles
- Setting up your own deep-learning environment
- Image-classification models
- Deep learning for text and sequences
- Neural style transfer, text generation, and image generation
About the Reader
Readers need intermediate Python skills. No previous experience with Keras, TensorFlow, or machine learning is required.
About the Author
François Chollet works on deep learning at Google in Mountain View, CA. He is the creator of the Keras deep-learning library, as well as a contributor to the TensorFlow machine-learning framework. He also does deep-learning research, with a focus on computer vision and the application of machine learning to formal reasoning. His papers have been published at major conferences in the field, including the Conference on Computer Vision and Pattern Recognition (CVPR), the Conference and Workshop on Neural Information Processing Systems (NIPS), the International Conference on Learning Representations (ICLR), and others.
Table of Contents
- What is deep learning?
- Before we begin: the mathematical building blocks of neural networks
- Getting started with neural networks
- Fundamentals of machine learning
- Deep learning for computer vision
- Deep learning for text and sequences
- Advanced deep-learning best practices
- Generative deep learning
- appendix A - Installing Keras and its dependencies on Ubuntu
- appendix B - Running Jupyter notebooks on an EC2 GPU instance
PART 1 - FUNDAMENTALS OF DEEP LEARNING
PART 2 - DEEP LEARNING IN PRACTICE
Francois Chollet is the author of Keras, one of the most widely used libraries for deep learning in Python. He has been working with deep neural networks since 2012. Francois is currently doing deep learning research at Google. He blogs about deep learning at blog.keras.io.
Overall this book is more about practical techniques and python code (in Keras) than about deep learning math/theory. This is probably what the majority of readers are looking for. It's a great synthesis of the most important techniques now (start of 2018), which is hard to get just from reading papers.
I would recommend complementing this book with two others:
1) as mentioned above: Deep Learning (Adaptive Computation and Machine Learning series)
2) Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
The first 100 pages or so is on general deep learning and it is extremely basic. Even though I new these concepts I still found it difficult to follow. The writing is really bad.
The more advanced concepts are not any better. Here is an example of the last section I read on page 172 before putting the book down for good.
From the section Visualizing heartmaps of class activation
"This general category of techniques is called class activation map ( CAM ) visualization,
and it consists of producing heatmaps of class activation over input images. A class acti-
vation heatmap is a 2D grid of scores associated with a specific output class, computed
for every location in any input image, indicating how important each location is with
respect to the class under consideration. For instance, given an image fed into a dogs-
versus-cats convnet, CAM visualization allows you to generate a heatmap for the class
“cat,” indicating how cat-like different parts of the image are, and also a heatmap for the
class “dog,” indicating how dog-like parts of the image are.
The specific implementation you’ll use is the one described in “Grad- CAM : Visual
Explanations from Deep Networks via Gradient-based Localization.” 2 It’s very simple:
it consists of taking the output feature map of a convolution layer, given an input
image, and weighing every channel in that feature map by the gradient of the class
with respect to the channel. Intuitively, one way to understand this trick is that you’re
weighting a spatial map of “how intensely the input image activates different chan-
nels” by “how important each channel is with regard to the class,” resulting in a spatial
map of “how intensely the input image activates the class.”
Consider the image of two African elephants shown in figure 5.34 (under a Creative
Commons license), possibly a mother and her calf, strolling on the savanna. Let’s con-
vert this image into something the VGG16 model can read: the model was trained on
images of size 224 × 244, preprocessed according to a few rules that are packaged in
the utility function keras.applications.vgg16.preprocess_input . So you need to
load the image, resize it to 224 × 224, convert it to a Numpy float32 tensor, and apply
these preprocessing rules.
After reading this several times I still did not have a good mental formulation of how these heatmaps are put together. I also did not see the need to put in the paragraph about vgg16 preprocessing right here. It is just a distraction from the matter at hand. The whole book is like this. I was wasting too much energy trying to understand what I believe are basic concepts.
I recommend Ina Goodfellow's book on Deep Learning as well as Aurelien Geron's book. For Keras I would recommend the Deeplearning.AI course on Coursera as well as Deep Learning A-Z on Udemy. I do not know of a good Keras book at this time.