6 ms·
The physics principle of diffusion inspired modern AI art
- hypertele-Xii 4y agoIs this a submarine ad for Coca-Cola?
- sogen 4y agoMaybe an ad for Dall-e, since Stable Diffusion has taken the art world by storm by leaps and bounds. This is made even more prominent by the lack of any mention of the competitors.
- alanbernstein 4y ago> The key insight that makes DALL·E 2’s images possible — as well as those of its competitors Stable Diffusion and Imagen — comes from the world of physics.
- sogen 4y agoMissed that, thanks
- manmal 4y agoCan anybody explain what is meant by „gradient“ in this context? Is this a way of speeding up the search for a desirable improvement of a pixel (or cluster) in each pass?
- wildpeaks 4y agoI think they refer to Gradient Descent: https://en.wikipedia.org/wiki/Gradient_descent https://en.wikipedia.org/wiki/Gradient_descent
- time_to_smile 4y agoDo engineers not take calculus anymore these days? Gradient descent uses the gradient, but is itself not the gradient. The gradient itself is just the vector of partial derivatives with respect to each parameter. Gradient descent is just following the gradient "downwards" towards a minima. The article even describes it pretty well in non-mathematical terms. > the gradient of the distribution (think of it as the slope of the high-dimensional surface). I always hear devs say they never use calculus but I suspect it's because you can't use what you don't understand.
- enlyth 4y ago>Do engineers not take calculus anymore these days? Yes, we do, like a decade ago at school when we were forced to learn it. Then the knowledge atrophies unless you're actively using it in real life. The majority of engineers I know, including myself, work on some form of web services, mobile apps or FOTM UI frameworks, and you don't need calculus to style a progress bar or query a database
- pifm_guy 4y agoThe rate of change of that progress bar would be the gradient of the progress with respect to time. Could be a handy thing to have if, for example, you were designing some progress animation...
- sockaddr 4y agoTo further your point, most UIs now don’t even go to the trouble of showing progress. It’s either an infinitely spinning glyph or a “progress” bar that just keeps scanning from left to right effectively providing zero information. Fun times.
- hnfong 4y agoWhat's the point? The downfall of progress bars because software engineers don't bother to learn calculus, or that they realized trying to solve the halting problem is an exercise in futility?
- PartiallyTyped 4y agoThey refer to score models, where the score is the density of the dataset at the input. Imagine you have a huuuuge landscape, with peaks and valleys. This landscape defines the density of the distribution. Now, imagine that you have a bunch of samples drawn from the distribution, this is the dataset. Sampling an image is a mixture of dirac delta functions (or a mixture of Gaussian with variance approaching zero). We can increase the variance to smoothen the landscape. This sort of builds an empirical estimate of the true landscape. The height of this landscape is “the score”. It turns out that we can actually compute an approximation of the gradient of the score. The gradient of the score always points towards where the score (aka density) will increase, and you essentially apply gradients to “walk” towards a high density region. This idea is actually very similar to using gradients to create poisoned inputs that are falsely predicted. I am being a bit handwavey here, we don’t just increase the variance, but this is a decent enough approximation of what’s happening and what the gradient refers to in this case. For all intents and purposes, you can think of the gradient as a vector pointing towards the direction that the density of the dataset increases.
- nigamanth 4y agoThe change in the y-axis with respect to the x-axis. d/dx
- manmal 4y agoAre we not talking about a million dimensions here instead of 2? What’s x, what’s y?
- tpoacher 4y agoIn this context, it refers to the gradient of the error function (which is a function of the parameters). In other words, for each tuple of parameters you can estimate the direction in which the reduction in the resulting error would be steepest. Gradient descent is then a method whereby you iteratively move towards better and better parameterisations, by following the direction of the (negative) gradient at each step, which guarantees you will reach a local minimum much more efficiently than if you sampled new parameters in the area of the previous iteration at random. And if your error function is convex, the minimum error is a global minimum.