Nonlinear Neural Nets Smooth Wi-Fi Packets
mindless4210 writes "Smart Packets, Inc has developed the Smart WiFi Algorithm, a packet sizing technology which can predict the near future of network conditions based on the recent past. The development was originally started to enable smooth real-time data delivery for applications such as streaming video, but when tested on 802.11b networks it was shown to increase data throughput by 100%. The technology can be applied at the application level, the operating system level, or at the firmware level."
But does this improved network performance allow me to predict if I will get a first post based on my past inability to do so?
..How could it be used in firmware, hardware, and software?
Is anyone else slightly alarmed by this news? "Neural-net" technology that shows some degree of intelligence (if you consider making fuzzy predictions intelligence). I think that checks or governing circuits should be put in place for this kind of technology so that it doesn't get out of hand by, oh I don't know, burning out transmitter circuits or something. Remember the documentary "The Terminator"? Yeah. I do. I don't want something like that to happen.
When I see the headline: "Nonlinear Neural Nets Smooth Wi-Fi Packets" and I only understand the words nets, smooth and packets...and none of them in relation to each other... - I have to be a little concerned that my geekiness is dwindling...
The anti-salmon
It can increase throughput but caan it deal with noisy conditions. IMHO noise filtering is more important
This technology can increase throughput 200-800% in networks of 3 Asian people and 1 doctor.
Ok, so this means 50% faster pron?
come comment on the madness at http://slashdot.org/~phreak03/journal/
This sounds like a scam. The CEO is a furniture salesman, the CTO was a consultant to DEC with an EE from the University of South Maine.
Words I undestood in the headline:
1.Smooth
Fuck...
Not necessarily. This improves throughput, but as a general rule wireless always adds 20ms to your ping. so 50% of that would still be a 10ms penalty.
I'm not a network engineer, but latency is more important than bandwidth for ping times and such.
For an example pay a half-life game, open the console and type net_graph 3. That'll show you your fps, ping, and in/out bandwith used.
I'm curious as to why they are using Neural Networks for this application? In the last 10 years or so, most machine learning applications have moved away from Neural Networks to more mathematically based models such as Support Vector Machines, a generative model (e.g. Naive Bayes), or some kind of Ensemble Method (e.g. Boosting). I suspect they used NN because the Matlab toolkit made it easy or someone in research hasn't kept up. I'd look for a paper to come out soon that improves the accuracy by using SVM.
If you're a fan of women, add me to your friends list.
I know those words, but that sign doesn't make any sense.
Give me Classic Slashdot or give me death!
stock market. ROI all the way.
called Packet Burst
the rest of the world is STILL catching up to
Provo................
Very often the term "neural network" is used
...
just as a selling point because it sounds
like something extremely advanced and "related
to artificial intelligence".
usually the neural network is just a
very simple, possibly linear, adaptive filter
which means that really contains no more
than a few matrix multiplications
yes it has some success in approximating
things locally, but terms like "learning"
are really misused
After RTFA (the second) it actually
seems that they did try two or three
things before, but really i wouldn't
"welcome our new intelligent packet sizers overlords"
just yet.
We learn from history that we learn nothing from history - Tom Veneziano
To me, this sounds like (in the simplest form) that this is a variant on the Tit for Tat strategy that is usually applied to the Prisoner's Dilemma.
Heres a graph that I ripped out of some lecture notes. It shows how much of a problem congestion is on 802.11b networks.
.035 Mbps per host.
http://web.ics.purdue.edu/~dphillip/802.11b.gif
For a little explaination, where it says "Node 50" or "Node 100" that means that there are 50 or 100 computers on the wireless network. And the throughput numbers are for the whole network, not per host. So when 100 nodes are getting 3.5 Mbps that's
Thanks to professor Park
Increased Network Integrity over Wi-Fi would be nice. I know quite a few people who have had to resort to a CanTenna to get anysort of signal in their home.
Why isn't there something like this for normal internet? Even the "old days" of Zmodem's big packets if it was going well, and small packets if it wasn't, is better than the fixed MTU/MRU we're stuck with now.
It's a new way of determining the optimum packet size on the fly so that collisions, errors & retransmissions are minimized, greatly boosting overall throughput.
QED
This means faster pr0n, right?
Faster pr0n = good.
Not gonna happen. The poster was just using random random terms that have nothing to do with this article, trying to sound smart, and is probably laughing as the post gets moderated up.
Everything the poster mentione, such as Naive Bayes and Support Vector Machines are used for static tasks, like classification, not for realtime feedback situations. They learn once and predict forever. They don't learn iteratively and keep changing. Follow the Google links I just gave and peruse the first few sites that come up if you're not sure. They are used for things like text classification, handwriting recognition, voice recognition, etc., i.e., "train once use often."
wheres the source so I can start bugging the linksys engineers to patch the linux kernel in the wrt54g. maybe with this, i will actually get the throughput that was promised on the box....
but as a general rule wireless always adds 20ms to your ping
Where does that 20ms number come from. My personal WLAN has about 0.9ms to the router, 1.7ms to the access point, and 2.8ms to another computer which is only connected via WLAN. So make it 2 instead of 20, and I can agree with you.
I get a 15ms ping to the router on the other side of the ADSL line I use. Now if that could be cut in half...
There are online methods using both the techniques you mention. The theory is usually a little more involved, so you're not likely to get a good tutorial from page 1 of google results.
Try MIT's open courseware (Machine Learning course) for some better explanations of this stuff, if you can handle the maths, ughhh.
This sounds like a great improvement to 802.11x technology...now let's open-source it so we can all benefit!
Gee, let's see how many buzzwords we can cram into a technology:
.NET, Java 2 USS Enterprise Edition, and GNU/Emacs - soon to include POP, IMAP, P2P and B2B functionality for enhanced productivity.
"Introducing iFluff/XP: An XML-based Object-oriented neural networking system that will synergize the modular components of your SO/HO WAN protocols, while minimizing TCO and giving five 9's reliability by branch-predicting streaming traffic through your SAN, NAS, or ASS.
iFluff/XP allows you to commoditize and monetize the super-size networkcide as rogue packets from black hats and white hats and clue bats compete for cyber-mindshare of your Red Hat hosts.
Secure your Homeland LAN and manage your digital rights with dignitude and affordability with the help of iFluff/XP's bytecode-based embedded operating system protocols interfacing through broadband Wi-Fi connectivity and virtual presense frameworks.
A user-friendly GUI is provided through an XSLT module interfacing to leading industry applications such as Mozilla,
When you're thinking of buzzword-compliiant, ISO9001 conformant, remotely-managed turnkey security solutions, remember iFluff.... TO THE XXXTREME!"
Oh god, my brain hurts now.
Does this need to be on both ends of the connection or on just one end?
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Patents on the technology can be filed at the US Patent Office, the WTO, or at skynet
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
I couldn't agree more. Last summer I was working with a satellite link from a third world country. Now the pipe on those guys is pretty big, we were working with 3MBps. 24Mbps. However, latency on the tcp packets from the south pacific to space and back to sunny CA is such a large problem it slowed an asynchronous transfer to about 20KBps. I had to write a special segmented upload package to be able to send video feeds sychronously and maximize the bandwidth utilization.
In other words, bandwidth will do you zero good with a traditional tcp/ip stack if your latency is too high.
perl -e '$_="\007/4`\cp%2,".chr(127);s/./"\"\\c$&\""/gees
Buy Steampunk Clothing Online!
Saying "Non-linear neural network" is like saying "Non-purple hamster". I mean, how often do you see a linear NN? Like, never.
I'm sorry, but that's not quite true.
A simplification, perhaps, but he gets to the point as it matters in this applications - Most of the "suggestions" as better alternatives to an FRNN do classification, not numerical output (and thus the implication, that someone just wanted to toss out cool-sounding names as a form of karma-whoring).
Sure, you could hack them up to have the classes represent the integers, but why not just start with a technique that already handles purely numeric data well? Anyone who embeds the integers into a class space without a damn good reason really needs to learn the old maxim about everything looking like a nail when you have a hammer.
I worked in the signal processing / neural net area a while ago, and it wasn't ready for prime time, then.
Does anyone know for sure if there are commercially viable AI's making money on stock market technical analysis (TA) yet?
This issue is a bit more complicated than you think.
I vaguely remember a friend working for a startup doing this down in houston in 2000. They were basically shorting stocks on the nasdaq, the idea being the nazdaq was volatile, so any time it took a slight dip it would probably continue to dip.
he's at another job now in a different state, so the real answer is no, there are no commercially viable Holy Grails of Day Trading.
does not suffer from intense negative feedback as does the stock market.
I think part of the ease of predictability may have a little to do with the kind of protocols used to collision detection/TDMA in congested 802.11 nets. If they are suffciently simple a single node could outmanuver the others.
Some questions...
What is the behavior of this algorithm as the number of enabled clients increases and the bandwidth demand of the clients exceeds the channel capacity? Does it degrade gracefully? Does it unfairly compete with non-enabled clients?
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
we're a bunch of geeks...
what's the difference between a circus geek and a computer geek ?
One runs around biting the heads off chickens, screaming and dripping blood. The other one works at the circus...
you think it's easy, but you're wrong...
I'm pretty sure that's not the case. Besides, if the technology you're pushing boils down to 'variable-sizing', seems like someone's thought of that before.
As far as neural networks are concerned, a sufficiently complex neural network can adapt to learn reasonably complicated functions. Backpropagation networks and radial basis function networks can make good filters and make sense of noisy data. A network that doesn't adapt its structure boils down to a few matrix operations, so it's easy to script in Matlab.
With all that in mind, shouldn't they have looked at Kalman filters?
The whole point of SVMs is that they can be used to model a linear decision boundary. They were developed to find a maximum-margin hyperplane separating positive and negative training instances, and the kernel methods to allow them to work on non-linear boundaries were a later addition.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
There are probably 3 main types of traffic
- general slow stuff like telnet
- general high utility stuff like ftp or http file transfer
- bursted traffic like web surfing or email checking
It seems highly unlikely that you'd need a neural net to optimize the packet size for these different types.
I also don't really understand why that makes it go so much faster. I'm sure you can conduct 'corner-case' tests where it makes a difference - but on the whole i can get file transfers to run at pretty near the linespeed of my wireless net.
Boy, you could earn MILLIONS in sales commissions in ANY large software corporation. Heavily buzzword-laden verbal garbage like this is the only language PHBs understand.
..among other things (skip to the experimental results section): here.
28 days, 6 hours, 42 minutes and 12 seconds... that is when the world will end.
> Now use this algorithm to predict the near future price of any given stock. I predict it won't work, and would make you poor in a hurry. Sorry folks, the future can't be predicted with 100% accuracy (or at least not consistently accurate enough to make money by day trading.)
Suppose you did have some kind of high-accuracy prediction algorithm, and everybody started using it. Then what happens?
Sheesh, evil *and* a jerk. -- Jade
Specifically, you want to allow a lot more packets to be outstanding then a normal TCP connection will allow. This is a bad idea on a low latency connection. It has something to do with windows, and buffering. Also, if you use advanced IP tools to ensure that ACK's get sent before anything else, you'll be much happier.
This thread on the LKML seems to have useful information on it: LKML Thread
Kirby
After reading this it seems like it's a pretty good idea. Providing an add-on which can interoperate with existing software and hardware is always nice. However they claim that the next step will be to apply this to other areas such as Bluetooth and even mobile phones.
While changing the size of the packets is a good way to improve performance on systems with high level of abstractions (like WiFi) I doubt it can be successfully applied to systems such as mobile phones. In fact I would be surprised if this could even remotely compete with techniques such as turbo codes (or FEC) which are routinely used for such systems.
The described system is quite naive and uses a very simplistic way of controlling the system. Error codes instead model the channel and then add redundant information so that even if a packet is corrupted it can be corrected by the receiver. It has been shown that such codes can come close to the Shannon limit (maximum limit of information transfer) for a given channel.
Naturally construction such codes is quite a lot harder and it requires that both sides use it. This method is good since it's compatible with existing systems and even if not all participants use it it gives some benefits.
It's free verse, you insensitive clod!
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
I'm curious as to why they are using Neural Networks for this application? In the last 10 years or so, most machine learning applications have moved away from Neural Networks to more mathematically based models such as Support Vector Machines, a generative model (e.g. Naive Bayes), or some kind of Ensemble Method (e.g. Boosting).
I challenge you to give a mathematical justification of why you think that support vector machines would be better in this application than neural networks. While SVM papers fill their pages with even more mathematical drivel than neural network papers, ultimately, I have never seen such a justification.
Both methods are, in effect, closely related heuristic methods with little connection to the underlying problem being solved, and you pick one or the other based on which one works best with the amount of hassle you are willing to put up with for training and validation.
I'd look for a paper to come out soon that improves the accuracy by using SVM.
Sure, there will be such papers. If enough monkeys apply enough methods to enough problems, they'll always come up with something that proves that their pet method is better than anybody else's.
I suspect they used NN because the Matlab toolkit made it easy or someone in research hasn't kept up.
While I won't comment any more on the SVM/NN issue, where it is hard to call a winner on theoretical grounds and all we have to rely on is the fervor with which different people have applied them, your recommendation of Naive Bayesian methods really reveals how shallow your view of the world is. Not only are Naive Bayesian statistical models old (probably more than a century old), they just don't work well on many real-world problems, and the reasons why they don't are easy to understand theoretically. People used to use them as a straw man against which to compare other methods. The only reason Naive Bayesian methods have received positive coverage at all recently is because they happen to work well on the spam problem. And, as I was saying, they are actually equivalent to single layer neural network models, so portraying them as a "more modern" alternative to neural networks makes no sense.
People like you should "keep up" on the basics of statistics and pattern recognition, do some thinking of their own, and stop judging things by labels that happen to be currently fashionable. Unfortunately, as shallow as your view is, it is also very common.
Kernel machines are actually quite good at handling nonlinear regression problems.
The real question is does maximizing the throughput give you Quality of Service? Does maximizing the throughput make short TCP transactions quicker, no because the cost is in the latency of the initial handshake. Does maximizing the throughput fix VoIP, no because the jitter and distribution of losses are more important.
So maximizing your throughput is useful if you want to ... err get more throughput; which would be even better with bigger packets. Doesn't sound like good QoS to me.
I have never understood why people insist on optimizing packet scheduling in one dimension; its a two dimensional problem. There is a relationship between throughput, loss and delay; fix on and the other two have a relationship you can't manage. i.e. fix the throughput and you don't know what the loss and delay will be. Quality and Quantity are Different!
(Disclaimer: yes I do work for pnsol)
Nonlinear - This refers to the shape of the transfer function. A linear neural net can, at best, perform linear regression. You don't need a neural net to do that well (in fact, you can do it a LOT faster with just a single matrix inversion). So calling it "nonlinear" practically counts as redundant in any modern context.
From my studies I remember that if you ever built a linear neural network you could replace all that with a single neuron. Then this neuron would calculate the inner product between input vector and weight vector, add the bias and give as output the linear transformation of that vector (y=w.x+b). Add more neurons if you want more output vectors, but basically the calculation is just what pla wrote.
Conclusion: The writer of the original article had no idea what non-linearity and neural networks have to do with each other, but non-linearity sounded cool so he put it there.
?SYNTAX ERROR
It optimizes throughput, not latency. Bulk TCP (which I assume is their metric) hides latency, so you can get high throughput even if your latency sucks. So if you want low latency, this is probably not for you...
I figure the real reasons they use NNs are much simpler. Firstly, its really easy to implement NNs that predict numeric values instead of classes and even more importantly they work. Research usually involves trying everything under the sun and reporting/patenting/exploiting whatever worked best.
I figure the true answer is even simpler: Nonlinear Neural Networks were the first thing they tried that worked, and worked well, after they'd tried a bunch of other stuff which didn't.
Maybe some of the other techniques mentioned in this thread will do a significantly better job in less crunch and space. If all three are met (or the first two or maybe even just the first, if the improvement is sufficient) they might replace the neural net solution. But the NNNs' factor-of-two speed increase is a big deal right now.
Regardless of what they settle on, it will be interesting to see whether packet-size tuning also gives significnat throughput improvements if the underlying link uses really robust forward error correction, such as turbo or low-density parity codes.
It will also be interesting to see whether the improvement is actually pointing up an opportunity for improvement over the bandwidth-selection mechanisms of the Wi-Fi standard.
Perhaps moving the NNNs (or whatever) to the bandwidth selection layer of a link with more robust error correction could vitrually eliminate the need for retransmissions - by taking advantage of the extra information about link quality from the corrected errors and keeping the link's payload bandwidth tuned so the forward error correction virtually always succeeds.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
It becomes a *low-accuracy* prediction algorithm with all sorts of jumps about (noise). Two words: "chaotic attractors".
In one of his books, Richard Feynmann has an interesting story about something similar to this. Apparently there was a popular bar near Los Alamos. It was so popular that sometimes people would be turned away. People started using *how crowded* it was *last week* to figure out how crowded it would be *next week*. What Feynmann found was that the population of the bar fluctuated around a certain value, but that simply knowing *last week's* value could not predict *next weeks's* value, as all of the actors involved were autonomous.
So with your stock market prediction algorithm. Success will cause more people to use it, thus making it less predictable. When it starts failing, less people will use it, thus making it work better for people who then use it. Some people will adopt a contrarian strategy -- picking trends *opposite* to what it picks, and they will be more successful when it is not (and, of course, vice versa).
This is also related to the "predator/prey" problem in biology, where you have two (or more) variables coupled to each other. They rise and fall in sync, but out of phase.
DNA is a Turing machine. You, however, being dynamic and emergent, are not.
In one of his books, Richard Feynmann has an interesting story about something similar to this. Apparently there was a popular bar near Los Alamos. It was so popular that sometimes people would be turned away. People started using *how crowded* it was *last week* to figure out how crowded it would be *next week*. What Feynmann found was that the population of the bar fluctuated around a certain value, but that simply knowing *last week's* value could not predict *next weeks's* value, as all of the actors involved were autonomous. ...---yogi Berria
There is a bar in Palo Alto that has a sign , that reads "Nobody goes there anymore..It's to crowded"
Diplomacy is the art of saying "Nice doggie" until you can find a rock. Will Rogers