[PYTHON] [For beginners] After all, what is written in Deep Learning made from scratch?

It seems that it is selling quite well

"Deep Learning from scratch-The theory and implementation of deep learning learned with Python-" published by O'Reilly Japan

It seems that it is selling quite well.

This time, I will briefly introduce what is written in this book.

For those who are worried about buying, I hope it will be one of the indicators.

IMG_0569.jpeg

This book is a very easy book that explains the knowledge necessary to understand deep learning one by one from the beginning.

What is deep learning after all? What are the characteristics? What is the principle behind it? Etc. are explained in an easy-to-understand manner.

There are eight chapters in this book.

IMG_0543.jpeg

  1. Introduction to Python
  2. Perceptron
  3. Neural network
  4. Neural network learning
  5. Error back propagation method
  6. Learning techniques
  7. Convolutional neural network
  8. Deep learning

I will explain each content in a nutshell.

Chapter 1, "Introduction to Python", page 20

This chapter will teach you the basics of Python.

It covers everything from Python installation methods to data types, variables, lists, if statements, for statements, functions, and classes in a comprehensive and easy way.

In addition to these basics of Python, we also briefly touch on how to use the external libraries Numpy and Matplotlib, which are essential for learning machine learning.

IMG_0544.jpeg

IMG_0570.jpeg

** Point! "Deep learning is made with Python" **

Chapter 2, "Perceptron", page 17

This chapter will teach you about the perceptrons that are the basis of neural networks.

After explaining the mechanism and movement of AND gates, NAND gates, and OR gates, there is an explanation of XOR gates made by combining these three.

It is convenient because it also describes how to implement it in Python.

If you try to learn logic circuits in earnest, you will see more gates, but I think the good thing about this book is that it contains the minimum requirements that you should know when learning neural networks. I will.

I can imagine that by accumulating these, it will become deep learning.

IMG_0560.jpeg IMG_0566.jpeg

** Point! "The basis of deep learning is Perceptron" **

Chapter 3, "Neural Networks", page 43

In this chapter, we finally have a neural network (NN).

You can understand that NN can be created by adding the "activation function" to the perceptron mentioned in Chapter 2.

In addition, you can learn how to calculate and use the "matrix" that is frequently used in NN.

If you read this far, you will be able to create your own NN. In this chapter, we are actually building a 3-layer NN in Python to create an AI that recognizes handwritten characters.

IMG_0567.jpeg IMG_0564.jpeg

** Point! "Perceptron + activation function-> neural network can be created!" **

Chapter 4, "Learning Neural Networks", page 39

In the previous Chapter 3, we just created the shape of the NN and did not do the essential "learning".

In this Chapter 4, the learning part is finally explained.

It starts with the phrase, "The characteristic of NN is that it can be learned from data," and tells us the difference from conventional machine learning.

About 30 pages of explanations of essential ideas for NN such as "training data" and "test data", details of "loss function", and who and why "differentiation" is necessary are described.

At the end of the chapter, the implementation method (code) in Python is described in detail.

At this point, it's almost time to understand deep learning.

IMG_0523.jpeg IMG_0577.jpeg

** Point! "NN learns from data!" **

Chapter 5, "Backpropagation Method", page 41

There are 6 kanji, unknown words, and you will want to give up.

However, if you can understand this chapter, it is no exaggeration to say that you have understood all the operations of neural networks or the "artificial intelligence (AI)" that is currently being talked about.

The error back propagation method is simply the method of "adjusting the calculation result", which is the "essential" part of NN learning. Therefore, it is quite difficult.

However, this book uses a lot of easy-to-understand examples and illustrations, so it is very easy to understand.

IMG_0536.jpeg IMG_0532.jpeg

** Point! "Adjust the calculation result correctly by the error back propagation method!" **

Chapter 6, "Learning Techniques," page 38

This chapter has a lot of very useful information.

Techniques that should be incorporated into NN learning, such as "parameter update", "Batch Normalization", and "normalization", are included.

It's good to make an NN and let it learn, but if you are worried that the accuracy will not improve as you think, this chapter will be very helpful.

IMG_0547.jpeg

** Point! "If you get lost, look here!" **

Chapter 7, "Convolutional Neural Network", page 34

The root of the AI boom that has become a hot topic these days is the announcement of this "convolutional neural network".

Convolutional Neural Network is abbreviated as CNN and is used everywhere in image recognition AI and voice recognition AI.

It seems that almost all deep learning methods are based on CNN at image recognition competitions.

It takes time to understand the contents because it is the hottest and latest technology.

However, in this Chapter 7, CNN is explained in an easy-to-understand manner by using a total of 28 figures on 34 pages.

From the explanation and implementation of the convolution layer and pooling layer to the visualization of CNN and typical CNN, it is written in detail, so you can understand all about CNN.

IMG_0576.jpeg IMG_0586.jpeg IMG_0540.jpeg

** Point! "At image recognition competitions, almost all deep learning techniques are based on CNN." **

Chapter 8 "Deep Learning" Page 31

This is the final chapter. It's about "deep learning" that was waiting like a last boss.

Deep learning is a deeper and deeper layer of NN that has been explained in Chapters 1 to 7.

Actually, the shape (model) of deep learning has a certain "type". Large companies such as Google are conducting research and finding high-precision shapes (models, layer structures, numbers, parameters, etc.), so we can just use them as they are for high-precision AI. Can be made.

Thanks to Google's smart and great people.

How did the popular models come to the fore in this book? It also describes what you need to do to speed up learning.

Finally, it touches on how this deep learning is actually used and the future of deep learning.

IMG_0533.jpeg IMG_0537.jpeg IMG_0575.jpeg

Summary

I roughly wrote the contents of "Deep Learning from scratch-The theory and implementation of deep learning learned with Python-" published by O'Reilly Japan.

It is very readable because it gives a bird's-eye view of the nature, challenges, and possibilities of deep learning.

I think machine learning programmers are a must-read good book!

** Reference book ** "Deep Learning from scratch-The theory and implementation of deep learning learned in Python-"

Learn more about artificial intelligence / AI / machine learning

Youtube宣伝画像.jpeg

** "AI for cat allergies" ** https://t.co/4ltE8gzBVv?amp=1 We publish about machine learning on YouTube. If you have time, please take a look.

created by NekoAllergy

Recommended Posts

[For beginners] After all, what is written in Deep Learning made from scratch?
Deep Learning memos made from scratch
[Learning memo] Deep Learning made from scratch [Chapter 7]
Deep learning / Deep learning made from scratch Chapter 6 Memo
[Learning memo] Deep Learning made from scratch [Chapter 5]
[Learning memo] Deep Learning made from scratch [Chapter 6]
"Deep Learning from scratch" in Haskell (unfinished)
Deep learning / Deep learning made from scratch Chapter 7 Memo
[Learning memo] Deep Learning made from scratch [~ Chapter 4]
Deep Learning from scratch
Introduction to Deep Learning (1) --Chainer is explained in an easy-to-understand manner for beginners-
[Python] [Natural language processing] I tried Deep Learning ❷ made from scratch in Japanese ①
Deep Learning from scratch 1-3 chapters
An amateur stumbled in Deep Learning from scratch Note: Chapter 1
Create an environment for "Deep Learning from scratch" with Docker
An amateur stumbled in Deep Learning from scratch Note: Chapter 7
An amateur stumbled in Deep Learning from scratch Note: Chapter 5
An amateur stumbled in Deep Learning from scratch Note: Chapter 4
An amateur stumbled in Deep Learning from scratch Note: Chapter 2
Deep learning from scratch (cost calculation)
What is scraping? [Summary for beginners]
What is xg boost (1) (for beginners)
[Deep Learning from scratch] Main parameter update methods for neural networks
Why ModuleNotFoundError: No module named'dataset.mnist' appears in "Deep Learning from scratch".
Write an impression of Deep Learning 3 framework edition made from scratch
Deep learning from scratch (forward propagation edition)
Deep learning / Deep learning from scratch 2-Try moving GRU
Realize environment construction for "Deep Learning from scratch" with docker and Vagrant
[Example of Python improvement] What is the recommended learning site for Python beginners?
[Deep learning] Nogizaka face detection ~ For beginners ~
[Windows 10] "Deep Learning from scratch" environment construction
Learning record of reading "Deep Learning from scratch"
[Deep Learning from scratch] About hyperparameter optimization
"Deep Learning from scratch" Self-study memo (Part 12) Deep learning
Prepare the environment for O'Reilly's book "Deep Learning from scratch" with apt-get (Debian 8)
Lua version Deep Learning from scratch Part 5.5 [Making pkl files available in Lua Torch]
"Deep Learning from scratch" self-study memo (unreadable glossary)
Recommended study order for machine learning / deep learning beginners
Deep Learning from scratch ① Chapter 6 "Techniques related to learning"
Good book "Deep Learning from scratch" on GitHub
[Learning memo] Deep Learning from scratch ~ Implementation of Dropout ~
[For beginners] What to do after installing Anaconda
Python vs Ruby "Deep Learning from scratch" Summary
"Deep Learning from scratch" Self-study memo (10) MultiLayerNet class
"Deep Learning from scratch" Self-study memo (No. 11) CNN
[For beginners] Introduction to vectorization in machine learning
[Deep Learning from scratch] I implemented the Affine layer
"Deep Learning from scratch 2" Self-study memo (No. 21) Chapters 3 and 4
What is the domain attribute written in Plotly's Layout?
Deep Learning 2 Made from Zero Natural Language Processing 1.3 Summary
Deep Learning Experienced in Python Chapter 2 (Materials for Journals)
Study method for learning machine learning from scratch (March 2020 version)
[Deep Learning from scratch] I tried to explain Dropout
[Part 1] What is optimization? --Study materials for learning mathematical optimization
A scene where GPU is useful for deep learning?
Chapter 3 Neural Network Cut out only the good points of deep learning made from scratch
"Deep Learning from scratch" Self-study memo (No. 14) Run the program in Chapter 4 on Google Colaboratory
"Deep Learning from scratch" Self-study memo (Part 8) I drew the graph in Chapter 6 with matplotlib
[Deep Learning from scratch] Implement backpropagation processing in neural network by error back propagation method
Chapter 2 Implementation of Perceptron Cut out only the good points of deep learning made from scratch
What is Linux for?