The code is only half the equation however, the weights that are being automatically adjusted and used by the AI are the other half, and given that the AI keeps tweaking these 'on its own' and there are so many of them, you cannot really say how it arrived at its result without debugging it.
When talking about the internal logic of an AI, I wouldn't say "the code is only half the equation." I would say the code
is the internal logic of the AI. Full stop. The fact that there are millions of weights being automatically adjusted doesn't make the logic any more or less complex than the code which sets the values of those weights. The weights are just numerical variables, and their values are not relevant to any of the internal logic involved.
mamba said:
In contrast to a random generator which uses fixed lookup tables and the only thing that is random is the number it starts with, i.e. if you know that number (through debugging again), you know what the result will be without having to debug the rest of the logic.
Incidentally, you don't need to debug a program to determine how it arrives at a given end state. You just need it to create a log of the individual steps it's taking. Creating that kind of log can be useful during the debugging process, but you don't have to be engaged in debugging to create that kind of log. The same process can be used for a perfectly-understood program with no bugs whatsoever.
mamba said:
How easy would it be to 'predict' that given the following input 'artic ice cliff, penguins, seals, black stone temple, high quality digital painting' the AI would create the following picture
View attachment 348211
or explain and fix the highlighted penguins
You're asking two separate questions, so I'll address them in order:
Q. How easy would it be to predict that an AI would create the indicated picture?
A. It would be time-consuming for a human to predict the indicated picture, the same way it would be time-consuming for a human to predict the position of the Earth at a given time in a computer simulation of the solar system. That's not due to a lack of understanding of the system, nor is it necessarily because the system is hard to understand. That's just because computers process large numbers of explicit variables faster than human brains.
Predicting what output an AI gives for a given input is like trying to watch a bullet as it flies through the air. To observe a bullet in flight, you have to film the bullet, then slow the film down to a speed the human brain can process and use that to draw a map. To predict what output an AI gives for a given input, you have to log the steps the AI is taking, then read those steps back at a pace a human brain can process.
In the case of a sophisticated generative AI, the actual logic involved in a single use case isn't that complicated (for highly-trained computer scientists specialized in AI). The real challenge is simply tracking all the variables in a human-readable way. That's because the prompt you entered isn't the input the AI used to generate that picture. The input used is the prompt you entered, plus the entire training set used, plus every prior recorded interaction with that training set, plus (if the AI incorporates one or more random generators) whatever seed or seeds were used in the AI's RNGs.
Q. How hard would it be to fix the highlighted parts of the picture?
A. That depends upon the functionality programmed into the AI which generated the picture. In theory, a sufficiently-advanced AI will incorporate tools users can use to iterate their images with specified changes, allowing them to adjust for gaps or biases in the dataset. Failing that, one can improve output from an AI which has a proven ability to interpret and respond to prompts by simply using better training data.
In the case of the picture under discussion, there appears to be a gap in the AI's training set. The AI doesn't have enough metadata specific to penguins but not seals. This could be fixed on the back end by improving the training set to include more penguin and seal metadata, or it could be done by allowing users to select and combine elements from images until a desired result is achieved. Implementing either of these solutions requires a fair amount of programming knowledge and a lot of time, but the actual logic involved is fairly straightforward.
mamba said:
or in other words, we do not know, but yes 'no one knows' might have been a bit strong, even when this essentially is true for a given result and too tedious to figure out. I did not mean 'we do not have the slightest idea what is going on'...
If your claim is that it's simply impractical to determine every AI-generated output in advance, then I would agree with you. The whole reason someone programmed AI was so users could rely on AI algorithms to do millions of steps they would otherwise have to do to produce complex output they aren't trained to produce manually.