Training systems and methods for ai agents
The described method optimizes the training and testing of autonomous agents by using a data generator module that adapts based on performance feedback and realism checks, addressing the challenge of generating diverse and realistic scenarios to enhance the agent's capabilities.
Patent Information
- Application Number
- GB2025002919
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-23
- Filing Date
- 2025-02-28
- Publication Date
- 2026-02-04
AI Technical Summary
Existing systems for training autonomous agents face challenges in generating a sufficient range of realistic environments and events to ensure comprehensive training and testing, leading to potential underperformance in real-world scenarios.
A computer-implemented method involving a sample data generator module that generates and updates data based on the agent's performance, using feedback loops and reinforcement learning to optimize the search space and ensure realism, with compliance checks to ensure data relevance.
The method effectively challenges the agent to improve performance on a diverse range of scenarios, ensuring robust training and testing by generating data that highlights weaknesses and maintaining realism, thereby enhancing the agent's ability to handle real-world situations.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
The field of vehicle autonomy is growing rapidly, and the requirement for intelligent autonomous agents to control vehicles is well established. The systems in place to train autonomous agents through machine learning techniques require a vast amount of data. Over the past decade, many companies and research institutions have been involved in collecting road use data, and data relating to environments for driving. Such data includes image data and particularly video data, LIDAR data gathered from LIDAR sensors installed on vehicles, satellite data, radar data, and map data containing route and road network data. Training an autonomous agent to drive using Al and machine-learning techniques is inherently data intensive. The event space for events occurring during driving is huge, given the numbers of drivers on the roads, pedestrians in proximity to roads, and the large variety of street signs, road markings, and street furniture. No pair of journeys is ever the same, and agents must be trained to cope with virtually any eventuality. Given the safety-critical nature of autonomous driving, agents must be trained to a very high level of proficiency before they can be deployed in a real-world driving situation. Real-world data is important for understanding the nature of situations that are faced routinely, for training agents to fine tune their behaviour and responses, and for testing agents to gain assurance that safe and acceptable performance has been achieved. This real-world data can take the form of 'mileage accumulation', in which the training and / or testing is performed through extended operation in uncontrolled environments (particularly public roads) such that the system experiences situations that have not been actively set up, but instead are experienced by chance. It could also take the form of discrete scenarios, which could be isolated retrospectively from mileage accumulation data or could be designed or generated by some other means. However, due to the volume of training data required for advancing an autonomous agent to a level in which it can control a vehicle safely, artificial generation of training data provides an excellent tool for systems both in training and testing autonomous agents. Importantly, autonomous agents must receive rigorous training before being able to perform to a level deemed acceptable. As the agents are trained, they require extensive testing to determine how they will act in situations presented to them. Scenario-based testing (SBT) of autonomous agents consists of exposing the agent to a programme of defined test scenarios. The scenarios are specifically selected to provide coverage of a very wide range of permutations of events that may occur during a journey, and that could challenge the agent. The scenarios are performed in a controlled manner; they may be set up on a proving ground or in a simulation, for example. SBT has an advantage in being able to ensure a test programme provides coverage of a very large range of permutations of events and environments that are possible. In both training and testing processes, the agent must be exposed to a large variety of scenarios. The same scenarios may be appropriate both for training the agent and also for testing the agent, and so where we refer to training or testing an agent herein, or to the data used for either purpose, it is intended that the terms are generally interchangeable and it should be understood that the data used for one purpose is also suitable for the other. However, it should also be understood that different scenario data should be used for testing the agent than was used in its training, or else the agent may be tested on specific scenarios for which it is prepared rather than testing its general aptitude to handle new scenarios. SBT also provides for training and testing systems that are able deliberately to target areas where there is reason to conclude that more training would be valuable. For example, performance may be close to some threshold level of acceptability such as one defined within regulations or requirements, or statistical confidence may be determined to be low in the agent successfully (e.g., ‘safely’, or in a manner that provides satisfactory user comfort, or efficiently) navigating through a particular environment or set of events / obstacles. In this case, the agent may be trained repeatedly on similar scenarios / events, so that it learns to navigate those more effectively, raising its performance level over iterations. This approach requires ‘search space optimisation’ (SSO), in which a feedback loop allows new test scenarios to be selected based upon the results of previously undertaken scenarios. However, designing a system providing SBT, and particularly using SSO, poses difficulties. For example, ensuring that such a system generates a sufficient range of realistic environments and events, ensuring that the agent is trained in a way that means it is able to handle a full variety of environments and events, and that the scenarios and events are true-to-life. The present invention aims to overcome or reduce one or more of the difficulties associated with the state of the art. BRIEF DESCRIPTION OF THE INVENTION According to a first aspect of the invention we provide a computer-implemented method of training or testing an Al agent, comprising the following steps: generating a set of first sample data using a sample data generator module; training or testing the Al agent using an Al agent module and the first sample data, and determining a degree of success (e.g. success or failure) of the Al agent in performing a task based on the first sample data; and updating the sample data generator module based on the degree of success (e.g. determination of success or failure). The method may further include updating the Al agent module based on the degree of success (e.g. determination of success or failure), to improve the Al agent performance at the task based on the first sample data. Updating the sample data generator module based on the degree of success (e.g. determination of success or failure) may involve determining an aspect of the Al agent performance associated with the degree of success (e.g. success or failure), and updating the sample data generator module based on that determination so that further generated sample data is more likely to cause the Al agent to have a reduced degree of success (e.g. fail) when performing a task based on that further sample data. The method may further comprise the steps of: prior to training or testing the Al agent: using a sample data compliance module, determining whether items of the first sample data are distinguishable from items of a set of second sample data accessible from the sample data compliance module, where the sample data compliance module determines compliance of the first sample data where the items of first and second sample data are found not to be distinguishable; updating the sample data generator module based on the determination of compliance or non-compliance. The method may include, where the first sample data is found to be non-compliant, repeating the step of generating a set of first sample data to produce a further set of first sample data and repeating the step of determining whether items of that further set of first sample data are compliant. If the first sample data is found to be compliant, the method may include providing the first sample data to the Al agent module. The method may include either: where the first sample data are found to be compliant, updating the sample data compliance module to reduce the likelihood of those specific first sample data being determined to be compliant in future, using a cost function; or where the first sample data are found to be non-compliant, updating the sample data compliance module to improve the likelihood of those first sample data being determined to be non-compliant in future, using a reward function. The method may include either: where the first sample data are found to be compliant, updating the sample data generator module to increase the likelihood of similar first sample data being generated in future, using a reward function; or where the first sample data are found to be non-compliant, updating the sample data generator module to reduce the likelihood of similar first sample data being generated in future, using a cost function. According to a second aspect of the invention, we provide a computer-implemented method of generating data fortraining or testing an Al agent, comprising the following steps: generating a set of first sample data using a sample data generator module; using a sample data compliance module, determining whether items of the first sample data are distinguishable from items of a set of second sample data accessible from the sample data compliance module, where the sample data compliance module determines compliance of the first sample data where the items of first and second sample data are found not to be distinguishable; updating the sample data generator module based on the determination of compliance or non-compliance. The method may include, if the first sample data is found to be compliant, providing the first sample data to the Al agent module. The method may include, either: where the first sample data are found to be compliant, updating the sample data compliance module to reduce the likelihood of those specific first sample data being determined to be compliant in future, using a cost function; or where the first sample data are found to be non-compliant, updating the sample data compliance module to improve the likelihood of those first sample data being determined to be non-compliant in future, using a reward function. The second sample data may be generated from sensor data and relates to measurements of properties of objects or of an environment, and is preferably reflective of or approximates a real-world environment. The second sample data may record a scenario fortesting or training behaviour within an environment, the record of the scenario including one or more of: a geographical layout of an environment, environmental conditions, parameters of static objects, and parameters of moving objects within the environment. According to a third aspect of the invention, we provide a computer-implemented method of training or testing an Al agent, comprising the following steps: generating a set of first sample data using a sample data generator module; using a sample data compliance module, determining whether items of the first sample data pass a realism test, updating the sample data generator module based on the determination of whether the items of the first sample data were found to pass the realism test, to improve the likelihood of future generated sample data passing the realism test, using the first sample data to train or test an Al agent, determining a degree of success (e.g. success or failure) of the Al agent in performing a task based on the first sample data; and updating the sample data generator module based on the degree of success (e.g. determination of success or failure), to improve the likelihood of future generated sample data causing the Al agent to have a reduced degree of success (e.g. fail) for a task performed on that data. The method may further include updating the Al agent module based on the degree of success (e.g. determination of success or failure), to improve the Al agent performance at the task based on the first sample data. The method may further include updating the sample data compliance module to alter the realism test, to reduce the likelihood of the generated sample data being determined to pass the realism test. The sample data generator module may use an artificial neural network to generate the first sample data. The first sample data may approximate a scenario for testing or training behaviour within an environment, the scenario including one or more of: a geographical layout of an environment, parameters of static objects, and parameters of moving objects within the environment. The Al agent may be configured to drive a vehicle, or to assist in driving a vehicle. The Al agent may be configured to operate a robotic device. The task performed by the Al agent based on the first sample data may comprise at least one of: controlling a vehicle or robotic device (e.g. partially or fully); and detecting and / or classifying one or more objects and generating one or more event warnings. During use, the Al agent may be configured to detect and / or classify an object based on sensor data, wherein the second sample data is generated from sensor data and relates to measurements of properties of the object, and the first sample data is generated by a neural network configured to approximate properties of the object. According to a fourth aspect of the invention, we provide a computer-implemented method of training or testing an Al agent, comprising: generating a set of first sample data using a sample data generator module; training or testing the Al agent using an Al agent module and the first sample data; determining, using a compliance module, at least one of: an outcome of a sample data realism test for items of the first sample data; and an outcome of a realism test for data associated with a task performed by the Al agent based on the first sample data; and updating the sample data generator module based on the outcome of the sample data realism test and / or the outcome of the realism test, to improve the likelihood of future data associated with a task performed by the Al agent based on future generated sample data having an outcome for the realism test associated with improved realism. In response to the outcome of the realism test indicating that the data associated with the task performed by the Al agent does not satisfy at least one criterion, the method may comprise at least one of: updating the sample data generator module using a cost function to thereby improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion; and updating the compliance module using a reward function to improve the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test not satisfying the at least one criterion in the future. In response to the outcome of the realism test indicating that the data associated with the task performed by the Al agent satisfies at least one criterion, the method may comprise at least one of: updating the sample data generator module using a reward function to improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion; and updating the compliance module using a cost function to reduce the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test satisfying the at least one criterion in the future. The method may further comprise receiving, by the compliance module, the first sample data from at least one of the sample data generator and the Al agent module. In response to the outcome of the sample data realism test indicating that the first sample data does not satisfy at least one criterion, the method may comprise at least one of: updating the sample data generator module using a cost function to reduce the likelihood of similar first sample data being generated in future; and updating the compliance module using a reward function to improve the likelihood of the first sample data having an outcome for the sample data realism test not satisfying the at least one criterion in the future. In response to the outcome of the sample data realism test indicating that the first sample data satisfies at least one criterion, the method may comprise at least one of: updating the sample data generator module using a reward function to improve the likelihood of future generated sample data having an outcome for the sample data realism test satisfying the at least one criterion; and updating the compliance module using a cost function to reduce the likelihood of the first sample data having an outcome for the sample data realism test satisfying the at least one criterion in the future. The data associated with the task performed by the Al agent based on the first sample data may comprise one or more attributes relating to behaviour of the Al agent in performing the task. The first sample data may approximate a scenario for testing or training behaviour within an environment. The scenario may comprise one or more of: a geographical layout of an environment, parameters of one or more static objects, parameters of one or more moving objects within the environment, and parameters of one or more environmental conditions. The data associated with the task performed by the Al agent based on the first sample data may comprise one or more attributes ofthe scenario, and the step of determining an outcome of the realism test may comprise determining the outcome in dependence on one or more ofthe one or more attributes ofthe scenario. The step of determining an outcome ofthe realism test may comprise determining whether one or more attributes ofthe scenario pass the realism test. The method may comprise: determining whether an outcome ofthe sample data realism test for the first sample data satisfies at least one criterion; training or testing the Al agent using the Al agent module and the first sample data responsive to the outcome ofthe sample data realism test satisfying the at least one criterion; and determining whether an outcome ofthe realism test for the data associated with the task performed by the Al agent based on the first sample data satisfies at least one criterion after the step of training or testing the Al agent using the Al agent module and the first sample data. According to a fifth aspect ofthe invention, we provide a data processing system comprising a processor configured to perform the steps of any one ofthe first four aspects. According to a sixth aspect ofthe invention, we provide a computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one ofthe first four aspects. BRIEF DESCRIPTION OF THE FIGURES In orderthatthe present disclosure may be more readily understood, preferable embodiments thereof will now be described, by way of example only, with reference to the accompanying drawings, in which: FIGURE 1 is a diagrammatic view of a system architecture, in accordance with some embodiments ofthe disclosure; FIGURES 2 and 3 are illustrative diagrams of an example steps of a training or testing process for training or testing an Al agent; FIGURE 4 is a diagrammatic representation of an Al agent module, embodying aspects ofthe present disclosure; FIGURE 5 is a diagrammatic representation of a sample data generator module, embodying aspects of the present disclosure; FIGURE 6 is a diagrammatic representation of a sample data compliance module, embodying aspects of the present disclosure; FIGURE 7 is a flow diagram representing method steps according to embodiments of the technology; FIGURE 8 is a diagram showing the flow of data around a system according to some embodiments of the technology; FIGURE 9 is a flow diagram representing method steps according to some embodiments of the technology; FIGURES 10, 11 and 12 are diagrammatic views of system architectures, in accordance with some embodiments of the disclosure; FIGURE 13 schematically illustrates an example of a sample data generator module; FIGURE 14 schematically illustrates an example of a sample data compliance module; and FIGURE 15 schematically illustrates an example of an Al agent module. DETAILED DESCRIPTION OF THE DISCLOSURE With reference to the Figures of the appended drawings, we describe computer-implemented methods of training and / or testing an artificially intelligent agent (referred to as an ‘Al agent’), methods of generating data fortraining or testing an Al agent, a system for performing such training or testing, and a computer program product for the same. By an Al agent, we mean a module or collection of algorithms configured to receive inputs providing data about a task, to process those inputs, and to output a response. Of particular interest are Al agents for driving (or assisting the driving of) vehicles. As input, such agents receive data from sensors such as LIDAR, video cameras, GNSS (e.g., GPS, Galileo, GLONASS), radar, odometers, as is known in the art. In response to those inputs, the Al agent determines information about the environment surrounding the vehicle, including details of the road layout, street signs, traffic signals, other vehicles and pedestrians, for example, and determines one or more of: how best to control the vehicle to guide it to its destination; and / or one or more event warnings (such as a collision warning, lane departure warning and / or other similar warnings). Therefore, references to a task performed by an Al agent based on sample data refer to one or more of: a control-related task and / or a warning-related task. In some embodiments of the disclosure, a task performed by an Al agent may comprise one or more of: controlling a vehicle; and detecting and / or classifying one or more objects and generating one or more event warnings (e.g. future event warning associated with a vehicle, robot or other similar entity). In some embodiments of the disclosure, an Al agent may perform a task that is a control-related task, or may perform a task that is a warning-related task, or may perform a task that comprises both a control-related task and a warning-related task. An Al agent may perform a control-related task for fully controlling a vehicle (i.e. autonomous driving) or partially controlling a vehicle (e.g. assistance such as steering assistance, braking assistance and / or signalling assistance). Alternatively or in addition, an Al agent may perform a warning-related task for providing one or more warnings (e.g. potentially for warning a vehicle occupant, or more specifically an autonomous vehicle occupant) for one or more predicted events such as predicted collisions and / or predicted path deviations (such as lane deviations). An Al agent module may perform a task comprising driving a vehicle, or assisting driving a vehicle, in which assisting in driving a vehicle may comprise any of control assistance and / or warning assistance. It should be understood that other implementations of Al agents are also envisaged. For example, Al agents for controlling robots based on sensor data. Such robots may operate in industrial environments - in factories and on production lines, for sorting objects, for identifying objects, and in all manner of tasks. Robots may also be employed in medical environments, as surgical robots, and in a wide variety of settings. The technology described herein may apply widely to processes for training such Al agents to improve their functionality, and on testing trained Al agents to determine whether they are trained sufficiently. With reference to Figure 1, and in broad terms, the system for training or testing Al agents 10 provides three core modules: an Al agent module 12, a sample data generator module 14, and a sample data compliance module 16. The Al agent module 12, is configured to test or train an Al agent using sample data. In a training process, the Al agent module 12 updates the behaviour of the Al agent by processing sample data to learn patterns in the data and update its outputs accordingly, during a training process. In such a setting, the sample data discussed herein is ‘training data’ for the purpose of training the Al agent, and those terms (“training data” and “sample data”) may be used interchangeably. Note that in other settings, the Al agent module 12 is used fortesting the performance of a trained Al agent, and in that case the Al agent module 12 may perform no training function as the Al agent may not be changed or updated during the process. In such a case, the sample data may be referred to as “test data” since it is used in testing the Al agent. In the context of this specification, the terms “sample data”, “test data” and “training data” are considered to relate to the same types of data, used in the same way in terms of simulating tasks for an Al agent to perform. Where Al agent training is involved, the Al agent module 12 may provide a machine learning framework for training the Al agent. The Al agent module may comprise one or more artificial neural networks (ANN), for example, and training may involve feeding labelled training data as input to the ANN, and updating the ANN using backpropagation for example. Techniques for training an ANN using training data are well known in the art and will not be discussed here in detail. The second core module is the sample data generator module 14. The sample data generator module 14 is configured to generate sample data to be used by the Al agent module 12 in training or testing the Al agent. The sample data generator module 14 is configured to generate a variety of data representing the data likely to be received for processing by the Al agent in use. For example, in the context of an Al agent for use in driving an autonomous vehicle, it is necessary for the Al agent to be capable of many tasks including navigation, identifying street signs and traffic signals and responding accordingly, identifying other vehicles and their behaviour, identifying and responding to pedestrians, and many other tasks and behaviours. In other words, the search space is vast, and in order to train the Al agent to perform appropriate responses, or to optimise its responses, it is necessary to expose the Al agent to a very large number of different scenarios, and to learn and modify its behaviour in response to the potential outcomes from each situation, based on a large variety of potential actions taken. In a similar manner, in the context of an Al agent for use in providing one or more warnings, in order to train the Al agent to perform appropriate responses, it is necessary to expose the Al agent to a very large number of different scenarios. The vast range of possibilities to be faced by the Al agent, which must be covered broadly with the sample data in order for the Al agent to be competent to act appropriately, is called the search space. The task of covering the search space with an appropriate selection of sample data is known as search space optimisation, and is traditionally performed using an algorithmic approach, involving first characterising system behaviour to interpolate between the results of scenarios that have been undertaken, and determining where in the performance ‘gaps’ can be predicted. Subsequently, the optimisation process selects where within the space defined by the parameter ranges available, the new scenarios should be selected in order to test and improve the Al agent performance most efficiently. Therefore, in such a setting, the sample data generator module 14 is operable to generate artificial scenarios for use in training the Al agent, the scenarios including parameters defining at least one of: an environment layout, a layout of objects within an environment (either stationary, or moving, or a mixture of both stationary and moving objects), and environmental conditions such as lighting conditions (details of the lighting due to the sun being positioned low in the sky, an absence of lighting, or artificial lighting), low visibility conditions due to fog, smoke or precipitation, properties of the road surface (such as its frictional grip, wet conditions, icy conditions). The parameters may also include parameters relating to the vehicle itself, such is its dimensions and performance, degradation, and the like. Figures 2 and 3 of the drawings provide illustrative examples of aspects of scenarios which may be included in sample data; road layouts, objects positioned relative to the roads (e.g., trees, buildings). An Al agent configured to control (e.g. drive or assist driving) a vehicle and / or provide event warnings may be required to identify objects such as these, and corners of roads forming junctions, for example, as a standard part of their task. In embodiments of the technology, the sample data generator module 14 comprises one or more ANN configured to output parameters representing items of sample data. There is little benefit in generating large sets of similar data on which the Al agent performs well. Doing so provides a false impression of the ability of the Al agent, whereas in reality it may have become specialised at a small subset of the scenarios it may encounter during use. To avoid this, the sample data generator module 14 is incentivised to generate sets of sample data which cause the Al agent to perform poorly. Note that where the term “set” is used, it is intended to mean a set of one or more items (i.e., it may contain a single item). To achieve this, a feedback loop is formed between the Al agent module 12 and the sample data generator module 14. The sample data generator module 14 communicates a set of generated sample data 13’ to the Al agent module 12 to be used in training or testing the Al agent. Following the training or testing, the Al agent module 12 communicates data about the performance of the Al agent 13” back to the sample data generator module 14 (e.g. performance data, such as scenario performance data). This data may in some examples also comprise an indication of a degree of success (e.g. indication of success or failure, and / or a parameter having a continuous value, and / or indication of a classification from a plurality of candidate classifications) of the Al agent to perform successfully on the data, and / or may comprise data to be used for determining an indication of a degree of success, for example by the sample data generator module 14. The indication may include data about the Al agent performance where it is close to an acceptance / rejection threshold, where statistical confidence in its performance is low, or where there are discontinuities in its outputs as the inputs are varied (e.g., where an Al Agent acting as an autonomous driver is on the threshold of a go / no-go decision at a junction, where small changes in variables can result in highly divergent responses). Where the sample data generator module 14 receives feedback that the Al agent is successfully performing on the data being generated (e.g. a degree of success satisfying one or more criterion), the sample data generator module 14 is penalised, and in this way it is incentivised to change the sample data being generated. In other words, it is of more benefit to the system 10 for the generated sample data to challenge the Al agent so that it learns from the new sample data. This approach involves using a cost function to penalise the sample data generator module 14 so as to shape its performance, and incentivise it to generate data on which the Al agent fails to perform well. In addition, or alternatively, where the feedback is that the Al agent is failing to perform well on the sample data being generated, the sample data generator module 14 is incentivised to generate similar data again, using a reward function. In these ways, the sample data generator module 14 may adapt to generate a range of data which is likely to cause similar underperformance in the Al agent. References herein to determination of success or failure of Al agent performance at a task based on sample data can be interchanged with references to determination of a degree of success of Al agent performance at a task based on sample data. References to a degree of success of Al agent performance at a task may refer to an outcome that is indicative of one or more of: success / failure indication for the task; a success rating (e. g. a numerical value having a magnitude indicative of a degree of success) for the task; and a success classification for the task from a plurality of candidate success classifications. For example, the outcome may be indicative of a success rating have a value between 0 and 1 (or other similar values, such as between 0 and 100) with larger values corresponding to a higher degree of success lower values corresponding to a lower degree of success, or vice versa. Hence more generally, different values for the success rating may be used to indicate different relative degrees of success. In some examples, the success rating may be a scalar value. In some examples, the success rating may be an integer value within a range such as 0-10, or 0-100, with different integer values indicting different levels of success. Alternatively or in addition, a plurality of candidate success classifications may comprise a success classification and a fail classification, with potentially one or more intervening classifications corresponding to different levels of success (e.g. high success, medium success, low success, very low success). References to an outcome indicative of a degree of success of Al agent performance satisfying a criterion may refer to using a criterion such as a pass / fail criterion, a threshold value for comparison with a success rating (e.g. whether the success rating exceeds the threshold value) and / or a target success classification (e.g. whether a determined success classification corresponds to one or more target success classifications). More generally any references herein to success or failure when discussing any of Al agent performance and realism tests (sample data realism testing and performed task data realism testing) may refer to a binary scheme (i.e. pass / fail) or a non-binary scheme, for example in the form of rating (e.g. a numerical value) for which a magnitude is indicative of a degree of success or a degree of realism. References to success or failure for a task performed by an Al agent may refer to success or failure for a control-related task and / or a warning-related task. A benefit of the systems described herein is that the sample data generator module 14 changes the sample data generated overtime, adapting to the performance of the Al agent module 12 to find weaknesses in the Al agent performance on certain types of data, and to generate data on which the Al agent performs weakest. In some embodiments of the technology, in which the Al agent module 12 adapts the behaviour of the Al agent to train it on the data, the sample data generator module 14 is used in conjunction with the Al agent module 12, such that the two modules engage in a competitive ‘game’, each attempting to beat the other. Each module learns i.e. optimising weights and / or biases within their respective ANN(s) in real time as the sample data continue to be generated and training carried out. In other words, within this described architecture, the sample data generator module 14 generates one or more sets of sample data to challenge the Al agent module 12. Each epoch in which training or testing is run, and learning undertaken, may consist of either a single scenario, or a batch of multiple scenarios. As described above, the sample data generator module 14 learns via a cost function and / or a reward function that penalises the sample data generator module 14 for providing sample data that fail to uncover interesting or concerning behaviour in the Al agent, to show that there are issues with its performance which require improvement and / or rewards the sample data generator module 14 for providing data that do uncover such behaviour. Where the Al agent is being trained, the Al agent module 12 reinforcement learning, on the other hand, is penalised for failing to provide the desired performance, or rewarded for succeeding in providing it. The net result is a ‘game’ between the two modules, where the sample data generator module 14 is attempting to beat the Al agent module 12 by finding ways to catch it out, but the Al agent module 12 is attempting to beat the sample data generator module 14 by avoiding being caught out and succeeding on the tasks being set based on the generated sample data. As the cost / reward functions trigger reinforcement learning as the game progresses, therefore each subsystem will get progressively better at its role, with such improvements happening on each epoch / feedback loop and with the learning occurring in a way that is scalable such that vast numbers of sample data can be used and significant learning can result. Overtime, as the Al agent sees sample data for which it is underperforming, its performance will improve as it is optimised using machine learning techniques, until it becomes proficient at operating on those data and similar data. So, in broad terms, the sample data generator module 14 is updated based on the determination of a degree of success (e.g. success or failure) of the Al agent module 12, to improve the likelihood of future generated sample data causing the Al agent to have a lower degree of success (e.g. fail) for a task performed on that data. Similarly, where the Al agent module 12 performs training on the Al agent to update its behaviour, the Al agent module 12 is also updated based on the degree of success (e.g. determination of success or failure), to improve the Al agent performance at the task based on that sample data. It should be understood that while reference is made to the sample data generator module 14 generating sets of sample data, it may be the case that this generation of sample data involves selecting subsets of sample data from a database of sample data. So, in this manner, there may be a large database of potential sample data, and the sample data generator module 14 may be configured to select a subset of those data to be used. As an example, where training an Al agent to park a vehicle in a designated parking space within a car park environment, the Al agent may be under-trained in manoeuvring the vehicle within a certain restricted space requiring a multi-point turn. The failure of the Al agent to park the vehicle correctly in an efficient time leads to a deemed failure of the task, and the Al agent module 12 provides feedback of this to the sample data generator module 14, resulting in that module being rewarded. The sample data generator module 14 is therefore incentivised to produce similar sample data. Overtime, the Al agent module 12 will receive more similar data from the sample data generator module 14, and so the Al agent will learn from these scenarios until it becomes adept at completing the parking manoeuvre successfully. At this point, the feedback to the sample data generator module 14 is that the Al agent is completing the tasks successfully, and so the sample data generator module 14 receives a penalty. In turn, this penalty results in the sample data generator module 14 generating different types of sample data focussing on different scenarios, ensuring that the Al agent is trained or tested on a wide range of scenarios over time. In a similar manner, failure of the Al agent to warn (e.g. generate an alert signal) of a collision (or more specifically, provide sufficiently early warning for that collision) may be deemed a failure of the task, and the Al agent module 12 may provide feedback of this to the sample data generator module 14, resulting in that module being rewarded. The sample data generator module 14 can thus be incentivised to produce similar sample data. Overtime, the Al agent module 12 will receive more similar data from the sample data generator module 14, and so the Al agent will learn from these scenarios until it becomes adept at completing the warning task successfully (or at least with an improved degree of success). ANNs are able to characterise complex multidimensional responses to inputs through curve-fitting. By obtaining feedback from the Al agent module 12 on the performance based on the sample data being generated, the search space may be optimised by learning the Al agent’s performance using an ANN. This allows identification of discontinuities within the curve ‘surface’ generated over the search space. This is extremely difficult for traditional algorithmic curve fitting approaches to model accurately, and so in this way, the use of ANN with feedback, provides a distinct advantage in modelling performance of the Al agent training. Further, through reinforcement learning, the sample data generator module 14 is able to adapt and learn dynamically, ‘rewarding’ the system for selecting sample data that uncovers significant results (such as the Al agent failing to meet, or being close to failing to meet, a quantitative requirement). In this way, the ANN ‘learns’ the Al agent behaviour and becomes extremely effective at finding valuable training results and new sample data on which to train the Al agent. This leads to great efficiencies in the training process. The same benefits are also derived when testing a trained Al agent. So, there is a distinct advantage both in employing an ANN to learn the behaviour of the Al agent from the feedback from the Al agent module 12, and in using the (or another) ANN to generate new sample data to be used in future training or testing. Whereas in the above description the Al agent module 12 and the sample data generator module 14 are described as distinct modules, in embodiments of the technology, a single ANN may receive data relating to the training of the Al agent as an input (i.e., feedback received from the Al agent module 12), and outputs a new set of sample data as an output. In embodiments, this may require additional processing of the inputs and outputs outside the ANN. As such, the ANN would selforganise, as part of the reinforcement learning process, to maximise the number of sets of sample data selected that yield results that are of benefit to the training. It should also be noted that in embodiments of the technology, the sample data generator module 14 may comprise multiple ANNs, for generating different aspects of the sample data. For example, a first ANN may be tasked with generating a road layout of an example scenario, and a second ANN may be tasked with generating movement patterns of one or more pedestrians or vehicles within the environment. Where feedback is discussed, and the behaviour of the sample data generator module 14 is said to be updated, this may apply to one or more of the ANN. The feedback may be such that it is itemised, so that different elements of the sample data are awarded different feedback - some of which may be positive, and others negative. In this way, multiple ANNs generating multiple aspects of the sample data may be updated in different ways based on positive feedback, negative feedback, or a respective mixture of positive and negative feedback. The third module is the sample data compliance module 16. The sample data compliance module 16 is configured to review the sample data being generated. In the context of the example described above, in which the sample data relates to driving scenarios, the sample data compliance module 16 effectively provides a realism check to ensure that the sample data being passed to the Al agent module 12 represents scenarios that are realistic. In other words, the sample data should be representative of situations that a vehicle may encounter in use when the Al agent is operating a vehicle. If the data is contrived in such a way that the Al agent is training on data that is unrealistic, and unrepresentative of a real-life situation, then this is undesirable. The sample data compliance module 16 preferably comprises one or more artificial neural networks (ANN). Where the sample data comprises multiple elements (as described above, for example, where the data describes an environment, and described the behaviour of actors within the environment), ANNs may be trained on respective elements of the sample data. Since the sample data generator module 14 is encouraged to generate scenarios which the Al agent will fail to complete, if left unchecked, the sample data generator module 14 may produce unrealistic environments in which a real-life driver would be unable to achieve the task. Looking at the parking example where the sample data represents a configuration of a car park and a task of steering the vehicle safely into a free space, the sample data generator module 14 may be rewarded where the parking space is very narrow. At some point, where the width of the available space becomes as narrow as the width of the vehicle, and at that stage (and for any narrower space) the task becomes impossible to complete successfully. There is no benefit to the training process in using such scenarios as training data, as the Al agent will never be able to accomplish the task. One method of trying to ensure a good distribution of sample data across the search space is to seed the system with a set of scenarios designed to be spread across the entire search space (e.g. using sampling methods such as Monte Carlo, Latin Hypercubes, or Latin Hypercubes with Multidimensional Uniformity). However, by providing another adversarial ‘game’ using reinforcement learning techniques, the system 10 provides a self-balancing functionality, and so the purpose of the sample data compliance module 16, is to guard against the sample data becoming unrealistic in this way. In the context of the system 10, the sample data compliance module 16 receives a set of sample data 15’ from the sample data generator module 14. The sample data compliance module 16 determines whether the sample data 15’ passes a realism test in order for it to be found compliant. For example, the realism test is passed where the artificially generated sample data 15’ is found to be indistinguishable from ‘real world’ data. It should be noted that the sample data 15’ being tested for compliance, is the same data as the sample data 13’ being provided to the Al agent module 12 as described above. While in the above example of the narrow parking space, the task being set for the Al agent became impossible to complete successfully, there may be other cases in which the sample data generator module 14 is rewarded by the Al agent module 12 for generating scenarios that are not strictly impossible to complete, but which do not resemble realistic sample data. While it is important for the Al agent to be trained or tested across the breadth of the event space of situations it may encounter when deployed, focussing its training or testing on a decreasingly realistic scenario serves little benefit to its overall development or testing. Therefore, the important aspect is determining whether the sample data 15’ is sufficiently realistic. In other words, is the sample data 15’ distinguishable from "real” data - deemed to be representative of sensor data to be encountered by the Al agent during use. For example, the sample data compliance module 16 preferably has access to a data store 46’ of second sample data, such as sensor data captured of the objects or environments with which the Al agent will interact in use. In embodiments of the technology, the data relates to measurements of properties of objects or of an environment, based on captured sensor data. So, in the example of training an Al agent for driving an autonomous vehicle, the data store 46’ may contain scenarios resembling real world locations and / or road layouts, based on one or more of captured video footage, recorded map information, captured LIDAR sensor information, for example. It is of course not strictly necessary for the data store 46’ of second sample data to be of actual real captured data, but it should be data that has been assessed to be sufficiently realistic for the purpose of training or testing the Al agent. In embodiments of the technology, the sample data compliance module 16 provides a machine learning framework in which the module is trained to analyse an item of a set of sample data and to determine whether the item was generated by the sample data generator module 14 or whether the item is of the dataset of ‘real’ data - the second sample data. In other words, is the data item “real”, from captured sensor data or a source of data that is known to be sufficiently realistic - or has it been artificially generated by the sample data generator module 14? In embodiments of the technology, the sample data compliance module 16 is rewarded for correctly identifying the sample data items generated by the sample data generator module 14 and / or penalised for misidentifications, so that its performance in identifying the generated sample data improves. A false positive determination - in which a sample data item generated by the sample data generator module 14 is wrongly determined to comply with the realism test - may result in feedback to the sample data generator module 14 (i.e. it may be rewarded) and may also result in feedback to the sample data compliance module 16, so that it updates its behaviour in order to alter (correct) its determination when identifying similar items in future. False negative determinations - where an item is determined not to comply where it does in fact comply (i.e., belongs to the second sample data set and so should be found to pass the realism test) - may result in feedback to the sample data compliance module 16 to update is behaviour in order to alter (correct) its determination when identifying similar items in future. The sample data generator module 14 may be updated based on that determination of whether the items of the first sample data were found to pass the realism test, to improve the likelihood of future generated sample data passing the realism test. This can be achieved via a reward function or via a cost function, incentivising creation of data similar to that which was misclassified by the sample data compliance module 16, and / or penalising the creation of data similar to that which was correctly classified by the sample data compliance module 16. A feedback loop is formed between the sample data generator module 14 and the sample data compliance module 16. The sample data generator module 14 communicates a set of generated sample data 15’ to the sample data compliance module 16, for analysis. The sample data compliance module 16 subsequently communicates data 15” about the success or failure of the sample data compliance module 16 to recognise that the sample data 15’ had been artificially generated. This feedback may include a Boolean pass / fail, for example, or may be a value on a scale (e.g., a score representing a likelihood of that sample data being artificial as determined by the sample data compliance module 16). It should be noted that the feedback may include multiple components, each relating to a different element of the sample data. For example, sample data representing a road traffic scenario may be assessed according to multiple criteria including an assessment of whether the road layout is realistic, and whether the movement of dynamic actors (i.e., vehicles / pedestrians) within the environment is realistic. The sample data compliance module 16 may indicate that one aspect of the sample data is found to comply - to pass the realism test -while another aspect is found not to comply. Based on such feedback, the sample data generator module 14 may be rewarded for one aspect, and penalised for another aspect, of the data being generated. Where the sample data generator module 14 receives feedback that the sample data compliance module 16 failed to identify that the sample data was artificial, the sample data generator module 14 may be rewarded. In this way, the sample data generator module 14 is incentivised to generate sample data that is indistinguishable from the ‘real’ data (e.g., real world data). Where the feedback is that the sample data was recognised as being artificial, then the sample data generator module 14 is penalised. In this way, the sample data generator module 14 adapts to generate sample data that is less easily distinguished from ‘real world’ data, so that future iterations of sample data are more likely to be found to comply with the criterion. In broad terms, the sample data compliance module 16 is updated, based on whether the first sample data was found to pass the realism test, to alter the realism test, to reduce the likelihood of the generated sample data being determined to pass the realism test. In the context of the wider system 10, the system 10 operates by generating a set of first sample data using the sample data generator module 14, and then determining, using the sample data compliance module 16, whether items of that first sample data pass the realism test, to determine whether that data is “compliant” and ready for use by the Al agent module 12. A determination of non-compliance is made where items of the first sample data are found to be distinguishable from items of a set of second sample data accessible from the sample data compliance module 16, the second sample data being “real world” data - or at least, known to be sufficiently realistic for the purpose of the testing or training to take place. A determination of compliance is made where the items of first and second sample data are found not to be distinguishable, in which case the realism test is passed. So, in other words, the “realism test” is defined by the configuration of the sample data compliance module 16, and defines a classifier in the domain separating data to be labelled real (or at least ‘sufficiently real’ and suitable for use by the system 10) from data to be labelled artificial (or not sufficiently realistic). The realism test therefore varies as the machine learning model of the sample data compliance module 16 is updated overtime. Note that reference to sample data being determined to be compliant, relates to it passing the realism test. Where the sample data compliance module 16 provides one or more ANNs for determining whether sample data passes the realism test, the outcome of the test is defined by the weights and biases mapped onto the neural network. Where the data compliance module 16 is updated to alter the realism test, it is typically these weights and biases that are updated. Where the first sample data is found to be non-compliant, feedback is provided to the sample data generator module 14 in order to update the configuration of the sample data generator module 14 in order to produce sample data that is more likely to be found to pass the realism test. The steps are subsequently repeated, as the sample data generator module 14 is itself trained to produce such sample data that can pass the test of the sample data compliance module 16, being found to pass the realism test. In embodiments of the technology, the requirement might be that all of the sample data generated must comply with the criterion, or else it may be required that a certain proportion of the sample data generated complies - above a predetermined threshold (for example 95%, or 90%, or 80%). As an example of training an Al agent, testing of the Al agent across an initial set of sample data covering a range of test cases may be performed to establish a model or characterisation of the Al agent behaviour at the outset of the process (i.e., where it is set up with an initial set of operating parameters). This initial set of sample data should be spread as evenly as possible across the range of possible permutations (i.e., across the search space). Once the training / testing has been performed and results obtained, the next stage is to model / characterise system behaviour, this model being key to predicting where it’s best to sample further test cases. This modelling may be achieved at the sample data generator module 14, using its first ANN to learn from the feedback received from the Al agent module 12. This ANN is then progressively updated as further sample data is processed, and further feedback received. In embodiments of the technology, in order to make the sample data generator module 14 function optimally, it is preferable for the sample data generator module 14 to be trained to a level at which reasonable data is being generated, prior to the involvement of the Al agent module 12. Therefore, typically, the sample data generator module 14 and sample data compliance module 16 may undertake many epochs of ‘training’ to improve the quality of the data being generated, before any sample data is communicated to the Al agent module 12 fortesting or training an Al agent. In this way, particularly when training an Al agent, the ANNs are more likely to converge on suitable values based on greater consistency in the data being used. In other embodiments, the ANN(s) used by the sample data generator module 14 may be trained entirely through pre-existing datasets via backpropagation, with no ‘live’ reinforcement learning being required. In some embodiments of the technology, as discussed above, the sample data generator module 14 may be used as a test data generator module. In this setting, test data is generated for supporting the testing of an Al agent that has been pre-trained. In such a scenario, the Al agent does not gain further learning in response to the test data it is presented with by the test data generator module. In embodiments of the technology, the sample data compliance module 16 is augmented by, or even replaced by, algorithmic rules within the sample data generator module 14 to prohibit or discourage unrealistic sample data being generated. However, a downside of this approach is that it is difficult to write algorithms that would eliminate all unrealistic scenarios and not eliminate any realistic ones, and therefore a likely permutation is for such additional algorithms to support, rather than replace, the sample data compliance module 16. Example sample data, in addition to the parameters described above, may include for example a set of road characteristics, positions and speeds of other road users, to be used in the context of a predetermined simulation environment. In this context, the set of second sample data (i.e., the dataset of real scenarios) to be used by the sample data compliance module 16 for comparison would therefore need to capture the same parameters in the same format. An example of this would be ASAM OpenDrive + OpenScenario. An alternative is to adopt whatever format is used within the Al agent module 12 to pass data from the perception layer to the planning layer (e.g. an occupancy grid or list of tracked objects) - this would support training / testing the planning layer in isolation, bypassing the perception layer so it is not part of the process. In embodiments, the sample data may include realistic images or video footage. This may be multilayered to include simulated radar, lidar or ultrasonic ‘raw data’ as well as visual data, for example. In embodiments, the sample data may include instantaneous snapshots (analogous to photos) or scenarios that have a time-based aspect (analogous to videos) - latter is expected to be generally preferable. Generating footage for entire scenarios prior to using them to train / test the Al agent would only work for open-loop testing of the perception layer of the ANN of the agent, as the footage would not be able to adapt to vehicle behaviour (i.e., steering the vehicle would change the view and therefore the footage would fail to match the new situation). Training the perception layer in this way is still valuable. In some embodiments of the technology, the feedback loops between the sample data generator module 14 and the Al agent module 12 are set up so that at each timestep a scenario evolves. In this way, the sample data generator module 14 adds more variations to try to trip up the Al agent module 12, with the response of the Al agent module 12 at each timestep, and its feedback to the sample data generator module 14 influencing the scene it is presented with at the next timestep. This could take the form of a single extended drive containing many events generated in real-time to train and assess the system, rather than discrete scenarios. It is worth noting that the same sample data generated by the sample data generator module 14 is passed to both the sample data compliance module 16 and the Al agent module 12. However, in the latter case, it may not be passed directly to the Al agent module 12, and may instead be passed to simulation software that interprets scenario attributes based on the sample data in order to present a test scenario to the Al agent module 12. The data sent by the sample data generator module 14 to the sample data compliance module 16 and to the Al agent module 12 / Simulation software must be identical, although optionally may be captured in a different format. However, the data passed to the first sample data compliance module 16 must be both identical to and in the same format as the second sample data used for comparison within the sample data compliance module 16. For all three core modules 12, 14, 16, pretraining on generic data prior to commencing the adversarial ‘game’ between the subsystems, may help the system 10 to converge upon an acceptable result. This pretraining could potentially be undertaken using an alternative method to reinforcement learning (e.g. via supervised or unsupervised learning) and may be applied to any number of the modules 12, 14, 16. An alternative is to commence the adversarial game without any such pretraining for one or all modules, using an initial seed for the weights and biases of the ANN(s) (e.g. randomisation) that is not optimised via any form of training. It should be noted that the system 10 and methods described are equally applicable to automated driving (i.e. self-driving vehicles of SAE level 3 and above) and advanced driver assistance systems as seen on present-day production vehicles (i.e. SAE level 2 and below). Furthermore, it is also applicable to training and / or testing many other systems on road vehicles, or other types of vehicles, such as detecting terrain / road surface types to optimise the powertrain, or reacting to climatic conditions to automatically optimise the HVAC system, to name two of many possible examples. As mentioned elsewhere, the methods and systems described are also applicable to other applications involving Al agents, not necessarily relating to vehicles or autonomous driving systems. A data processing system 10, comprising at least a processor, is configured to perform the steps of the methods described herein, and a computer program product for execution to cause a computer to carry out the methods described herein is also provided. The three core modules 12, 14, 16 and their functionality as described, may be provided by one or more computing devices. We now describe suitable hardware, in which example the three modules are provided to run on separate computing devices. However, it should be readily understood that this need not be the case. With reference to Figure 4 of the drawings, an exemplary computing device is described in relation to the Al agent module 12. The module 12 provides at least one processing device 18, a memory device 20, has access to a storage device 22. Communication modules provide an input module 23 and output module 24 for sending and receiving data. The input and output modules 23, 24 may be provided by a single piece of hardware or alternatively by distinct input and output devices 23, 24. With reference to Figure 5 of the drawings, an exemplary computing device is described in relation to the test data generator module 14. The module 14 provides at least one processing device 32, a memory device 34, has access to a storage device 36. Communication modules provide an input module 38 and output module 40 for sending and receiving data, and as previously described, these input and output modules 38, 40 may be provided as a single unit. With reference to Figure 6 of the drawings, an exemplary computing device is described in relation to the sample data compliance module 16. The module 16 provides at least one processing device 42, a memory device 44, has access to a storage device 46. In embodiments of the technology, the module 16 may be in communication with a remote storage device 46’, for hosting sample data providing second sample data, for example. Again, as before, communication modules provide either distinct or a combined input module 48 and output module 50 for sending and receiving data. With reference to Figure 7 of the drawings, we describe an example method 100 of generating data for training or testing an Al agent. The method 100 broadly involves the steps of generating a set of first sample data (step 102) using the sample data generator module 14, and then subsequently using the sample data compliance module 16 to determine whether items of the first sample data pass the realism test (i.e., are found to be compliant) (step 104). A determination of non-compliance is made where items of the first sample data are found to be distinguishable from items of a set of second sample data accessible from the sample data compliance module 16. The second sample data being, as described above, is typically the data resembling real world data (i.e., sensor data), or has at least been confirmed as sufficiently realistic for the purposes of the system 10. The sample data compliance module 16 determines compliance where the items of first and second sample data are found not to be distinguishable. Where the first sample data is found to be non-compliant, the method involves updating the sample data generator module 14 (step 106); and where the first sample data is found to be compliant, updating the sample data compliance module 16 (step 108). Figure 8 of the drawings illustrates the flow of data through the system 10. The data flow through the system is best described in relation to two distinct feedback loops; one relating to improving the training of the Al agent through adversarial reinforcement learning between the Al agent module 12 and the sample data generator module 14, and the second relating to improving the realism of the sample data being generated, between the sample data generator module 14 and the sample data compliance module 16. Looking first at the right-hand feedback loop, we see that a first set of sample data is generated (step 102), and communicated 15’ to the sample data compliance module 16, and received (step 114) for processing. A determination is made (step 104) as to whether items of the first sample data pass the realism test (i.e., non-compliance is found where items of the first sample data are found to be distinguishable from items of the set of second sample data). The result of compliance determination is communicated 15” to the sample data generator module 14. The sample data generator module 14 is updated based on the outcome of the determination (step 106), either using a reward or a cost function, as described elsewhere. As an example, where the first sample data is found to be compliant, the sample data compliance module 16 is updated (step 108). This loop of generating sample data, checking for compliance, and then updating the sample data generator module 14 may continue through many iterations until data is produced that is found to be compliant, and suitable for use in training the Al agent. Where the first sample data is found to be compliant, it may be communicated 13’ to the Al agent module 12 for use in training or testing. Looking at the left-hand loop, we see that the first set of sample data, once found to be compliant, is communicated 13’ to the Al agent module 12. The sample data is subsequently used to train or test the Al agent (step 110). A determination is made (step 112) as to whether the Al agent performed successfully on the basis of the first sample data. Where the system 10 is training the Al agent, the Al agent module 12 is updated (step 120) to take account of its performance. Finally, the sample data generator module 14 receives feedback 13” from the Al agent module 12 based on the determination of success or failure, and the sample data generator module 14 is updated accordingly (step 106). With reference to Figure 9, we describe the method 122 of training or testing an Al agent, which involves generating a set of first sample data (step 102) using the sample data generator module 14. Subsequently, the sample data is provided to the Al agent module 12, and used to train or test the Al agent using those data (step 110). A determination is made (step 112) as to whether the Al agent performed successfully on the basis of the first sample data. In embodiments involving training the Al agent, the Al agent generator module 12 is then updated (step 120) to take account of its performance. Whether testing or training the agent, feedback is then provided from the Al agent module 12 to the sample data generator module 14, which is updated accordingly (step 106). In addition to embodiments described, which generally relate to use of an Al agent in controlling a vehicle, or in robotics, trained Al systems may be used in other settings such as systems for determining medical diagnosis / treatment, as an example. Such a system may involve generating artificial data relating to ailments - such as medical images for use in diagnosis, patient test results and medical history, and other forms of data commonly used for diagnostic or treatment purposes. That data may then be subjected to scrutiny to ensure it is representative of “real world” data in the manner described herein, and subsequently used in training an Al agent configured to suggest a diagnosis based on the data, or to propose a treatment based on the data. It is envisaged that the methods described can be applied to that setting, and more widely to other Al-based tools and applications not described explicitly herein. Figures 10 and 11 schematically illustrate other systems for training or testing Al agents. The systems 100a and 100b comprise three modules: the Al agent module 12, the sample data generator module 14, and a compliance module 16A. Unless stated otherwise, the Al agent module 12 and the sample data generator module 14 are the same as has been discussed previously (e.g. in relation to Figure 1). The compliance module 16A is operable to determine at least one of: an outcome of a sample data realism test for items of the first sample data; and / or an outcome of a realism test for data associated with a task performed by the Al agent based on the first sample data. Moreover, the compliance module 16A can provide at least one of a realism test for sample data generated by the sample generator module 14 and / or a realism test for data generated by the Al agent module associated with a task that has been (and / or is being) performed by an Al agent based on a set of sample data generated by the sample generator module 14. In some examples, the sample data realism test and the realism test for data generated by the Al agent module may be performed as alternative tests. In other examples, the sample data realism test and the realism test for data generated by the Al agent module may be performed in a complementary manner (e.g. to provide enhanced testing). An outcome (e.g. pass / fail indication, classification from a plurality of candidate classifications associated with different degrees of realism, and / or rating) may be determined for one or both of the sample data realism test and the realism test. The sample data realism test can be used to test whether the sample data passed to the Al agent module 12 represents scenarios that are realistic, as has been discussed previously. The realism test (also referred to as a task realism test or performed task realism test) can be used to test whether one or more attributes that result from the processing of the Al agent is or are realistic and / or whether one or more attributes of a scenario originating from the sample data used by the Al agent module 12 is or are realistic. Therefore, one or both of a sample data realism test and performed task data realism test can be performed and outcomes for one or both of these tests can be provided as feedback to the sample data generator module 14 for shaping the behaviour of the sample data generator module 14. The compliance module 16A may be operable to determine an outcome of the sample data realism test, in which determining the outcome may comprise at least one of: determining whether at least some of the items of the first sample data pass the sample data realism test; determining, from a plurality of candidate sample data realism classifications, a respective sample data realism classification for at least some of the items of the first sample data; and determining a sample data realism rating for at least some of the items of the first sample data. References to an outcome of the sample data realism test may refer to any of an outcome indicative of whether at least some of the items of the first sample data pass the sample data realism test (e.g. pass / fail indication), an outcome indicative of a respective sample data realism classification, and / or an outcome indicative of a sample data realism rating (e.g. a numerical value having a magnitude indicative of a likelihood of realism). The compliance module 16A may be operable to determine an outcome of the realism test, in which determining the outcome may comprise at least one of: determining whether at least some of the data associated with the task performed by the Al agent based on the first sample data passes the realism test; determining, from a plurality of candidate realism classifications, a respective realism classification for at least some of the data associated with the task performed by the Al agent based on the first sample data; and determining a realism rating for at least some of the data associated with the task performed by the Al agent based on the first sample data. References to an outcome of the realism test may refer to any of an outcome indicative of whether at least some of the data associated with the task performed by the Al agent based on the first sample data passes the realism test (e.g. pass / fail indication), an outcome indicative of a respective realism classification, and / or an outcome indicative of a realism rating (e.g. a numerical value having a magnitude indicative of a likelihood of realism). Hence in some examples, an outcome (also referred to as a first outcome) of the sample data realism test may indicate whether at least some of the items of the first sample data pass the sample data realism test and an outcome (also referred to as a second outcome to distinguish from the above-mentioned first outcome) may indicate whether at least some of the data associated with the task performed by the Al agent based on the first sample data passes the realism test. In some examples, one or both of the first outcome and second outcome may, alternatively or in addition to providing a pass / fail indication, be indicative of a realism rating. In some examples, a realism rating may have a value between 0 and 1 (or other similar values, such as between 0 and 100) with larger values corresponding to higher likelihood of realism and lower values corresponding to lower likelihood of realism, or vice versa. In some examples, one or both of the first outcome and second outcome may be indicative of a respective realism classification from a plurality of candidate realism classifications. Generally, speaking the plurality of candidate realism classifications correspond to classifications associated with different degrees of realism. For example, there may be a low realism classification and a high realism classification, and optionally any suitable number of intervening classifications for different degrees of realism therebetween. N candidate realism classifications may be used, where N may be a value in the range 2-10. In some examples, the plurality of candidate realism classifications may consist of two, three or four realism classifications. The first outcome may be indicative of a respective sample data realism classification from a plurality of candidate sample data realism classifications, and the second outcome may be indicative of a respective realism classification from a plurality of candidate realism classifications, in which the plurality of candidate sample data realism classifications and the plurality of candidate realism classifications may include a same or different numbers of candidate classifications. For example, a classification scheme with a higher granularity may be used for the performed task realism test and a classification scheme with a lower granularity may be used for the sample data realism test, or vice versa, or a same granularity may be used for each scheme For ease of explanation the following discussion may refer to arrangements in which the outcomes are indicative of whether sample data passes the sample data realism test and / or whether data associated with a task performed by the Al agent based on that sample data passes a realism test. However, it will be appreciated that references to whether the sample data realism test is passed and / or whether the realism test is passed may refer to outcomes that may alternatively, or additionally, indicate one or more of a realism rating and a respective classification from a plurality of candidate classifications. References to an outcome satisfying a criterion may refer to using a criterion such as a pass / fail criterion, a threshold value for comparison with a realism rating (e.g. whether the realism rating exceeds the threshold value) and / or a target realism classification (e.g. whether a determined realism classification corresponds to one or more target realism classifications). Generally speaking, references to an outcome satisfying a criterion may refer to the outcome indicating that a test has been passed, and references to an outcome not satisfying a criterion may refer to the outcome indicating that a test has not been passed. Alternatively or in addition, references to an outcome satisfying a criterion may refer to the outcome indicating a rating (e.g. value) that satisfies a threshold value (e.g. is greater than the threshold value), and references to an outcome not satisfying a criterion may refer to the outcome indicating a rating that does not satisfy the threshold value (e.g. is not greater than the threshold value). In a similar manner, the outcome may indicate a respective classification and this may be evaluated with respect to one or more target classification to determine whether at least one criterion is satisfied. In more detail, Figure 10 schematically illustrates a system 100a in which a feedback loop is formed between the Al agent module 12 and the sample data generator module 14. The sample data generator module 14 provides sample data 13’ to the Al agent module 12 to be used in training or testing the Al agent. Following the training or testing, the Al agent module 12 provides data about the performance of the Al agent 13” back to the sample data generator module 14. This data may for example include an indication of success or failure of the Al agent to perform successfully on the data, as discussed previously in relation to Figure 1. Still referring to Figure 10, the Al agent module 12 provides the data 17’ to the compliance module 16A. The data 17’ (also referred to as performed task related data 17’) is associated with a task that has been (and / or is being) performed by the Al agent and may include one or more attributes that result from the processing of the Al agent and / or one or more attributes of a scenario originating from the sample data used by the Al agent module 12. The performed task related data 17’ may be associated with a task that has been performed (e.g. completed) by the Al agent and for which the Al agent may have been successful or unsuccessful. The compliance module 16A is operable to determine an outcome for a realism test for the data associated with the task performed by the Al agent (e.g. a pass / fail outcome). The sample data compliance module 16A subsequently provides feedback 17” based on the outcome to the sample data generator module 14. Therefore, outcomes of testing or training scenarios can be provided from the Al agent module 12 to the compliance module 16A for realism testing. Testing realism of data for performed tasks (e.g. completed tasks) can contribute to improved efficiency and accuracy of training or testing an Al agent. The performed task related data 17’ may comprise one or more attributes associated with the behaviour of the Al agent in performing the task and / or one or more attributes associated with a scenario resulting from the sample data 13’. Put differently, the performed task related data 17’ may comprise one or more attributes resulting from the processing of the Al agent and / or one or more attributes for the scenario resulting from the sample data 13’ and such attributes can be used for realism testing. Hence, the performed task related data 17’ may be used to perform one or both of a behaviour realism test and a scenario realism test. The data 17” may include a Boolean pass / fail, for example, or may be a value on a scale (e.g., a score representing a likelihood), as already discussed above. For example, the data 17” may include a score representing a likelihood of the Al agent behaviour being realistic and / or a score representing a likelihood of the scenario being realistic. For example, the data 17” may include a first score indicative of a likelihood of realism for Al agent behaviour in performing a driving task comprising navigating an environment including a road layout, and may also include a second score indicative of a likelihood of realism for the environment including the road layout. In some cases, the performed task related data 17’ may permit only testing of Al agent behaviour realism. In other cases, the performed task related data 17’ may permit testing of Al agent behaviour realism and may also permit testing of scenario realism. Hence referring to the example given above, the data 17” may include one or both of the first score and the second score. In some cases, the performed task related data 17’ may comprises one or more attributes of a scenario originating from the sample data, and determining whether the data associated with the task performed by the Al agent based on the first sample data passes the realism test may comprise determining whether some or all of the one or more attributes of the scenario pass the realism test. In some examples, the performed task related data 17’ may also include the sample data 13’ (i.e. in the original form in which it was provided by the sample data generator module 14 to the Al agent module 12). Therefore, in some cases the sample data 13’ may be provided from the Al agent module 12 to the compliance module 16A for sample data realism testing. Hence, in the system 100a shown in Figure 10 the compliance module 16A may be operable to receive the performed task related data 17’ and determine an outcome for the sample data realism test (e.g. whether items of the first sample data pass the sample data realism test) and / or an outcome of the realism test (e.g. whether data for the task performed by the Al agent based on the first sample data passes the realism test). Figure 11 schematically illustrates a system 100b in which the compliance module 16A is operable to determine an outcome for the sample data realism test (e.g. whether items of the sample data pass the sample data realism test) and determine and outcome for the realism test (e.g. whether data from a task performed by an Al agent based on sample data passes the realism test). In the system 100b, the sample data generator module 14 provides a set of generated sample data 15’ to the sample data compliance module 16A for sample data realism testing. The sample data compliance module 16A provides feedback 15” about the sample data realism testing to the sample data generator module 14. In addition, the Al agent module 12 provides the performed task related data 17’ to the sample data compliance module 16A for realism testing. The sample data compliance module 16A provides feedback 17” about the realism testing to the sample data generator module 14. Accordingly, feedback for both of sample data realism testing and realism testing for data for a performed task can be provided to the sample data generator module 14. This can contribute to improved efficiency and accuracy of training or testing an Al agent. For example, realism testing for data for a performed task based on sample data that has passed the sample data realism testing may be performed so as to provide a second check (i.e. a double check). In the system 100b, the compliance module 16A may firstly determine an outcome of the sample data realism test for a given set of sample data. In response to the outcome of the sample data realism test satisfying the at least one realism criterion, the given set of sample data may be provided from the sample data generator module 14 to the Al agent module 12 for use in training or testing the Al agent. During and / or after the performance of the task based on the given set of sample data by the Al agent, the Al agent module 12 may provide the performed task related data 17’ to the compliance module 16A which may determine an outcome (also referred to as a second outcome) of the realism test for the performed task related data 17’ and provide feedback 17” about the realism testing to the sample data generator module 14. Still referring to the system 100b, the compliance module 16A may firstly determine whether items of a given set of sample data generated by the sample data generator module 14 pass the sample data realism test. In response to determining that the given set of sample data pass the sample data realism test, the given set of sample data may be provided from the sample data generator module 14 to the Al agent module 12 for use in training or testing the Al agent. During and / or after the performance of the task based on the given set of sample data by the Al agent, the Al agent module 12 may provide the performed task related data 17’ to the compliance module 16A which may determine (using some or all of the data 17’) whether the data 17’ passes a realism test. In this way, potential situations in which the given sample data passes the sample data realism test, but one or more attributes associated with the task performed by the Al agent based on the given sample data do not pass a realism test can be potentially identified and used to provide feedback for updating the sample data generator module 14. Figure 12 schematically illustrates a system 100c comprising the compliance module 16A and the sample data compliance module 16 (which has been discussed previously in relation to Figure 1). The system 100c thus comprises the sample data compliance module 16 to determine an outcome for a sample data realism test. The system 100c also comprises the compliance module 16A (which is a separate module to the sample data compliance module 16) to determine an outcome of the realism test (performed task realism test), such as whether data associated with a task performed by an Al agent based on the sample data passes a realism test. Therefore, sample data realism testing and performed task realism testing may be performed by respective modules. It will be appreciated that the system 100c may be modified to potentially remove one of the compliance module 16A and the sample data compliance module 16. As shown in Figure 12, the Al agent module 12 provides the performed task related data 17’ to the compliance module 16A and, based on the performed task related data 17’, the compliance module 16A determines an outcome and provides the feedback 17” to the sample data generator module 14. Hence, in Figure 12 the sample data compliance module 16 and the compliance module 16A each provide feedback to the sample data generator module 14. In Figure 12, the compliance module 16A may only determine outcomes for realism testing (i.e. without determining outcomes for sample data realism testing, as this functionality may be performed only by the sample data compliance module 16). Hence, in some examples the compliance module 16A may be referred to as a task data compliance module. Furthermore, as explained above, the compliance module 16A may perform a behaviour realism test and / or a scenario realism test using the data 17’. Hence, in some examples the compliance module 16A may be referred to as a task data compliance module comprising at least one of an Al agent behaviour compliance sub-module and a scenario compliance sub-module. Referring to Figures 10, 11 and 12, an outcome for the realism testing may be indicative of one or more of: whether at least some of the data associated with the task performed by the Al agent based on the first sample data passes the realism test (e.g. pass / fail indication), a respective realism classification, and / or a realism rating (e.g. a numerical value having a magnitude indicative of a likelihood of realism). Alternatively or in addition, an outcome for the sample data realism testing may be indicative of one or more of: whether at least some of the items of the first sample data pass the sample data realism test (e.g. pass / fail indication), a respective sample data realism classification, and / or a realism rating (e.g. a numerical value having a magnitude indicative of a likelihood of realism). In some examples, a pass / fail indication may be used to determine one of a cost function and reward function for updating one or more of the sample data generator module 14 and the compliance module 16A (or sample data compliance module 16). In some examples, a realism rating (e.g. a value ranging between 0 and 1) may be used to apply a higher or lower reward function and / or cost function for updating the sample data generator module 14 and / or compliance module 16A (or sample data compliance module 16). In the above discussion for Figures 10, 11 and 12, the sample data 13’ may approximate a scenario fortesting or training behaviour within an environment. In some examples, the scenario may include one or more of: a geographical layout of the environment, parameters of static objects, and parameters of moving objects within the environment. The compliance module 16A may determine an outcome for a behaviour realism test and / or an outcome for a scenario realism test (e.g. whether the data associated with the task performed by the Al agent passes a behaviour realism test and / or scenario realism test). For example, these tests may be passed where the data 17’ is found to be indistinguishable from ‘real world’ behavioural data and / or ‘real world’ scenario data. The data store 46’ (discussed previously) may be used for this purpose. The compliance module 16A (or sample data compliance module 16) may indicate that one aspect of the sample data is found to comply - to pass the realism test - while another aspect is found not to comply. Based on such feedback, the sample data generator module 14 may be rewarded for one aspect, and penalised for another aspect, of the data being generated. In a similar manner, the compliance module 16A may indicate that one aspect of the performed task related data 17’ is found to comply - to pass the realism test - while another aspect is found not to comply. Based on such feedback, the sample data generator module 14 may be rewarded for one aspect and penalised for another aspect. Still referring to the systems 100a, 100b and 100c, in response to determining an outcome of the realism test indicating that the data 17’ does not satisfy at least one criterion (e.g. indicating that the data 17’ does not pass the realism test and / or a realism rating less than a threshold value, such as 0.5 when using a scale from 0 to 1 and / or a realism classification corresponding to one or more target realism classifications associated with lower degrees of realism), the sample data generator module 14 may be updated using a cost function to improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion (e.g. having an outcome indicative of passing the realism test and / or a realism rating greater than 0.5). Alternatively or in addition, the compliance module 16A may be updated using a reward function to improve the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test not satisfying the at least one criterion in the future (e.g. having an outcome indicative of not passing the realism test in the future). In response to determining an outcome of the sample data realism testing indicating that the sample data 15’ does not satisfy at least one criterion (e.g. indicating that the data 15’ does not pass the realism test and / or a realism rating less than a threshold value and / or a realism classification corresponding to one or more target realism classifications associated with lower degrees of realism), the compliance module 16A may be updated using a reward function to improve the likelihood of the first sample data having an outcome for the sample data realism test not satisfying the at least one criterion in the future (e.g. having an outcome indicative of not passing the realism test in the future). Alternatively or in addition, the sample data generator module 14 may be updated using a cost function to reduce the likelihood of similar first sample data being generated in future. Still referring to the systems 100a, 100b and 100c, in response to determining an outcome of the realism test indicating that the data 17’ does satisfy at least one criterion (e.g. indicating that the data associated with the task performed by the Al agent passes the realism test), the sample data generator module 14 may be updated using a reward function to improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion (e.g. having an outcome indicative of passing the realism test). Alternatively or in addition, the compliance module 16A may be updated using a cost function to reduce the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test satisfying the at least one realism criterion in the future (e.g. having an outcome indicative of passing the realism test in the future), or put differently to improve a likelihood of the data associated with the task performed by the Al agent based on the first sample data being found non-compliant in the future. In response to determining an outcome of the sample data realism testing indicating that items of first sample data satisfy at least one criterion (e.g. indicating a pass for the sample data realism test), the compliance module 16A may be updated using a cost function to reduce the likelihood of the first sample data having an outcome for the sample data realism test satisfying the at least one criterion in the future (e.g. having an outcome indicative of passing the realism test in the future). Alternatively or in addition, the sample data generator module 14 may be updated using a reward function to improve the likelihood of future generated sample data having an outcome for the sample data realism test satisfying the at least one criterion (e.g. having an outcome indicative of passing the realism test). The above discussion in relation to systems 100a, 100b and 100c refers to techniques in which the compliance module 16A and / or sample data compliance module 16 receives one or more of sample data and data associated with a task performed by the Al agent based on sample data and determines an one or more outcomes for a sample data realism test and / or a realism test for data associated with a performed task. In addition to using artificially generated data for such testing, the compliance module 16A and / or sample data compliance module 16 may optionally receive real data (e.g. from a storage for storing real-world data such as the data store 46' or the database 142 discussed in more detail below). Hence, in some examples, the compliance module 16A and / or sample data compliance module 16 may receive real-world data and determine outcomes in a similar manner to that discussed previously in relation to the artificial data. In some examples, in response to determining an outcome of the sample data realism testing for real-world data (e.g. a real-world scenario) indicating that the real-world data satisfies at least one criterion (e.g. indicating a pass for the sample data realism test), the compliance module 16A (or sample data compliance module 16) may be updated using a reward function to thereby improve the likelihood of the real-world data satisfying the at least one criterion in the future. In response to determining an outcome of the sample data realism testing for the real-world data indicating that the real-world data does not satisfy the at least one criterion (e.g. indicating a fail for the sample data realism test), the compliance module 16A (or sample data compliance module 16) may be updated using a cost function to thereby improve the likelihood of the real-world data satisfying the at least one criterion in the future. Alternatively or in addition, in response to determining an outcome of the realism testing for real-world data (e.g. a real-world scenario) indicating that the real-world data satisfies at least one criterion (e.g. indicating a pass for the performed task realism test), the compliance module 16A may be updated using a reward function. In response to determining an outcome of the realism testing for real-the world data indicating that the real-world data does not satisfy the at least one criterion (e.g. indicating a fail for the performed task realism test), the compliance module 16A may be updated using a cost function. For example, in response to correctly classifying a real-world scenario as real, the compliance module 16A may be updated using a reward function for rewarding behaviour providing the correct classification, and in response to incorrectly classifying the or another real-world scenario as not real, the compliance module 16A may be updated using a cost function for penalising behaviour providing the incorrect classification. In the above discussion, an outcome for the testing may be indicative of any of a pass / fail, a realism rating and / or a realism classification. Hence more generally, in addition to performing at least one of a realism test and a sample data realism test for artificially generated data, at least one of the realism test and the sample data realism test may be performed for real-world data corresponding to one or more different real-world scenarios. Outcomes for testing based on artificially generated data and optionally based on real-world data may thus be used for updating the compliance module 16A and / or sample data compliance module 16. Sample data generator module example Figure 13 schematically illustrates an example of the sample data generator module 14. The sample data generator module 14 may comprise a quality module 131, a sample data synthesiser 132, a database of test and / or training results 133, and a database of sample data 134. The databases 133 and 134 may be provided as part of the sample data generator module 14 or instead provided separate from the sample data generator module 14 and accessible by the sample data generator module 14 (e.g. via one or more communications links) for accessing data and storing data. As shown by the arrow 13-1, feedback (e.g. feedback data 13” referred to in Figures 1,8 and 10-12) relating to the performance of the Al agent for a task is input to the quality module 131. The feedback (e.g. which may also be referred to as performance data or scenario performance data) may for example indicate properties associated with the performance of the Al agent for a task. Such properties may for example included positions, movements, speeds and so on for one or more vehicles (e.g. a vehicle under test) and optionally one or more other potential actors in a scenario. The feedback can also be stored to the results database 133 (as represented by the arrow 13-2), optionally in a raw format or after one or more processing operations (e.g. filtering, pruning and so on). The quality module 131 is operable to assess quality of the performance of the Al agent and output (as represented by the arrow 13-3) one or more performance metrics for the quality of the performance of the Al agent to the sample data synthesiser 132. One or more of the performance metrics may be indicative of a degree of success for one or more aspects of the performance, such as a pass / fail indication, success rating, and / or success classification. The quality module 131 may provide a contextual assessment of the performance by the Al agent In some examples, the quality module 131 may assess one or more of safety, efficiency, comfort and / or journey time for a driving-related task performed by the Al agent and may output one or more corresponding performance metrics. For example, the quality module 131 may output an outcome (e.g. performance metric) indicative of one or more of: a safety rating; an efficiency rating; a comfort rating; a journey time rating; and whether a test or training scenario included a collision.. A scenario may be a driving scenario and a quality of the driving may be represented by one or more success ratings for one or more different aspects of performance (e.g. safety aspect, efficiency aspect, comfort aspect and / or journey time aspect among others). More generally, the quality module 131 may determine a degree of success that this input data represents and this can be conveyed by 13-3 and optionally 13-3a. Alternatively or in addition, for a test or training scenario including a collision, the quality module 131 may output a performance metric comprising a rating (e.g. score) indicative of whether a or the collision was mitigated by the Al agent. Optionally, as shown by the dashed arrow 13-3a in Figure 13, the quality module 131 may output some or all of the performance metrics for storage by the results database 133. The data associated with arrow 13-3 may be the same as the data associated with arrow 13-3a so that performance metrics provided to the sample data synthesiser 132 are also stored by the database 133. The sample data synthesiser 132 uses machine learning techniques for generating new sets of sample data. The sample data synthesiser 132 outputs new sets of sample data for realism checking (as represented by the arrow 13-4). The sample data synthesiser 132 receives feedback on realism of sample data (as represented by the arrow 13-5). Hence, the arrows 13-4 and 13-5 may be considered an adversarial contest between the sample data generator module 14 and the sample data compliance module 16 (or 16A), as discussed previously. The sample data synthesiser 132 outputs sample data for use by the Al agent module 12 (as represented by the arrow 13-6). As already explained elsewhere, there can also be another adversarial contest between the sample data generator module 14 and the Al agent module 12 for updating the sample data generator module 14. Each of these adversarial contests may use outcomes indicative of ratings (e.g. scalar values) and / our outcomes indicative of pass / fail with each of these adversarial contests being able to update one or both of the associated modules according to the outcomes. Updates to one or both of the Al module 12 and the sample data generator module 14 based on a degree of success could be according to binary scheme (pass / fail indication) and / or a non-binary scheme (e.g. ratings and / or classifications). Similarly, updates to one or more of the modules 16, 16A and 14 based on an outcome of a test could be according to binary scheme (pass / fail indication) and / or a non-binary scheme (e.g. ratings and / or classifications). For cases using a non-binary scheme, a rating and / or classification may be used to apply a higher or lower reward function and / or cost function for updating a module. In other words, a graduated update technique may be achieved by using a rating and / or classification. The sample data synthesiser 132 comprises one or more ANNs configured to output parameters representing items of sample data. The sample data synthesiser 132 is updated in dependence on one or more of the performance metrics output by the quality module 131 and also feedback on realism of sample data from the sample data compliance module 16. Where generated sample data is found to be compliant by the sample data compliance module 16, the sample data synthesiser 132 can be updated using a reward function to increase a likelihood of similar sample data (e.g. having one or more similar characteristics) being generated in the future, and thereby improving a likelihood of future generated sample data passing the sample data realism test. Where generated sample data is found to be non-compliant by the sample data compliance module 16, the sample data synthesiser 132 can be updated using a cost function to reduce a likelihood of similar sample data (e.g. having one or more similar characteristics) being generated in the future, and thereby improving a likelihood of future generated sample data passing the sample data realism test. Where one or more of the performance metrics are indicative of successful aspects of performance, the sample data synthesiser 132 can be updated using a cost function so as to incentivise the sample data synthesiser 132 to generate future sample data on which the Al agent fails to perform well. Where one or more of the performance metrics are indicative of unsuccessful aspects of performance, the sample data synthesiser 132 can be updated using a reward function so as to incentivise the sample data synthesiser 132 to generate similar sample data so that the Al agent can be tested or trained using sample data on which the Al agent performs less well. Sample data generated by the sample data synthesiser 132 is output to the Al agent module 12 (as represented by the arrow 13-6). As shown by the dashed arrow 13-7, feedback on realism of sample data from the sample data compliance module 16 may optionally be provided to the database of sample data 134 for storage. Accordingly, the database of sample data 134 may store sets of sample data and also feedback data on the assessment by the sample data compliance module 16 for the sets of sample data. In some examples, the database 134 may thus store sets of sample data and feedback on realism of those sets of sample data. Sample data compliance module example Figure 14 schematically illustrates an example of the sample data compliance module 16. The sample data compliance module 16 may comprise a sample realism classifier 141, a database of real-world data 142, a comparator 143, and an associator module 144. The database 142 may be provided as part of the sample data compliance module 16 or instead provided separate from the sample data compliance module 16 and accessible by the sample data compliance module 16 (e.g. via one or more communications links) for accessing data. The database of real-world data 142 includes reference material (e.g. real-world scenarios and optionally artificially generated scenarios that have been robustly validated as being realistic, such as via user validation) that may be used for partial training of the sample realism classifier 141. As represented by the arrow 14-1 in Figure 14, sample data is input to the sample realism classifier 141. Optionally, the sample data compliance module 16 may comprise a storage module to store incoming sets of sample data so that sample data can be temporarily stored before being input to the sample realism classifier 141. This is discussed in more detail below. The sample realism classifier 141 is operable to classify input sample data as realistic or not realistic. An indication of whether the input sample data is realistic or not realistic is output (represented by arrow 14-2) from the sample realism classifier 141 to the comparator 143. The comparator 143 is operable to compare the output from the sample realism classifier 141 with ground truth data (e.g. specifying whether the data provided as input is sample data 14-1 or comes from the database 142) and output (as represented by arrow 14-3) feedback to the sample realism classifier 141 using one of a cost function and a reward function in dependence on a result of the comparison. In particular, the comparator 143 can compare an output from the sample realism classifier 141 with ground truth data for the sample input to the sample realism classifier 141 to determine whether the sample realism classifier 141 has provided a true positive classification, a true negative classification, a false positive classification, or a false negative classification. The ground truth data may expressly indicate that the sample data is one of real or not real. Alternatively or in addition, the ground truth data may indicate a source of the sample date. For example, the ground truth data may indicate whether the sample data originates from the sample data generator module 14, thereby indicating whether the sample data is artificially generated sample data. In the case of a false positive classification (sample data generated by the sample data generator module 14 being classified as realistic) or a false negative classification (real-world data being classified as not realistic) by the sample realism classifier 141, then a cost function may be used to provide feedback to the sample realism classifier 141 to penalise behaviour resulting in the false classification. In the case of a true positive classification (real-world data being classified as realistic) or a true negative classification (sample data generated by the sample data generator module 14 being classified as not realistic) by the sample realism classifier 141, then a reward function may be used to provide feedback to the sample realism classifier 141 to reward behaviour resulting in the true classification. The above discussion refers to input of real-world data and artificially generated data to the sample realism classifier 141 and providing feedback for shaping the behaviour of the sample realism classifier 141. More generally, for a given set of sample data generated by the sample data generator module 14, the comparator 143 may determine one of a true classification (i.e. the given set of sample data was correctly classified by the classifier 141 as being not realistic) and a false classification (i.e. the given set of sample data was incorrectly classified by the classifier 141 as being realistic). In response to determining a true classification, the comparator 143 can be operable to output feedback (as represented by arrow 14-3) to the sample realism classifier 141 using a reward function. In response to determining a false classification, the comparator 143 can be operable to output feedback (as represented by arrow 14-3) to the sample realism classifier 141 using a cost function. The associator module 144 is operable to receive an identifier for the sample data (e.g. an ID associated with the sample data) and also receive the determination result from the comparator and associate the identifier and the determination result (this is represented by the arrows 14-4 and 14-5 in Figure 14). The associator module 144 thus outputs the identifier for the sample data and also the comparator result which can be provided as feedback to the sample data generator module 14. In some examples, the sample data compliance module 16 may comprise a control module (not shown in Figure 14) which may control timing of inputting sample data to the sample realism classifier 141. As explained previously, the sample data compliance module 16 may comprise a storage module to store one or more incoming sets of sample data so that sample data can be temporarily stored before being input to the sample realism classifier 141. The control module may send one or more control signals to the storage module to control timings at which sample data is provided from the storage module to the sample realism classifier 141 for sample data realism testing. The control module may also send one or more control signals to the database of real-world data 142 so that real-world data can be input to the sample realism classifier 141 for testing using real-world data. Hence, in some examples the storage module and the database of real-world data 142 may each be used to input data to the sample realism classifier 141 for realism testing, and the control module may control each of the storage module and the database of real-world data 142 to control input of samples to the sample realism classifier 141. For example, the control module may control the database of real-world data 142 and the storage module so as to input a data sequence to the sample realism classifier 141 for allowing testing using a data sequence comprising real-world data and artificially generated data. In other examples, the database of real-world data 142 may be used to instead input real-world data to the storage module. The storage module may thus store both real-world data and sets of sample data that have been generated by the sample data generator module 14. Accordingly, in this case just the storage module may be used to input data to the sample realism classifier 141, and the control module may control the storage module to control input of data to the sample realism classifier 141. Hence, in some examples both real-world data and sample data that has been artificially generated may be stored by the storage module and the control module can control just the storage module to allow input of real data and artificial data to the sample realism classifier 141. In some examples, the control module may comprise a scenario sequencer sub-module for deciding on a sequence of real and artificially generated data to be input to the sample realism classifier 141. Optionally, the control module may control the database of real-world data 142 to control input of data to the storage module. One or both of the control module and the storage module may monitor a status of the storage module (e.g. occupancy status) and the control module may control the database of real-world data 142 to input data to the storage module in dependence on the status of the storage module. For example, the control module may control the database of real-world data 142 to input data to the storage module responsive to an occupancy level falling below a threshold level (e.g. an occupancy level indicating that the storage module is empty). In some examples, the above techniques discussed in relation to Figure 14 may be applied in a similar manner for the compliance module 16A. Al agent module example Figure 15 schematically illustrates an example of the Al agent module 12. As shown in Figure 15, sample data generated by the sample data generator module 14 is provided to the simulator 151 (as represented by the arrow 15-1) and used by the simulator 151 to run a scenario fortesting or training an Al agent 152. Figures 2 and 3 provide illustrative examples of aspects of scenarios which may be run by the simulator 151. The simulator 151 may thus run a scenario according to the sample data which may include parameters defining properties for the scenario. Optionally, in some examples model data 153 may be accessed by the simulator 151 for running a scenario. The model data 153 is shown with a dashed line to indicate that use of such model data is optional. In particular, the model data 153 may define an environment layout (e.g. model data for a route) and the sample data may define other properties to be used with the environment layout such as: one or more additional objects to be included within the environment; layout of one or more objects within the environment (either stationary, or moving, or a mixture of both stationary and moving objects); environmental conditions such as: lighting conditions (e.g. details of the lighting due to the sun being positioned low in the sky, an absence of lighting, or artificial lighting); low visibility conditions (e.g. due to fog, smoke or precipitation); properties of a road surface (e.g. frictional grip, wet conditions, icy conditions); and / or weather conditions (e.g. rain, fog and so on). In other examples, the sample data may fully define the scenario to be run without the use of the model data 153. Accordingly, in Figure 15 the simulator 151 is operable to run a scenario fortesting or training an Al agent 152, according to the received sample data. The Al agent 152 performs actions so as to attempt to successfully complete a task in the scenario. In some examples, the scenario may be a driving scenario in which the Al agent 152 may be tasked with driving (e.g. navigating a course and / or parking) a vehicle or assisting with driving a vehicle (e.g. providing assistance to a driver of a vehicle, such as selective steering intervention) along a road within an environment. The Al agent 152 may or may not be successful in performing the task. The Al agent module 12 provides data about the performance of the Al agent back to the sample data generator module 14 (as represented by the arrow 15-2). When used in this specification and claims, the terms "comprises" and "comprising" and variations thereof mean that the specified features, steps or integers are included. The terms are not to be interpreted to exclude the presence of other features, steps or components. The invention may also broadly consist in the parts, elements, steps, examples and / or features referred to or indicated in the specification individually or collectively in any and all combinations of two or more said parts, elements, steps, examples and / or features. In particular, one or more features in any of the embodiments described herein may be combined with one or more features from any other embodiment(s) described herein. Protection may be sought for any features disclosed in any one or more published documents referenced herein in combination with the present disclosure. Although certain example embodiments of the invention have been described, the scope of the appended claims is not intended to be limited solely to these embodiments. The claims are to be construed literally, purposively, and / or to encompass equivalents. Representative features are set out in the following clauses, which stand alone or may be combined, in any combination, with one or more features disclosed in the text and / or drawings of the specification. CLAUSES 1. A computer-implemented method of training or testing an Al agent, comprising the following steps: generating a set of first sample data using a sample data generator module; training or testing the Al agent using an Al agent module and the first sample data, and determining a degree of success (e.g. success or failure) of the Al agent in performing a task based on the first sample data; and updating the sample data generator module based on the determination of the degree of success (e.g. success or failure). 2. The method of clause 1, wherein the method further includes updating the Al agent module based on the determination of the degree of success (e.g. success or failure), to improve the Al agent performance at the task based on the first sample data. 3. The method of clause 1 or clause 2, wherein updating the sample data generator module based on the determination of the degree of success (e.g. success or failure) involves determining an aspect of the Al agent performance associated with the degree of success (e.g. success or failure), and updating the sample data generator module based on that determination so that further generated sample data is more likely to cause the Al agent to have a reduced degree of success (e.g. fail) when performing a task based on that further sample data. 4. The method of any preceding clause, wherein the method further comprises the steps of: prior to training or testing the Al agent: using a sample data compliance module, determining whether items of the first sample data are distinguishable from items of a set of second sample data accessible from the sample data compliance module, where the sample data compliance module determines compliance of the first sample data where the items of first and second sample data are found not to be distinguishable; updating the sample data generator module based on the determination of compliance or non-compliance. 5. The method of clause 4, further including: where the first sample data is found to be non-compliant, repeating the step of generating a set of first sample data to produce a further set of first sample data and repeating the step of determining whether items of that further set of first sample data are compliant. 6. The method of clause 4 or clause 5, wherein if the first sample data is found to be compliant, providing the first sample data to the Al agent module. 7. The method of any one of clauses 4 to 6, wherein either: where the first sample data are found to be compliant, updating the sample data compliance module to reduce the likelihood of those specific first sample data being determined to be compliant in future, using a cost function; or where the first sample data are found to be non-compliant, updating the sample data compliance module to improve the likelihood of those first sample data being determined to be non-compliant in future, using a reward function. 8. The method of any one of clauses 4 to 7, wherein either: where the first sample data are found to be compliant, updating the sample data generator module to increase the likelihood of similar first sample data being generated in future, using a reward function; or where the first sample data are found to be non-compliant, updating the sample data generator module to reduce the likelihood of similar first sample data being generated in future, using a cost function. 9. A computer-implemented method of generating data fortraining or testing an Al agent, comprising the following steps: generating a set of first sample data using a sample data generator module; using a sample data compliance module, determining whether items of the first sample data are distinguishable from items of a set of second sample data accessible from the sample data compliance module, where the sample data compliance module determines compliance of the first sample data where the items of first and second sample data are found not to be distinguishable; updating the sample data generator module based on the determination of compliance or non-compliance. 10. The method of clause 9, wherein if the first sample data is found to be compliant, providing the first sample data to the Al agent module. 11. The method of clause 9 or clause 10, wherein either: where the first sample data are found to be compliant, updating the sample data compliance module to reduce the likelihood of those specific first sample data being determined to be compliant in future, using a cost function; or where the first sample data are found to be non-compliant, updating the sample data compliance module to improve the likelihood of those first sample data being determined to be non-compliant in future, using a reward function. 12. The method of any one of clauses 4 to 11, wherein the second sample data is generated from sensor data and relates to measurements of properties of objects or of an environment. 13. The method of any one of clauses 8 to 12, wherein the second sample data records a scenario fortesting or training behaviour within an environment, the record of the scenario including one or more of: a geographical layout of an environment, environmental conditions, parameters of static objects, and parameters of moving objects within the environment. 14. A computer-implemented method of training or testing an Al agent, comprising the following steps: generating a set of first sample data using a sample data generator module; using a sample data compliance module, determining whether items of the first sample data pass a realism test, updating the sample data generator module based on the determination of whether the items of the first sample data were found to pass the realism test, to improve the likelihood of future generated sample data passing the realism test, using the first sample data to train or test an Al agent, determining a degree of success (e.g. success or failure) of the Al agent in performing a task based on the first sample data; and updating the sample data generator module based on the determination of the degree of success (e.g. success or failure), to improve the likelihood of future generated sample data causing the Al agent to have a reduced degree of success (e.g. fail) for a task performed on that data. 15. The method of clause 14, further including updating the Al agent module based on the determination of success or failure, to improve the Al agent performance at the task based on the first sample data. 16. The method of clause 14 or clause 15, further including updating the sample data compliance module to alter the realism test, to reduce the likelihood of the generated sample data being determined to pass the realism test. 17. The method of any preceding clause, wherein the sample data generator module uses an artificial neural network to generate the first sample data. 18. The method of any preceding clause, wherein the first sample data approximates a scenario fortesting or training behaviour within an environment, the scenario including one or more of: a geographical layout of an environment, parameters of static objects, and parameters of moving objects within the environment. 19. The method of any preceding clause, wherein the Al agent is configured to drive a vehicle, or to assist in driving a vehicle. 20. The method of any one of clauses 1 to 18, wherein the Al agent is configured to operate a robotic device. 21. The method of any one of clauses 1 to 11, wherein the Al agent is configured to detect and / or classify an object based on sensor data, wherein the second sample data is generated from sensor data and relates to measurements of properties of the object, and the first sample data is generated by a neural network configured to approximate properties of the object. 22. A computer-implemented method of training or testing an Al agent, comprising: generating a set of first sample data using a sample data generator module; training or testing the Al agent using an Al agent module and the first sample data; determining, using a compliance module, at least one of: an outcome of a sample data realism test for items of the first sample data; and an outcome of a realism test for data associated with a task performed by the Al agent based on the first sample data; and updating the sample data generator module based on the outcome of the sample data realism test and / or the outcome of the realism test, to improve the likelihood of future data associated with a task performed by the Al agent based on future generated sample data having an outcome for the realism test associated with improved realism. 23. The method of clause 22, wherein in response to the outcome of the realism test indicating that the data associated with the task performed by the Al agent does not satisfy at least one criterion, the method comprises at least one of: updating the sample data generator module using a cost function to thereby improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion; and updating the compliance module using a reward function to improve the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test not satisfying the at least one criterion in the future. 24. The method of clause 22 or clause 23, wherein in response to the outcome of the realism test indicating that the data associated with the task performed by the Al agent satisfies at least one criterion, the method comprises at least one of: updating the sample data generator module using a reward function to improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion; and updating the compliance module using a cost function to reduce the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test satisfying the at least one criterion in the future. 25. The method of any one of clauses 22 to 24, wherein the method further comprises receiving, by the compliance module, the first sample data from at least one of the sample data generator and the Al agent module. 26. The method of any one of clauses 22 to 25, wherein in response to the outcome of the sample data realism test indicating that the first sample data does not satisfy at least one criterion, the method comprises at least one of: updating the sample data generator module using a cost function to reduce the likelihood of similar first sample data being generated in future; and updating the compliance module using a reward function to improve the likelihood of the first sample data having an outcome for the sample data realism test not satisfying the at least one criterion in the future. 27. The method of any one of clauses 22 to 26, wherein in response to the outcome of the sample data realism test indicating that the first sample data satisfies at least one criterion, the method comprises at least one of: updating the sample data generator module using a reward function to improve the likelihood of future generated sample data having an outcome for the sample data realism test satisfying the at least one criterion; and updating the compliance module using a cost function to reduce the likelihood of the first sample data having an outcome for the sample data realism test satisfying the at least one criterion in the future. 28. The method of any one of clauses 22 to 27, wherein the data associated with the task performed by the Al agent based on the first sample data comprises one or more attributes relating to behaviour of the Al agent in performing the task. 29. The method of any one of clauses 22 to 28, wherein the first sample data approximates a scenario fortesting or training behaviour within an environment. 30. The method of clause 29, wherein the scenario comprises one or more of: a geographical layout of an environment, parameters of one or more static objects, parameters of one or more moving objects within the environment, and parameters of one or more environmental conditions. 31. The method of clause 29 or clause 30, wherein the data associated with the task performed by the Al agent based on the first sample data comprises one or more attributes of the scenario, and the step of determining an outcome of the realism test comprises determining the outcome in dependence on one or more of the one or more attributes of the scenario. 32. The method of any one of clauses 22 to 31, comprising: determining whether an outcome of the sample data realism test for the first sample data satisfies at least one criterion; training or testing the Al agent using the Al agent module and the first sample data responsive to the outcome of the sample data realism test satisfying the at least one criterion; and determining whether an outcome of the realism test for the data associated with the task performed by the Al agent based on the first sample data satisfies at least one criterion after the step of training or testing the Al agent using the Al agent module and the first sample data. 33. The method of any one of clauses 22 to 32, wherein determining an outcome of the sample data realism test comprises at least one of: determining whether at least some of the items of the first sample data pass the sample data realism test; determining, from a plurality of candidate sample data realism classifications, a respective sample data realism classification for at least some of the items of the first sample data; and determining a sample data realism rating for at least some of the items of the first sample data. 34. The method of any one of clauses 22 to 33, wherein determining an outcome of the realism test comprises at least one of: determining whether at least some of the data associated with the task performed by the Al agent based on the first sample data passes the realism test; determining, from a plurality of realism classifications, a respective realism classification for at least some of the data associated with the task performed by the Al agent based on the first sample data; and determining a realism rating for at least some of the data associated with the task performed by the Al agent based on the first sample data. 35. The method of any one of clauses 22 to 34, further comprising: determining a degree of success of the Al agent in performing the task based on the first sample data; and updating the sample data generator module based on the degree of success, to improve the likelihood of future generated sample data causing the Al agent to have a reduced degree of success for a task performed on that data. 36. The method of clause 35, further comprising updating the Al agent module based on the degree of success, to improve the Al agent performance at the task based on the first sample data. 37. The method of any one of clauses 22 to 36, wherein the sample data generator module uses an artificial neural network to generate the first sample data. 38. The method of any one of clauses 22 to 37, wherein the Al agent is configured to drive a vehicle, or to assist in driving a vehicle. 39. The method of any one of clauses 22 to 37, wherein the Al agent is configured to operate a robotic device. 40. The method of any preceding clause, wherein the task performed by the Al agent based on the first sample data comprises at least one of: controlling a vehicle or robotic device; and detecting and / or classifying one or more objects and generating one or more event warnings. 41. The method of any preceding clause, wherein, during use, the Al agent is configured to 5 detect and / or classify an object based on sensor data, wherein the second sample data is generated from sensor data and relates to measurements of properties of the object, and the first sample data is generated by a neural network configured to approximate properties of the object. 42. A data processing system comprising a processor configured to perform the method of any 10 one of clauses 1 to 41. 43. A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of clauses 1 to 41. 15
Claims
1. A computer-implemented method of training or testing an Al agent, comprising: generating a set of first sample data using a sample data generator module; training or testing the Al agent using an Al agent module and the first sample data; determining, using a compliance module, at least one of:an outcome of a sample data realism test for items of the first sample data; andan outcome of a realism test for data associated with a task performed by the Al agent based on the first sample data; andupdating the sample data generator module based on the outcome of the sample data realism test and / or the outcome of the realism test, to improve the likelihood of future data associated with a task performed by the Al agent based on future generated sample data having an outcome for the realism test associated with improved realism.
2. The method of claim 1, wherein in response to the outcome of the realism test indicating that the data associated with the task performed by the Al agent does not satisfy at least one criterion, the method comprises at least one of:updating the sample data generator module using a cost function to thereby improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion; andupdating the compliance module using a reward function to improve the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test not satisfying the at least one criterion in the future.
3. The method of any preceding claim, wherein in response to the outcome of the realism test indicating that the data associated with the task performed by the Al agent satisfies at least one criterion, the method comprises at least one of:updating the sample data generator module using a reward function to improve the likelihood of future data from a task performed by the Al agent based on future generated sample data having an outcome for the realism test satisfying the at least one criterion; andupdating the compliance module using a cost function to reduce the likelihood of the data associated with the task performed by the Al agent based on the first sample data having an outcome for the realism test satisfying the at least one criterion in the future.
4. The method of any preceding claim, wherein the method further comprises receiving, by the compliance module, the first sample data from at least one of the sample data generator and the Al agent module.
5. The method of any preceding claim, wherein in response to the outcome of the sample data realism test indicating that the first sample data does not satisfy at least one criterion, the method comprises at least one of:updating the sample data generator module using a cost function to reduce the likelihood of similar first sample data being generated in future; andupdating the compliance module using a reward function to improve the likelihood of the first sample data having an outcome for the sample data realism test not satisfying the at least one criterion in the future.
6. The method of any preceding claim, wherein in response to the outcome of the sample data realism test indicating that the first sample data satisfies at least one criterion, the method comprises at least one of:updating the sample data generator module using a reward function to improve the likelihood of future generated sample data having an outcome for the sample data realism test satisfying the at least one criterion; andupdating the compliance module using a cost function to reduce the likelihood of the first sample data having an outcome for the sample data realism test satisfying the at least one criterion in the future.
7. The method of any preceding claim, wherein the data associated with the task performed by the Al agent based on the first sample data comprises one or more attributes relating to behaviour of the Al agent in performing the task.
8. The method of any preceding claim, wherein the first sample data approximates a scenario fortesting or training behaviour within an environment.
9. The method of claim 8, wherein the scenario comprises one or more of: a geographical layout of an environment, parameters of one or more static objects, parameters of one or more moving objects within the environment, and parameters of one or more environmental conditions.
10. The method of claim 8 or claim 9, wherein the data associated with the task performed by the Al agent based on the first sample data comprises one or more attributes of the scenario, and the step of determining an outcome of the realism test comprises determining the outcome in dependence on one or more of the one or more attributes of the scenario.
11. The method of any preceding claim, comprising:determining whether an outcome of the sample data realism test for the first sample data satisfies at least one criterion;training or testing the Al agent using the Al agent module and the first sample data responsive to the outcome of the sample data realism test satisfying the at least one criterion; and determining whether an outcome of the realism test for the data associated with the task performed by the Al agent based on the first sample data satisfies at least one criterion after the step of training or testing the Al agent using the Al agent module and the first sample data.
12. The method of any preceding claim, wherein determining an outcome of the sample data realism test comprises at least one of:determining whether at least some of the items of the first sample data pass the sample data realism test;determining, from a plurality of candidate sample data realism classifications, a respective sample data realism classification for at least some of the items of the first sample data; and determining a sample data realism rating for at least some of the items of the first sample data.
13. The method of any preceding claim, wherein determining an outcome of the realism test comprises at least one of:determining whether at least some of the data associated with the task performed by the Al agent based on the first sample data passes the realism test;determining, from a plurality of realism classifications, a respective realism classification for at least some of the data associated with the task performed by the Al agent based on the first sample data; anddetermining a realism rating for at least some of the data associated with the task performed by the Al agent based on the first sample data.
14. The method of any preceding claim, further comprising:determining a degree of success of the Al agent in performing the task based on the first sample data; andupdating the sample data generator module based on the degree of success, to improve the likelihood of future generated sample data causing the Al agent to have a reduced degree of success for a task performed on that data.
15. The method of claim 14, further comprising updating the Al agent module based on the degree of success, to improve the Al agent performance at the task based on the first sample data.
16. The method of any preceding claim, wherein the sample data generator module uses an artificial neural network to generate the first sample data.
17. The method of any preceding claim, wherein the Al agent is configured to drive a vehicle, or to assist in driving a vehicle.
18. The method of any one of claims 1 to 16, wherein the Al agent is configured to operate a robotic device.
19. The method of any preceding claim, wherein the task performed by the Al agent based on the first sample data comprises at least one of:controlling a vehicle or robotic device; anddetecting and / or classifying one or more objects and generating one or more event warnings.
20. The method of any preceding claim, wherein, during use, the Al agent is configured to detect and / or classify an object based on sensor data, wherein the second sample data is generated from sensor data and relates to measurements of properties of the object, and the first sample data is generated by a neural network configured to approximate properties of the object.
21. A data processing system comprising a processor configured to perform the method of any preceding claim.
22. A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 20.
Citation Information
Patent Citations
Lightweight generation method and system of mechanical fault data assisted by digital twin
CN117076935B
Data synthesis method based on longitudinal federated learning in intelligent manufacturing environment
CN117633470A
System for synthesizing data
US11537813B1
System and methods for iterative synthetic data generation and refinement of machine learning models
US20210049455A1