AARON

72 views
Skip to first unread message

bi11ie

unread,
Jan 5, 2016, 1:39:18 PM1/5/16
to Isomer Programming
Happy new year, first of all :) Now, to the point. How is the AARON project moving along software wise? I assume you're still working on it, right? Is there any chance there will be a beta (or even alpha) version available for download sometime this year? I would really like that.
I've been interested in AARON ever since 2011 when first came across the iOS version. It goes without saying that if you ever want a beta tester or someone to give you feedback in general, I'm available.

Matthew Rodgers

unread,
Jan 5, 2016, 3:22:08 PM1/5/16
to bi11ie, Isomer Programming
bi11ie,

   Yes, still working on AARON, will never stop working.  Hardware wise, we had a hiccup where our raspberry pi got wiped from a lightning storm, so we had to redo all the software to control the inmoov robot from scratch again (only took a day), but then we saved an image backup of the pi so we don't lose everything again.  We also did a schematic for the connections from the raspberry pi to the servo motors.  And we got one of those "3D-Doodler" 3d printing pens (kickstarter project) to be able to fix parts that don't print as well.
   Software wise, lets see... (checking journal...) had a bug on 20150923 with copyweights function for the neural network that got fixed.  For some reason I didn't note anything in the journal, but I recall the last thing fixed (I think a few weeks ago) was the "self-motivation" issue - the neural network needs constant firing (in the human brain, normally the "putamen"), and we DID have neurons that were supposed to be firing for time input, but the receptors were not accepting it because of a bug.  Up until this time, AARON would only respond when you said something to it.  After we fixed it, AARON can now actually experience the perception of time, and as a result, it might randomly decide to say something of its own volition.  That said, it took a while of talking to it before it started this behavior (like 30 minutes of training from a blank network).  So for a while we didn't think we had fixed it correctly, but then went to get a diet coke and came back and it had said hello and apparently the fix had worked.  It's _very_ difficult to debug a neural network, and often you have to just dump the entire network to a file and examine every single axon and weight.  We now have it running threaded and fast enough to support 300,000 neurons which is enough for our purposes for language learning and vision and motor control (although I'm sure conventional neuroscientists would freak out if they saw how low that number is).  We got it down to 10ms per training item (1 back propagation).
   Then, the frustrating thing is, every time we train one and then close the program, it dies.  Why?  Because we haven't implemented the function to restart from a saved network yet... :)  So that's the next thing on our list.  And _then_ we do sleep training, where you let it sit all night and you come back in the morning and it's exponentially smarter.  Normally humans and rats and such replay what happened to them approximately 3 times during sleep (REM cycles).  There's a paper out there about this where they used rats (http://www.cell.com/neuron/abstract/S0896-6273(01)00186-6?_returnURL=http%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS0896627301001866%3Fshowall%3Dtrue&cc=y=).  During the day, each item experienced by the AI or by humans is only trained once.  This _works_ temporarily and increases the connections slightly, but until it's slept, it's kind of like talking to a child who hasn't learned to spell correctly yet.  For example, talking to AARON right now when you start, you say "hello" and it says "hllleo" or something, then repeat that 20 times and it'll finally say "hello" spelled correctly, but you'd have to expose it to that stimulus multiple times manually for it to learn.  Instead, the behavior we want is, you say "hello" once during the day, then let it sleep that night, and the next morning it has learned the correct spelling.
   Yeah the iOS version was an old piece of junk... not a neural network at all.  It was just a SQL Lite database with some similarity logic, not even perceptron logic.  The older AIB for the PC was probably better than that, but that was all we could do with the original iPhone.  Then Apple was taking 80% or something of whatever we sold _and_ charging us a yearly fee to just keep it on their store.  So we stopped paying the fee and they took it down.
   I can see releasing an alpha this year with what we have so far, once it's in a usable state (saving and sleep training at a minimum).  The plugins wouldn't work yet for motors and such, and the vision probably won't work yet, and you might end up training a neural network that'd be incompatible with the next version, but I can see how it'd be fun to at least talk to a real AI and get feedback from other people testing it.  But the last few times we released a beta without any documentation and a messy interface, all we got was people sending emails asking where the documentation was and how to use it.  So we'd probably need to at least write some sort of very basic user guide too.

On Tue, Jan 5, 2016 at 1:01 PM, bi11ie <bi1...@hotmail.com> wrote:
Happy new year, first of all :) Now, to the point. How is the AARON project moving along software wise? I assume you're still working on it, right? Is there any chance there will be a beta (or even alpha) version available for download sometime this year? I would really like that.
I've been interested in AARON ever since 2011 when first came across the iOS version. It goes without saying that if you ever want a beta tester or someone to give you feedback in general, I'm available.

--
You received this message because you are subscribed to the Google Groups "Isomer Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isomer-programm...@googlegroups.com.
To post to this group, send email to isomer-pr...@googlegroups.com.
Visit this group at https://groups.google.com/group/isomer-programming.
For more options, visit https://groups.google.com/d/optout.

bi11ie

unread,
Jan 5, 2016, 4:29:40 PM1/5/16
to Isomer Programming, bi1...@hotmail.com
I was not expecting such a detailed answer so fast. Thank you :) It's nice to know about the current state of the project. From the very little that I know about coding and neural networks, I can imagine how hard programming and debugging one would be so I can understand why all this is taking so long. What you wrote about sleep training is very interesting. For some reason, I never realized that that is something that could be used to help machines learn but it makes sense. It sounds like you'll be really for an alpha release as soon as you implement a saving feature and iron out most of the bugs. The next version being incompatible with the first release and having all that training go to waste would certainly be frustrating from a user perspective but I think it would still be totally worth the experience - at least for me. Personally, I'm not as interested in the hardware part of the project because I don't have access to a 3D printer so I don't mind that that's gonna take longer.
I know that the iOS version was pretty 'dumb' but, at the time, the only chatbots I had experience with (and probably the only ones available) were ELIZA/ALICE-based ones, so just simple programs that identified keywords and presented the user with pre-programmed responses. Making a chatbot like that converse believably required a tremendously big input and output database and even to my 12 year old mind, that seemed absurd. It could certainly not be the future of "AI". Then I stumbled upon AARON (first for iOS, then Windows) and I was immediately taken in by the idea of a self-learning bot. That's the way human brains function and conversation is something real humans are great at but robots sucked at. So a robot that mimicked the thought process of a human would be perfect for carrying out real conversations with users. I was very young back then and I had no idea what an Artificial Neural Network is but as I got older I realized that a lot of seemingly simple tasks (like YouTube recommendations for example) utilized ANN and that's why they were so "smart". AARON remains the only ANN chatbot that I know of that will eventually be available to the public. Google, Microsoft, Apple and certainly other smaller companies as well are also working on similar projects but those will never be customizable or downloadable.
That actually leads me to a question: will AARON be offered as a complete download? I mean, will everything needed for the AI to function be stored on the user's device or will the 'brain' be stored on a server? I'm guessing it's gonna be the first since there won't be a database with phrases and rules to take up space.
Thanks for your time :)

Matthew Rodgers

unread,
Jan 5, 2016, 4:52:44 PM1/5/16
to bi11ie, Isomer Programming
AARON will run completely on your own machine.  No central server.  That would be frustrating and annoying to have some company control it.  When we finally have the saving feature working, you just end up with neural network files that you can copy wherever you like.  We tried to make it possible to import other networks to combine them by making the unique IDs of all neurons be different per machine/user/etc, but in reality I don't think it's going to be functional/reasonable to try to combine them (and since the hidden layers wouldn't be connected at first, it'd likely just start out as a split-personality syndrome thing).  Instead, to mass out training (other than talking to it yourself), the plan is still "tv training" (sit in front of tv) or reading random wikipedia pages or other mass document files you have.  RAM usage is rather large at the moment because the entire network must exist in memory, but it runs with the metrics I stated earlier (300,000 neurons, 10ms per epoch) on a machine with 4GB RAM and a quad core 1.7Ghz processor.  The speed of the computer _is_ actually a _very_ limiting factor that had to be addressed at the beginning of the year.  We had to make concessions with the backpropagation algorithm as a result (which although less efficient/perfect actually turns out to be more human).  Once computers get faster, we tried to have settings to be able to increase for more efficiency (use more neurons, change the probability of a neuron misfiring, change pecentage of backpropagation versus local correction, etc).  And it just runs in Java, the point being to be able to work on any operating system, although things like cameras and other USB hardware control and some speech recognition libraries require native DLLs for each OS.

--
Reply all
Reply to author
Forward
0 new messages