Bayesian Optimization for Neural Networks
Master Hyperparameter Tuning and Model Selection with Probabilistic Methods
What if you could find the perfect neural network configuration in a fraction of the time it currently takes?
238 pages11 chaptersJan 5, 2026Machine Learning
About this book
Traditional hyperparameter tuning methods like grid search waste computational resources by evaluating unpromising combinations. This book reveals how Bayesian Optimization—a principled, probabilistic approach—intelligently navigates the hyperparameter landscape to find superior models faster. You'll discover how Gaussian Processes model the relationship between hyperparameters and performance, how acquisition functions strategically select which configurations to test next, and how to implement these techniques in your own projects. Whether you're training deep learning models, optimizing computer vision systems, or fine-tuning language models, you'll learn practical strategies to reduce training time, lower computational costs, and achieve better model performance. This comprehensive guide bridges theory and practice, equipping you with the knowledge to make Bayesian Optimization a core part of your machine learning workflow.
Table of contents
- IntroductionWhy Hyperparameter Optimization Matters, Limitations of Traditional Tuning Methods, The Bayesian Approach to Optimization, What You'll Learn in This BookRead below
- Chapter 1: Foundations of Hyperparameter TuningUnderstanding Hyperparameters and Their Impact, Key Hyperparameters in Neural Networks, Defining and Measuring Model Performance
- Chapter 2: Traditional Optimization Methods and Their LimitationsGrid Search: Exhaustive but Inefficient, Random Search: Better but Still Wasteful, Manual Tuning: The Human Bottleneck
- Chapter 3: Probabilistic Foundations of Bayesian OptimizationBayes' Theorem and Probabilistic Reasoning, Priors, Posteriors, and Belief Updates, Surrogate Models: Learning from Limited Data
- Chapter 4: Gaussian Processes as Surrogate ModelsGaussian Process Fundamentals, Kernels and Covariance Functions, Uncertainty Quantification with GPs
- Chapter 5: Acquisition Functions: Guiding the SearchThe Exploration-Exploitation Trade-off, Expected Improvement Acquisition Function, Upper Confidence Bound and Other Strategies
- Chapter 6: Implementing Bayesian OptimizationThe Bayesian Optimization Algorithm Step-by-Step, Initialization Strategies and Warm Starting, Convergence Criteria and Stopping Rules
- Chapter 7: Practical Tools and LibrariesOptuna: A Modern Optimization Framework, Scikit-Optimize and Other Python Libraries, Building Custom Bayesian Optimization Solutions
- Chapter 8: Optimizing Deep Learning ModelsTuning Convolutional Neural Networks, Optimizing Recurrent and LSTM Networks, Fine-tuning Transformer Models
- Chapter 9: Advanced Techniques and ExtensionsMulti-Objective Optimization and Pareto Frontiers, Parallel and Distributed Bayesian Optimization, Transfer Learning in Bayesian Optimization
- Chapter 10: Real-World Case Studies and ApplicationsCase Study: Computer Vision Model Optimization, Case Study: Natural Language Processing Tuning, Optimizing Under Resource Constraints
- Chapter 11: Troubleshooting and Best PracticesCommon Pitfalls and How to Avoid Them, Debugging Your Optimization Process, Best Practices for Production Deployments
- ConclusionKey Takeaways and Next Steps, The Future of Automated Machine Learning
- Glossary
- Further Reading and Resources
Introduction
Training a neural network is like searching for a needle in a haystack, except the haystack is multidimensional and each search attempt costs hours of computation time. You've likely experienced the frustration of watching your model train overnight, only to discover that a slightly different learning rate or batch size would have yielded dramatically better results. This challenge isn't unique to you—it's a fundamental problem that every machine learning practitioner faces. The hyperparameters that control how your neural network learns can make the difference between a model that barely outperforms random guessing and one that achieves state-of-the-art results.
Traditional approaches to hyperparameter tuning treat this search problem as if computational resources are infinite. Grid search exhaustively evaluates every combination in a predefined set, while random search blindly samples configurations without learning from previous results. Both methods waste valuable GPU hours testing configurations that any experienced practitioner could identify as unpromising. Meanwhile, manual tuning relies on human intuition and experience, creating a bottleneck that doesn't scale as models grow more complex. The machine learning community has long recognized that we need a smarter approach—one that learns from each evaluation and strategically decides which configurations to test next.
Bayesian Optimization offers a principled solution to this challenge by treating hyperparameter tuning as a sequential decision-making problem under uncertainty. Instead of blindly searching the hyperparameter space, it builds a probabilistic model of how hyperparameters affect performance and uses this model to guide the search toward promising regions. This approach dramatically reduces the number of expensive model evaluations needed to find excellent configurations. Throughout this book, you'll discover how to implement these techniques in your own projects, understand the mathematical foundations that make them work, and learn practical strategies for optimizing everything from simple feedforward networks to complex transformer architectures. Whether you're working with limited computational budgets or simply want to find better models faster, Bayesian Optimization provides the tools you need to make hyperparameter tuning systematic, efficient, and effective.
Why Hyperparameter Optimization Matters
The performance gap between a poorly tuned neural network and an optimally configured one can be staggering. Consider a convolutional neural network for image classification: with default hyperparameters, you might achieve 85% accuracy on your validation set. After systematic optimization, that same architecture could reach 92% accuracy—a difference that transforms a mediocre model into a production-ready system. This improvement doesn't come from changing the fundamental approach or collecting more data; it emerges purely from finding the right combination of learning rate, batch size, network depth, dropout rates, and dozens of other configuration choices. The challenge is that these hyperparameters interact in complex, non-linear ways that make intuitive tuning extremely difficult.
Computational cost represents another critical dimension of the optimization problem. Training a large neural network can consume hundreds or thousands of GPU hours, translating directly into electricity costs, cloud computing bills, and environmental impact. When you multiply this by the dozens or hundreds of configurations you might need to evaluate during hyperparameter search, the expenses quickly become prohibitive. A research team at a major technology company reported spending over $50,000 in cloud computing costs to tune a single large language model using grid search[1]. Bayesian Optimization can reduce these costs by an order of magnitude or more by intelligently selecting which configurations to evaluate, making advanced model development accessible to organizations with limited budgets.
The impact of hyperparameter optimization extends beyond individual model performance to influence research velocity and innovation capacity. When tuning takes weeks instead of days, you can iterate faster, test more architectural ideas, and respond more quickly to changing requirements. Teams that master efficient optimization techniques gain a competitive advantage by deploying better models sooner. This acceleration effect compounds over time: the insights gained from one optimization run inform the next, building institutional knowledge about what works for your specific domain and data characteristics. Organizations that treat hyperparameter optimization as a core competency rather than an afterthought consistently achieve superior results across their machine learning portfolio.
Reproducibility and scientific rigor also depend critically on systematic hyperparameter optimization. When researchers manually tune their models or use ad-hoc search strategies, it becomes nearly impossible for others to replicate their results. Published papers often omit crucial details about the optimization process, leading to what some have called a reproducibility crisis
in machine learning research. Bayesian Optimization provides a principled, documentable approach that can be precisely described and reproduced. By specifying your surrogate model, acquisition function, and search space, you create a complete record of how you arrived at your final configuration, enabling others to validate your work and build upon it with confidence.
The complexity of modern neural network architectures makes manual tuning increasingly impractical. A transformer model for natural language processing might have hyperparameters controlling:
- Learning rate schedules with warmup periods and decay strategies
- Attention head configurations across multiple layers
- Dropout rates at various positions in the architecture
- Weight initialization schemes and normalization strategies
- Batch sizes, gradient accumulation steps, and mixed precision settings
- Regularization parameters including weight decay and label smoothing
Each of these hyperparameters can take continuous or discrete values, and their optimal settings depend on interactions with other hyperparameters, your dataset characteristics, and your hardware configuration. The search space grows exponentially with the number of hyperparameters, quickly exceeding what any human can effectively explore through intuition alone. A model with just ten hyperparameters, each with ten possible values, creates a search space of ten billion possible configurations. Even if you could evaluate one configuration per second, exhaustively searching this space would take over 300 years. This combinatorial explosion makes intelligent search strategies not just helpful but absolutely essential for practical machine learning development.
Business impact provides the ultimate justification for investing in hyperparameter optimization capabilities. A recommendation system that converts 0.5% more visitors into customers, a fraud detection model that catches 2% more fraudulent transactions, or a medical diagnosis system that improves accuracy by 3%—these seemingly small improvements translate into millions of dollars of value for large-scale applications. The return on investment from systematic optimization often exceeds the cost by factors of ten or more. Moreover, the skills and infrastructure you develop for optimization transfer across projects, creating lasting organizational capabilities that continue delivering value long after any individual model deployment.
Limitations of Traditional Tuning Methods
Grid search represents the most straightforward approach to hyperparameter tuning, but its simplicity comes at an enormous computational cost. The method defines a discrete set of values for each hyperparameter and exhaustively evaluates every possible combination. For a neural network with five hyperparameters, testing just five values for each parameter requires 3,125 training runs. If each run takes four hours on your GPU cluster, you're looking at over 500 days of computation time—and that's for a relatively small search space. The exponential growth in evaluations makes grid search practical only for optimizing two or three hyperparameters at a time, forcing you to either accept suboptimal configurations or optimize hyperparameters sequentially, which misses important interactions between them.
The inefficiency of grid search becomes even more apparent when you consider that most of the hyperparameter space contains poor configurations. Research has shown that in typical neural network optimization problems, fewer than 5% of randomly sampled configurations achieve performance within 90% of the optimal value[2]. Grid search wastes computational resources uniformly across the entire search space, spending just as much time evaluating terrible configurations as promising ones. This uniform allocation makes no sense when some regions of the hyperparameter space are clearly superior to others. You wouldn't search for your lost keys by checking every square inch of your city with equal thoroughness—you'd focus on places where you're likely to have dropped them.
Random search improves upon grid search by sampling configurations randomly rather than exhaustively, allowing you to control the computational budget by simply limiting the number of samples. Studies have demonstrated that random search often outperforms grid search when given the same number of evaluations, particularly when some hyperparameters matter much more than others. However, random search still suffers from a fundamental flaw: it learns nothing from previous evaluations. Each new configuration is selected independently, without considering whether previous similar configurations performed well or poorly. This memoryless approach means you might waste evaluations testing configurations very similar to ones you've already found to be terrible, or you might never explore regions adjacent to your best-performing configurations.
Manual tuning by experienced practitioners can sometimes outperform both grid and random search, especially when domain expertise guides the search toward promising regions. An expert might know that learning rates typically work best in a certain range for a particular architecture, or that batch size should be adjusted based on dataset characteristics. However, this approach has severe limitations:
- It doesn't scale across teams or projects, as expertise is locked in individual practitioners
- Human intuition struggles with high-dimensional spaces and complex interactions
- Cognitive biases can lead experts to repeatedly try similar configurations
- The process is time-consuming and creates bottlenecks in development workflows
- Results are difficult to reproduce or document systematically
The sequential nature of manual tuning also limits its effectiveness. A human practitioner typically adjusts one or two hyperparameters at a time, observes the results, and then decides what to try next. This sequential approach makes sense given human cognitive limitations, but it means that exploring a space with ten hyperparameters requires many sequential rounds of experimentation. Each round involves waiting for training to complete, analyzing results, and deciding on the next configuration—a process that might take days or weeks for large models. By the time you've explored the space sufficiently, project requirements may have changed, or you may have moved on to a different architecture entirely.
Traditional methods also struggle with the challenge of conditional hyperparameters—settings that only matter when other hyperparameters take certain values. For example, the dropout rate in a particular layer only affects performance if that layer is included in the architecture, and learning rate warmup parameters only matter if you're using a warmup schedule. Grid and random search typically handle this by either evaluating invalid configurations (wasting resources) or by creating separate search spaces for different architectural choices (fragmenting the optimization process). Manual tuning can handle conditional hyperparameters more gracefully, but at the cost of increased cognitive load and longer optimization times.
Perhaps most critically, traditional methods provide no principled way to balance exploration and exploitation. Exploration means testing configurations in unexplored regions of the hyperparameter space to discover potentially superior areas. Exploitation means refining configurations near known good solutions to find the local optimum. Grid search explores uniformly but never exploits. Random search also explores uniformly without exploitation. Manual tuning tends toward exploitation, as humans naturally focus on refining promising configurations rather than exploring radically different options. None of these approaches adaptively balance exploration and exploitation based on what has been learned so far—a capability that proves essential for efficient optimization.
The limitations of traditional methods become especially problematic when optimizing expensive black-box functions, which perfectly describes neural network training. Each evaluation requires substantial computational resources and provides no gradient information that could guide the search. You can't use calculus-based optimization methods because you don't have a closed-form expression for how hyperparameters affect performance. You're forced to treat the optimization problem as a black box: you input a configuration, wait for training to complete, and receive a performance metric. Traditional methods approach this challenge with brute force, but the computational costs quickly become prohibitive for realistic neural network optimization problems.
The Bayesian Approach to Optimization
Bayesian Optimization transforms hyperparameter tuning from a brute-force search into an intelligent, adaptive process that learns from every evaluation. The core insight is deceptively simple: after evaluating several configurations, you have information about which regions of the hyperparameter space are promising and which are not. Rather than ignoring this information, Bayesian Optimization builds a probabilistic model—called a surrogate model—that captures your current beliefs about how hyperparameters affect performance. This model provides two crucial pieces of information for each potential configuration: a prediction of how well it will perform, and a measure of uncertainty about that prediction. These two elements enable the algorithm to make intelligent decisions about where to search next.
The Bayesian framework treats optimization as a sequential decision-making problem. At each iteration, you must decide which configuration to evaluate next, knowing that each evaluation is expensive and you have a limited budget. The surrogate model, typically a Gaussian Process, provides predictions across the entire hyperparameter space based on the configurations you've evaluated so far. An acquisition function then uses these predictions to score every possible configuration, balancing the expected performance (exploitation) against the uncertainty (exploration). Configurations that the model predicts will perform well receive high scores, but so do configurations in unexplored regions where the model is uncertain. This balance ensures that you don't get stuck refining mediocre local optima while ignoring potentially superior regions you haven't explored yet.
The mathematical foundation of Bayesian Optimization rests on Bayes' theorem, which describes how to update beliefs in light of new evidence. Before evaluating any configurations, you start with a prior belief about the objective function—perhaps that it's relatively smooth and doesn't have extreme values. After each evaluation, you update this belief to incorporate the new data point, producing a posterior distribution that reflects both your prior assumptions and the observed evidence. This posterior becomes the prior for the next iteration, creating a continuous learning process. Unlike random search, which treats each evaluation independently, Bayesian Optimization builds an increasingly accurate model of the objective function as it gathers more data.
Gaussian Processes serve as the workhorse surrogate model in most Bayesian Optimization implementations because they provide exactly what the algorithm needs: predictions with uncertainty estimates. A Gaussian Process defines a probability distribution over functions, allowing it to represent not just a single guess about the objective function but an entire family of possible functions consistent with the observed data. In regions where you've evaluated many configurations, the Gaussian Process becomes confident in its predictions, with low uncertainty. In unexplored regions, uncertainty remains high, signaling that these areas might be worth investigating. This uncertainty quantification distinguishes Bayesian Optimization from other surrogate-based methods and enables the principled exploration-exploitation trade-off.
The acquisition function translates the surrogate model's predictions into actionable decisions about which configuration to evaluate next. Several acquisition functions have been developed, each with different characteristics:
- Expected Improvement measures the expected amount by which a configuration will improve upon the current best result
- Upper Confidence Bound adds a multiple of the uncertainty to the predicted performance, favoring both high predictions and high uncertainty
- Probability of Improvement calculates the probability that a configuration will outperform the current best
- Thompson Sampling randomly samples from the posterior distribution, providing a probabilistic exploration strategy
The choice of acquisition function affects the optimization trajectory, with some functions exploring more aggressively and others exploiting known good regions more intensively. Expected Improvement has become the most popular choice because it naturally balances exploration and exploitation without requiring manual tuning of trade-off parameters. When the model is uncertain about a region, Expected Improvement assigns it higher scores because there's potential for significant improvement. When the model is confident that a region is poor, Expected Improvement assigns low scores even if uncertainty is high, avoiding wasted evaluations in clearly unpromising areas.
The efficiency gains from Bayesian Optimization can be dramatic. While grid search might require hundreds or thousands of evaluations to find a good configuration, Bayesian Optimization often achieves comparable or better results with just 50-100 evaluations. For neural networks where each evaluation takes hours, this reduction translates directly into days or weeks of saved computation time. The savings grow even more pronounced as the dimensionality of the search space increases. In a ten-dimensional hyperparameter space, grid search with ten values per dimension requires ten billion evaluations, while Bayesian Optimization might find an excellent configuration in a few hundred evaluations—a reduction of seven orders of magnitude.
Bayesian Optimization also provides valuable insights beyond just the optimal configuration. The surrogate model itself becomes a useful artifact that captures knowledge about your optimization problem. You can visualize the model to understand which hyperparameters matter most, how they interact, and where the promising regions of the search space lie. This understanding can inform future optimization runs, guide architectural decisions, and help you develop intuition about what works for your specific domain. The acquisition function's behavior over time reveals how the algorithm balances exploration and exploitation, helping you diagnose issues if the optimization isn't progressing as expected. These diagnostic capabilities make Bayesian Optimization not just a black-box optimizer but a tool for understanding your models more deeply.
The practical implementation of Bayesian Optimization has been greatly simplified by modern software libraries that handle the mathematical complexity behind user-friendly interfaces. Tools like Optuna, Scikit-Optimize, and BoTorch provide production-ready implementations that integrate seamlessly with popular deep learning frameworks. These libraries handle the details of fitting Gaussian Processes, optimizing acquisition functions, and managing the optimization loop, allowing you to focus on defining your search space and objective function. The maturity of these tools means that you can start applying Bayesian Optimization to your projects immediately, without needing to implement the underlying algorithms from scratch or become an expert in Gaussian Process regression.
What You'll Learn in This Book
This book provides a comprehensive journey from the fundamentals of hyperparameter optimization to advanced techniques for optimizing complex neural network architectures. You'll begin by building a solid foundation in the concepts that underpin Bayesian Optimization, including probability theory, Gaussian Processes, and acquisition functions. Each concept is introduced with clear explanations, concrete examples, and practical code that you can run and modify. The early chapters assume you have basic familiarity with machine learning and neural networks, but they don't require advanced mathematical background. Mathematical concepts are presented with intuitive explanations alongside the formal definitions, ensuring that you understand both what the algorithms do and why they work.
The middle chapters dive deep into the mechanics of Bayesian Optimization, showing you how to implement the algorithm step-by-step. You'll learn how to construct surrogate models using Gaussian Processes, select and tune kernel functions to match your problem characteristics, and implement various acquisition functions. Detailed code examples demonstrate how to use popular libraries like Optuna and Scikit-Optimize, with explanations of the key parameters and how to adjust them for your specific needs. You'll also discover how to handle common challenges like categorical hyperparameters, conditional search spaces, and constraints on valid configurations. These practical skills will enable you to apply Bayesian Optimization to your own projects immediately.
Later chapters focus on optimizing specific types of neural network architectures, providing targeted guidance for different domains:
- Convolutional neural networks for computer vision, including architecture search and data augmentation strategies
- Recurrent and LSTM networks for sequence modeling, with attention to temporal hyperparameters
- Transformer models for natural language processing, covering attention mechanisms and positional encodings
- Generative models including GANs and VAEs, addressing the unique challenges of optimizing adversarial and probabilistic architectures
Each architecture-specific chapter includes case studies drawn from real-world applications, showing you not just what hyperparameters to optimize but how to structure the optimization process for maximum efficiency. You'll see examples of search spaces that work well in practice, learn which hyperparameters typically matter most for different architectures, and discover strategies for reducing the number of evaluations needed. These case studies bridge the gap between theory and practice, providing templates you can adapt to your own projects.
Advanced chapters explore cutting-edge techniques that extend basic Bayesian Optimization to handle more complex scenarios. You'll learn about multi-objective optimization for cases where you need to balance multiple competing goals, such as accuracy versus inference speed or performance versus model size. Parallel and distributed Bayesian Optimization techniques show you how to leverage multiple GPUs or cloud computing resources to evaluate multiple configurations simultaneously, dramatically reducing wall-clock optimization time. Transfer learning approaches demonstrate how to use knowledge from previous optimization runs to warm-start new optimizations, making subsequent projects faster and more efficient.
Throughout the book, you'll encounter practical advice on troubleshooting and debugging optimization runs. Common pitfalls are identified and explained, with concrete strategies for diagnosing and fixing issues. You'll learn how to recognize when your optimization is stuck in a local optimum, how to adjust your search space when initial results are poor, and how to interpret diagnostic plots that reveal what the algorithm is doing. This troubleshooting guidance comes from real-world experience and will save you hours of frustration when things don't work as expected. The goal is not just to teach you how to run Bayesian Optimization when everything goes smoothly, but to equip you with the skills to handle the messy reality of production machine learning.
The book concludes with best practices for deploying Bayesian Optimization in production environments. You'll learn how to integrate optimization into continuous integration pipelines, how to manage computational budgets effectively, and how to document and reproduce optimization runs. Strategies for monitoring optimization progress and deciding when to stop are covered in detail, helping you avoid both premature stopping and wasteful over-optimization. You'll also explore the broader context of automated machine learning (AutoML) and how Bayesian Optimization fits into the larger ecosystem of tools for automating model development.
By the end of this book, you'll have developed a comprehensive skill set that enables you to:
- Implement Bayesian Optimization for any neural network architecture using modern libraries
- Design effective search spaces that balance comprehensiveness with computational efficiency
- Select appropriate surrogate models and acquisition functions for your specific problems
- Diagnose and fix common issues that arise during optimization
- Extend basic Bayesian Optimization with advanced techniques like multi-objective optimization and transfer learning
- Integrate optimization into production machine learning workflows
- Understand the theoretical foundations well enough to adapt techniques to novel situations
The knowledge you gain from this book will make you more effective at developing neural networks, reduce the time and cost of your machine learning projects, and enable you to achieve better model performance. More importantly, you'll develop a systematic, principled approach to hyperparameter optimization that scales across projects and architectures. Instead of relying on trial and error or copying hyperparameters from papers, you'll have the tools and understanding to optimize any model efficiently. This capability represents a significant competitive advantage in the fast-moving field of machine learning, where the ability to quickly develop high-performing models often determines success or failure.
This is the end of the free sample. The full book has 11 chapters.
Want this book written for you?
Tell us your goals and background, and get your own version of this book, tailored by AI to you.
Benefits of AI-tailored books
- Read one book, not ten:
- all the Machine Learning knowledge you need, gathered into a single book.
- Save days of learning:
- tell us your goals, choose your topics, and the whole book is built around them.
- Learn effortlessly:
- Machine Learning book written for your specific background and expertise.
- Understand at a glance:
- includes charts, tables, timelines, checklists, decision trees, and more.
- Stay current:
- written the day you order it, not years ago.
- Trust what you read:
- every book is checked for accuracy, with real research when your subject needs it.
Create your unique book in 3 steps
- 1. Select your focus
Select the focus of your Machine Learning book and share your background
- 2. Personalize your book
Specify your goals and choose sub-topics to include
- 3. Get your tailored book
Your book is ready in 10 minutes. Read it online, download as EPUB or PDF, or send to Kindle.
Frequently asked questions
- What is TailoredRead?
TailoredRead creates complete, full-length nonfiction ebooks, written specifically for you. Tell us what you want to learn and why, and TailoredRead writes you a complete ebook on it, with charts, tables, and diagrams throughout. Read it online, on Kindle, or on any e-reader, or download it as a PDF or EPUB. Every book is written fresh the day you order it.
- How is the book tailored to me?
Before anything is written, you answer a few short questions about your goals, your background, and the topics you care about. Your book is then planned around your answers: written at your level, focused on your goals, and covering the topics you chose, instead of the one-size-fits-all book a store sells everyone.
- Will it read like generic AI content?
No. Your book isn't a chat transcript: it's planned chapter by chapter before a single word is written, told in a clear book voice, and explains ideas visually with charts, tables, and diagrams. After writing, every book goes through an editorial pass that polishes chapters so the book reads consistent from start to finish. Judge for yourself: browse thousands of sample books on our Explore Books page.
- How accurate is the content?
Our AI first checks whether your subject needs live research. Niche and fast-moving subjects are researched before writing, and the book plan and chapters are grounded in what it finds. After writing, every book goes through a quality pass that checks its facts and consistency, and researched books list their sources in a Notes section at the back.
- How long is the book?
You choose the length: Comprehensive (250-300 pages), Detailed (150-200 pages), Essential (70-100 pages), or Short (30-50 pages).
- Does the book include visuals?
Yes. Every book includes charts, tables, and diagrams: timelines, checklists, step-by-step guides, decision trees, comparison tables, matrices, and bar charts. A typical book includes dozens of these visual elements.
- Can I read it on Kindle? What formats can I download?
Yes. Every book can be read in our online reader or downloaded as a PDF or EPUB. The EPUB can be opened with Kindle, Apple Books, Kobo, and any e-reader. The Commercial and Author licenses also include an editable Word (DOCX) and Markdown download.
- How much does it cost?
About the price of a regular ebook. The exact price depends on your book's length and complexity, from $2 for the shortest books to $35 for the most comprehensive, and it's shown when you review your book, before you commit to anything. Each book is a one-time purchase, yours to keep, no subscription. Licenses that let you share, teach, or publish your book range from $35.99 to $49.99.
- Can I preview the book before purchasing?
Before you pay, you'll see what your book will cover: the title, a detailed description, the estimated length, and the complete chapter-by-chapter table of contents, so you know what you're getting before you decide. The full text itself is written after you purchase.
- How long does it take to create a book?
About 10 minutes. You can start reading the opening chapters while the rest is still being written.


