Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Binary Neurons For Dummies

By tonyenkiducx in Science
Sat Jul 31, 2004 at 10:04:20 PM EST
Tags: Software (all tags)
Software

Binary neurons are one of the most basic forms of computational intelligence, so much so that they are quite often described as being logic systems, and not intelligent at all. Either way, I will now teach you how to building and use a neuron in a simple environment.


What is a binary neuron?

A binary neuron is one of the very first mathematical functions to have the term AI applied to it, and although any serious AI enthusiast would consider it to be a mere child's toy, it does have several uses. The neuron is a binary version of a human neuron, containing inputs, outputs and a processing centre. It is also similar in that it can be altered to handle new situations, and is fault tolerant(Although to a very small degree).

The practical uses for a single neuron are admittedly small, but for simple computer AI they can be quite useful, especially for movement routines.

Before I start I would like to suggest drawing out on paper all the examples and the maths, so that you can re-perform the steps I go through. It will be a great aid in understanding the article.

Building your first basic neuron

Neurons are created with some basic maths and a matrix of inputs and outputs, and work best when handling simple Yes or No situations. So for this example I use a car with two sensors and two motors, both of which have fixed states of +1 or -1, anything more complicated than this may be stretching it a bit, as the inputs for the neuron have a size restriction. We first need to decide on some inputs, and for this I have chosen a simple car type scenario of two sensors on the front left and right of the car, and for the outputs two motors, back left and back right. I will call them Sensor1, Sensor2, Motor1 and Motor2. The sensors are either +1(Blocked) or -1(Clear), and the motor can report +1(Moving) or -1(Still). Our first set of inputs is as follows:

Sensor1 = +1
Sensor2 = +1
Motor1 = -1
Motor2 = -1

Now what has happened is we are against a wall, and the sensors are telling the neuron that they are on. Both motors are still switched off, as the neuron has only just started. We now have to build a table that will not only give the results we need, but also store all our data.

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +1 +1 -1 -1
Sensor2 +1 +1 -1 -1
Motor1 -1 -1 +1 +1
Motor2 -1 -1 +1 +1

Believe it or not, this is your binary neuron. The table is formed of the correct response to a "both sensors on" situation, because when making a very simple neuron you will have to give an example of a correct answer for every new situation. So if the left front sensor is pressed the right motor has to be off and the left be on(thus the robot turns right), and vice-versa. If none of the sensors are pressed both motors should be on.

To read the table simply pick a row or column that begins with your inputs and read the numbers in it, using the headings on the opposite row or column for data labels. You will notice that any column or row that starts with Sensor1 or Sensor2 has in it the correct response to this situation. For example Sensor1 tells us that both sensors are on, and that both motors should be switched off(Because having either motor on will not make our robot reverse, this is a problem we cannot solve).

Warning!
You may notice that we already have the answers in this table, so it will always produce the correct result. However normally you would not have this table as the neuron has no previous knowledge of how to operate. If you want to learn how to make the neuron truly "AI", keep reading to the advanced section.

The reason for including the opposite data(i.e. both motors off therefore both sensors are on) is so that reverse logic can be performed on the table, allowing us to feed in the state of the motors and guess what the sensors are. This is useless in this example as we always know the sensors values, but it can often be useful to know what inputs to expect, as we can fill in for missing and bad data. If you want you can use a table with only the sensors in it, but it does limit you with more advanced functionality.

Now we need to multiply the table by the inputs, to do this we turn the inputs into a vector:

+1
+1
?
?

You may notice that the motors are now question marks, this is because we want to work out the outputs, and we do not yet know what they should be. Next, we produce the table with our input/output vector included this time:

Sensor1 Sensor2 Motor1 Motor2 I/O
Sensor1 +1 +1 -1 -1 +1
Sensor2 +1 +1 -1 -1 +1
Motor1 -1 -1 +1 +1 ?
Motor2 -1 -1 +1 +1 ?

To work out the answers you multiply every element of each horizontal line by the inputs, like this:

Line1:
(+1*+1) + (+1*+1) + (-1*?) + (-1*?) =

Now obviously we cannot work out question marks, so we take those out:

Line1:
(+1*+1) + (+1*+1) + (-1*?) + (-1*?) = (+1*+1) + (+1*+1) =

Which equals...

Line1:
(+1*+1) + (+1*+1) + (-1*?) + (-1*?) = (+1*+1) + (+1*+1) = +2

Now work it out for all the lines:

Line2:
(+1*+1) + (+1*+1) + (-1*?) + (-1*?) = (+1*+1) + (+1*+1) = +2
Line3:
(-1*+1) + (-1*+1) + (+1*?) + (+1*?) = (+1*+1) + (+1*+1) = -2
Line4:
(-1*+1) + (-1*+1) + (+1*?) + (+1*?) = (+1*+1) + (+1*+1) = -2

We now have an output vector. You can check the results a little by matching the sensor inputs it produces to the original sensor inputs, they MUST match for this to be a valid answer. If the sensor inputs do not match, then we know that the neuron has never encountered this situation before now, and we must teach it how to react(Or let it teach itself). However, for this example the neuron will get the correct answer.

The final vector looks like this:

+2
+2
-2
-2

This is of course not right, as this is a binary neuron vector and only has either a positive(+1) or a negative(-1) result. Therefore, we need to normalize the result. Which gives us this:

+1
+1
-1
-1

You will see that the neuron has given us the correct inputs back, and has suggested that we turn both motors off. This is correct, and it will produce a correct answer 100% of the time. Now what if the inputs were different? Do we make another neuron to cope with that? Nope, we use a multiple data set neuron.

Multiple data set neurons

This section involves more matrix maths, but thankfully it is a lot simpler. We will take a different set of inputs and put them into a new matrix(Called the temporary movement matrix), but were going to keep the old matrix we were using. We now have two matrices, the current matrix and a new temporary movement matrix with the new data in it, here are both.

This is the neurons current dataset, stored in the neuron from the previous exercise.

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +1 +1 -1 -1
Sensor2 +1 +1 -1 -1
Motor1 -1 -1 +1 +1
Motor2 -1 -1 +1 +1

This is the vector for the new set of inputs.

+1
-1
?
?

Below is the correct answer for this particular set of inputs. Working out the answer you need before you tackle a problem like this can be of great use when testing, and can be used to correct the neuron later, should it need it.

+1
-1
+1
-1

This set of figures should turn us away from the obstacle blocking our sensor.

Now we build the table for the new vector using section one of this tutorial.

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +1 -1 +1 -1
Sensor2 -1 +1 -1 +1
Motor1 +1 -1 +1 -1
Motor2 -1 +1 -1 +1

Remember that we are telling it the answer to the question by filling in the temporary movement matrix, so it should not get the answer wrong. In more advanced versions of the neuron, you will give it the ability to train itself so giving it the answer's is just a shortcut. Now we work out the maths as before.

Line1:
(+1*+1) + (-1*-1) + (+1*?) + (-1*?) = (+1*+1) + (-1*-1) = +2
Line2:
(-1*+1) + (+1*-1) + (-1*?) + (+1*?) = (-1*+1) + (+1*-1) = -2
Line3:
(+1*+1) + (-1*-1) + (+1*?) + (-1*?) = (+1*+1) + (-1*-1) = +2
Line4:
(-1*+1) + (+1*-1) + (-1*?) + (+1*?) = (-1*+1) + (+1*-1) = -2

The reason we work out this temporary movement matrix separately rather than integrating it into our neuron straight away is so we can check the computer is giving us the right answer. If we are teaching the neuron we may need to tell it to dump a matrix if it is wrong, and we can save a lot of time normally spent removing it from the main matrix. But as it happens, the temporary movement matrix has the right answers so we can now add it to our main data matrix. We do this by simply adding the figures in the matrices together, as follows:

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +1 +1 -1 -1
Sensor2 +1 +1 -1 -1
Motor1 -1 -1 +1 +1
Motor2 -1 -1 +1 +1

Added to this:

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +1 -1 +1 -1
Sensor2 -1 +1 -1 +1
Motor1 +1 -1 +1 -1
Motor2 -1 +1 -1 +1

Equals...

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +2 0 0 -2
Sensor2 0 +2 -2 0
Motor1 0 -2 +2 0
Motor2 -2 0 0 +2

This is the updated matrix for this neuron. You should also notice that although this is a binary neuron in regards the inputs, the actual neuron itself could have larger values than 1/-1. This is similar to more complicated neurons that can accept data out of their normal range, but use an aggregate value to perform checks.

If you wish to test the final matrix, work out the results for both input vectors I have shown but using the updated matrix. If you want to see how it can identify a new scenario, try to work out the answer for a vector I have not used yet, such as:

-1
+1
-1
+1

This will produce a different set of inputs to what we gave it, signifying that we need to repeat the whole process again.

Self-teaching binary neurons

Staying with our original neuron, I will explain how to make a self-teaching neuron. It is not possible to write a testing system for all neurons, but I will work through this problem with you to help demonstrate the thought process involved. This is all a natural progression from the basic neuron, and I would advise trying to approach this step yourself. There is no greater teacher than experience. If however you want the quick route, read on.

There are three primary steps to designing a self-teaching procedure. The first step has to create guesses for unknown situations, the second must then test these guesses and the third must decide if the result is good enough to use as an answer. Creating guesses is sometimes enormously complicated but fortunately, our binary neuron(When used as a temporary movement matrix) is simple, we can always count on an accurate, if not slightly incomplete, input and have fixed values we can work with(+1/-1). Using a simple random number generator to fill the temporary movement matrix is the best method for this particular situation, although usually a certain amount of test data is used to provide a template for guessing(Which is an entire subject on its own).

For this example we will use this set of inputs, with a new blank matrix.

-1
+1
?
?

First, fill the matrix with a vector formed of random values. To save on space in this document I have used a matrix that is valid, in that both sensors values match on the input and the final answer. Normally you would keep creating these random values until the outputs and inputs match, or write a more complicated random algorithm that will produce valid but random values.

Sensor1 Sensor2 Motor1 Motor2
Sensor1 +1 -1 +1 -1
Sensor2 -1 +1 -1 +1
Motor1 +1 -1 +1 -1
Motor2 -1 +1 -1 +1

Now feed your vector through the matrix as before.

Line1:
(+1*-1) + (-1*+1) + (+1*?) + (-1*?) = (+1*-1) + (-1*+1) = -2
Line2:
(-1*-1) + (+1*+1) + (-1*?) + (+1*?) = (-1*-1) + (+1*+1) = +2
Line3:
(+1*-1) + (-1*+1) + (+1*?) + (-1*?) = (+1*-1) + (-1*+1) = -2
Line4:
(-1*-1) + (+1*+1) + (-1*?) + (+1*?) = (-1*-1) + (+1*+1) = +2

We know the inputs match because we have rigged the original matrix, so we now have our guess at the correct temporary movement matrix. All we need do now is test it.

Testing a neuron is different in every case and you will have to consider a different method of testing for each one. This, unfortunately, is were our test car lets us down a little, but gives a good insight into future problems you might encounter and the advantages of more complex systems. The car we are using can tell us if the sensors are on, but this is not enough data to accurately tell us if the guess has been successful, as it may take time for the car to correct itself or the car may well still stick even after the correct motor is switched on. We can make our checking more accurate though by getting the current state of the motors and checking if they actually are moving. If the motors are both moving as was suggested by the guess and have not reverted to their original state then the guess was correct. If the motors are not the same, then the move failed and a new one must be tried until the car succeeds.

We must also remember to check the inputs are the same when testing the motors as a new situation may have arisen, and in that case we will need to dump the temporary movement matrix because we can no longer accurately test the guess stored there. This is another limitation of a simple matrix.

The expected answer to this particular situation is that the motor on the opposite side is switched off to allow the car to turn pass the obstacle. But even if the answer is not as expected the neuron has still learned how to get past this particular problem. However, as mentioned above, the guess may not be correct in every situation as variations of the angle the car hits the object can make the solution incorrect. Here we need to use a set of stored data to predict the correct move by plotting the movements leading up to a decision, the resulting decisions tried, and whether or not they were successful. By analyzing these sets of data, "weights" can be assigned to certain solutions to a particular input set, which will affect which solution is tried in a given situation, but that again is an entire article in itself.

Programming usage

I won't go into this too much, as I intended this to be an introduction into how to do it yourself. But turning my example of a moving car into a little application is quite easy. Storing the matrix in an array is easy and efficient in most languages, and some languages can even do the matrix math for you. Try it out for yourself, and see if you can get your little car bumping and banging its way around a maze.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
The size limitation on a binary neuron is....
o 2X2 21%
o 3X3 0%
o 4X4 35%
o 5X5 0%
o 6X6 7%
o 7X7 35%

Votes: 14
Results | Other Polls

Related Links
o Also by tonyenkiducx


Display: Sort:
Binary Neurons For Dummies | 82 comments (47 topical, 35 editorial, 1 hidden)
I will be voting (-1*-1) + (+1*+1) = +2 (2.40 / 5) (#4)
by edo on Fri Jul 30, 2004 at 11:56:26 AM EST

Even though I didn't understand a word of it.
-- 
Sentimentality is merely the Bank Holiday of cynicism.
 - Oscar Wilde
Sorry about that... (none / 0) (#5)
by tonyenkiducx on Fri Jul 30, 2004 at 12:01:24 PM EST

..I've re-written this article about fifty times before I even posted it here, but even now I can see it's really cofusing for first time readers. I would suggest trying out the examples, and the maths. It will all make sense then ;) In fact, I will change the article to suggest that also...

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Thanks, but no thanks (none / 1) (#6)
by edo on Fri Jul 30, 2004 at 12:36:31 PM EST

> I would suggest trying out the examples, and
> the maths.

I couldn't possibly. Nor would I want to. I'm one of those sissy liberal arts types who are scared by abstraction and numbers. My posting was merely a piss-poor attempt at a joke (it's 6.35 PM here and I am still at my desk).
-- 
Sentimentality is merely the Bank Holiday of cynicism.
 - Oscar Wilde
[ Parent ]

Old School Programmer Here... (3.00 / 5) (#12)
by DLWormwood on Fri Jul 30, 2004 at 02:21:16 PM EST

But what is the difference between a truth table and a binary neuron, besides the convention use of -1/+1 verses 0/1. Your table combination seems to remind me of old school AND/OR table combining with "fuzzy logic" terminology just to be trendy. What am I missing?
--
Those who complain about affect & effect on k5 should be disemvoweled
Your absolutely right.. (none / 1) (#24)
by tonyenkiducx on Fri Jul 30, 2004 at 04:48:11 PM EST

..thats exactly what they are, except for the fact that new situations can be added to the neuron to make it learn how to cope with different situations. There not very complicated, but its about as complex as you can get without making me article 100 pages long ;)

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Warning: Grammar Nazi (none / 1) (#56)
by skim123 on Sun Aug 01, 2004 at 12:48:14 AM EST

Your != You're

You've done this at least twice in your comments here. Please stop.

Money is in some respects like fire; it is a very excellent servant but a terrible master.
PT Barnum


[ Parent ]
no kidding (none / 0) (#64)
by emmons on Sun Aug 01, 2004 at 08:34:04 AM EST

It's a somewhat interesting article, tonyenkiducx, but your grammar seriously sucks balls. I don't mean to offend you, but you really should pay a bit more attention to what you're writing. Especially in an online forum where people's only way to judge you is your writing, poor grammar and spelling can make you look rather sloppy and, by extension, ignorant.

I'm not suggesting that you're a lesser person because of it; we all make mistakes. Impressions are important though, and poor grammar reflects badly on you and consequently on the integrity of your work. Do try to be more careful about it.

---
In the beginning the universe was created. This has made a lot of people angry and been widely regarded as a bad move.
-Douglas Adams

[ Parent ]

I'd argue that point... (none / 0) (#65)
by tonyenkiducx on Sun Aug 01, 2004 at 10:58:24 AM EST

..but I can't. I just spent a year living in Turkey, and as a result my English has dropped considerably(Not that it was a lot better before :P). But I would argue the point that bad grammar is a sign of ignorance. I know to a lot of the people on K5 it seems to be the most important thing about writing, but I prefer to concentrate on my writing style and the content rather than self-evident grammar mistakes. I do take your point, and I know nobody will agree with me, but how many professional writers do you know that don't pay someone else to check all there spelling and grammar?

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Ah (none / 0) (#67)
by skim123 on Sun Aug 01, 2004 at 12:11:28 PM EST

But the fact that professional authors do have someone else check over their spelling/grammar indicates how important such matters are to those who are reading the piece.

Money is in some respects like fire; it is a very excellent servant but a terrible master.
PT Barnum


[ Parent ]
exactly [nt] (none / 0) (#81)
by emmons on Wed Aug 04, 2004 at 04:54:42 AM EST



---
In the beginning the universe was created. This has made a lot of people angry and been widely regarded as a bad move.
-Douglas Adams

[ Parent ]
Well people are more important than computers (none / 0) (#76)
by Anonymous Hiro on Mon Aug 02, 2004 at 11:02:51 AM EST

If you can bother to get the syntax and grammar right on a program for a computer (I gather you are likely to write some programs), then why not bother to get it right for people? Unless you are blind or have some other significant handicap, fixing such errors should be quite easy with modern computers and UIs.

By not bothering to fix the errors you show you don't care that much about your output nor your audience. So why should people give respect to your output or you? Here, all people see is your output.

So be polite and run your stuff through the equivalent of a preprocessor and compiler with -Wall and fix it before posting it.

If you put on a music performance for the public and keep banging the wrong notes don't be surprised if some of the audience throw tomatoes and [other] vegetables at you, even if on the whole the melodies and harmonies are good. Yes, EVEN if the performance is free.

Otherwise stick to performing to close friends and relatives, or learn to make minestrone.

Using the wrong word is like playing the wrong note, even though many may know what you intended it still jars, is annoying and ruins the overall impression of the performance. And it may also cause some to misunderstand the themes etc.

Your friends may forgive the wrong notes, and applaud your underlying or latent brilliance. But don't expect the same from strangers unless you are 5 years old or younger.

[ Parent ]

Like I say.. (none / 0) (#78)
by tonyenkiducx on Mon Aug 02, 2004 at 11:14:08 AM EST

..I didn't expect anyone to agree with me. But it still got voted up, so I must be doing something right ;) Thank you for the comments btw, I do hear what your saying.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Yep. (none / 0) (#79)
by Anonymous Hiro on Mon Aug 02, 2004 at 12:02:30 PM EST

It's probably too hard for some people. Not saying not to post - but saying: do expect tomatoes :).

[ Parent ]
Slightly more to it than that... (none / 0) (#72)
by RegularFry on Sun Aug 01, 2004 at 07:54:05 PM EST

A binary neural network that uses -1/+1 as encoding can store more information than a network of the same size using a 0/1 encoding. I would provide linkage to references, but it's late and I'm lazy. Pester me if you want to know more and I'll dig them up.

There may be troubles ahead, But while there's moonlight and music...
[ Parent ]
-1, trademark infringement. (1.00 / 15) (#16)
by rmg on Fri Jul 30, 2004 at 03:29:56 PM EST

the phrase "For Dummies" is a registered trademark of wiley publishing.

for more on this, i recommend their title Patents, Copyrights & Trademarks For Dummies.

_____

if i do not respond, it is because you wrote nothing worthy of response.

dave dean

Who cares, oh yeah, and... (none / 0) (#28)
by 123456789 on Fri Jul 30, 2004 at 05:50:44 PM EST

I don't know much about such things, but since he's not using it for profit does it matter? Can I not say "for dummies" now because someone trademarked it?

As in, The parent comment is for dummies.

---
People demand freedom of speech to make up for the freedom of thought which they avoid.
- Soren Kierkegaard
[ Parent ]
gee. (1.50 / 2) (#29)
by rmg on Fri Jul 30, 2004 at 06:02:01 PM EST

I don't know much about such things

in that case, maybe it would be best not to comment.

he uses their trademark in the title in precisely the way they do (clear use of their trademark) for publication on a for profit site. if rusty publishes this, he will be liable.

_____

if i do not respond, it is because you wrote nothing worthy of response.

dave dean[ Parent ]

ror, nice troll [nt] (none / 1) (#47)
by ELP Fucking Rules on Sat Jul 31, 2004 at 01:35:36 PM EST



I may disagree with what you have to say but I'll kill you for my right to say that.
[ Parent ]
It's still a serious problem... (none / 0) (#68)
by SPYvSPY on Sun Aug 01, 2004 at 01:21:38 PM EST

Commercial use is not a requirement for trademark infringement. A claim of TM dilution merely requires the plaintiff to show that the use of the TM by the infringer would create confusion as to the source and quality of the "For Dummies" series--regardless of whether the infringer profits from the infringement.

Since those "For Dummies" people are seriously litigious bastards, I'm almost certain they'll send a cease and desist if they get a whiff of this.

And one more thing: If you want to make sure I don't read something, title it "For Dummies". I don't consider myself a dummy, and I have zero respect for people that do.
------------------------------------------------

By replying to this or any other comment in this thread, you assign an equal share of all worldwide copyright in such reply to each of the other readers of this site.
[ Parent ]

Thank you! (none / 2) (#25)
by 123456789 on Fri Jul 30, 2004 at 04:59:01 PM EST

I haven't had time yet to finish it but thank you for writing something that's actually interesting (there seems to have been a drought lately IMHO). It's people like you who are contributing something meaningful to K5 instead of just drowning us all in politics BS. Thank you!

---
People demand freedom of speech to make up for the freedom of thought which they avoid.
- Soren Kierkegaard
Bless you son! (1.00 / 11) (#37)
by Hide Teh Hamster on Fri Jul 30, 2004 at 11:13:54 PM EST

I bless upon you five havah nagliahs!

The Real And Lasting Truth


This revitalised kuro5hin thing, it reminds me very much of the new German Weimar Republic. Please don't let the dark cloud of National Socialism descend upon it again.
To: dummiesrights&licenses@wiley.com (1.00 / 27) (#38)
by rmg on Fri Jul 30, 2004 at 11:39:57 PM EST

Subject: urgent trademark violation.

i hope this message comes as a surprise to you for we have never met physically or in correspondance. i am RMG from KURO5HIN.ORG. compliment of the season to you and your company.

i write you on a matter of the utmost importance and greatest confidence. it happens that at KURO5HIN.ORG, there is about to be published an article using the suffix "for dummies," in clear violation of the internationally recognized TRADEMARK held by WILEY PUBLISHING, your parent company.

i believe WILEY PUBLISHING is a GOD fearing company and i fear very much to see its INTELLECTUAL PROPERTY co-opted after such a wanton fashion. you must contact RUSTY FOSTER (rusty@kuro5hin.org) to put this confidential matter to a quick and successful conclusion.

thank you in advance. GOD BLESS YOU.

yours faithfully,

rmg

(0), Hide. (1.50 / 4) (#39)
by finality on Sat Jul 31, 2004 at 03:43:47 AM EST

Failed to bold appropriate phrases.
This account has been anonymised. If you can give a good reason why, email rusty@kuro5hin.org, as he is obviously lacking one.
[ Parent ]
this stimulated me on so many levels. (none / 0) (#43)
by noogie on Sat Jul 31, 2004 at 11:26:51 AM EST




*** ANONYMIZED BY THE EVIL KUROFIVEHIN MILITARY JUNTA ***
[ Parent ]
I am a crowd pleaser (1.15 / 20) (#40)
by veldmon on Sat Jul 31, 2004 at 08:23:02 AM EST

I have not once negatively reacted to a provocative contact. It's not like I haven't witnessed successful reactions. At a state fair, a teenage girl while in line for the ferris wheel screamed and caused others to come to her defense by yelling, "he tried to rape me!" I certainly fantasize about being the victim. It usually involves me accusing an ugly woman of grabbing my manhood package, then a hoard of leggy hotties come to my rescue by ripping the ugly woman's clothes off (she mostly has just an ugly face, her body is fairly hard with ample breasts). But crowd-as-hero successes are exceptions.

I think I've seen the most failures outside movie theaters. I particularly remember a couple short guys having a tussle, but The Two Towers was showing that night so the crowd had none of it. Everyone just plowed around, even over, them. One of the dudes received a broken ankle. But spontaneous-crowd-empowerment is also an exception.

The majority of the time someone voices a complaint and then the atmosphere turns tense and the people at the focal point begin to back up and step on other's toes. It's totally unpleasant. Well I'm proud to say that I'm perhaps at my finest surrounded by many people. I'm so confident about my abilites that I sometimes seek out crowds for the thrill and as a self-esteem boosting excercise.

I actually hacked the firmware on my iPod so that it would become a stealthy counter. Since November of last year, I have been around large groups of people 194 times. Out of those, I was groped, fondled, or brushed up against 83 times (82 were by males). As a further illustration of my generous prowess, I'll end with an anecdote.

I was at a bowling alley with a group of friends. It was hole 4 and I needed to knock down pins 2 and 6. I was in the lead, so I was being vigorously heckled. They were a couple feet away from me thrusting their hips, I guess trying to suggest they would bang my brains out if I didn't make a mistake. As I was mid-stride, someone accidently tripped me up. After a few more wobbly steps I fell to the floor. I heard many gasps from both friends and strangers alike. But I just stood back up, ran my hand through my hair, and dove onto the oily lane, summersaulting all the way to the end. I could have lashed out, but I played it cool instead. Think about this the next time you're at an N'Sync concert and the palm of another person's hand is firmly implanted on your ass.

Excellent! (none / 2) (#41)
by tonyenkiducx on Sat Jul 31, 2004 at 09:40:28 AM EST

I dont know what that has to do with my article, but it was very good.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
I was once waiting in line (1.50 / 2) (#59)
by fleece on Sun Aug 01, 2004 at 03:22:06 AM EST

to by some jam donuts at a market, and a woman served just moments before me felt that there wasn't enough jam contained within each to warrant them being called 'jam donuts'. The vulgar display of discontent that ensued was both frightening and exhilarating. Everything you describe and more.



I feel like some drunken crazed lunatic trying to outguess a cat ~ Louis Winthorpe III
[ Parent ]
+1FP, technology (none / 1) (#44)
by ELP Fucking Rules on Sat Jul 31, 2004 at 11:55:39 AM EST



I may disagree with what you have to say but I'll kill you for my right to say that.
-1, Neurons are not binary. (1.33 / 3) (#54)
by outis on Sat Jul 31, 2004 at 06:40:19 PM EST

Neuron firing is actually a continuous process that is not yet fully understood. I appreciate the effort you put into this piece and I can see how it ties in with "neural networks" as used in some computer programs today BUT I think that your choice of language here was slightly deceptive. (You're not really talking about neurons here at all, but about some matrix approach to decision making.)

I know the definition of a neuron.. (none / 1) (#55)
by tonyenkiducx on Sat Jul 31, 2004 at 06:48:03 PM EST

..and your right when talking about that word. But I am using the word Binary to indicate that it is not a normal neuron, and is in fact a binary version of one. Im sorry you feel mis-lead, but it is plainely stated.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
background.... (none / 0) (#69)
by eschatron on Sun Aug 01, 2004 at 05:04:59 PM EST

AI folks have devised many different kinds of "neurons". They know that most or all of them behave differently from biological neurons. They still call them "neurons". He is writing about one of those, using the standard terminology. It's not his choice of language that's deceiving you, it's the fact that he had some background knowledge you didn't. Which may be his fault for not providing it. Regarding your parenthetical comment, many AI researchers have talked about neural nets explicitly in terms of vectors and matrices, and some additionally argue that that *is* what biological neurons do.

[ Parent ]
I'll actually respond. (2.25 / 4) (#57)
by Jed Smith on Sun Aug 01, 2004 at 03:18:54 AM EST

I only read the K5 digest.

The first thing I see on this week's digest is:

Either way, I will now teach you how to building and use a neuron in a simple environment.

How the fuck did this get to the front page, when something so glaringly fucked up is in its short text?
_____
K5 is dead. Steve Ballmer made the most insightful comment on a story. -- jw32767

OMG a spelling mistake!!! (none / 1) (#58)
by tonyenkiducx on Sun Aug 01, 2004 at 03:22:04 AM EST

Babylon is falling.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Wrong, dickhead. (none / 2) (#60)
by Jed Smith on Sun Aug 01, 2004 at 03:23:51 AM EST

A spelling mistake is buflding as opposed to displaying fifth-grade English skills a la "teach you to building".

Don't get lippy with me when I prove you a fool. Go back to Slashdot.
_____
K5 is dead. Steve Ballmer made the most insightful comment on a story. -- jw32767
[ Parent ]

Dont get lippy? (none / 1) (#62)
by tonyenkiducx on Sun Aug 01, 2004 at 05:12:24 AM EST

Ahh, your one of those people who think they are superior to everyone else because of some small and un-important fact. Do you own a set of golf clubs? Or you might be slightly older than most people. *ponders* What ever it is, you only prove your own inadequecies by picking on other peoples small mistakes. If you are so smart, then you would have known that when I said "spelling mistake" I actually ment grammer mistake. But small minded pedants can't see past there own high standards, so I wont expect you to understand. Yours, awaiting another message to pick on some small fact,

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Dude, YHL <nt> (none / 0) (#73)
by GenerationY on Sun Aug 01, 2004 at 08:23:06 PM EST



[ Parent ]
And will you look at this.. (none / 1) (#63)
by tonyenkiducx on Sun Aug 01, 2004 at 05:15:30 AM EST

From your first published story..

"The energy from the explosion is expected to disrupt communiation and electrical systems into Thursday"

Is that a fifth-grade mistake also? Ohh no wait, they actually know how to use a spell checker in fifth grade.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Uh oh (3.00 / 2) (#61)
by wji on Sun Aug 01, 2004 at 04:55:11 AM EST

For some reason I'm reminded of an article from a long time ago, something to do with drawing pixelated polygons on a screen... if only we had comment search I'd link to it... but it was a long-winded and entirely meaningless Alan Sokal-style hoax, "to see if people would vote up articles they didn't understand". I'm sure this article is not such a case... right?

In conclusion, the Powerpuff Girls are a reactionary, pseudo-feminist enterprise.
Yes (none / 1) (#71)
by stuaart on Sun Aug 01, 2004 at 07:32:30 PM EST

I agree. The writing style is awful, regardless of the spelling/grammatical errors (I do not know how this got to the front page), and the discussion is really just matrix algebra dressed up with fancy codewords like ``neuron'' and ``AI.'' It's all strangely reminiscent of Braitenberg vehicles, except without the elegance.

Linkwhore: [Hidden stories.] Baldrtainment: Corporate concubines and Baldrson: An Introspective


[ Parent ]
that was my article, bastard! (none / 0) (#75)
by polyglot on Mon Aug 02, 2004 at 05:41:16 AM EST


--
"There is no God and Dirac is his prophet"
     -- Wolfgang Pauli
‮־
[ Parent ]
wtf. (1.50 / 6) (#66)
by relief on Sun Aug 01, 2004 at 11:38:01 AM EST

next week's article - give ur car a new finish, using only a hairdryer!

go to college, enter a library, pick up a book on neural computation.

i guessing what i'm trying to saying, is that this article suckings the bucket of circular pig arse contracting muscle that ur daddy collecting in his secret stash box.

----------------------------
If you're afraid of eating chicken wings with my dick cheese as a condiment, you're a wuss.

Thanks for your comments, (none / 3) (#70)
by tonyenkiducx on Sun Aug 01, 2004 at 06:37:58 PM EST

Your a wonderfull human being.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
How are the temporary matrices formed? (none / 1) (#74)
by babazaroni on Mon Aug 02, 2004 at 02:09:15 AM EST

I can't quite see how the temporary matrices are formed. I see that the first column and the first row match the input vector, but how are the rest of the entries in the matrix decided?

They are formed.. (none / 0) (#77)
by tonyenkiducx on Mon Aug 02, 2004 at 11:10:25 AM EST

..in the same way as the normal matrixes are formed. I changed the name to make the distinction that you must use two seperate matrices for adding new data to an existing matrix. As mentioned the data is incomplete because you do not yet know the answer, so in this case I have filled in the values by hand so that they are correct. Normally you would have to guess at these values until the correct answer came out(This is skimmed over in the advanced bit at the bottom)

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Hopfield network has a way... (none / 0) (#80)
by babazaroni on Tue Aug 03, 2004 at 11:48:27 AM EST

This made me do some research to see if there is a way to come up with the temporary matrices that work the first time. One can come up with a temporary matrix for a Hopfield network by multiplying the input vector by it's inverse and zero out the diagonal. see this . Wonder if this works for the simple binary as well?

[ Parent ]
The hopfield.. (none / 0) (#82)
by tonyenkiducx on Wed Aug 04, 2004 at 07:29:10 AM EST

..is the next step up from the binary neuron, and is capable of far more intelligent behavior for relatively small increases in complexity. If I'd posted a further reading section, this would have been number one in the list. Might give that website a read myself, allthough I dont fancy the java stuff.

Tony.
I see a planet where love is foremost, where war is none existant. A planet of peace, and a planet of understanding. I see a planet called
[ Parent ]
Binary Neurons For Dummies | 82 comments (47 topical, 35 editorial, 1 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!