Slashdot Mirror


Build Your Own Neural Network

windowpain writes "I just discovered Joone. It's an LGPL neural net development environment for creating, training and testing neural networks. The aim is to create a powerful environment both for enthusiasts and professional users, based on the newest Java technologies. Joone is composed by a central engine that is the fulcrum of all applications that already exist or will be developed. It's available in Linux, MacOS and Windows versions."

53 comments

  1. Whats wrong with SNNS by Directrix1 · · Score: 4, Interesting

    The Stuttguart Neural Network Simulator has been available for free for a long time now.

    --
    Occam's razor is the blind faith in the natural selection of least resistance and in universal oversimplification. -- EF
    1. Re:Whats wrong with SNNS by KMAPSRULE · · Score: 5, Informative

      From the SNNS licensing terms:
      SNNSv4.1 is available NOW free of charge for research purposes under a...

      LGPL(Joone's Licensing) is a VERY attractive License for commercial users, "free for research purposes" would preclude some from being able to use it,
      other wise I agree this Joone seems to have less features/algorithm support than SNNS

      --

      --Im an oven mitt, not an engineer! (SLArbys Radio Commercial)
  2. No Thanks by Sunlighter · · Score: 2, Funny

    I don't have time to play with such a thing. I'm too busy developing the neural network in my skull.

    --
    Sunlit World Scheme. Weird and different.
    1. Re:No Thanks by Repugnant_Shit · · Score: 2, Funny

      But "playing" with something like this is a good to way to waste ti-, er develop your built-in neural network.

    2. Re:No Thanks by JLyle · · Score: 1
      I don't have time to play with such a thing. I'm too busy developing the neural network in my skull.
      Yes, but what kind of license is it covered by?
    3. Re:No Thanks by Jeremiah+Cornelius · · Score: 2, Funny

      Maybe if this Joone were the one just discovered, you'd "sneak" some time, no?

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
  3. Very limited number of algorithms by a_ghostwheel · · Score: 5, Interesting

    Looks rather limited to me. It's again implements only BP algorithms and their variants. Why not include ART-based (adaptive resonance theory) and LVQ-based (linear vector quantization) algorithms? They are much more efficient than BP in many instances (e.g. classification problems).

    In other words, sounds very limited to me.

    1. Re:Very limited number of algorithms by Anonymous Coward · · Score: 1, Funny

      I have no idea what you just said but I'll trust that you know what you are talking about..

      Remember the Norns from Creatures ? What kind of neural networks should I be reading about to replicate that kind of learning ?

    2. Re:Very limited number of algorithms by KMAPSRULE · · Score: 0, Troll

      I would suspect that if this project is useful enough as it progresses more al-gore-ithms will be added to it

      --

      --Im an oven mitt, not an engineer! (SLArbys Radio Commercial)
    3. Re:Very limited number of algorithms by elmegil · · Score: 3, Insightful
      It's open source. Scratch your itch.

      BTW implementing ART would be really cool. I always had trouble getting the full understanding of Grossberg's papers and didn't find many simulators that did ART 10 years ago when I was actually looking at all this stuff.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    4. Re:Very limited number of algorithms by JanneM · · Score: 2, Interesting

      From my experience, one of the problems is that nobody really seems to agree on exactly how to interpret his models; especially ART2 seems to be something nobody really bothers with in practice. I have seen a couple of pretty complete implementations, but they differ pretty wildly on the results you get. Rather, people seem to take his conceptual ideas and incorporating the ones that make sense into their own models.

      --
      Trust the Computer. The Computer is your friend.
  4. Re:I'm in a mood for trolling... by Samus · · Score: 2, Funny

    Heh. For the same reason you use a computer instead of a trained monkey. Less crap to clean up and it doesn't talk back. At least if it does you can unplug it. :-)

    --
    In Republican America phones tap you.
  5. Repeat after me... by MacJedi · · Score: 2, Funny
    There is not general solution to the global optimization problem.
    There is not general solution to the global optimization problem.
    There is not general solution to the global optimization problem.

    /joeyo

    --
    2^5
    1. Re:Repeat after me... by nobbis · · Score: 1

      Who said it was?

    2. Re:Repeat after me... by Anonymous Coward · · Score: 0

      If you think above fact has practical meaning, you probably don't bother to compress your data because:

      Generic non-lossy compression is impossible.
      Generic non-lossy compression is impossible.
      Generic non-lossy compression is impossible.

      Conclusion:
      Real world data isn't equally distributed.
      Real world learning problems is much smaller set than set of all possible functions.

  6. Can also be combined with genetic algorithms by mrblah · · Score: 5, Informative

    For those who want to combine genetic algorithms with neural networks, there's also a project that combines joone with JGAP (a Java genetic algorithms framework).

    1. Re:Can also be combined with genetic algorithms by Anonymous Coward · · Score: 2, Informative
      "For those who want to combine genetic algorithms with neural networks, there's also a project that combines joone with JGAP (a Java genetic algorithms framework)."

      Lots of neuroevolution code, including probably the state-of-the-art algorithms (ESP, NEAT) can be downloaded from the NN research Web site at UT-Austin. Some of it is available in both C++ and Java. Papers describing the algorithms and various applications can be downloaded from the same site.

  7. Anyone remember a language dedicated to NNs? by RevAaron · · Score: 2, Interesting

    Low chance anyone here will know what I was talking about, but in the case someone does ...

    Does anyone remember a programming language that was specifically for creating, training and using neural networks?

    I've always been a big programming language addict. Back in the early 90s, being 12-14 years old and excited to finally have a modem, I was downloading every programming language for DOS I could find from all the BBSes I called.

    I can't remember what it was called. I remember roughly what the IDE looked like, but very little else. It was a fun system- it had general-purpsose programming constructs, but was especially built for creating, training and using neural networks. I seem to recall the syntax having a semi-familiar pascal/algol/C-ish syntax; it wasn't just a library for Lisp or Scheme.

    I've check the SimTel archives, and haven't been able to find it again. Oh, how awesome were BBSes... Stronger sense of community than the 'internet' seems to have. Anywho, thanks for any tips!

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    1. Re:Anyone remember a language dedicated to NNs? by Brandybuck · · Score: 0, Funny

      Does anyone remember a programming language that was specifically for creating, training and using neural networks?

      Hey, have you read the posts here yet? If it ain't Java no one will use it. All hail the mighty Java!

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:Anyone remember a language dedicated to NNs? by Anonymous Coward · · Score: 0

      Maybe CLIPS?

    3. Re:Anyone remember a language dedicated to NNs? by RevAaron · · Score: 1

      Good thought, but that's not it. I've used CLIPS, although not extensively. But it isn't my lost NN software... thanks though!

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  8. skynet dept? by mraymer · · Score: 2, Funny
    Let's hope we don't make a neural net CPU like SKYNET, because, let's be honest here, SKYNET is pretty dumb:

    1) It has an obvious preference for the dramatic... For example, rather than having the original Terminator simply walk over and kill Sarah Connor when she is stuck in an overturned vehicle, it instead has the Terminator commandeer a semi and attempt to run her over. Brilliant!

    2) It doesn't believe in rushing into a kill as quickly as cyborg-ly possible, but instead has its Terminators advance slowly on the hapless victim.

    3) Despite all these logical fallacies in SKYNET's programming, it is able to use automated factories to conduct research and development at a level beyond humans, in order to: build Terminators. Oh yeah, and master time travel.

    So, let us hope that if we ever built a SKYNET, it wouldn't be stupid enough to conquer time, and then have no idea what the next logical step is.

    --

    "To confine our attention to terrestrial matters would be to limit the human spirit." -Stephen Hawking

    1. Re:skynet dept? by NanoGator · · Score: 1, Offtopic

      "So, let us hope that if we ever built a SKYNET, it wouldn't be stupid enough to conquer time, and then have no idea what the next logical step is. "

      I'd prefer Skynet over the Matrix. Those idiots adopted of the least efficient batteries ever.

      --
      "Derp de derp."
    2. Re:skynet dept? by Anonymous Coward · · Score: 1, Funny

      Don't you get it? SkyNet is'nt some vast computer system that uses AI technology for defense purposes. SkyNet is George Bush's secret plan for taking over the world. Here's the plan :
      - Arnie will rule California later this year.
      - A "terrorist" strike from North Korea will strike LA in the same year
      - Arnie will rip off his suit revealing his sleek tight fitting leather terminator outfit underneath
      - Pilotless UAVs will start to bomb LA
      well you've seen the movies you can figure out the rest. Don't say I did'nt warn you.

  9. Check out NeuroSolutions by Sidlon · · Score: 2, Informative
    True, it's not free (beer or speech), but this really is the most impressive NN development platform I've ever worked with. It has a VB-like interface for creating a custom network, and powerful wizards to handle the common problems.

    Plus, the only limit on their demo is that you can only save a networks structure, but not the trained weights or output. This means you can use the demo to determine if a problem is solvable through a NN, and only get your company to buy it if it works for your project.

  10. Another kind of solution. by DoctorRad · · Score: 3, Interesting
    Self-Organising Maps can be used to solve many similar problems to those for which ANNs are appropriate. Check out the SOMPAK software. A shame my own research into data visualisation using this technique is company confidential to an ex-employer, some very pretty pictures :-)

    The package inlcudes source code to produce Sammon Maps in Postscript format. These can be very useful tools for finding clusters in data. What they revealed about UK higher education institutes was eye opening.

    Matt...
    --
    A man hears what he wants to hear and disregards the rest.

    1. Re:Another kind of solution. by t · · Score: 1
      SOMs.... Such fond memories. I too wrangled with one of these a few years back. In my case it was being used to correlate documents. I created a method to group similar nodes which I dubbed "Amoeba Love Fest". It seemed to be working fairly well right up to the point we lost VC and they nuked half the company.

      We should compare notes sometime.

    2. Re:Another kind of solution. by Anonymous Coward · · Score: 0

      Seen them, tested them,. As usual with implementations from scientific community they have good algorithms and are good fod small scale problems but because they performance haven't been optimized (this means that you change your algorithms somewhat in order to get best performance).

      They are too slow as a datamining tools.

  11. Write once run everywhere ? by DrSkwid · · Score: 2, Funny

    Linux, MacOS and Windows versions

    hmm, almost everywhere

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  12. This is clearly an adertisement by the author by Anonymous Coward · · Score: 1, Funny

    I just discovered Joone. It's an LGPL neural net development environment for creating, training and testing neural networks. The aim is to create a powerful environment both for enthusiasts and professional users, based on the newest Java technologies. Joone is composed by a central engine that is the fulcrum of all applications that already exist or will be developed. It's available in Linux, MacOS and Windows versions.

    I've hilighted some terms to help prove my theory. ;)

    So there you have it:

    An amazing "discovery" that "aims" to use "Java technology" in order to the "fulcrum" of "all applications that already exist or will be developed". Whatever.

    NEXT!

    Now serving crackpot #23423989.

  13. Problems with Java and Neural Nets by Anonymous Coward · · Score: 0

    In general, at every iteration of training, neural nets need to solve an optimization problem. For example, in BP nets, the conjugate-gradient algorithm is used. However, unless this package is hooking into some low level C or Fortran libraries, the training is going to take forever.

    There are good reasons, other than historical, that high performance math libraries are programmed in Fortran and not other higher-level languages.

  14. Java? by Anonymous Coward · · Score: 2, Funny

    Let's see...we'll be using a virtual machine to emulate a virtual network of simulated neurons...no thanks!

    I can understand the desire to have portability, but this just reeks. It's like using basic to emulate a 486. The part of me that appreciates elegant, efficient design is puking on the floor.

    1. Re:Java? by Rick+the+Red · · Score: 1

      The part of me that appreciates a good hack is thinking of running this under UML :-)

      Is there a version of Joone that runs on a Beowulf cluster? Then I could create a virtual Beowulf cluster of a bunch of UMLs and use it to run "a virtual machine to emulate a virtual network of simulated neurons" -- Cool!

      --
      If all this should have a reason, we would be the last to know.
    2. Re:Java? by Anonymous Coward · · Score: 0

      Thats funny because that part of you is usually sitting on the toilet.

  15. why? because you whine instead of work by Anonymous Coward · · Score: 1, Funny

    why help a project when you can whine instead! way to go slashdot fool!

    1. Re:why? because you whine instead of work by Anonymous Coward · · Score: 1, Funny

      why open source? because nothing's finished!

  16. Re:You've got it all wrong! by NanoGator · · Score: 1

    "Didn't you get it? That whole battery thing was a lie that people like Morpheus and others who had been unplugged were told, just so they'd stop asking further questions. "

    No, it was a shortsighted ingredient by the Wachowski Bros. that they were called on and had to fix in the next movie.

    I'm glad you enjoyed that movie, but I can't get past what a hack and a half it is. It really would have been a good idea for those guys to novelize that trilogy before making a movie of it.

    --
    "Derp de derp."
  17. Someone remembers Ralph!?! by MarkusQ · · Score: 3, Interesting

    Hard as it is for me to believe, you may be talking about a language I wrote in the late 80's. "Ralph" was our internal name for it (inside joke); I think the market droids pushed it as NNSim or something like that. We released a full function version on a bunch of BBSs & talked it up on geni, compuserve, news groups, etc. to promote a hardware accelerator board (DSP based). The idea was people would get interested and then (as their models got larger) they'd want more speed and buy our accelerator board.

    The core language was a based on pascal, but with salient structure (like python) and a bunch of (at the time) interesting extensions. You could declare networks and treat them like an array (for messing with the weights) or like a procedure (for training) or like a function (for using them).

    Does this sound like what you're remembering?

    -- MarkusQ

    P.S. In case you can't guess how the story ends, it turned out that for really interesting networks you'd need a lot more oomph than our boards could provide. The product died, as did several others, and the company sank beneath the waves.

    1. Re:Someone remembers Ralph!?! by RevAaron · · Score: 1

      Holy balls, man! I've asked this question a dozen times in a dozen different places- I never thought I'd find a possible answer!

      It's been a long time, around 10 years, since I've seen this project. I didn't use it a ton when I did have it on DOS, and consequently don't have a really clear picture of it in my head. However, what you've described soudns like what I remember. Hell yeah!

      I don't suppose you have a copy of the app/system/language aroudn anywhere, do you? I don't own any DOS or Windows machines anymore, but I"d be willing to install an x86 emulator just to play with this again, especially to see if it's what I remember. If you couldn't share the ZIP/ARJ/LZH itself, screnshots, some language snippets woiuld be fun too!

      Thanks a lot! :D Can't wait to hear back...

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    2. Re:Someone remembers Ralph!?! by MarkusQ · · Score: 1

      I found a partial copy from 1989--no idea if it was developmental or stable (but given that it was on my machine I know which way I'd guess). It at least seems to come up under dosemu. If you e-mail me ("MarkusQLreality.com" at: 8 put: "@") I can send you what I've got.

      -- MarkusQ

      P.S. IIRC (based on where I found it), this is a chance survivor of a my-hard-drive-is-dying snapshot that got carried over for all this time because harddrives get larger & cheaper faster than I can type. So don't plan on using it to run a power plant or anything.

    3. Re:Someone remembers Ralph!?! by Anonymous Coward · · Score: 0

      This is copyright infringement. Even though you wrote this program, you did it while in the employ of a company, and they own the product. Since there is still a demand for it, it has monetary value.

      Really people, if you're going to stand up for copyright protection, you have to stand up for _all_ copyrights, not just the ones that make you money.

    4. Re:Someone remembers Ralph!?! by Zebra_X · · Score: 1

      >> Since there is still a demand for it, it has monetary value.

      Demand does not indicate if a price is willing to be paid for a good.

  18. Java is way too slow for serious NN code by Anonymous Coward · · Score: 2, Informative

    My current neural network implementation (on generic CPU) with order of 10^6 neurons use CBLAS ATLAS fast linear algebra library as a number crunching part. When you have to do some down to metal optimizations Jave is waste of time.

    The best property of NN's are when compared to other learning machines is that computation can be parallelized easily. For small problems one should maybe use other ML machines (SVM doesn't overfit) which isn't as easily/well parallelized (-> doesn't scale up so well).

    Above solution doesn't scale up when making neural networks with 10^9 or more neurons with current (or near future) hardware. One have to radically redesign one's implementation because your neural network memory/data is most of the time on hard disk and only small portitions is in memory. Need to take into account the time of disk accesses (database theory is helpful here). Also making your network asynchronous and implementation multithreaded (eliminate harm of I/O wait-states from HDD accesses + good use of SMP+RAID) is a must.

    And of course if one have enough money designing your/buying a NN chip is of course the best option (because the parallism of NN chips can be made to be wicked fast).

    1. Re:Java is way too slow for serious NN code by Anonymous Coward · · Score: 0

      Weka users would disagree.

      Java is the present and future of the KDD field. Ask anyone.

  19. Shameless plug by JanneM · · Score: 2, Informative

    If you want a simulation framework that is more flexible than a dedicated NN simulator, we are developing Ikaros, a discrete-time modular simulator. Runs on Linux, OSX and Windows. Implement your modules in C or C++ (and implementing bindings for other languages would be easy), then specify a connection matrix for inputs and outputs between modules to form a complete simulation.

    The next step in development is creating some graphical visualizing tools, and to make it run multiple instances transparently across a network.

    --
    Trust the Computer. The Computer is your friend.