A Guide To Learning All About Keras Tuner

Neural networks are notoriously hard to program because of their high complexity and the multiple components in them. However, with the help of deep learning APIs, you can significantly reduce the requirements to produce, test and deploy neural networks. 

One such API is Keras. However, after creating your neural network, how do you know if you are using the most optimum parameters? Luckily Keras provides a module called the Keras Tuner to tune your hyperparameters. In this tutorial titled ‘A guide to learning all about Keras Tuner’, you will learn how to implement Keras Tuner and find the best hyperparameters.

What are Neural Networks?

Neural Networks are deep learning algorithms designed after the human brain. They break down complex problems into smaller parts and solve them individually, by combing and refining the individual output to get the final output.

The neurons are mathematical operators, or algorithms used to solve a small part of the problem. The output of a neuron leads to another, where the output is further refined. The figure depicted below shows a neural network with its different layers. There are three primary layers in a neural network. The work of these layers is as shown:

  • The input layer takes in the input and brings it into the system.
  • The hidden layer processes the data through activation functions and adds weights according to their importance to the final output.
  • The output layer combines all data processed by the hidden layer and gives the final output.

Keras_Tuner_Fig_1.

Figure 1: Neural network

Post Graduate Program in AI and Machine Learning

In Partnership with Purdue UniversityExplore Course
Post Graduate Program in AI and Machine Learning

What is Keras?

Keras is an open-source, high-level, deep learning python API for easy implementation, training, and deployment of neural networks and deep learning applications. It supports multiple deep learning APIs as a backend.                     

Keras_Tuner_Fig_2.

Figure 2: Keras Logo

Keras provides an easy-to-use backend for programmers while using a high-level API like Tensorflow as a backend. This helps provide fast computation power while being easy to use.                     

What is Keras Tuner?

The various variables which affect the rate of learning of the machine learning model are called hyperparameters. Hyperparameters control the performance of a model. Using Keras Tuner, you can find the best value of hyperparameters for the models. This process is also called Hyperparameter Tuning. The diagram shows the working of a Keras tuner :

Keras_Tuner_Fig_3

Figure 3: Keras Tuner

Hyperparameter tuning is a hit and trial method where every combination of hyperparameters is tested and evaluated, and it selects the best model as the final model.

To work with the Tuner, you have first to install it. The process of installing Keras Tuner is simple. You can do directly it via the pip install command in the command prompt or can be installed from the GitHub repository. 

     Keras_Tuner_Fig_4                 Figure 4: Keras Tuner installation

You can also do the installation from git by cloning the Keras Tuner repository using the git clone command followed by the repository URL.

Keras_Tuner_Fig_5.

Figure 5: git installation

Optimizing the Number of Hidden Layers and Hidden Neurons Using Keras Tuner  

Now, look at how to implement hyperparameter tuning using Keras tuner. You start by importing the necessary modules :

Keras_Tuner_Fig_6

Figure 6: Importing necessary modules

You will work on the MNIST dataset, which consists of many images of handwritten digits and their labels.

Keras_Tuner_Fig_7

Figure 7: MNIST Dataset 

You will separate the images from the labels and convert the image into a float data type.

Keras_Tuner_Fig_8

Free Course: Introduction to AI

Learn the Core AI Concepts and Key Skills for FREEStart Learning
Free Course: Introduction to AI

Figure 8: Dataset manipulation

You will then create our machine learning model. 

  • Create a 2-D convolution neural network with three layers where each layer consists of a MaxPooling and AveragePooling layer and relu activation function.
  • If GlobalPooling is chosen as ‘hp,’ we will use GlobalMaxPooling; otherwise, if GlobalAveragePooling is selected as ‘hp,’ you will use GlobalAveragePooling.
  • You will finally decide on a compiler and return the model output.

Keras_Tuner_Fig_9.

Figure 9: Neural networks model

After creating the model, create the tuner using the Hyperband module in Keras Tuner. You will give it your model as input and select the number of epochs as 8.

Keras_Tuner_Fig_10

Figure 10: Keras Tuner

You will then see a summary of the model by using the search_space_summary() method. 

Keras_Tuner_Fig_11

Keras_Tuner_Fig_11_1

Figure 11: Model summary

Finally, you will have to train the models and evaluate the outcome of each set of hyperparameters. Send in 600 steps and have 2 epochs on your mnist dataset.

Keras_Tuner_Fig_12

Figure 12: Implementing Tuner

You can see the best set of epochs will give us an accuracy of 98%. The set of hyperparameters for which you obtain this accuracy is shown below.

Keras_Tuner_Fig_13

Keras_Tuner_Fig_13_1

Figure 13: Best hyperparameter set

The below method will give you a summary of the entire process. 

Keras_Tuner_Fig_14

Figure 14: Test results

The above image is just a tiny part of the total summary of the test done for each iteration.

Master Deep Learning, Machine Learning, and other programming languages with Artificial Intelligence Engineer Master’s Program

Conclusion 

In this tutorial titled 'A guide to learning all about Keras Tuner', you looked at neural networks and the deep learning API, Keras. You then briefly look at Keras Tuner and how to install it. You finally learn to use python to implement a program to perform hypermeter tuning.

We hope this helped you understand Keras tuners in depth. To learn more about Keras, deep learning, and machine learning, check out Simplilearn’s Artificial Intelligence course. If you on the other hand need any clarifications on this Keras tuner tutorial, do share them with us by mentioning them in this page’s comments section. We will have our experts review them and reply to your comments at the earliest!

Happy learning!

About the Author

SimplilearnSimplilearn

Simplilearn is one of the world’s leading providers of online training for Digital Marketing, Cloud Computing, Project Management, Data Science, IT, Software Development, and many other emerging technologies.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.