I don't do coding that much, that's Software Eng job, I did hardware/software implementation, my programming skill are basically just enough for me to know my field of studies, which is as my reply to
@Han Patriot, my field of study is more topological thinking than simply coding, which is what and how I describe ChatGPT functions and why I pick up how ChatGPT is revolutionary, because we take our brain for granted, and we don't think how we think and the procedure of problem solving, this is what I study at UNSW.
I did know about AI generating Software like Midjourney and Stable Diffusion, and I do understand the diffusion model (well, at least used to). The layman term for Diffusion model is like how you use Photoshop. If you ever used photoshop you will know there is a tool for you to smooth image. Think of MidJourney or Stable Diffusion is something like this, but in reverse. You have a polluted image with a lot of random bits on it, but you would still have some bits or more precisely pixel that you know it's coming from the original image, if not, the AI would simply generate another image and go on until it found what it was looking for, say for example, I want the AI to draw a human face,
a human face would have 2 eyes (well, mostly) 1 nose, 1 mouth. So if the program knows what is an "eye" or what is a "mouth" then you can program it into making these pixels out because human parts, although different, it's still similar between each of us, I mean a nose cannot have 2 nostrils on top of the bridge, right? So these formed a set of rules for the computer to isolate those parameter out and filter what it was supposed to be like for a human face.
Now, you have a rough location of a mouth and a nose and 2 eyes, then you can use the association in between the pixel to try to isolate facial feature. And then you started to add hair, skin color, imperfection and so on and make a face, and thus drawing a human and then it keeps diffusing into more minute detail by adding and/or removing random pixel
The key here is the AI program knows what to look at. Then it set a rule (The above highlighted blue parts is the "Rules" for a human face) then you would be able to generate enough random pixel following this rule and then proceed to construct a human face. And you can then apply to other things as well, a car (How do you define a car, then set a rule over it and then AI could generate a picture of a car using said rules)
This is in layman term how AI generative program work using diffusion model.