NOTICE: This channel is no longer actively logged.
[07:53:57] *** seh_ is now known as SeH[07:55:15] <SeH> echelog-1: channelstats[07:55:15] <echelog-1> SeH: On # there have been 8037397 messages, containing 324256066 characters, 56969950 words, 455020 smileys, and 267420 frowns; 109999 of those messages were ACTIONs. There have been 1451590 joins, 106329 parts, 0 quits, 1446 kicks, 37235 mode changes, and 974 topic changes.[07:55:25] <SeH> echelog-1: channelstats #spacenet[07:55:25] <echelog-1> SeH: On # there have been 8037399 messages, containing 324256365 characters, 56969994 words, 455020 smileys, and 267420 frowns; 109999 of those messages were ACTIONs. There have been 1451590 joins, 106329 parts, 0 quits, 1446 kicks, 37235 mode changes, and 974 topic changes.[10:21:54] <archels> 8M seems midly optimistic ;)[18:13:11] <SeH> i was trying to get the spacenet stats[18:13:18] <SeH> but the logger isnt working right[18:13:40] <SeH> archels: i ported bobke's BRAINZ from critterding to java[18:13:44] <SeH> http://spacenet.svn.sourceforge.net/viewvc/spacenet/automenta.spacenet-ardor2/plugin/automenta/spacenet/plugin/neural/brainz/?pathrev=202[18:13:55] <SeH> everything except the brain mutator[18:46:39] <archels> ah, neat[18:47:04] <archels> In the SpaceNet paradigm, the GUI is as important as the backend code, though ;)[19:04:03] <SeH> i just wanted to port bobke's BRAINZ ... i just added it to spacenet project cuz its small[19:04:11] <SeH> it should be a separate project[19:04:19] <SeH> its a very simple neural model[19:04:41] <SeH> you input how many neurons, how many inputs, and how many outputs, min/max synapses per neuron, and it wires it randomly[19:04:51] <SeH> then each neuron stores a potential[19:05:02] <SeH> if its inhibitory it sends a negative output when potential drops[19:05:14] <SeH> if its exhibitory it sends positive output when potential spikes[19:05:14] <archels> I think I've taken a brief look at the code[19:05:43] <archels> It's very simplistic, if I remember correctly.[19:05:43] <SeH> theres plasticity settings that adjust the synaptic weights[19:05:55] <SeH> yes i dont know how it compares with other models[19:05:58] <SeH> but it is certainly different from Neuroph's kind of nets[19:06:03] <archels> Of course it wonderfully fulfills its objectives, but it's not really suitable for my goals.[19:06:15] <SeH> how is ur networks differ?[19:06:25] <SeH> what are your goals?[19:06:36] <archels> more realism, most importantly[19:06:46] <archels> I've been looking at different simulation methods for spiking simulators[19:07:02] <archels> No perfect solution, sadly... all methods suffer from drawbacks.[19:07:13] <archels> e.g. approximating real time by a certain dt step[19:07:59] <SeH> its the same problem with simulating physics in general[19:08:06] <SeH> it always needs discretely integrated[19:08:09] <SeH> so there is some error[19:08:17] <archels> yeah[19:08:34] <SeH> http://www.scholarpedia.org/article/Neural_fields[19:08:53] <archels> There are alternatives though, like modling spikes as disrete events, so each node is a communicating process.[19:08:53] <SeH> maybe you could work in entirely symbolic math and derive a complete symbolic equation for a network[19:09:15] <archels> Yeah, then there's the equation solving method.[19:09:22] <archels> But it gets bothersome.[19:10:43] <archels> I was hoping to make a discrete time system, but I'm not too optimistic about it at this point.[19:11:38] <SeH> some day we may have light processors which can compute systems in continuous time, including irrational #'s[19:11:43] <archels> heh[19:11:49] <archels> I can't wait that long! ;)[19:12:33] <SeH> in the meantime, discrete step physics engines are good enough for games[19:12:41] <SeH> i mean what else is more important than fun? ;)[19:16:15] <archels> heh[19:16:59] <archels> anyway, haven't had much time for it lately, hope to do some work this weekend[19:17:11] <archels> Right now just need to decide on a simulation strategy though.[19:18:01] <archels> There's no message passing in SpaceNet, right? It's just function calls between nodes?[19:29:19] <archels> Heard anything from zorels, by the way?[19:29:29] <archels> er, zoran[19:48:22] <SeH> archels: currently no, its all passed on the stack. but a message passing system is useful[19:48:26] <SeH> actually there is somthing like it[19:48:43] <SeH> ardor3d has separate 'physical' and 'logical' input systems[19:48:55] <SeH> the logical input system could be used for event publication and subscription[19:49:04] <SeH> which is message passing essentially[19:49:12] <SeH> i havent spoken to zorans in a few days[19:49:45] <SeH> messages = conditions that can be raised or detected[19:50:00] <SeH> there are other message "busses" that can be added on a plugin basis, for example network messaging[19:50:14] <SeH> twitter and XMPP are included, which is very basic messaging functionality[19:50:35] <SeH> archels: how would you use message passing?[19:52:57] <archels> as spike passing[19:53:30] <archels> One of my design requirements is synchronicity though, so I can't just have a bunch of threads shouting messages at each other.[19:56:35] <SeH> so its a parallel design... how parallel? supercomputer (dozens to thousands of nodes) or network like p2p[19:57:05] <SeH> the NEURON or GENESIS neural simulators use MPI (message passing interface) for parallelization on supercomputers[19:57:08] <archels> Not inherently parallel, due to the synchronicity requirement.[19:57:37] <SeH> u could also look into discrete event simulators[19:57:39] <SeH> there are some parallel DES's[19:57:44] <archels> Of course it lends itself to parallelization, but it doesn't naturally evolve toward it.[19:57:58] <SeH> a DES will arrange events in the right order[19:58:04] <archels> DES?[19:58:08] <SeH> discrete event simulation[19:58:20] <SeH> what you are talking about falls into that category[19:58:25] <SeH> its not necessarily continuous[19:58:48] <archels> yes, indeed[19:59:30] <SeH> there are several models for DES[19:59:33] <SeH> several API styles[19:59:42] <SeH> they are more similar to 'continuations' than threading[20:00:02] <SeH> making it amenable to safe parallelization[20:00:21] <SeH> the JVM language clojure or scala implements continuations directly[20:00:26] <SeH> so they may have good DES systems[20:00:32] <SeH> http://en.wikipedia.org/wiki/Continuation[20:01:02] <SeH> in a DES the message passing is accomplished through raising events[20:01:10] <SeH> events = conditions = messages[20:01:31] <SeH> so any of these systems we are discussing are basically equivalent. events need to be sorted and dependent actions invoked[20:02:15] <SeH> PROLOG-like rule systems also are relevant[20:03:09] <SeH> http://en.wikipedia.org/wiki/Coroutine[20:03:18] <SeH> http://en.wikipedia.org/wiki/Actor_model[20:03:36] <SeH> actor model might be the most relevant. each neural element is an actor[20:03:49] <archels> Yeah... well, in any case, I'd rather get things working on one core first, before adding a mountain of complexity in the form of parallel computing.[20:03:55] <SeH> agreed[20:04:32] <SeH> http://www.malhar.net/sriram/kilim/[20:04:38] <SeH> http://en.wikipedia.org/wiki/ActorFoundry[20:06:32] <SeH> http://osl.cs.uiuc.edu/af/example.html[20:27:32] <archels> SeH: Do you want to work on (spiking) neural nets yourself as well?[20:31:39] <SeH> archels: im fascinated by them but i really dont know much about neural nets in general[20:31:48] <archels> alright[20:33:28] <archels> I still would really like to build my simulator into SpaceNet, but right now I'm just scared off by the dependencies[20:34:06] <SeH> understood. i will create a demo program showing how to use spacenet which can be collected into one .jar[20:34:25] <SeH> would you be able to manage a one .jar dependency and some native libraries?[20:34:39] <archels> sure, but also with regard to OpenGL[20:34:49] <SeH> another option is to run spacenet as its own process and communicate with it remotely[20:34:56] <archels> I want to eventually use this sim on an embedded device, so I'm really pedantic[20:35:16] <archels> An API interface with it, sure.[20:35:23] <SeH> embedded device? meaning no screen?[20:36:00] <archels> No, it'll likely have a screen... but you don't get all the fancy of a modern PC platform.[20:36:22] <SeH> what platform do you mean? x86, ARM, etc[20:36:52] <archels> Maybe ARM, they're doing great things lately.[20:37:01] <archels> But unknown at this time, too far in the future.[20:37:12] <SeH> if it runs java thats step 1[20:37:17] <SeH> then u need to investigate its video capabilities[20:37:21] <SeH> there are software openGL renderers[20:37:33] <SeH> JOGL (used by spacenet) just interfaces with the native openGL whatever it is[20:37:37] <SeH> whether is software or hardware is up to the OS[20:37:45] <SeH> there is also a scaled-down OpenGL spec[20:37:47] <SeH> for mobile devices[20:37:53] <archels> I see[20:37:54] <SeH> spacenet could be tuned to run in 2D-only mode[20:38:04] <SeH> meaning the framerate and video capabilities reduced[20:38:09] <SeH> i can imagine spacenet running on a mobile phone[20:38:16] <SeH> like an iPhone or android[20:38:21] <SeH> because they already do opengl[20:38:47] <SeH> when spacenet is idle/still, it doesnt need to compute anything[20:38:59] <SeH> only when geometry or the camera changes[20:39:08] <SeH> so if camera changes are minimal or frozen then it is more efficient[20:43:17] <archels> The iPhone has hardware OpenGL?[20:43:25] <archels> And Android requires it?[20:46:26] <SeH> i dont know what the hardware supports but some kind of video acceleration[20:46:33] <SeH> ive seen iphone do 3d stuff[20:46:40] <SeH> i know android has to have nearly the same[20:57:16] <archels> well, a JavaScript in my browser can do 3D[20:58:01] <SeH> yes there are now browser extensions that provide direct 3d access for javascript[20:58:04] <SeH> like google o3D[20:58:08] <SeH> O3D[21:17:29] <flamt> hi[21:20:44] <SeH> flamt: i was discussing w/ archels about BRAINZ[21:20:48] <flamt> word[21:20:51] <SeH> archels does neural net research[21:20:53] <SeH> in amsterdam[21:24:02] <flamt> is he optimistic[21:24:04] <archels> heh not in Amsterdam[21:24:10] <flamt> are you optimistic?[21:24:19] <flamt> i think these spiking nets are smarter than fish[21:24:33] <flamt> 2000 neurons 13000 synapses :3[21:24:58] <flamt> plastic neurons something like 54%[21:25:02] <flamt> those seem to help[21:25:09] <flamt> maybe with intelligence[21:25:52] <archels> I am reasonably optimistic, yes[21:26:05] <archels> I think it's the obvious direction of research we should pursue at this time[21:26:24] <SeH> archels: did i send u a paper about "deep machine learning" DeSTIN?[21:26:36] <SeH> http://aaai.org/ocs/index.php/FSS/FSS09/paper/view/951/1268[21:26:56] <SeH> from what i understand, its basicaly an unsupervised classifier[21:27:42] <archels> No, I haven't seen that.[21:27:51] <archels> flamt: Are you doing spiking net research as well?[21:31:11] *** flamt_ has joined #spacenet[21:36:24] <archels> flamt_: Are you doing spiking net research as well?[21:36:59] <flamt_> yes archels i have them on drugs[21:37:37] <flamt_> an experiment[21:37:38] <flamt_> http://pastebin.ca/1741950[21:37:42] <flamt_> ._.[21:42:43] *** flamt has quit IRC[21:43:46] <archels> flamt_: interesting[21:44:03] <archels> Do the brains of these robots consist of spiking neurons?[21:44:15] <flamt_> yz[21:44:29] <flamt_> http://ansistego.sf.net/critterdinging.png screenshot from the pastebin[21:44:35] <archels> I should have a closer look at the latest code I guess[21:44:53] <flamt_> it's good, i thought ann's were only for classification but you see these guys flirt with their food and there's more going on[21:44:53] <archels> What simulation method do you use for the spikes?[21:45:04] <flamt_> i think the closest thing it has to pleasure is the sight of food up close and you see them groove on that too[21:45:12] <flamt_> um, i'm not sure what bobke did to make it spiking exactly[21:45:18] <flamt_> or what that means compared to a normal neural net[21:45:21] <flamt_> i haven't built one just used libs[21:45:26] <archels> ah, alright[21:45:26] <flamt_> i was worried how he made his own but like i said[21:45:30] <flamt_> its working well ,_,[21:45:37] <flamt_> a few years now[21:45:47] <flamt_> seh just put it in java as you might already know[21:45:51] <flamt_> it's done OCR[21:45:56] <flamt_> 'brainz'[21:46:28] <SeH> archels: bobke says he doesnt like the term 'spiking'[21:46:39] <flamt_> they're adjusted to drug-taking now i'm about to raise the doses a little today[21:46:45] <SeH> he says it confuses the way people name neural nets[21:46:54] <flamt_> brb[21:46:55] <SeH> his net is a very simple integrate-and-fire model[21:47:09] <SeH> whether it is what you and the literature considers "spiking" or not is up for debate[21:47:24] <SeH> it does spike but they could also be called pulses or waves[21:47:37] <flamt_> i think they'll get pleasure from certain drugs too[21:47:52] <flamt_> they go right for the stimulant/psychedelics[21:48:09] <flamt_> and opiates[21:55:54] <SeH> lol "[21:55:55] <SeH> I just don't want the MIB and MJ-12 to rest easy, Gerald. But there is[21:55:57] <SeH> still time[21:58:58] <archels> SeH: It's a pretty accurate term, in my opinion. You could call it a pulse.[22:12:54] <flamt_> kidding with gerald[22:12:58] <flamt_> about to toke[22:28:05] <archels> nice tweet[22:40:26] <flamt_> ty[22:40:32] <flamt_> i dont know what to do next[22:47:28] <SeH> flamt_: what C++ editor do you use[22:47:35] <SeH> development environment[22:48:16] <flamt_> seh i just use a text editor[22:48:16] <flamt_> i'm getting black & white[22:48:41] <flamt_> i use joe[22:48:53] <flamt_> it's like pico or nano but better[22:50:22] <SeH> if u have X u might try xemacs or gedit or kate[22:50:31] <SeH> does joe do copy&paste[23:20:30] <SeH> archels: http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX[23:23:22] <archels> I'd never ever use DX[23:23:46] <SeH> me either[23:52:20] <SeH> archels: http://commons.apache.org/math/[23:53:26] <archels> I'm not looking for a math lib[23:55:28] <archels> Boost probably has something as well[23:55:42] <SeH> boost is C++[23:59:03] <archels> Oh, for some reason I thought they had a Java port.