m8ta
You are not authenticated, login. 

{1559}  
Some investigations into denoising models & their intellectual lineage: Deep Unsupervised Learning using Nonequilibrium Thermodynamics 2015
Generative Modeling by Estimating Gradients of the Data Distribution July 2019
Denoising Diffusion Probabilistic Models June 2020
Improved Denoising Diffusion Probabilistic Models Feb 2021
Diffusion Models Beat GANs on Image Synthesis May 2021
In all of above, it seems that the inversediffusion function approximator is a minor player in the paper  but of course, it's vitally important to making the system work. In some sense, this 'diffusion model' is as much a means of training the neural network as it is a (rather inefficient, compared to GANs) way of sampling from the data distribution. In Nichol & Dhariwal Feb 2021, they use a Unet convolutional network (e.g. start with few channels, downsample and double the channels until there are 128256 channels, then upsample x2 and half the channels) including multiheaded attention. Ho 2020 used singleheaded attention only at the 16x16 level. Ho 2020 in turn was based on PixelCNN++
which is an improvement to (e.g. add seltattention layers) Conditional Image Generation with PixelCNN Decoders
Most recently, GLIDE: Towards Photorealistic Image Generation and Editing with TextGuided Diffusion Models
Added textconditional generation + many more parameters + much more compute to yield very impressive image results + inpainting. This last effect is enabled by the fact that it's a full generative denoising probabilistic model  you can condition on other parts of the image!  
{496}  
 
{585}  
LMSbased adaptive decorrelator, xn is the noise, xs is the signal, len is the length of the signal, delay is the delay beyond which the autocorrelation function of the signal is zero but the acf of the noise is nonzero. The filter is very simple, and should be easy to implement in a DSP. function [y,e,h] = lms_test(xn, xs, len, delay) h = zeros(len, 1); x = xn + xs; for k = 1:length(x)lendelay y(k) = x(k+delay:k+len1+delay) * h ; e(k) = x(k)  y(k); h = h + 0.0004 * e(k) * x(k+delay:k+len1+delay)'; endIt works well if the noise source is predictable & stable: (black = sinusoidal noise, red = output, green = error in output) Now, what if the amplitude of the corrupting sinusoid changes (e.g. due to varying electrode properties during movement), and the changes per cycle are larger than the amplitude of the signal? The signal will be swamped! The solution to this is to adapt the decorrelating filter slowly, by adding an extra (multiplicative, nonlinear) gain term to track the error in terms of the absolute values of the signals (another nonlinearity). So, if the input signal is on average larger than the output, the gain goes up and viceversa. See the code. function [y,e,h,g] = lms_test(xn, xs, len, delay) h = zeros(len, 1); x = xn + xs; gain = 1; e = zeros(size(x)); e2 = zeros(size(x)); for k = 1:length(x)lendelay y(k) = x(k+delay:k+len1+delay) * h; e(k) = (x(k)  y(k)); h = h + 0.0002 * e(k) * x(k+delay:k+len1+delay)'; % slow adaptation. y2(k) = y(k) * gain; e2(k) = abs(x(k))  abs(y2(k)); gain = gain + 1 * e2(k) ; gain = abs(gain); if (gain > 3) gain = 3; end g(k) = gain; end If, like me, you are interested in only the abstract features of the signal, and not an accurate reconstruction of the waveform, then the gain signal (g above) reflects the signal in question (once the predictive filter has adapted). In my experiments with a length 16 filter delayed 16 samples, extracting the gain signal and filtering out outofband information yielded about +45db improvement in SNR. This was with a signal 1/100th the size of the disturbing amplitudemodulated noise. This is about twice as good as the human ear/auditory system in my tests.
It doesn't look like much, but it is just perfect for EMG signals corrupted by timevarying 60hz noise.  
{519}  
devices:
devices that can be turned off & on to save power (e.g. actually disconnected from power through a P channel MOSFET. must be careful to tristate all outputs before disabling, otherwise we'll get current through the ESD protection diodes )
 
{760} 
ref: 0
tags: LDA myopen linear discriminant analysis classification
date: 01032012 02:36 gmt
revision:2
[1] [0] [head]


How does LDA (Linear discriminant analysis) work? It works by projecting data points onto a series of planes, one per class of output, and then deciding based which projection plane is the largest. Below, to the left is a topview of this projection with 9 different classes of 2D data each in a different color. Right is a size 3D view of the projection  note the surfaces seem to form a parabola. Here is the matlab code that computes the LDA (from myopen's ceven % TrainData and TrainClass are inputs, column major here. % (observations on columns) N = size(TrainData,1); Ptrain = size(TrainData,2); Ptest = size(TestData,2); % add a bit of interpolating noise to the data. sc = std(TrainData(:)); TrainData = TrainData + sc./1000.*randn(size(TrainData)); K = max(TrainClass); % number of classes. %% Compute the means and the pooled covariance matrix %% C = zeros(N,N); for l = 1:K; idx = find(TrainClass==l); % measure the mean per class Mi(:,l) = mean(TrainData(:,idx)')'; % sum all covariance matrices per class C = C + cov((TrainData(:,idx)Mi(:,l)*ones(1,length(idx)))'); end C = C./K; % turn sum into average covariance matrix Pphi = 1/K; Cinv = inv(C); %% Compute the LDA weights %% for i = 1:K Wg(:,i) = Cinv*Mi(:,i); % this is the slope of the plane Cg(:,i) = 1/2*Mi(:,i)'*Cinv*Mi(:,i) + log(Pphi)'; % and this, the originintersect. end %% Compute the decision functions %% Atr = TrainData'*Wg + ones(Ptrain,1)*Cg; % see  just a simple linear function! Ate = TestData'*Wg + ones(Ptest,1)*Cg; errtr = 0; AAtr = compet(Atr'); % this compet function returns a sparse matrix with a 1 % in the position of the largest element per row. % convert to indices with vec2ind, below. TrainPredict = vec2ind(AAtr); errtr = errtr + sum(sum(abs(AAtrind2vec(TrainClass))))/2; netr = errtr/Ptrain; PeTrain = 1netr;  
{856}  
http://www.gamedev.net/community/forums/topic.asp?topic_id=432583  bump, it helped me solve a problem with cgGLGetLatestProfile() failing!! (the class I was using to examine openGL extensions was writing to the openGL supplied string)  
{848}  
http://www.xbdev.net/directx3dx/specialX/Fur/index.php  for future reference. Simple algorithm that seems to work quite well. Can be done almost entirely in vertex shader...  
{594}  
{586}  
Myopen amplifiers & analog/digital filters & NLMS are working properly! Below, a recording from my deltiod as I held my arm up: (only one EMG channel active, ground was my knee)) Yellow traces are raw inputs from ADC, blue are the output from the IIR / adaptive filters; hence, you only see 8 of the 16 channels. Read from bottom to top (need a 1 in some opengl matrix somewhere...) Below, the system with no input except for free wires attached to one channel (and picking up ambient noise). For this channel, NLMS could not remove the square wave  too many harmonics  but for all other channels the algorthim properly removes 60hz interference :) Now, let me clean this EEG paste off my shoulder & leg ;)  
{526}  
I'm posting my comments about http://flock.com/ here just in case they are removed from the actual site This is all very interesting. I just downloaded it, and flock seems to work well. I'm probably not going to use it unless there is some demonstrable technical superiority (e.g. leaks less memory than firefox), as the social sites just distract me from getting work done. Anyway, I have a question: how are you going to make money? How are you paying the developers? If you are not and it is all OSS, where is the source? It seems like the VC's are just throwing money away for the (hypothetical) good of the socialnetwork crowd. Or, rather, you are indirectly funding the popularity of sites that flock makes it easy to get at. Are these sites (e.g. facebook) paying you? Wait  flock allows you to look at content and not the ads. They are not paying you. Perhaps you are moving along the lines of Opera, and intending to get people addicted to flock to a degree that they demand it on their mobile devices. Mobile devices are closed (for now .. check google), hence you can make money licensing software to phone manufacturers. I imagine that you'll have to rewrite the Mozilla core to do this (unless phones become significantly more powerful  not likely, they are battery devices. ) Mozilla is (L)GPL  you'll have to release the source. To the best of my knowledge, with nonphysical goods money can only be made from gradients in knowledge (pun.. intended), therefore you will have to keep the source closed. If this is the case, you'll be able to make money (on this, i don't know what else you have planned) for a while, and when you can no longer, I hope you open the source like netscape. Technically, though, excellent job! your website is also very pretty!  
{497}  
http://dotpublic.istumbler.net/
 
{472}  
buglabs, makers of plug n' play configurable handheld platform based on opensource technologies
 
{105}  
{52}  
http://www.evl.uic.edu/eolmst1/GLSL/ easy to compile on my debian system  all the development libraries had debian packages! also of interest :
