Concepts / AI-Powered Data Synthesis

AI-Powered Data Synthesis

Procedural generation means using algorithms to generate data, as opposed to generating it manually, and it is common in gaming for levels, maps, items, and characters.

  • Programming

Why Data Is Sometimes Made on Purpose

Training an AI model usually depends on data, and sometimes the data you need is scarce, expensive to gather, or missing the cases you care most about. A common response is to create data artificially. This idea is older than AI. Data synthesis has a long history in software testing, gaming, and robotics, and the techniques developed in those fields are the foundation for the approaches covered in this article.

There are two broad ways to get a set of data items. In manual generation, a person creates each item by hand. In procedural generation, a program produces the items according to a defined procedure, so the same procedure can produce many items without a person writing each one. Before comparing methods, the next section traces one of them step by step, because the easiest way to understand a generator is to watch it produce a value.

What do you think happens?

Suppose a rule-based generator has one rule: every age value must be between 18 and 65. Could that generator ever output an age of 70?

Reveal answer
Answer:

No. Every generated value falls within the range the rule describes, so 70 cannot be produced.

Rule-based synthesis is explicit. The rules are written before generation begins, and the generator applies them rather than learning them, so the output is bounded by what the rules describe.

Tracing a Rule-Based Generator by Hand

Definition

Rule-based data synthesis is a traditional approach that produces data from predefined rules. The rules are written before generation begins. The generator does not learn them from examples; it applies them. Each output is therefore a product of the rules, and understanding a rule-based generator means understanding its rules.

Because the rules are explicit, the structure of the output is easy to control. If a rule says a value must fall in a certain range, every generated value falls in that range. The same explicitness is also the limit: the generator can only produce what the rules describe. Its structure is predictable, but its coverage is limited to the rules.

When several rules are defined, they are applied in sequence. Each rule takes the partly built data item left by the previous rule, changes it, and passes it on. The diagram below shows a small three-rule generator. Read it from left to right: the item starts empty, each rule adds or sets something, and the last stage is the finished output.

Empty recordno fields setRule 1: assign IDrecord_id = 1Rule 2: choose ageage = 23, inside 18 to 65Rule 3: derive status23 is under 30, so juniorFinal recordid 1, age 23, juniorapplied firstthenthenoutput
What does each rule change in the intermediate data, and what is the final output after the last rule?
Worked example

Hand-tracing the three-rule generator

Start from an empty record and apply three rules in order to produce one data item. Rule 1 assigns an ID. Rule 2 chooses an age inside the range 18 to 65. Rule 3 sets status to junior if the age is under 30 and to senior otherwise.

  1. 1
    Start

    The record has no fields yet: it is empty.

  2. 2
    Apply Rule 1

    Rule 1 assigns the ID. The record now holds record_id = 1. Nothing else has changed.

  3. 3
    Apply Rule 2

    Rule 2 chooses an age inside the allowed range. For this trace the chosen value is 23, which lies between 18 and 65, so the rule is satisfied. The record now holds record_id = 1 and age = 23.

  4. 4
    Apply Rule 3

    Rule 3 reads the age that Rule 2 produced. Because 23 is under 30, the rule sets status to junior. The record now holds record_id = 1, age = 23, and status = junior.

  5. 5
    Read the output

    No more rules remain, so the record is the final output of the generator.

Result

The final generated item is record_id 1, age 23, status junior. Each rule transformed the intermediate record, and the last rule depended on the output of the rule before it.

Procedural Generation Versus Manual Creation

Procedural generation means using algorithms to generate data, as opposed to generating it manually. The defining change is who does the repetitive work. With manual generation, a person creates each item. With procedural generation, a program follows a defined procedure, and that single procedure can produce many items.

AspectManual generationProcedural generation
Who produces each itemA person creates each item by handA program produces the items according to a defined procedure
Effort per itemA person has to write each oneThe same procedure can produce many items without a person writing each one
Where the effort goesInto every individual itemInto designing the procedure once
Typical exampleWriting each record of a dataset by handA game producing levels or maps as it runs

Manual versus procedural generation

The clearest everyday illustration comes from gaming. Procedural generation is commonly used in games to create content such as levels, maps, items, and characters on the fly, meaning the content is produced as the game runs rather than being stored in advance. The source notes that most data generation techniques used in these industries can be applied to AI. That is the bridge: a method that builds game worlds can, in principle, build training data.

Simulation Loops: Running a Model Step by Step

Simulation-based data synthesis is the second traditional approach. Instead of writing data-producing rules directly, it generates data by running a simulation. The approach is placed alongside rule-based synthesis as a traditional technique, and robotics is one of the fields where data synthesis has a long history.

A simple way to picture the difference is this. A rule-based generator asks, for each item, what the rules allow. A simulation-based generator lets a modeled process unfold and records what it produces. The data comes out of the run of the model rather than being assembled field by field. The source does not describe a specific simulator, so treat this as a conceptual contrast rather than a recipe for any particular tool.

The diagram below uses a deliberately tiny environment: a cart on a line that moves forward one position per step. The environment has a current state, each step updates that state, and the state after each step is recorded as one generated data point. The loop repeats until the run ends.

Start stateposition 0Step 1position 1, recordedStep 2position 2, recordedStep 3position 3, recordedrun steprun next steprun next step
How does the environment state change over repeated steps, and how does each step's output get recorded as generated data?

Read the diagram as a loop. Each step takes the current state, produces the next state, and writes down what happened. After three steps the recorded outputs are positions 1, 2, and 3. Those records are the generated data. Nothing in this trace required someone to type each record: the data was produced by letting the modeled process run.

Traditional Methods Versus AI-Powered Synthesis

Traditionally, data synthesis and augmentation have followed two approaches: rule-based and simulation-based. A newer method, made possible by advanced AI models, uses AI itself to synthesize data. The source introduces this third approach as a preview; the difference at the conceptual level is where the generation logic comes from.

ApproachWhere the generation logic comes fromHow the data is produced
Rule-basedPredefined rules written before generation beginsThe rules are applied to produce each item; output is bounded by the rules
Simulation-basedA modeled process run as a simulationData is recorded from the run of the model
AI-poweredAn advanced AI modelThe AI model itself is used to synthesize data

Three families of data synthesis

The useful distinction is this. The first two approaches rely on rules or simulations that a person designs, while the third relies on an AI model to produce the data. The rule-based trace above showed that a person who writes the rules knows exactly what the generator can output. The AI-powered approach is covered in the next section, so for now the goal is only to see that it changes where the generation logic lives.

Mistakes Beginners Make With Synthesis

  • Common mistake

    Assuming a rule-based generator will produce values the rules never mention

    What it looks like

    A generator with only an age range of 18 to 65 is expected to occasionally output an age of 80.

    Why it fails

    The output is bounded by the rules. The generator only produces what the rules describe.

    Do this instead

    Check every rule for what it allows, and treat missing cases as cases the generator cannot produce.

  • Common mistake

    Believing a rule-based generator learns from examples

    What it looks like

    Showing the generator sample records and expecting it to infer the pattern.

    Why it fails

    The rules are written before generation begins. The generator does not learn them from examples; it applies them.

    Do this instead

    Write the rules explicitly. Understanding the output means understanding the rules.

  • Common mistake

    Treating procedural generation as the same thing as AI

    What it looks like

    Calling a game that builds a random dungeon from a fixed procedure an AI system.

    Why it fails

    Procedural generation means using algorithms to generate data. AI-powered synthesis is a separate, newer method that uses an AI model to produce the data.

    Do this instead

    Ask whether the generation logic is an algorithm a person designed or an AI model producing the data.

  • Common mistake

    Describing a simulation as a list of rules without noticing that the data comes out of running the modeled process

Checking Your Understanding

EASY

Using the three-rule generator from the trace, change Rule 2 so that the age must fall between 30 and 40, and suppose the chosen value is 35. Keep Rule 1 and Rule 3 unchanged. What is the final record?

Hints
  • Rule 3 sets status to junior only when the age is under 30.
  • Work through the rules in order, updating the record after each one.
  • The final record should have record_id 1, age 35, and a status based on Rule 3.
MEDIUM

A game creates a new dungeon layout each time a player starts a level, using a fixed procedure that a developer wrote. Is this manual generation or procedural generation? Explain using the definitions from this article.

Hints
  • Ask who produces each item and whether a single defined procedure produces many items.
  • Compare the situation with a person typing each record of a dataset by hand.

Key Takeaways

  • Procedural generation uses algorithms to produce data according to a defined procedure, in contrast to manual generation, where a person creates each item by hand.
  • Rule-based synthesis applies predefined rules, written before generation begins; its output is predictable, but limited to what the rules describe.
  • Simulation-based synthesis generates data by running a modeled process, recording what it produces at each step of the run.
  • The traditional approaches rely on rules or simulations a person designs, while the newer AI-powered approach uses an AI model itself to synthesize data.

Related concepts

More concepts starting with A