In this blog, I will talk about how to create an AI to write programs for us. This is a forward looking, exploratory note about how we should take the next step.
Goal:
1) We want software that we will have to write only once.
2) This software will write all future applications.
3) When people want a new application, we simply collect the data for every specific task.
4) Then, through observation, this master program creates a new application for us.
Current Computer Limitations
- Our computer languages are created to support the CPU hardware structure and the memory structure in 1950s.
- Our computer languages have evolved several times over.
note: they are a functional language, a structural language, object-oriented language and declarative language.
- They all require humans to write the code in logical and specific ways.
Different Paradigm
Current Situation:
- Humans instructs a computer on rules of processing of input data.
- Then, a computer generates some output.
- The output is in form of text, sound, motion and graphics.
Future Situation:
- Humans should tell a computer what input data we have.
- Humans should tell a computer what output data we want.
- Then, a computer should automatically come up with rules of processing to generate the expected data output.
Future is Here:
- Machine Learning and Deep Learning is about guiding a computer to figure out the rules of processing.
Current AI Limitations:
- Still difficult for an ordinary person to guide a computer with AI Library to figure out the rules of processing on a given input dataset to generate the expected dataset.
- Current AI libraries or tools are still primitive to generate a set of arbitrary rules.
- Current AI libraries or tools are narrow domain specific.
note: eg) classify a dog vs a cat, identify an object, process spoken or written words, etc.
Next Step:
eg) Differential Programming
Note:
- This computer language was introduced with a hope of addressing the current limiations.
- Its language syntax and semantics are still stuck in back in time of 1950s.
What should be:
- We shouldn't be using a computer language to write an application.
- We should create a master program which will write all applications.
- The master program should observe to collect the data.
- The master program should generate a new application from the input data.
- Then, it should figure out the rules of processing for a new application.
Reference:
- A simple automatica derivative evaluation program. (1964)
- Evaluating Derivatives: ::: Principles & Techniques of Algorithmic Differentiation (2008)
- Automatic Differentiation in Machine Learning: A survey (2017)
Goal:
1) We want software that we will have to write only once.
2) This software will write all future applications.
3) When people want a new application, we simply collect the data for every specific task.
4) Then, through observation, this master program creates a new application for us.
Current Computer Limitations
- Our computer languages are created to support the CPU hardware structure and the memory structure in 1950s.
- Our computer languages have evolved several times over.
note: they are a functional language, a structural language, object-oriented language and declarative language.
- They all require humans to write the code in logical and specific ways.
Different Paradigm
Current Situation:
- Humans instructs a computer on rules of processing of input data.
- Then, a computer generates some output.
- The output is in form of text, sound, motion and graphics.
Future Situation:
- Humans should tell a computer what input data we have.
- Humans should tell a computer what output data we want.
- Then, a computer should automatically come up with rules of processing to generate the expected data output.
Future is Here:
- Machine Learning and Deep Learning is about guiding a computer to figure out the rules of processing.
Current AI Limitations:
- Still difficult for an ordinary person to guide a computer with AI Library to figure out the rules of processing on a given input dataset to generate the expected dataset.
- Current AI libraries or tools are still primitive to generate a set of arbitrary rules.
- Current AI libraries or tools are narrow domain specific.
note: eg) classify a dog vs a cat, identify an object, process spoken or written words, etc.
Next Step:
eg) Differential Programming
Note:
- This computer language was introduced with a hope of addressing the current limiations.
- Its language syntax and semantics are still stuck in back in time of 1950s.
What should be:
- We shouldn't be using a computer language to write an application.
- We should create a master program which will write all applications.
- The master program should observe to collect the data.
- The master program should generate a new application from the input data.
- Then, it should figure out the rules of processing for a new application.
Reference:
- A simple automatica derivative evaluation program. (1964)
- Evaluating Derivatives: ::: Principles & Techniques of Algorithmic Differentiation (2008)
- Automatic Differentiation in Machine Learning: A survey (2017)
Comments
Post a Comment