The big idea behind machine learning is that, if you can't write the exact steps for a
computer to recognize objects in an image or the sentiment expressed by some text,
maybe you can write a program to produce an algorithm that does the job.
Instead of having a domain expert design and implement if-then-else rules, you can
let the computer learn the rules to solve these kinds of problems from examples. And
that's exactly what machine learning is: using a learning algorithm that can
automatically derive the "rules" that are needed to solve a certain problem. Often, such
an automated learner comes up with better rules than humans can, because it can find
patterns in the data that humans don't see.
Deep learning
Until now, we've been using terms like deep learning and neural networks pretty liberally.
Let's take a moment to properly define what these terms mean.
Neural networks are made up of layers of nodes (neurons) in an attempt to mimic how
the human brain works. For a long time, this was mostly theoretical: Only simple neural
networks with a couple of layers could be computed in a reasonable time with the
computers of that era. In addition, there were problems with the math, and networks
with more and larger layers just didn't work very well.
It took until the mid 2000s for computer scientists to figure out how to train really deep
networks consisting of many layers. At the same time, the market for computer game
devices exploded, spurring demand for faster, cheaper GPUs to run ever more elaborate
games. GPUs (Graphics Processing Units), speed up graphics and are great at doing lots
of matrix operations very fast. As it happens, neural networks also require lots of matrix
operations. Thanks to gamers, fast GPUs became very affordable, and that's exactly the
sort of hardware needed to train deep multi-layer neural networks. A lot of the most
exciting progress in machine learning is driven by deep learning, which uses neural
networks with a high number of layers, and a high number of neurons at each layer as
its learning algorithm.
Note: Companies like Apple, Intel and Google are designing processing units
specifically designed for deep learning, such as Google's TPU, or Tensor Processing
Unit, and the new Neural Engine in the iPhone XS's A12 processor, which lack of
the 3D rendering capabilities of GPUs and instead can run the computational
needs of the neural networks much more efficiently.
Machine Learning by Tutorials Chapter 1: Machine Learning, iOS & You
raywenderlich.com
19