This thread is kind of related to the discussion on image enhancement.. It was mentioned in that discussion that software now is trained on real life images - image enhncement may be primed with images from a training set. (like with the "deep dream" software). Which raises a great many legal and moral issues, on algorithmic transparency. There is fear that the discriminator if fed with discriminatory data will contiunue and make more pervasive whatever inherent biases were used to generate the training set.
I was just reading (actually had a dream last night about) generative adversarial networks, like StyleGAN. (
https://github.com/NVlabs/stylegan) A good example is illustrated by
https://thispersondoesnotexist.com/ a web URL that generates a new face shot of a nonexistent person each time you click on it.
or
https://thisrentaldoesnotexist.com/ which generates hypothetical rentals.
from Wikipedia:
https://en.wikipedia.org/wiki/Generative_adversarial_networkThe generative network generates candidates while the discriminative network evaluates them.[1] The contest operates in terms of data distributions. Typically, the generative network learns to map from a latent space to a data distribution of interest, while the discriminative network distinguishes candidates produced by the generator from the true data distribution. The generative network's training objective is to increase the error rate of the discriminative network (i.e., "fool" the discriminator network by producing novel candidates that the discriminator thinks are not synthesized (are part of the true data distribution)).[1][6]
A known dataset serves as the initial training data for the discriminator. Training it involves presenting it with samples from the training dataset, until it achieves acceptable accuracy. The generator trains based on whether it succeeds in fooling the discriminator. Typically the generator is seeded with randomized input that is sampled from a predefined latent space (e.g. a multivariate normal distribution). Thereafter, candidates synthesized by the generator are evaluated by the discriminator. Independent backpropagation procedures are applied to both networks so that the generator produces better samples, while the discriminator becomes more skilled at flagging synthetic samples.[7] When used for image generation, the generator is typically a deconvolutional neural network, and the discriminator is a convolutional neural network.
GANs often suffer from a "mode collapse" where they fail to generalize properly, missing entire modes from the input data. For example, a GAN trained on the MNIST dataset containing many samples of each digit, might nevertheless timidly omit a subset of the digits from its output. Some researchers perceive the root problem to be a weak discriminative network that fails to notice the pattern of omission, while others assign blame to a bad choice of objective function. Many solutions have been proposed.[8]
I am wondering if we will start to see applications that can - taking a desired set of inputs and outputs, generate a circuit via some machine learning method. Then produce a schematic, design a PCB and produce a BOM? And a 3D rendered image of the product, optimized for cost?
This technique is being used to generate all kinds of products. I first saw it being applied to architecture. (commercially) more than a decade ago. Its also generated legislation. (in California) against the use of generative mthods for generating pornography (so called "deep fakes")
It lends itself to an iterative design process. Perhaps involving a collaborative design space.