In these lessons, you'll explore AI testing and theory and learn about AI agents and environments. After completing these lessons, you'll know about language modeling with artificial intelligence and understand percepts and neural networks. Artificial intelligence algorithm programming is considered the most complex task and it's important to test the program before running it in the actual production environment. The most important task for testing is the data collection process. Data collected for the training data set shouldn't contain personal identifiable information and should be based on a variety of different conditions. Random sampling is important to the data collection process and you can include several types of data to test your model. The data collection process is also dependent on the testing needs and you can collect images, unstructured data, speech, and biometrics information. Data should be measured on quality because if the quality isn't good, then testing of the artificial intelligence program won't generate accurate results. You can also use a sampling algorithm for the data collection process. Tagging or labeling allows you to identify the data quickly and artificial intelligence success depends on tagging or data labeling. You can perform automated tagging or labeling where you can use the data pipelines for analyzing incoming data and then simply tag it. If the data isn't labeled properly, it can produce invalid results. The next step in the process is algorithm training using the labeled data. You can train the algorithm with various conditions and it's better to cover more conditions instead of having a small number of tests. You should also consider the algorithm fixes based on the test results. If the algorithm isn't generating accurate output, then you have the option to change the algorithm logic and validate it again with the same data set. You should always use the same data set for training and validation. If you introduce any new enhancements into the algorithm, then you should perform the data collection and labeling process again. The algorithm should be tested for various conditions and bias. For example, if your algorithm is about the image search and it's only searching for one type of image and creating a bias, then you need to change the logic to include all image types. You can also introduce an automated test case execution which will help you quickly finish the test case execution and validate the intelligence program. You can write the functional or regression automated test cases and keep the test execution success score for your model. If the number of test cases passed is higher than 99%, then you should think about the deployment. You can also create a feedback loop which will pass the feedback from the test execution to the development team and allow the development team to fix the machine learning algorithm based on the training data set. Once the algorithm is successfully tested for all the input data conditions, the program is then ready for the deployment stage onto the public cloud. The public cloud provides several types of services that can help you quickly deploy the algorithm. The on premises deployment is difficult for the artificial intelligence program due to the resource requirements, but you can use tools for automating the deployment into production and configure the test as part of the pipeline.