Getting started

Deep learning in practice

Congratulations! You’ve found this program. This programs aim is to get you up and running building real world applications using deep learning as quickly as possible. We want to remove the hype from deep learning by explaining what you can and can’t accomplish with it. We want you to focus on what you can do instead of getting sidetracked by dreaming about the future.

We will teach you all the necessary steps for getting started with state of the art machine learning models.

The book follows a natural order where we start out by getting you oriented in machine learning and getting your computer is ready. Once that is ready we help you understand how you can work with data before exploring different models within machine learning such as image recognition, natural language processing and reinforcement learnign.

We will start with a short introduction to AI, machine learning and deep learning.

What is AI?

AI or Artificial Intelligence is the idea that intelligence can be defined so precisely that we can make an make a machine perform all the required steps to become intelligent. One of the fields long term goals is general intelligence, making machine that can think like humans.

What is machine learning?

Machine learning is a part of AI. It is the subfield of computer science that, according to Arthur Samuel in 1959, gives “computers the ability to learn without being explicitly programmed.”

There are many different types of machine learning. The most advances in machine learning have been done using artificial neural networks, so if you want to start out doing just one thing, start out with artificial neural networks.

Types of machine learning

Types of machine learning Chapter
Decision tree learning
Association rule learning
Artificial neural networks
Deep learning
Inductive logic programming
Support vector machines
Bayesian networks
Reinforcement learning
Representation learning
Similarity and metric learning
Sparse dictionary learning
Genetic algorithms
Rule-based machine learning
Learning classifier systems

What is Deep Learning?

Deep learning is a field of machine learning that includes models that have interesting mathematical properties that makes them suitable for solving problems that have previously been outside of the domain of problems that could be solved by computers (or humans). In short, they can solve any function by

Why is AI suddenly so popular?

AI has suddenly become incredibly popular. It is mainly based on two factors, the increased computational powers of modern computers and the availability of huge datasets. AI like people gain information from the world that they use to make predictions on how to act. The more information, the better the prediction.

AI and neuroscience

AI and neuroscience are two fields that are becoming more and more intertwined. The most effective forms of AI are based on theories for how the brain works. Artificial neural networks are modeled on the biological neural networks of the brain.

Do I need to learn math in order to work with AI?

It depends. The more you know the better. If you know math you can build your own neural networks which is super fun. However for implementation you can start out making significant use of AI technology without a full mathematical understanding of it. The best advice is to start doing stuff and learn the math along the way.

How long will it take me to get started with machine learning?

What took researches decades to invent and years to implement can today be done in a matter of days. The mature part of machine learning is open to novice developers and is fairly straightforward.

Use a library such as keras for implementing deep läsning models. Use your trained model for building an API. Use that API in your products.

Still. You are just scratching the surface. If you want to build your own models you will need to learn math and how to code machine learning models from scratch.

Getting started

Part 0 Getting your computer up and running

There is a running joke among people working with machine learning. Creating a artificial neural network is easy, installing python on your computer is impossible. So we will start by making the impossible possible. Getting your machine set up for working with machine learning shouldn’t be seen as something that is unrelated to machine learning, it is a part of the process.

There are different ways of getting your computer setup for working with Python. To simplify things we made the choices for you and choose a way that balances handling complexity and getting up and running.

If you care deeply about the setup of your computer you can handle it yourself, if you instead want to focus on building machine learning models, follow along.

Virtual Python Environments

Install conda from miniconda

Store current state of environment:

$ conda list --export > requirements.txt

Create new environment from saved state:

$ conda create --name <envname> --file requirements.txt