Results 1 to 7 of 7

Thread: Neural Networks to find/verify objects

  1. #1
    Join Date
    Dec 2007
    Location
    Canada
    Posts
    62
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Lightbulb Neural Networks to find/verify objects

    I have done quite a bit of work with neural networks (research at university level). I have also written a quick program in C using the FANN library that allows me to click on a bunch of related objects, take a screen shot of that image, and then cascade train a neural network to identify that object. I then can click on an arbitrary object and it will spit out a number between -1 and +1 with +1 being 100% identification.

    The speed of a neural network after it has been trained goes like ~N for simple forward prop networks. This is very fast compared to many algorithms which have to "deform" some template and then search repeatedly.

    I have it working quite well on find ores in RS. To simplify things I first get a TPA of similar colored objects and scan over these points with the NN. ~99% correct identification at this point. I bet with a little tinkering this could be used to identify more complicated objects/randoms/etc.

    Maybe this would be a pointless addition? Let me know your ideas.
    --
    Floreant Dendritae

  2. #2
    Join Date
    Dec 2006
    Location
    Sydney, New South Wales, Australia
    Posts
    4,603
    Mentioned
    15 Post(s)
    Quoted
    42 Post(s)

    Default

    We are an open source community. All contributions are welcome

    The idea is certainly there.
    You may contact me with any concerns you have.
    Are you a victim of harassment? Please notify me or any other staff member.

    | SRL Community Rules | SRL Live Help & Chat | Setting up Simba | F.A.Q's |

  3. #3
    Join Date
    May 2007
    Posts
    527
    Mentioned
    12 Post(s)
    Quoted
    109 Post(s)

    Default

    I've been playing around with the same idea. I wrote extension to Simba, since pascal script is too slow for this. The only thing taking time is proper training of the network, but the results after that are quite good.

    I've not used NN to identify objects, but to make the character act like a human instead.

  4. #4
    Join Date
    Feb 2012
    Location
    DON'T PM ME ASKING FOR STUFF
    Posts
    2,170
    Mentioned
    38 Post(s)
    Quoted
    423 Post(s)

    Default

    Quote Originally Posted by superuser View Post
    I've been playing around with the same idea. I wrote extension to Simba, since pascal script is too slow for this. The only thing taking time is proper training of the network, but the results after that are quite good.

    I've not used NN to identify objects, but to make the character act like a human instead.
    use Lape

  5. #5
    Join Date
    May 2007
    Posts
    527
    Mentioned
    12 Post(s)
    Quoted
    109 Post(s)

    Default

    Quote Originally Posted by xtrapsp View Post
    use Lape
    Still too slow I'm using CUDA to do some RPROP training.

  6. #6
    Join Date
    Dec 2007
    Location
    Canada
    Posts
    62
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by superuser View Post
    Still too slow I'm using CUDA to do some RPROP training.
    I'd be curious to know how you are doing with CUDA. There tends to be more nan and infs, the larger the problem size in training of NNs. CUDA still uses standard ieee methods for nan value handling as far as I know, so they are big problems. I attempted using opencl and had varying results. Very fast on small well posed problems. broke down for poorly posed pronlems. Want to give me a run down of how you're doing so far?

    Also cuda would be impractical for most srl users so they wouldn't be able to train the networks on their own machine. Glad to see there's support for NNs.
    --
    Floreant Dendritae

  7. #7
    Join Date
    May 2007
    Posts
    527
    Mentioned
    12 Post(s)
    Quoted
    109 Post(s)

    Default

    Quote Originally Posted by rawsilk View Post
    I'd be curious to know how you are doing with CUDA. There tends to be more nan and infs, the larger the problem size in training of NNs. CUDA still uses standard ieee methods for nan value handling as far as I know, so they are big problems. I attempted using opencl and had varying results. Very fast on small well posed problems. broke down for poorly posed pronlems. Want to give me a run down of how you're doing so far?

    Also cuda would be impractical for most srl users so they wouldn't be able to train the networks on their own machine. Glad to see there's support for NNs.
    True. However, if you keep in mind that in GPU e.g. inf + n => inf, nan + a => nan, 0 / 0 or inf / inf => nan etc, you can prevent those with some little overhead. Also things like grid size, regs per thread, comp. density and loop overheads are 'bad', but keep in mind that you’re starting with about 1tflops of performance so if you're still hitting like 50% efficiency, that’s still not too bad at all.

    Not at least when comparing to cpu.

    Also, there are other means to train NNs on CUDA, with better efficiency imho. Like genetic algorithm.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •