Re pattern mining in general: The vision I had for pattern mining had more to do with observation, than with exploration. So, for example, a child watches an adult perform some task, and tries to copy that performance. Its easier to find out what's important by watching many performances: one looks for the common, frequent, repeated parts of the performance, and ignores everything that varies or is different from one performance to the next.
A performance could be any physical or verbal task. The idea is to observe common patterns that are already occurring in the environment. So I was a little surprised to read that the actual demo does random exploration, and then tries to deduce "what worked". Yes, clearly, if a task is successfully repeated multiple times in different ways, then one can look to see what is common and frequent in the successful runs. That is one of the tricks that both scientists and comedians use to discover what works/what is funny. But random exploration, de novo, is a LOT harder than simply watching someone who already knows how to do something, and imitating them. So I am surprised a bit... ---linas On Wed, Jun 29, 2016 at 5:20 AM, Shujing Ke <[email protected]> wrote: > Hi, > > The pure pattern miner test is a pure OpenCog thing, doesn't require the > Unity3d game project. It has two modes, a single machine mode, and a > distributed mode, see > http://wiki.opencog.org/wikihome/index.php/Pattern_Miner They both have > been merged into the main Opencog branch before the end of last year. If > you follow this wiki page, please use the one in the main branch. But > because I haven't checked it again since this year, so maybe some parts in > OpenCog it depends on have changed and the Pattern Miner is still last > year's version. I will try to test it again later when I have time. > > Yes, the current developing branch is integrating with the Embodiment > client to recognize patterns by unsupervised learning from other scripted > NPCs' behaviour in the Unity3d game world for a demo in my PhD thesis. > Because I got the impression that the new Embodiment system is in Ros now, > and it is for connecting to the robots instead of Unity3d game world. > There are 3 reasons I chose to use the old embodiment + unity3d game world: > > 1. The demo I am making is to do unsupervised learning from a noisy and > multi-contextual environment, needs to be easy to script the NPC agents to > do a lot of random different high level actions, like walk to something, > pick up something, eat something, drop something, even using magic to heal > someone, open chests with a key....It will be hard to script a lot of NPC > robots to do all of these. > > 2. If we want to connect the Pattern Miner to current robotic project, it > will also require a computer vision processor to recognize low-level > robotic actions first before all the perceived knowledge can all be turned > into Atoms in the AtomSpace, which I assume won't become matured and work > perfectly with the whole OpenCog in near future. > > 3. For a more visible complete demo, after the Pattern Miner found a > pattern it need a planner to work together to use the new found pattern in > planning, and then a new plan can be sent to the client for execution. > Since I am not there anymore, and to debugging the planner and the whole > action execution pipeline from OpenCog embodiment to a robot and feedback > to OpenCog is very difficult for me. And is probably also require a lot of > complex robotic mechanism implementation which I am not good at. > > But once the perceiving modules and action execution modules are all > implemented and integrated well with the robots and OpenCog, it should not > be hard to integrate my current developing stuff with the new Embodiment > system. > > BTW, for anyone who is interested about what exactly my current demo can > do: > > *The motivation:* > Any other kinds of learning in AI all require manually pick the learning > materials, examples for a certain task for the agent to learn from. But > real human level intelligence is able to just observe the whole world, > without pre-assigned any tasks, just learning every useful things from the > world. And once a new task is given, a human can search their memory and > find out a solution to solve it. It's also different from sequence > recognize, a sequence for a task is not always continuous, it can be > disturbed. So the Pattern Miner is aiming at figure out the cause and > effect for every single action, and then using planning / reasoning to make > them into a sequence when given a task. > > *The demo content: * > There are two different tasks in the game world: open a chest, heal an > animal. > There are a lot of NPCs doing random actions including the two tasks in > the game world at the same time, for example: NPC A first pick up an apple; > and then walk to a rabbit, apply healing magic to heal it; walk to a yellow > key; walk around randomly; drop or eat the apple; walk to a yellow chest; > open the yellow chest with the yellow key it is holding. > At some point, give the AI agent a goal: open the black chest. Then it > would be able to know from Pattern Miner that using the same color of key > can open the same color of chest. If given a goal to heal the cat instead, > the AI agent will also know from the Pattern Miner that applying healing > magic to an animal can heal it. > > On Wed, Jun 29, 2016 at 9:56 AM, Ben Goertzel <[email protected]> wrote: > >> Nil, among other factors, she is using a lot of the old Embodiment >> code that you deleted from the master branch... >> >> However, the Pattern Matcher itself should not rely on any of this old >> Embodiment code, so I think she could likely merge her improved PM >> into master... >> >> What she is doing (among other things) is using the PM to recognize >> patterns in the Atomspace resulting from a game character's >> perceptions and actions, where the game character is running around in >> the old Unity3D game world, controlled by the old Embodiment >> >> There is no conceptual reason not to just port all this to Minecraft, >> but Shujing hasn't had time to do that, as she's been doing this work >> in a hurry as it's part of what she needs to do to finish her PhD >> thesis... >> >> At least the above is my understanding; Shujing can correct me if I'm >> wrong! >> >> >> >> >> On Wed, Jun 29, 2016 at 3:52 PM, 'Nil Geisweiller' via opencog >> <[email protected]> wrote: >> > Apparently this branch was started a year ago. >> > >> > Shujing, what prevents you from merging it into the master? >> > >> > Nil >> > >> > >> > On 06/29/2016 10:45 AM, Ben Goertzel wrote: >> >> >> >> True... though I wonder what incompatibilities that branch has, as >> >> compared to master... >> >> >> >> On Wed, Jun 29, 2016 at 3:39 PM, AmeBel <[email protected]> >> wrote: >> >>> >> >>> Hi, >> >>> >> >>> FYI, the in-development patterminer can be found on the >> >>> PatternMinerEmbodiment branch @ opencog/opencog/ repo. >> >>> >> >>> On Wednesday, June 29, 2016 at 3:16:13 PM UTC+8, Nil wrote: >> >>>> >> >>>> >> >>>> Well, I haven't moved past this issue, I think this other error is >> just >> >>>> a different manifestation of the same problem... >> >>>> >> >>>> Nil >> >>>> >> >>>> On 06/29/2016 10:00 AM, Nil Geisweiller wrote: >> >>>>> >> >>>>> Actually, I've moved past that issue (I didn't use the right conf), >> but >> >>>>> I've got another, perhaps more worrisome >> >>>>> >> >>>>> [2016-06-29 06:58:08:109] [INFO] Loading module >> >>>>> >> >>>>> >> >>>>> >> "/home/nilg/OpenCog/opencog/build/opencog/learning/PatternMiner/libTestPatternMinerAgent.so" >> >>>>> >> >>>>> [2016-06-29 06:58:08:109] [ERROR] Caught signal 11 (Segmentation >> fault) >> >>>>> on thread 140204635740224 >> >>>>> Stack Trace: >> >>>>> >> >>>>> I guess I'll have to fire up gdb. Meanwhile, any feedback is >> >>>>> appreciated. >> >>>>> >> >>>>> Nil >> >>>>> >> >>>>> On 06/29/2016 09:55 AM, Nil Geisweiller wrote: >> >>>>>> >> >>>>>> Hi, >> >>>>>> >> >>>>>> I'm trying to use the pattern miner. I'm posting here first before >> >>>>>> creating a github issue in case it is a silly problem. >> >>>>>> >> >>>>>> I'm loading the test in the cogserver >> >>>>>> >> >>>>>> opencog> loadmodule >> >>>>>> >> >>>>>> >> >>>>>> >> /home/nilg/OpenCog/opencog/build/opencog/learning/PatternMiner/libTestPatternMinerAgent.so >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> and getting >> >>>>>> >> >>>>>> [2016-06-29 05:43:14:123] [WARN] Unable to load module >> >>>>>> >> >>>>>> >> >>>>>> >> "/home/nilg/OpenCog/opencog/build/opencog/learning/PatternMiner/libTestPatternMinerAgent.so": >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> /home/nilg/OpenCog/opencog/build/opencog/learning/PatternMiner/libPatternMiner.so: >> >>>>>> >> >>>>>> undefined symbol: _ZN7opencog11OBJECT_NODEE >> >>>>>> >> >>>>>> Any idea? >> >>>>>> >> >>>>>> Nil >> >>> >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> Groups >> >>> "opencog" group. >> >>> To unsubscribe from this group and stop receiving emails from it, >> send an >> >>> email to [email protected]. >> >>> To post to this group, send email to [email protected]. >> >>> Visit this group at https://groups.google.com/group/opencog. >> >>> To view this discussion on the web visit >> >>> >> >>> >> https://groups.google.com/d/msgid/opencog/387b5bac-3b76-49c0-b650-40d6f8396ea2%40googlegroups.com >> . >> >>> >> >>> For more options, visit https://groups.google.com/d/optout. >> >> >> >> >> >> >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "opencog" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at https://groups.google.com/group/opencog. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/opencog/57737E38.4010904%40gmail.com. >> > >> > For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> Ben Goertzel, PhD >> http://goertzel.org >> >> Super-benevolent super-intelligence is the thought the Global Brain is >> currently struggling to form... >> > > -- > You received this message because you are subscribed to the Google Groups > "opencog" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/opencog. > To view this discussion on the web visit > https://groups.google.com/d/msgid/opencog/CALpD4-L4Y21F7FLVO_o8TMxfzOPTSbR5rq6-RpOGpPOpCBeRvQ%40mail.gmail.com > <https://groups.google.com/d/msgid/opencog/CALpD4-L4Y21F7FLVO_o8TMxfzOPTSbR5rq6-RpOGpPOpCBeRvQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/opencog. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAHrUA35QVS2HOVJW2_tWTmqSryru8%2BGZnsrCfM%3DzdsbO_s7o-g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
