Probabilistic Programming - AI's New Game!!
- Sreeram
- Aug 1, 2020
- 3 min read
If an algorithm can learn within the user's phone/laptop, there won't be a need for sharing personal data with large companies.....
It would be more efficient when an algorithm thinks in such a way that it could identify what makes an object as an object with less amount of data with high accuracy....
We all know that what is programming and probability, but what does probabilistic programming mean?
Simply, programming is a set of commands given to the computer to work in a particular way. Probability, a numerical description of how likely an event is to occur.
Probabilistic programming - Solving the problem by using programming languages and statistical models. In other words, applying statistics using computer tools and languages.
What's the need?
Machine learning algorithms require huge data to predict/classify the problem, but humans are generating 2,5 Quintillion bytes of data per day, and access to such a tremendous amount of data is nearly impossible as well as processing these too demands heavy computational power. AI/ML/DL all advanced techniques were used to solve the real world's problems but if it requires huge computational power and a large amount of data which is more time and money consuming, then the real motivation behind these techniques fails miserably.
For instance, training a deep learning algorithm to recognize a category of objects — say, chairs or dogs — with great accuracy is not easy, but distinguishing Person A from Person B is even harder and requires even more data. If you teach an artificial intelligence (AI) program that a robin, an eagle, and a duck are all birds, the program still may not recognize a cardinal or a peacock as one of our feathered friends. That would require feeding the algorithm tens or even hundreds of thousands of images, capturing a massive amount of variation in size, shape, profile, texture, lighting and angle.
It would be more efficient when an algorithm thinks in such a way that it could identify what makes an object as an object with less amount of data with high accuracy. That's where Probabilistic Computing comes into the picture, Using this we can make a machine to predict/Classify a problem or making a decision with high accuracy and limited amounts of training data. Probabilistic Programming is a high-level software language that allows developers to define Bayesian models and solve them automatically. More recent developments in high-performance computing and deep learning algorithms suggest that probabilistic computing is entering a new era. In the next few years, experts anticipate research to produce significant improvements in the reliability, security, serviceability and performance of AI systems, including hardware designed specifically for probabilistic computing.
If programs can take suggestions instead of relying on data, then that could behave like a human. The BPS (Bayesian Program synthesis)approach of automatically combining and modifying simple program pieces, incorporating human input and domain knowledge, can carry out much more complex tasks. Embedding the classic scientific method of hypothesize-test-iterate into a Bayesian framework and narrowing the possibilities based on new evidence allow this iterative process to be self-correcting and can yield even better results than classical deep learning
Conclusion:
Probabilistic Computing will open a path to a new generation of computing systems that will integrate probability and randomness into the basic building blocks of software and hardware. A computer can learn about the user's interest without the need for huge data to be trained for hours. If a machine can learn within the phone/laptop, there won't be a need for sharing personal data with large companies. Self-driving cars can learn more about the roads and signals with a limited amount of data. This is going to change the entire game of AI
-Sree
Comments