Deep Learning with Python

Resources

Chapter 1

To do machine learning, we need 3 things:

  • Input data points
  • Examples of the expected output.
  • A way to measure whether the algorithm is doing a good job — distance between the algorithm’s current output and its expected output. This feedback is used to adjust the way the algorithm works, and this [adjustment] process is often known as learning.

A machine learning model transforms its input data into meaningful outputs. Data can be represented in different ways (think colors being represented as rgb or hsv). Representations get us closer to the expected output—that being to meaningfully transform data. But finding representations for complex data can be tedious and brittle, as you will likely come across examples that require you to re-evaluate the current representation and its rules. Hence why this process is automated — systematically searching for different sets of representations of data and rules based on them, and identifying good ones. This is learning.

Learning describes an automatic search process for data transformations that produce useful representations of some data.

[Deep learning/NN] the transformation implemented by a layer is parameterized by its weights. In this context, learning means finding a set of values for the weights of all layers, s.t. the network correctly maps example inputs to their associated targets. A deep neural network can contain tens of millions of parameters.

To control the output, you need to be able to measure how far this output is from what you expect. This is done via a loss function, which computes a distance score between the model output and the true target, and used as a feedback signal to adjust the weights in a direction that will lower the loss score.