Tuesday, December 29, 2020

Neural Network Projects with Python: The ultimate guide to using Python to explore the true power of neural networks through six projectsNeural Network Projects with Python: The ultimate guide to using Python to explore the true power of neural networks through six projects by James Loy
My rating: 4 of 5 stars

"Machine learning and artificial intelligence (AI) have become ubiquitous in our everyday lives. Wherever we go, whatever we do, we are constantly interacting with AI in one way or another. And neural networks and deep learning are driving these AI advances. Powered by neural networks, AI systems are now able to achieve human-like performance in many areas."

Two days ago I posted an enthusiastic review of Hands-On Machine Learning with Scikit-Learn & TensorFlow (I am "borrowing" a portion of this paragraph and the entire second paragraph from that review). This is the other book that was important to me and my students in 2020, one that helped me return to the field of neural networks and machine learning in general and helped my outstanding research student complete her challenging and advanced research project with extraordinary success.

I worked with neural networks (NN) in the late 1980s and early 1990s and even taught a course on neural network learning. However, in the 1990s it had become clear that the limits of what the then traditional NN architecture can achieve had been reached and the scientific community basically abandoned NNs as the preferred approach to machine learning. Yet beginning in the first decade of the 21st century we witnessed the rebirth of the NN idea, primarily via various multi-level NN models, such as convolutional neural networks (CNNs), developed by Le Cun, Hinton, and others. Currently, CNNs achieve truly spectacular (one can say 'superhuman' without exaggeration) results in various areas of artificial intelligence (AI) and machine learning (ML).

James Loy's Neural Network Projects with Python is a modest yet a very good text on developing NNs in Python with the Keras, pandas, NumPy, and TensorFlow libraries. The publisher's blurb on the cover, "The ultimate guide to using Python to explore the true power of neural networks through six projects," accurately characterizes the text, if we remove the hype word "ultimate." This is a perfect text for a serious student. The projects are well selected and clearly explained; the book comes with complete and meticulously checked set of instructions which help the reader - in case the reader is a Python beginner - with installing Anaconda, the free and open-source distribution of Python and its libraries. Then, it guides the reader through setting up the Python virtual environment, including all needed libraries. Setting up the environment took me only about 15 minutes and proceeded without any hitch.

The book consists of eight chapters. The first chapter, Machine Learning and Neural Networks 101 provides a nice introduction to the topic and presents the toolkits/libraries used in the projects. Then come six chapters each covering a specific project: beginning with the multilayer perceptrons, through deep feedforward networks, convolutional NNs, autoencoders, recurrent NNs (in particular, LSTM, long short-term memory networks), to Siamese NNs. The practical applications of the projects include: predicting diabetes, predicting taxi fares in New York City, image classification (the "cats versus dogs" problem), removing noise from images, sentiment analysis of movie reviews, and facial recognition system.

The last chapter, What's Next?, summarizes the projects, presents some newest methods, for instance, the fascinating GANs (generative adversarial networks) that can generate images of fake human faces indistinguishable from photographs of real people, and discusses the possible future directions of ML and AI.

I am highly recommending Neural Network Projects. A small, modest text fully delivers on its promise and gives great samples of code.

Three-and-three-quarter stars.


View all my reviews

No comments:

Post a Comment