NND & AICI

  • 155 Replies
  • 51683 Views
*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #60 on: June 09, 2010, 09:48:14 am »
Quote
Also, is your AI written in Prolog?
No, AICI is made with my neural network designer. The neural network designer is a WPF app, the core is currently C#.

Quote
Q1. What sort of duration is taking for you to get your AI to reply to your questions? Less than 1 second?
Can you give us some idea please?
This depends greatly on the complexity of the sentence, the number of  filters/shortcuts I have been able to add and the hardware it is running on.
In the example I gave, every sentence ran within expectable limits. But it's currently very easy to make it run very long. Without filters, the examples I wrote, would produce +- 400-500 threads per statement. Only 1 of those will produce a result. The system is based on uncertainty, so it tries many different paths. The more paths you can eliminate before they have to run, the faster it goes on current hardware (most statements in the example only use about 35-135 threads). If you would have a processor that could execute 500 threads at the same time, you would get a result close to the single thread. But with only 2 cores (as I have), each thread needs to be executed in sequence.
Secondly, the core is just a proto type. So it's not really optimized. To give you an idea: each instruction/expression is currently still interpreted (read,parsed,executed) every time it is executed. Add to this the fact that a few instructions are executed in a very, very long loop, you can hopefully understand the possibilities in this area still.
One final note: If it ever were to get as far as to have a system that can handle video, audio and sensory data at the same time, new hardware would be required, I think.

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Trusty Member
  • **********************
  • Colossus
  • *
  • 5865
Re: NND & AICI
« Reply #61 on: June 09, 2010, 10:55:38 am »
Speaking of colors (or colours)...

A person can be GREEN with envy...
so sad that they're BLUE or
so angry, they're seeing RED or
so happy they're tickled PINK or
so afraid to try something they're YELLOW.

So you see...colors can exceed the limits of a crayon box....;)


OK... don't  get me started on the or, oar / to, two, too / Won, one / tri, try / rite, right types of words.... :D
In the world of AI, it's the thought that counts!

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #62 on: June 09, 2010, 01:07:06 pm »
Art, how is your green or blue any different from what I am doing? Did you read the full conversation? Didn't you notice that I switched from 'pure' colours (for the English) to emotions without a problem for the system. A 'reason' like you are giving, is simply some extra information that is stored. You are simply associating verbs with an emotion and color. No biggy.
As a side note: What you don't see for instance, in the conversation log, is that the system knows 3 'blues': 2 adjectives (the color and the emotion) and 1 noun (the color). It is perfectly able to pick the correct adjective .

'The' and 'a' are indeed some of the more tricky words since they can relate to a general thing or imply that more relationships are possible (for 'a'), it can refer to something in the previous statements but also something in the future ones (for 'the'), more searching is required for this.  The system doesn't yet have perfect algorithm's for these (Up untill now, I have only spend like a day or so programming on these words), so improvements will follow.

Art, when I read your comments, I get the distinct impression that you are still thinking in terms of what a 'Lisa'/'Alice' like chatbot can do: word matching, simple lookups, some variables and predefined answers. Perhaps you should take a serious look at my website, read up a bit on how it works, try to do a debug run for yourself. Perhaps also take a look at the various thesauri that are available in the designer.
« Last Edit: June 09, 2010, 02:46:35 pm by Bragi »

*

DaveMorton

  • Trusty Member
  • ********
  • Replicant
  • *
  • 636
  • Safe, Reliable Insanity, Since 1961
    • Geek Cave Creations
Re: NND & AICI
« Reply #63 on: June 09, 2010, 01:10:51 pm »
Speaking of colors (or colours)...

A person can be GREEN with envy...
so sad that they're BLUE or
so angry, they're seeing RED or
so happy they're tickled PINK or
so afraid to try something they're YELLOW.

So you see...colors can exceed the limits of a crayon box....;)


OK... don't  get me started on the or, oar / to, two, too / Won, one / tri, try / rite, right types of words.... :D

I'll have to agree with that last part. Humans have enough trouble as it is with that:

"You had better just give me one slice of pizza. I'm too full to eat two."
Comforting the Disturbed, Disturbing the Comfortable
Chat with Morti!
LinkedIn Profile
CAPTCHA4us

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #64 on: June 09, 2010, 02:08:29 pm »
TrueAndroids said :

Quote
** I also agree that this thread would be a good addition to the Concepts section Freddy!

Yes but it also makes a good thread here too as it is mostly about Bragi's project.  It's pretty much impossible to split up a thread like this and put parts in one place and parts in others.

The best I can suggest is that folks remember this thread was primarily about Bragi's project but that some concept discussion is bound to come up.  My suggestion is perhaps to drop a few place holder threads in the concept discussion board - you could always link to this thread for the areas that are related.
« Last Edit: June 09, 2010, 11:31:45 pm by Freddy »

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: NND & AICI
« Reply #65 on: June 09, 2010, 05:14:38 pm »
Bragi, to get those answers to your questions, you posted earlier, on your hardware, what duration/timespan are you seeing?
www.aiproject.co.uk
Natural Language Processing

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #66 on: June 09, 2010, 05:32:55 pm »
A very rough estimate, with the client (not the designer), I get round: less then 1, to more than 2 seconds per statement. Generally, the network responds a bit faster than what you would expect from a human. If you enter a longer sentence that it doesn't understand, it can take up to 15 seconds before it comes back with 'confusion confusion!'

*

TrueAndroids

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 120
Re: NND & AICI
« Reply #67 on: June 09, 2010, 06:00:21 pm »
I see what you mean now Freddy; it is a 'general discussion' about Bragi's project so it's in the right place. Good suggestions too.

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #68 on: July 30, 2010, 12:32:06 pm »
Hello everyone,
I just made a new release of the designer and AICI. It took a little longer than expected, but the stuff that needed to work is working:
-you can now call .net functions from within a network. As example, I've implemented the File.Copy function. At the moment, you need to extract function arguments from the input statement for each function separately. I plan to make this more general in the future though.
-I've done some overloading on the statement 'hello', which should be a nice example.
-many bugfixes all over the place.
-... for more details on what's new, see here.

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: NND & AICI
« Reply #69 on: July 30, 2010, 07:14:43 pm »


I am still developing my own language processing algorithms, however, I am following your project very closely.

I may even propose licensing your algorithm/program from you and incorporating into my own program, before I try and get funding next Summer.

However, is it at all possible for you to explain your project in simplistic terms?

Every update you do makes your system sound so unbeleivably complicated, I often wonder if it really is that complicated or is it simply the language you are using.

A good example is your mention of File.Copy. This is a very simple function ot use in .NET, however, at this stage, I have no idea what you mean by, "you can now call .net functions from within a network. As example, I've implemented the File.Copy function".

At some point you are going to have to sell your ideas to people and although I am programming my own project in .NET (and use .NET everyday), I am struggling to understand how your program (at a basic level) works. I would very much appreciate it if you could explain your project in laymen's terms, for not only me, but also future investors (assuming you would like to turn this into a commercial venture) to follow.

What really helps are screen shots of your designer. A few of those will help us understand your work even better. I have seen the sandbox screenshots, but more screen shots will be greatly appreciated.

Even on my own website (http://www.aiproject.50webs.com/screenshots.html), I have started adding screen shots of my Server/Client system, to give people an idea of what it is that my program actually does, as well as some sample input/output. The more screen shots, the better people will understand what you are producing.

Of course, its your choice how wish to proceed, but I would very much appreciate more screen shots and simpler language. I am VERY interested in your work.
www.aiproject.co.uk
Natural Language Processing

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #70 on: July 31, 2010, 11:34:54 am »
You probably have a point in that I am not the most ideal person to currently explain this in simple laymen's terms as I have been in the middle of this for a long time now. It's hard for me to make a difference between the entry level and advanced stuff.
When I mentioned the 'File.Copy' operation, I was actually referencing to a previous post, which shows how to make Aici copy files (a link would probably have helped). I haven't gone into the details on how I am actually doing this, since it will still change a bit in the future, so I figured it best not to explain to much so it wont be too  confusing in the future. I only wanted to let people know that it is possible to execute static .net functions.
Have you already taken a look at the white paper? It's still a draft and needs a bit of rework, but it does explain the core concepts. Another version, but different wording, perhaps a bit better, can be found in the help file of the designer.
The usage of the designer is actually explained in some of the older posts and a bit in the designer. There are links provided from within the help menu of the designer. These are:
http://janbogaerts.name/index.php/2009/03/09/nnd-getting-your-feet-wet/
http://janbogaerts.name/index.php/2009/03/17/about-sandboxes/
http://janbogaerts.name/index.php/2009/03/31/update-floweditor/
http://janbogaerts.name/index.php/2009/04/05/update-flow-editor-take-2/
http://janbogaerts.name/index.php/2009/06/05/designing-code-editing-techniques/
http://janbogaerts.name/index.php/2009/06/05/designing-code-statements/
http://janbogaerts.name/index.php/2009/06/05/designing-code-tips-and-tricks/
http://janbogaerts.name/index.php/2009/06/09/the-debugger/
http://janbogaerts.name/index.php/2010/03/04/debugging-networks-split-paths/
I will probably make these links more accessible from the website as well. It's a blog at the moment, so stuff is a bit scattered all over the place. If something is not clear, or you don't understand something, you can always ask.

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #71 on: July 31, 2010, 04:04:00 pm »
I've updated the Key concepts page a bit. I think this is about as short as I can write the basic principles down.

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: NND & AICI
« Reply #72 on: August 01, 2010, 10:03:10 am »
I have read the white paper. Some of the content has gone over my head (but this is not your fault - I'm not well versed in neural networks).

I have the jist of what it is that your program will aim to achieve. I think you stated that English is not your first language, so this could be a reason why some of your sentences are proving difficult to understand. At this stage though, this isnt a problem. obviously when if/when you choose to go commercial with this and you need to explain your ideas to others, you will definitely need to change the wording.

Anyway...

In a nutshell, I think your basic process can be summarised thus:

your program receives input (text, audio, image, etc).
it then prepares to process the input
the input is "split" and sent to different processors
many different processors are now acting concurrently, on the information received
each processor runs in its own thread
each processor will then come up with its best response.
if no answer can be found, the processor "dies"
if an answer can be found, the processor returns its response to your (main) program
after all responses from the processors have been received, your program decides which response to deliver to the user

The name of your (main) program is called "designer" or "n2d" (I'm still not 100% sure about this).

Is the above correct?

Now, also, at present, if I gave the following input:
My name is Abu.
What is my name?


How many threads (approximately), will be used to derive a response to the 2nd line of input?


In your white paper you state that current CPUs dont have enough cores to run the program optimally. My own program is currently using about 10 threads, to come up with responses, though as my program develops this will increase substantialy. At present, I have not encountered any problems with regards to performance, which I havent been able to solve.

I actually contend that modern hardware is good enough to handle multithreaded programs.

What sort of hardware are you developing your program on?
www.aiproject.co.uk
Natural Language Processing

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #73 on: August 01, 2010, 02:33:52 pm »
-Yes, English is not my main language.
-Your almost there: I don't split the input to be handled by multiple processors. Initially, all input always starts on 1 processor: it's the processor itself that splits into multiple instances, all of them identical to the first, but with 1 small difference in each. For instance, if a processor wants to transform the word 'call' into it's part of speech and finds 2 possibilities (that can not yet be reduced to 1), the processor will perform a split, so both possibilities can be tried.
 It's exactly this trick which is not possible on current hardware (no X86 instruction to perform this, impossible to do a set up  of a single core correctly, using any kind of X86 instruction combination). To solve this, I had to make a virtualization of a processor design that is able to do this. Basically, I made something similar to VMWare, but not for an X86 but something new. This works, but there is an enormous performance penalty for this trick (and others, required to handle multi threading issues that would better be done in hardware).   That's why I made the statement about new hardware design.
To put it differently: all current hardware processors are based on the Von Neumann principle. My virtualization isn't.
-Let me do some tests about the nr of  threads Aici is currently using for your examples (it varies).

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: NND & AICI
« Reply #74 on: August 01, 2010, 03:11:26 pm »
Initially, all input always starts on 1 processor: it's the processor itself that splits into multiple instances, all of them identical to the first, but with 1 small difference in each. For instance, if a processor wants to transform the word 'call' into it's part of speech and finds 2 possibilities (that can not yet be reduced to 1), the processor will perform a split, so both possibilities can be tried.
It's exactly this trick which is not possible on current hardware (no X86 instruction to perform this, impossible to do a set up  of a single core correctly, using any kind of X86 instruction combination).

Right. Is it not possible for your to have 1 processor, in the first instance, analyse the input.
It then decides that there are 2 possible paths to take, to analyse the input.
It then decides to split the calculation.

At this point, is not possible for you simply to create 2 different threads, so that each thread concurrently, analyses the input.
After BOTH threads have completed their work, the output is displayed to the user?

Surely by using 2 (or more threads), you can achieve your aim of splitting up the analysis of the input data?
www.aiproject.co.uk
Natural Language Processing

 


AI controlled F-16, for real!
by frankinstien (AI News )
June 15, 2024, 05:40:28 am
Open AI GPT-4o - audio, vision, text combined reasoning
by MikeB (AI News )
May 14, 2024, 05:46:48 am
OpenAI Speech-to-Speech Reasoning Demo
by MikeB (AI News )
March 31, 2024, 01:00:53 pm
Say good-bye to GPUs...
by MikeB (AI News )
March 23, 2024, 09:23:52 am
Google Bard report
by ivan.moony (AI News )
February 14, 2024, 04:42:23 pm
Elon Musk's xAI Grok Chatbot
by MikeB (AI News )
December 11, 2023, 06:26:33 am
Nvidia Hype
by 8pla.net (AI News )
December 06, 2023, 10:04:52 pm
How will the OpenAI CEO being Fired affect ChatGPT?
by 8pla.net (AI News )
December 06, 2023, 09:54:25 pm

Users Online

237 Guests, 0 Users

Most Online Today: 254. Most Online Ever: 2369 (November 21, 2020, 04:08:13 pm)

Articles