Searching...
English
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
AI and Machine Learning for Coders

AI and Machine Learning for Coders

A Programmer's Guide to Artificial Intelligence
by Laurence Moroney 2020 390 pages
4.09
108 ratings
Listen
Try Full Access for 7 Days
Unlock listening & more!
Continue

Key Takeaways

1. Machine Learning: A Paradigm Shift from Rules to Learning

Instead of us coming up with the rules, what if we were to come up with the answers, and along with the data have a way of figuring out what the rules might be?

Beyond traditional programming. Machine learning fundamentally flips the traditional programming model. Instead of coders writing explicit rules to process data and generate answers, ML involves providing data and desired answers (labels), allowing the computer to learn the underlying rules or patterns. This approach unlocks solutions for problems too complex for rule-based logic, like recognizing objects in images or understanding human language.

Limitations of explicit rules. Consider tasks like activity detection in fitness trackers or identifying clothing items. While simple rules might work for basic scenarios (e.g., speed for running), they quickly fail for nuanced activities like golfing or distinguishing diverse shoe types. ML thrives in these areas by observing many examples and inferring complex relationships that humans struggle to articulate as code.

The core idea. The essence of machine learning is pattern matching. By feeding a neural network vast amounts of labeled data, it iteratively adjusts its internal parameters to minimize the difference between its predictions and the actual labels. This iterative process, guided by loss functions and optimizers, allows the machine to "learn" the intricate rules governing the data.

2. TensorFlow: The Universal Toolkit for AI Development

TensorFlow is an open source platform for creating and using machine learning models.

Comprehensive ML ecosystem. TensorFlow serves as a robust, open-source platform that simplifies the creation, training, and deployment of machine learning models. It abstracts away much of the complex underlying mathematics, allowing developers to focus on problem-solving. Its versatility extends from hobbyists to professional researchers, supporting a wide array of AI applications.

Key components for coders:

  • Keras API: A high-level interface for easily defining neural network architectures.
  • TensorFlow Data Services (TFDS): Simplifies access to numerous public datasets.
  • Optimizers & Loss Functions: Pre-built algorithms to guide model learning and error measurement.
  • Deployment Tools: TensorFlow Lite (mobile/edge), TensorFlow.js (web/Node.js), TensorFlow Serving (cloud).

From training to inference. The platform supports the entire ML lifecycle. "Training" is where the model learns patterns from data, while "inference" is the process of using the trained model to make predictions on new, unseen data. TensorFlow provides tools for both, ensuring models can be built efficiently and then deployed effectively across diverse environments.

3. Building Blocks: Neural Networks, Layers, and Optimization

In a scenario such as this one, the computer has no idea what the relationship between X and Y is. So it will make a guess.

Neural network fundamentals. At its core, a neural network is a series of interconnected "neurons" organized into layers. Each neuron takes inputs, applies weights and a bias, and passes an output through an activation function. The simplest network might have one layer and one neuron, learning a linear relationship like Y=2X-1. More complex tasks require multiple layers, often called "hidden layers," to learn intricate patterns.

The learning process. When a model is trained, it starts with random guesses for these weights and biases. A "loss function" quantifies how far off these guesses are from the true answers. An "optimizer" then uses this feedback (often via calculus-based methods like gradient descent) to iteratively adjust the weights and biases, minimizing the loss over many "epochs" (training cycles).

  • Activation Functions: Introduce non-linearity, allowing networks to learn complex relationships (e.g., relu for hidden layers, softmax for multi-class outputs, sigmoid for binary outputs).
  • Loss Functions: Measure the error between predictions and actual labels (e.g., mean_squared_error for regression, sparse_categorical_crossentropy for classification).
  • Optimizers: Algorithms that adjust model parameters to reduce loss (e.g., sgd, adam, RMSprop).

Hyperparameter tuning. The number of layers, neurons per layer, learning rate, and other settings are "hyperparameters" that significantly impact a model's performance. Finding optimal hyperparameters often involves experimentation and tools like Keras Tuner, which automate the process of testing various configurations.

4. Computer Vision: Teaching Machines to "See" with CNNs

One method to detect features comes from photography and the image processing methodologies that you might be familiar with.

Beyond raw pixels. While basic neural networks can classify simple, centered images (like Fashion MNIST), real-world computer vision requires detecting features regardless of their position or orientation. Convolutional Neural Networks (CNNs) achieve this by applying "filters" or "convolutions" to images, extracting meaningful patterns like edges, textures, or shapes, rather than just processing raw pixel values.

Convolutions and pooling. A convolution is a mathematical operation where a small matrix (the filter or kernel) slides over an image, multiplying its values with the underlying pixels to produce a new, filtered pixel value. This process highlights specific features. "Pooling" layers, typically applied after convolutions, reduce the dimensionality of the feature maps while retaining essential information, making the network more efficient and robust to variations.

  • Conv2D: Defines a 2D convolutional layer for images.
  • MaxPooling2D: Reduces image size by taking the maximum value in a region.
  • Input Shape: For color images, input shape is (height, width, 3) (RGB channels); for grayscale, (height, width, 1).

Transfer learning for vision. Training CNNs from scratch on large, diverse datasets is computationally intensive. "Transfer learning" offers a powerful shortcut: reuse pre-trained convolutional layers from models like MobileNet (trained on millions of images) and attach new, smaller dense layers for your specific classification task. This leverages existing feature extraction capabilities, drastically reducing training time and data requirements.

5. Natural Language Processing: Understanding and Generating Text

An antigram is a word that’s an anagram of another, but has the opposite meaning.

Language as numbers. Natural Language Processing (NLP) enables computers to understand, interpret, and generate human language. The first step is converting text into a numerical format. "Tokenization" assigns unique numerical IDs to words (or subwords), transforming sentences into sequences of numbers. This allows machines to process text, but initially, it doesn't capture meaning.

  • Tokenizer: Converts words to numerical tokens.
  • pad_sequences: Standardizes sequence lengths for neural network input by adding zeros (padding) or truncating.
  • OOV tokens: Handle "out-of-vocabulary" words not seen during training, preventing loss of context.

Embeddings for meaning. "Embeddings" are dense vector representations of words in a high-dimensional space. Words with similar meanings or contexts are mapped to vectors that are close to each other in this space. These vectors are learned during training, allowing the model to grasp semantic relationships. For example, "king" and "queen" might have similar vectors, with a consistent "gender" dimension separating them.

Recurrent Neural Networks (RNNs). To capture the sequential nature of language (word order matters!), RNNs, especially Long Short-Term Memory (LSTM) networks, are used. LSTMs have a "cell state" that allows them to maintain context over long sequences, addressing the "long-term dependency" problem where earlier words influence later meaning. Bidirectional LSTMs process sequences both forwards and backward, enhancing context understanding for tasks like sentiment analysis or text generation.

6. Time Series: Predicting the Future from Sequential Data

Time series data is a set of values that are spaced over time.

Patterns in time. Time series data, like stock prices or weather patterns, consists of values ordered by time. Predicting future values requires identifying underlying patterns such as:

  • Trend: The general direction of the series (upward, downward, or flat).
  • Seasonality: Repeating patterns at regular intervals (e.g., daily, weekly, yearly cycles).
  • Autocorrelation: Predictable behavior after specific events or values.
  • Noise: Random fluctuations that can obscure underlying patterns.

From naive to ML predictions. Simple statistical methods, like "naive forecasting" (predicting the next value is the same as the current one) or "moving averages," establish a baseline for prediction accuracy, measured by Mean Squared Error (MSE) or Mean Absolute Error (MAE). Machine learning models, particularly Deep Neural Networks (DNNs) and Recurrent Neural Networks (RNNs), can learn more complex, non-linear patterns to improve these predictions.

Windowed datasets. To train ML models on time series, the data must be structured into "windowed datasets." This involves creating input sequences (features) from a fixed number of past values and using the subsequent value as the label. For example, to predict tomorrow's temperature, the model might use the last 30 days' temperatures as features. This transforms the sequential problem into a supervised learning task.

7. Data is King: Efficient Management and Augmentation

The goal behind TensorFlow Datasets (TFDS) is to expose datasets in a way that’s easy to consume, where all the preprocessing steps of acquiring the data and getting it into TensorFlow-friendly APIs are done for you.

Streamlining data access. Data is the lifeblood of machine learning, but acquiring and preparing it can be complex. TensorFlow Datasets (TFDS) provides a standardized API to access a vast collection of public datasets (images, text, audio, etc.), handling downloading, preprocessing, and formatting into TensorFlow-compatible tf.data.Dataset objects. This significantly reduces the boilerplate code for data ingestion.

The ETL pipeline. Data management in TensorFlow follows an Extract-Transform-Load (ETL) pattern:

  • Extract: Loading raw data (e.g., from TFDS, CSV, JSON, images).
  • Transform: Manipulating data for training (e.g., normalization, augmentation, tokenization, padding, batching).
  • Load: Feeding the prepared data into the neural network for training.
    This consistent pipeline ensures scalability and efficiency, regardless of data size or complexity.

Augmentation and optimization. To prevent overfitting and improve model generalization, data augmentation techniques are crucial. For images, this involves applying random transformations (rotation, zoom, flips) to existing training images, effectively expanding the dataset. For text, cleaning (removing stopwords, punctuation, HTML) and strategic vocabulary sizing enhance data quality. Optimizing the "Load" phase through pipelining (parallelizing data preparation on CPU while GPU trains) dramatically speeds up training.

8. Deployment Everywhere: From Mobile to Cloud and Web

For the rest of the book we’re going to switch gears and look at how to use these models in common scenarios.

Ubiquitous AI. Once a machine learning model is trained, the next critical step is deploying it where users can benefit. TensorFlow offers a comprehensive ecosystem for deployment across diverse platforms, ensuring AI capabilities are accessible wherever needed. This flexibility is key to integrating AI into real-world applications.

Key deployment surfaces:

  • TensorFlow Lite (TFLite): For mobile (Android, iOS) and embedded devices (Raspberry Pi, microcontrollers). It optimizes models for size, latency, and on-device inference, crucial for battery-constrained environments and user privacy.
  • TensorFlow.js: Enables ML directly in web browsers or Node.js backends using JavaScript. It supports both training and inference, leveraging WebGL for GPU acceleration in the browser.
  • TensorFlow Serving: A production-ready server for deploying models to the cloud. It provides a robust API (HTTP/REST) for clients to request inference, supports model versioning, and allows for dynamic configuration updates.

On-device vs. cloud. Deploying models on-device (TFLite, TF.js in browser) offers benefits like reduced latency, enhanced privacy (data stays local), and offline functionality. Cloud deployment (TF Serving, TF.js on Node.js) provides centralized management, easier model updates, and leverages powerful server-side hardware. The choice depends on application requirements and constraints.

9. Model Optimization: Enhancing Performance and Efficiency

In this case, I found that the accuracy of the model dropped from 99% to about 94%.

Combating overfitting. A common challenge in ML is "overfitting," where a model performs exceptionally well on training data but poorly on unseen data. This indicates the model has learned noise or irrelevant patterns specific to the training set. Techniques to mitigate overfitting and improve generalization are crucial for robust models.

Key optimization strategies:

  • Learning Rate Adjustment: A high learning rate can cause rapid overfitting; reducing it allows for more stable and generalized learning. Tools like LearningRateScheduler help find optimal rates.
  • Dropout Regularization: Randomly "dropping out" (ignoring) a percentage of neurons during training prevents over-specialization and encourages the network to learn more robust features.
  • L1/L2 Regularization: Penalizes large weights in neurons, preventing them from becoming overly dominant and reducing model complexity.
  • Quantization (TFLite): Reduces model size and speeds up inference by converting high-precision floating-point numbers (32-bit) to lower-precision integers (8-bit) or float16, with minimal impact on accuracy.

Hyperparameter tuning with Keras Tuner. Manually experimenting with hyperparameters (e.g., number of layers, neurons, learning rates, dropout percentages) is tedious. Keras Tuner automates this process by systematically testing various combinations and reporting the best-performing models based on specified metrics (e.g., minimizing loss). This accelerates the discovery of optimal model configurations.

10. Ethical AI: Building Fair and Private Machine Learning Systems

Most importantly, building systems with a view to being fair to users isn’t a new thing, nor is it virtue signaling or political correctness.

Beyond technical prowess. As AI becomes pervasive, engineers must consider the ethical implications of their models, ensuring fairness, avoiding bias, and protecting user privacy. Unlike traditional code, ML models are "black boxes" of learned parameters, making transparency and interpretability challenging but essential. Ignoring these aspects can lead to significant technical debt and societal harm.

Addressing bias and fairness:

  • Data Scrutiny: Biases in training data (e.g., underrepresentation of certain demographics) lead to biased models. Tools like Google's What-If Tool and Facets help visualize data distributions and model outputs to identify and diagnose biases.
  • Proactive Design: Design metrics from day one, build minimum viable models, and iterate with fairness in mind. Ensure infrastructure supports rapid redeployment to correct issues quickly.
  • Example: An emoji system initially designed for "stick men" led to complex workarounds for female representation, demonstrating how early design choices can create lasting inequities.

Privacy with Federated Learning. To leverage user data for model improvement without compromising privacy, "federated learning" is employed. Instead of sending raw user data to a central server, models are trained directly on individual devices. Only the learned parameters (weights and biases) are sent back to a central server, aggregated, and used to update a master model. "Secure aggregation" further obfuscates these parameters during transit, adding another layer of privacy protection.

Last updated:

Want to read the full book?

Review Summary

4.09 out of 5
Average of 108 ratings from Goodreads and Amazon.

AI and Machine Learning for Coders receives mostly positive reviews (4.09/5) as an accessible introduction to TensorFlow and machine learning in Python. Readers appreciate its hands-on approach, practical examples, and coverage of deployment across web, mobile, and embedded systems. The book works well for those willing to code along, though explanations are brief and require Python knowledge. Some reviewers note it's less relevant in 2025's LLM-focused landscape. Critics mention excessive focus on tuning for beginners, but most praise it as an excellent overview and reference.

Your rating:
4.36
4 ratings

About the Author

Laurence Moroney is a prolific author who has written numerous programming books alongside fiction works. His Young Adult novel "The Fourth World" became a #1 Amazon Kindle bestseller, leading to two sequels and potential movie adaptation. His latest science fiction work, "Space Cadets," launches a series about humanity's journey to the stars. In his professional career, Moroney serves as a Developer Advocate for Google, where he combines his technical expertise with his passion for teaching and communication. He balances his technical writing with creative fiction projects.

Listen
Now playing
AI and Machine Learning for Coders
0:00
-0:00
Now playing
AI and Machine Learning for Coders
0:00
-0:00
1x
Voice
Speed
Dan
Andrew
Michelle
Lauren
1.0×
+
200 words per minute
Queue
Home
Swipe
Library
Get App
Create a free account to unlock:
Recommendations: Personalized for you
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
250,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Feb 2,
cancel anytime before.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
250,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 7-Day Free Trial
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel