3 ms·
Oh interesting application. I have taken a class in microelectronics physics (doping, electron holes, bandgaps, mosfets, bjts) and it was definitely just focusi
by stefanpie 5y ago
Oh interesting application. I have taken a class in microelectronics physics (doping, electron holes, bandgaps, mosfets, bjts) and it was definitely just focusing on simpler approximations and first and second order effects only.
But you are correct in that after my second or third electronics lab I realized that even standard component values vary to much that this approach is a little overkill and non-practical in a lot of cases. However there is a way to bake in discrete component values into the continuous optimization problems by using a continuous/"soft"/differentiable approximation of the min function to make "pockets" of optimal regions close to component values part of a set (for example e series values). I plan to do more writeups exploring this idea as well as looking at more complex applications such as higher order filters as you mentioned (my op-amp filter labs are what motivate me to look into this as I wasted so many hours in open lab trying to get my component values right).
- sidpatil 5y ago> However there is a way to bake in discrete component values into the continuous optimization problems by using a continuous/"soft"/differentiable approximation of the min function to make "pockets" of optimal regions close to component values part of a set (for example e series values). Is this the same concept as uncertainty sets in a robust optimization problem?
- stefanpie 5y agoAfter some quick searching (https://www.princeton.edu/~aaa/Public/Teaching/ORF523/S16/ORF523_S16_Lec16_gh.pdf https://www.princeton.edu/~aaa/Public/Teaching/ORF523/S16/OR...), I don't think so. It looks like for robust optimization problem you don't know for certain what the objective function is or have uncertain data measurements for the objective function which I don't think is the case here. I could be completely wrong though. From my understating, if you want to only able to only pick form a discrete set of components for certain variables, you are essentially transforming the problem into a Mixed-Integer Non-Linear Optimization problem (MINLP). I tried to find and easy way to do this with some python optimization libraries but they always needed other packages which were hard to install on Windows. So my solution was to "relax" the discrete constraints by using a continuous approximation of the minimum function when looking at the error from the nearness comment value that is possible. This also lets you assign weighting to have a tradeoff between having realistic comment values vs. having lower error for your main objective.
- neltnerb 5y agoYeah, at the least you can just sample from a gaussian distribution around the nominal value; the shape is probably wrong but it's got to be better than assuming no error. Or you could just do error analysis on the formula to find out which terms contribute the most to the final error. I like that your suggestion is in-line with how we now can use an autoencoder to convert a molecular graph into a continuous latent space which can be used to train a network to predict some property. Now we have a latent space where things that have similar property predictions are near each other in a space we can explore and then decode into new candidate materials/molecules. Drug discovery, solar panels, I'm looking forward to the field taking off industrially for sure. Applying machine learning and advanced computational techniques to ad-tech is very depressing with problems like these out there.
- kragen 5y agoYou are of course right that Monte Carlo analysis is a good way to test your circuit designs' sensitivity to error, but before that, you can just compute the Jacobian of your loss function (or loss vector) with respect to the vector of component values. Then you can take the dot product of that Jacobian with a vector of component value variances to approximate the variance of the loss function; it won't be as accurate as Monte Carlo analysis but it's a lot faster. Maybe that's what you meant by "just do error analysis on the formula"?