Ai Dreams Forum

Artificial Intelligence => AI News => Topic started by: infurl on February 14, 2018, 09:29:06 pm

Title: AIRIS unsupervised one shot learning
Post by: infurl on February 14, 2018, 09:29:06 pm
https://airis-ai.com/

This is a toy AGI project that is demonstrating some very impressive results across multiple domains. The video is well worth the 10 minutes that it takes to watch. Would anyone care to speculate about the algorithms involved?
Title: Re: AIRIS unsupervised one shot learning
Post by: Korrelan on February 18, 2018, 02:12:52 pm
Very well produced video and interesting AI.

If I was to speculate about the type of AI/ machine learning schema being used, I would say a reward driven variation of the same type as my pixel bot project uses.

http://aidreams.co.uk/forum/index.php?topic=10804.msg49555#msg49555

Or indeed my B-Bot demo…

http://aidreams.co.uk/forum/index.php?topic=12820.0

The point of the B-Bot was to demonstrate that complex behaviours can be exhibited by a very simple AI system when driven by the richness of the environment.

Anthropomorphism also plays a part, when we see a complex behaviour we tend to assume/ imply agency.

Actually the B-Bot just uses a simple list.  The pattern of what it sees is saved to a list along with an action, initially given by the human operator.  As the user moves around, they are basically teaching B-Bot to avoid walls and chase green objects. 

When you see this… do this… that’s it.

As the list grows there is a increasing chance that the bot can find a action related to what it’s currently ‘seeing’, it learns through experience.

AIRIS also seems to be using a ‘gods’ eye view of its environment; it would be interesting to see how it performed with a ‘bots’ eye view, where it couldn't ‘see’ over the walls etc.

Cool project.

 :)
Title: Re: AIRIS unsupervised one shot learning
Post by: keghn on February 18, 2018, 03:25:45 pm
 For a beginning AGI, a above view is way too advance. Just like giving  the AGI the ability to chat right off the bat.
 A real AGI system would  be more like a FPV system or simulation. Later on the AGI would learn where it is in the
environment and how to communicate. 
 Human are not perfect. The have are born with primitive instinct to them get going. But later in life it hold them back.
 Animals and especially insects are have really good primitive instinct. Really good to get them up an running. But it pins
them as organic robot and they cannot exceed programming. 

AI2-THOR Interactive Simulation Teaches AI About Real World: 
https://spectrum.ieee.org/tech-talk/robotics/artificial-intelligence/interactive-simulation-teaches-ai-about-real-world   



Title: Re: AIRIS unsupervised one shot learning
Post by: Korrelan on February 18, 2018, 10:33:29 pm
I spent an hour and re-produced a simple version of the game editor AIRIS is using; I also implemented the same type/ method of AI.

Teaching the AI to understand a simple maze... to grab food and to wait at doors...

https://www.youtube.com/watch?v=Db1wf60a6ww

But it’s still driven by a simple list.

 :)
Title: Re: AIRIS unsupervised one shot learning
Post by: infurl on March 22, 2018, 07:27:13 pm
I spent an hour and re-produced a simple version of the game editor AIRIS is using; I also implemented the same type/ method of AI.

Only an hour? How much code did you have to write for this? It's actually very impressive.
Title: Re: AIRIS unsupervised one shot learning
Post by: Berick on March 26, 2018, 12:51:51 pm
Hi everyone, I found this forum through my site stats. I'm the developer of AIRIS and I'm happy to talk a bit about how it works.

It's a lot like GOFAI. There's no neural networks involved. It uses causality based symbolic rules that it self-generates through observations of its raw inputs.

I just recently published an article on my site that goes into a lot more detail about the theory and concepts behind it. If you have more questions after reading that, feel free to ask.

https://airis-ai.com/2018/03/08/anatomy-of-prediction-and-predictive-ai/ (https://airis-ai.com/2018/03/08/anatomy-of-prediction-and-predictive-ai/)

I always enjoy finding active AI communities like this, and I'm looking forward to chatting with you all.

P.S. Thanks for the kind words!
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 26, 2018, 02:52:13 pm
What type of tree search does it use?  I'm glad to see work done on non neural networking. Too many big companies like deepmind using supercomputers to make it seem better. Even deepmind is now branching away from neural networking. When they added a Monte Carlo tree search to AlphaGo it became significantly better.
Title: Re: AIRIS unsupervised one shot learning
Post by: Berick on March 26, 2018, 11:16:22 pm
It uses depth-first as it generates each new model. It evaluates the new model to see which is closest to the goal and generates a new set of models from the closest model. So it's kind of like a Monte Carlo, but the sampling is directed by the AI instead of random.

The evaluation heuristic can have a major impact on the AI's behavior. If you skew it towards novelty it try different ways of doing things that it already knows and experiment with things it hasn't seen before even if they are out of the way of its primary goal. If you skew it toward familiarity it will keep doing things the first way that it learns even if there are better ways available and it will ignore new things. It took a while to figure out a good balance!

For example, here is a "blooper" from a more novelty skewed heuristic. It evaluated "trying to push the wall in the doorway closest to the battery" as the optimal novelty every time it picked up keys or opened doors elsewhere.

(https://aidreams.co.uk/forum/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FrFTUBB3.gif&hash=2e5b6fd0f765cb8b6afee242bb9545da43e494e6)
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 26, 2018, 11:33:23 pm
Looks great. Is there any talk about the next level, making sentient life? That is, connecting it to real world or the Internet, let it learn, and eventually creating AGI.

My advice is to make everything as flexible and adaptive as possible. IMO that's the only way it can become sentient like humans. It should learn from experience. It should periodically (quite often) think about (db lookups, analysis & pattern recognition functions, quick tree searches) if it wants to continue on it's present path of thought or change directions. For example, it could be in a particular tree search, 5th ply, and all of a sudden it might want to change it's mind and end the entire tree search with the best answer so it can start thinking about something else. Humans do the same thing where we probe the situation and decide if we want to continue or change path.
Title: Re: AIRIS unsupervised one shot learning
Post by: Berick on March 26, 2018, 11:49:18 pm
Thanks! I've just recently added a couple people to my team (was a solo project up till now) and we are working on porting the code to python so that we can test it on current AI benchmarks like OpenAi's Gym environments (https://gym.openai.com/). We're also looking at testing it in simple robotics applications. I would love to put together a robot that can take on Ben Goertzel's coffee challenge! The idea is to approach further development incrementally and in a controlled way. We don't want to just let it loose on the internet yet without working out the kinks.

You bring up a good point about giving up searches, and that's partly what's going on in the animation above. The AI is hitting a dynamic search depth limit that it sets itself based on how long it has taken it to find solutions in the past. Once it hits that limit, it tries the best thing it thought of.
Title: Re: AIRIS unsupervised one shot learning
Post by: infurl on March 27, 2018, 12:11:17 am
As you are already running into resource limitations it may be time to consider more sophisticated search strategies. As a general rule, depth first search finds a solution the fastest but it is unlikely to find an optimal solution first and it can easily run out of resources if the problem is hard. Alternatively, breadth first search will find an optimal solution first but it runs out of resources even faster because of all the states that have to be stored. A combination of the two called iterative deepening search works best.

https://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search

Even better than brute force search is informed search where you use knowledge about the problem to search more likely nodes first. Something like A* (a-star) search is very easy to implement and often vastly more efficient than uninformed search algorithms. You can combine all these methods to get very fast searching indeed.

https://en.wikipedia.org/wiki/Iterative_deepening_A*

If you explore these options I would be keen to learn how much impact (if any) they have. You mentioned in your video that character recognition took a prohibitively long time. Perhaps it would be faster with better search methods. It's an unfortunate fact that symbolic processing produces remarkable results when applied to toy problems but rapidly becomes infeasible with real world problems owing to the combinatorial explosion of factors. Nevertheless, I prefer symbolic methods because as more and more efficient algorithms are developed, and computers become faster, they become more and more useful and effective over time.
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 27, 2018, 12:30:08 am
Thanks! I've just recently added a couple people to my team (was a solo project up till now) and we are working on porting the code to python so that we can test it on current AI benchmarks like OpenAi's Gym environments (https://gym.openai.com/). We're also looking at testing it in simple robotics applications. I would love to put together a robot that can take on Ben Goertzel's coffee challenge! The idea is to approach further development incrementally and in a controlled way. We don't want to just let it loose on the internet yet without working out the kinks.

You bring up a good point about giving up searches, and that's partly what's going on in the animation above. The AI is hitting a dynamic search depth limit that it sets itself based on how long it has taken it to find solutions in the past. Once it hits that limit, it tries the best thing it thought of.

Are you sure you want to port to python? That would make it a lot more difficult to convert to c/c++, which are high performance languages.

I know what you mean, one step at a time. Just make sure you're going in a good direction. The AI itself looks like it's going in a good direction. Sometimes it's good to step back and take a good look at things. I'm sure you've done this, but try to analyze how you think. Take note how ridiculously flexible the human mind is and how it's constantly learning, updating, pattern recognition, updating, updating, updating. So far the problem with similar AI code is that it's so rigid. Neural networking usually isn't rigid, but it's as slow as molasses and IMO present hardware can't create anything close to a human neural network brain. Your type of code is what will create sentient life with present hardware, eventually.
Title: Re: AIRIS unsupervised one shot learning
Post by: Berick on March 27, 2018, 12:48:02 am
infurl: It's not the search that is computationally expensive (It's already using IDDFS) , it's the model generation. The bottleneck comes from using a serial processor to do work that is much better suited for a GPU. Once we integrate parallel processing there will be a massive performance gain.

I'm also curious to see how it does outside of toy problems. In theory, it should work OK but we'll just have to see!

unreality: I'm not worried about raw performance at this stage. I'm more interested in the ease of plugging it in to industry benchmarks to see how it compares with the big boys. For example, getting one agent to learn and be able to play all of the Atari games is way more important than playing one Atari game really fast.

Take note how ridiculously flexible the human mind is and how it's constantly learning, updating, pattern recognition, updating, updating, updating.

I agree, and corrigibility is one of the key things that makes this method work as well as it does.
Title: Re: AIRIS unsupervised one shot learning
Post by: ranch vermin on March 27, 2018, 12:56:49 am
python is a compiled language, goes as fast as c doesnt it?
And about symbolic problems only suited to toys, that isnt true, because we all "grab a cup of coffee to drink it and get a battery",  its just a more courser view of the situation than all the real photo and video which confuses and dumbfounds the ai programmer. 
Title: Re: AIRIS unsupervised one shot learning
Post by: Berick on March 27, 2018, 01:29:20 am
Nope, python is definitely a lot slower. (http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=python3&lang2=gpp)

Obviously I agree that symbolic problems aren't limited to toys, but with the notoriously historic failures of previous symbolic systems it's understandable why it's seen as a dead end.
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 27, 2018, 03:08:50 am
I hope it does well in the benchmarks. That's all good and it should help in certain areas. I'm taking a different path with my AI, just aiming for the ultimate goal of an actual sentient being at least comparable to humans. Written in c, which is faster than c++. Actually when you start comparing languages with c & c++ it can be difficult. Some coders have the ability to write ultra high performance c code, which IMO is a rarity. That kind of coding takes a long time, and it might not be such a huge pay off. Maybe 1.5 to 5 times faster. What's a lot more important is RAM. My custom RAM DB is thousands of times faster than a mysql DB. You probably won't need to worry about RAM for awhile. When you reach the phase of transforming it into a sentient AGI, then RAM might be a huge issue. Some hardware info you might want to look at one day:

Dell PowerEdge M910 Motherboard, 4 cpus, 32 memory slots, up to 1TB RAM. There are newer motherboards that take better cpus, but if you're on a budget and RAM is highest priority then keep that in mind. Sometimes you catch one on ebay for about $130. The RAM though, wow, expensive. The cheapest I found was $19 per 16GB (2x8GB) 667 MHz PC2-5300P 2Rx4 DDR2, Server Memory Tested. That will take it up 0.5TB for a total of $19 * 32 = $608. That's ultra cheap and I'm not sure that RAM will work the M910. Next step up is $30 16GB (2x8GB) 1600MHz DIMM DDR3 DDR-3 Atech, $30 * 32 = $960 = 0.5TB RAM. Very inexpensive. 32GB is 0R45J   32GB*   PC3L-10600R   4Rx4   1333 MHz   1.35V   $192 = $6144 = 1TB RAM. That works well with the M910. Another option is a used server. You can easily find one on ebay with 64GB RAM for about $160 (RAM included), but I don't think that's enough for true AGI.

If 1TB isn't enough there's this beast: HP Z8 PC, 3TB RAM and 48TB disk.
https://petapixel.com/2017/09/13/hp-z8-pc-can-upgraded-insane-3tb-ram-48tb-storage/
Z8 cost about $2500 as a barebones workstation. You’ll need to shell out mega $ for the RAM.

Good luck on your project!
Title: Re: AIRIS unsupervised one shot learning
Post by: Berick on March 27, 2018, 03:17:24 am
Thanks! A sentient, human-level or above AI is ultimately our goal too. We're just taking it nice and slow.
Title: Re: AIRIS unsupervised one shot learning
Post by: ranch vermin on March 27, 2018, 03:40:10 am
Dell PowerEdge M910 Motherboard, 4 cpus, 32 memory slots, up to 1TB RAM. There are newer motherboards that take better cpus, but if you're on a budget and RAM is highest priority then keep that in mind. Sometimes you catch one on ebay for about $130. The RAM though, wow, expensive. The cheapest I found was $19 per 16GB (2x8GB) 667 MHz PC2-5300P 2Rx4 DDR2, Server Memory Tested. That will take it up 0.5TB for a total of $19 * 32 = $608.

Wow thats a good find,   if u were being lazy you could allocate the whole thing in one block of content addressable memory for a 39 bit content key :)  and wrap the overshoot.

One thing you should look up is fpga cards  they are faster than gpus and sometimes they pack 100 gig signal lines into them!!!   thats if you could believe what I was looking at.   that means the pulse waveform is troughing per millimetre down the cable, and it needs a measured super demuxer and muxer, to deal with the fact the width of the wave is so short.
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 27, 2018, 07:21:38 am
Wow thats a good find,   if u were being lazy you could allocate the whole thing in one block of content addressable memory for a 39 bit content key :)  and wrap the overshoot.

I think a custom AI ASIC chip consisting of a CAM type DB mixed with circuit driven parallel tree searching is the future, and equates to true ASI. DB searches done in one or two clock cycles.
Title: Re: AIRIS unsupervised one shot learning
Post by: ranch vermin on March 27, 2018, 08:34:46 am
when i was a kid i used to pretend to be a scientist and talk like an engineer -  but now i can do it for real but pity i just take it for granted. *tsk tsk*
Title: Re: AIRIS unsupervised one shot learning
Post by: infurl on March 27, 2018, 08:57:07 am
He might as well be talking like a pirate for all the sense he's making. He's talking rubbish again and he was going so well there for a while.
Title: Re: AIRIS unsupervised one shot learning
Post by: ranch vermin on March 27, 2018, 09:25:53 am
Oh shit I even sounded good for a while?  im retarded mate.
check out one of my looper inventions, dont bother yourself except to laugh at the mad fool :) dont worry im used to it
   
https://www.aussiearcade.com/showthread.php/82593-single-number-stack-memory?highlight=

And you can hear how retarded I sound in this one.  its a fact, im spastic. :)

https://www.youtube.com/watch?v=JTQUqqoPk20&t=24s
Title: Re: AIRIS unsupervised one shot learning
Post by: infurl on March 27, 2018, 09:40:48 am
No Ranch, sorry I wasn't referring to anything you said. I was talking about the technospeak gobbledegook in the message before that. If it does make sense to anyone I'd love to hear an explanation.
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 27, 2018, 04:49:34 pm
He might as well be talking like a pirate for all the sense he's making. He's talking rubbish again and he was going so well there for a while.
No Ranch, sorry I wasn't referring to anything you said. I was talking about the technospeak gobbledegook in the message before that. If it does make sense to anyone I'd love to hear an explanation.

More ad hominem. Care to prove your claims? LOL.
Title: Re: AIRIS unsupervised one shot learning
Post by: unreality on March 27, 2018, 04:54:05 pm
when i was a kid i used to pretend to be a scientist and talk like an engineer -  but now i can do it for real but pity i just take it for granted. *tsk tsk*

What kind of an engineer? I design electrical circuits (EE) and write software (SE) if you ever want to exchange thoughts. Same goes for physics.

SEs are a dime a dozen haha. They're everywhere. Lets talk leading edge cpu design, in another thread of course.