Submitted by AutoModerator t3_xznpoh in MachineLearning
Lajamerr_Mittesdine t1_is89dnx wrote
I have a project idea and would like some feedback on feasibility.
I want to create a ML model that I would use in a subsequent model training loop.
This first model would take a image of x by x dimensions as input and then output instructions to a custom Image Creation tool for steps of re-creating the image.
The instructions would be semi-human readable but mostly just for the program to interpret and would look like the following and be arguments for the custom image creation tool to take in.
> >412, 123 #FF00FF ----- This would turn this one pixel Fuschia > >130, 350 ; 150, 400 #000000 ----- This would turn this rectangle of pixels on the canvas to black.
And many more complex tools available to take in as arguments.
The reward function would have two stages. The first stage is how close is your image to the original which would be easy to compute. And the second stage reward function would reward instruction minimization. I.E. 5000 steps to recreate the image would be rewarded higher than 10000 steps.
It would also be easy to set the upper bound of recreating the image to the total pixel count for that image so that it can be killed if it reaches the limit without creating the 1:1 image it was given as input.
The program would also allow as input argument the ability to create custom functions. Which we would also the model the ability to do. One thing that would incentivize the model to create and use its custom functions is that the reward would be tweaked so that if the model uses a predefined function it creates it counts as less instructions than if it were to individually call those instructions.
This first model is all about training it to recreate images 1:1 in the least amount of discrete instructions as possible for any arbitrary image.
This model/program would then be used in a second models training loop which I would like to keep secret for now.
ThrowThisShitAway10 t1_is90ox7 wrote
There's some papers on this. They usually refer to these commands as a "domain-specific language". I know of this article https://arxiv.org/pdf/2006.08381.pdf where they define some basic functions to start and then it attempts to learn higher-order functions while building a program to solve a specified task.
There was an interesting Kaggle competition a few years back by Francois Chollet where competitors had to come up with a method that can generate short programs to solve simple tasks. https://www.kaggle.com/competitions/abstraction-and-reasoning-challenge It ended up being quite challenging
Lajamerr_Mittesdine t1_is9wk60 wrote
That paper is exactly what I needed. So many good details in there. Thank you so much!
Viewing a single comment thread. View all comments