[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-20 Thread Ben Goertzel
*** But we need "fast and easy to create, destroy, change, highly mutable, but searchable" entities. So, this is not only technical, but also conceptual problem... I would really like to hear your opinion on this. What should we do? *** Hmm, well when I think about the algorithms involved, I do n

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-20 Thread Ben Goertzel
> One question is: Is probabilistic logic an appropriate method for the > core of an AGI system, given that this AGI system must proceed largely > on observation-based semantics ... > > I think the answer is YES > > Another question is: Is the current OpenCog infrastructure fully ready > to support

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread 'Nil Geisweiller' via opencog
Hi Alexey, these are valid points. Currently, as you probably already understand, the (only?) way to match values is to resort to grounded schemata, see for instance https://github.com/opencog/opencog/blob/ea987668ed713c55c2df087b81f55736d7469772/opencog/learning/miner/rules/shallow-abstracti

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Alexey Potapov
> > Hmm, well when I think about the algorithms involved, I do not see why > the Pattern Miner and Pattern Matcher would be unable to search for > patterns involving Values... I think they could It's true the > code doesn't do this now though... > Yes, it should be quite possible algorithmica

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Alexey Potapov
Hi Nil, Currently, as you probably already understand, the (only?) way to match > values is to resort to grounded schemata. > Conceptually, this might be ok. We have conscious processes implemented in a self-reflective Atomese and operating over atoms, and subconscious processes operating over va

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Linas Vepstas
Hi Alexey, I will answer this email in several parts. Re: atoms vs values, my thinking is this: -- Use Atoms to represent the "topology" of a network: what is connected to what. Atoms express (long-term, slowly-varying) relationships between things. -- Use Values to hold fast-changing data. F

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Alexey Potapov
Linas, > > I will answer this email in several parts. Re: atoms vs values, my > thinking is this: > > -- Use Atoms to represent the "topology" of a network: what is connected > to what. Atoms express (long-term, slowly-varying) relationships between > things. > > -- Use Values to hold fast-chan

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Linas Vepstas
Ongoing breakup of TL;DR into small pieces. On Sun, May 20, 2018 at 10:53 AM, Alexey Potapov wrote: > > Both tasks can be considered as a part of the Semantic Vision problem, but > their solution can be useful in a more general context. > > *OpenCog + Tensorflow* > Depth of OpenCog+Tensoflow int

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Linas Vepstas
On Sun, May 20, 2018 at 4:45 PM, Ben Goertzel wrote: > > > Hmm, well when I think about the algorithms involved, I do not see why > the Pattern Miner and Pattern Matcher would be unable to search for > patterns involving Values... > Here is the key difference between the two: Atoms know what the

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Linas Vepstas
On Mon, May 21, 2018 at 3:40 PM, Alexey Potapov wrote: > > Yes, this is clear (although I'd like to know more about your ideas > regarding connectors), > Sure; say when. I can talk about them for days. Unfortunately, the core idea is so simple, so obvious, that it becomes very difficult to talk

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread 'Nil Geisweiller' via opencog
On 05/21/2018 10:51 PM, Alexey Potapov wrote: processes operating over values in a native code. However, what we lack in this case is meta-computations: specialization of a conscious decision-making w.r.t. some specific task should yield its efficient implementation in a native code (or trained

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread 'Nil Geisweiller' via opencog
On 05/21/2018 11:11 PM, Linas Vepstas wrote: actually make the atom.  Atoms are also held in an index, so that they can be searched by name, by type. Insertion into an index is expensive -- and stupid, if you never use the index.  Values avoid this overhead. Could this indexing be made lazy?

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread 'Nil Geisweiller' via opencog
On 05/22/2018 08:34 AM, Nil Geisweiller wrote: Do you mean that this link is needed for Pattern Matcher to explicitly know that we want to apply TimesLink, etc. to Values? I guess, it makes sense, although this might be not too efficient, indeed. The atomization might be the problem, but if it

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Alexey Potapov
Linas, > >> Yes, this is clear (although I'd like to know more about your ideas >> regarding connectors), >> > > Sure; say when. I can talk about them for days. Unfortunately, the core > idea is so simple, so obvious, that it becomes very difficult to talk about > the advanced concepts, so this

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Alexey Potapov
Nil, > > What seems to happen in human is that high confidence knowledge tend > to go subconscious, while less confidence knowledge tend to be the > subject of the attention. So for instance a at first you may focus on > edge detection, etc, once you've built some high confidence model > about th

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread 'Nil Geisweiller' via opencog
Alexey, On 05/23/2018 03:44 PM, Alexey Potapov wrote: Nil, What seems to happen in human is that high confidence knowledge tend to go subconscious, while less confidence knowledge tend to be the subject of the attention. So for instance a at first you may focus on edge detectio

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Tue, May 22, 2018 at 12:34 AM, Nil Geisweiller wrote: > >> What do you suppose GetValueLink to do? >> > > For instance > > GetValueLink > > > > would return the value corresponding to `key` in `atom`. Note that > `key` is itself an atom. However the returned value may not > necessarily

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Tue, May 22, 2018 at 12:48 AM, Nil Geisweiller wrote: > On 05/21/2018 11:11 PM, Linas Vepstas wrote: > >> actually make the atom. Atoms are also held in an index, so that they >> can be searched by name, by type. Insertion into an index is expensive -- >> and stupid, if you never use the inde

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Tue, May 22, 2018 at 1:05 AM, Nil Geisweiller wrote: > On 05/22/2018 08:34 AM, Nil Geisweiller wrote: > >> Do you mean that this link is needed for Pattern Matcher to explicitly >>> know that we want to apply TimesLink, etc. to Values? I guess, it makes >>> sense, although this might be not to

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Wed, May 23, 2018 at 7:19 AM, Alexey Potapov wrote: > Linas, > > > >> >>> Yes, this is clear (although I'd like to know more about your ideas >>> regarding connectors), >>> >> >> Sure; say when. I can talk about them for days. Unfortunately, the core >> idea is so simple, so obvious, that it

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Wed, May 23, 2018 at 9:00 AM, Nil Geisweiller wrote: > I mean when run by cog-execute!, which also happens to be the standard way of invoking the pattern matcher. Any atom type that derives from FunctionLink has the C++ method virtual Handle execute() const; method on it ... which cog

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread 'Nil Geisweiller' via opencog
On 05/24/2018 07:24 AM, Linas Vepstas wrote: Could this indexing be made lazy? No, its fundamental to what the definition of the atomspace is. Its the only way that you can have a single, unique (Concept "cat") in the system. But the notion of uniqueness is only relevant when you query so

[opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Thu, May 24, 2018 at 1:18 AM, Nil Geisweiller wrote: > On 05/24/2018 07:24 AM, Linas Vepstas wrote: > >> Could this indexing be made lazy? >> >> >> No, its fundamental to what the definition of the atomspace is. Its the >> only way that you can have a single, unique (Concept "cat") in the

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Alexey Potapov
2018-05-22 0:11 GMT+03:00 Linas Vepstas : > > How many are we talking about, here? dozens, hundreds of objects? hundreds > of predicates per object? That is 100x100 = 10K and, currently, you can > create and add maybe 100K atoms/sec to the atomspace (via C++, less by > scheme, python, due to wrapp

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread Ben Goertzel
Hi Alexey, > Yes, it should be quite possible algorithmically. And that's exactly why we > discuss this - because we want to use PM algorithms on Values. However, to > implement this, some architectural and organizational decisions should be > made (should we generalize existing values to tensors

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-21 Thread 'Nil Geisweiller' via opencog
On 05/22/2018 02:11 AM, Alexey Potapov wrote: Perhaps we need an IsLeftOfLink that knows automatically to obtain the "*-centroid-*" value on two atoms, and then return true/false depending on the result (or throw exception if there is no *-centroid-* value.) Sorry, I did't not p

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-22 Thread Alexey Potapov
Hi Ben, > I think it's better, if possible, to figure out a way to suitably > modify the core PM rather than using a separate repo ... > > However, I guess the PM tweaks would need to be done someone on your team, > as > Linas and Nil probably are too busy and we don't have a lot of others > who

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-22 Thread Ben Goertzel
> I have also an idea about using evolutionary programming for training > combined Atomese/DNN models (e.g. for SynerGAN-ish models or VQA)... Ah, interesting. Yes, an advantage of evolutionary algorithms is that they apply to basically any data type, or any combination thereof, etc. .. They ar

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Mon, May 21, 2018 at 6:11 PM, Alexey Potapov wrote: > > > 2018-05-22 0:11 GMT+03:00 Linas Vepstas : > >> >> How many are we talking about, here? dozens, hundreds of objects? >> hundreds of predicates per object? That is 100x100 = 10K and, currently, >> you can create and add maybe 100K atoms/s

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread 'Nil Geisweiller' via opencog
On 05/24/2018 06:33 AM, Linas Vepstas wrote: > Nil also proposed to use GetValueLink... I didn't really understand that proposal. He seemed to be talking about truth values, not values in general. No, I meant values in general. So for instance if atom (Node "A") holds a FloatValue (5.2, 0.1

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
Hi Ben, I'm trying to spend just enough time to transmit all of the key design principles and constraints to Alexey and his team - (and Anton and his team) - as they are first-in-line to then diseminate this knowledge to a wider group. Transmitting this information accurately is very key, very im

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Tue, May 22, 2018 at 9:26 PM, Alexey Potapov wrote: > > > >> >> If needed we could also introduce some sort of entity that is between >> a Value and an Atom in some sense -- i.e. we could introduce some sort of >> TensorValue entity that >> >> 1) Perhaps, knows what links to it (like an Atom b

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Ben Goertzel
*** The existing architecture has room for a lot of things, a lot of freedom for designing things. I'd like to stick to it as much as possible. *** It's very understandable, however "... as possible" is key here, and it's hard to see how the current system can scalably deal with tensors from senso

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-23 Thread Linas Vepstas
On Thu, May 24, 2018 at 1:08 AM, Ben Goertzel wrote: > *** > The existing architecture has room for a lot of things, a lot of > freedom for designing things. I'd like to stick to it as much as > possible. > *** > > It's very understandable, however "... as possible" is key here, and > it's hard t

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-24 Thread Alexey Potapov
Linas, > I want to keep this conversation realistic. Sophia, today, struggles to > see human faces. > We don't talk about applying existing narrow method. These method may be needed/realistic/practical now, but they don't bring us much closer to AGI. If we were talking about 'realistic' things

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-24 Thread Alexey Potapov
> > >> > No, I meant values in general. So for instance if atom (Node "A") holds a > FloatValue (5.2, 0.1, 4.5) at key (Schema "*-my-key*-"), the following > would return something like > > (cog-execute! > (GetValueLink > (Node "A") > (Schema "*-my-key-*"))) > > (List (Number 5.2) (Number

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-24 Thread Linas Vepstas
On Thu, May 24, 2018 at 6:03 AM, Alexey Potapov wrote: > Linas, > > >> I want to keep this conversation realistic. Sophia, today, struggles to >> see human faces. >> > > We don't talk about applying existing narrow method. These method may be > needed/realistic/practical now, but they don't brin

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-24 Thread Linas Vepstas
On Thu, May 24, 2018 at 6:13 AM, Alexey Potapov wrote: > >>> >> No, I meant values in general. So for instance if atom (Node "A") holds a >> FloatValue (5.2, 0.1, 4.5) at key (Schema "*-my-key*-"), the following >> would return something like >> >> (cog-execute! >> (GetValueLink >> (Node "A

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-25 Thread Alexey Potapov
2018-05-24 8:42 GMT+03:00 Linas Vepstas : > > Actually, I want you to not think about this. I strongly believe that > pretty much anything you can think of will fit nicely into an Atom, or into > a Value. I do not want to see a third kind of "generic object system" > being created, that would be

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-28 Thread Alexey Potapov
Hi. Here are some additional thoughts on OpenCog+PPL, which I didn't include in the first message *OpenCog + PPL* One of the ideas/tasks was to make an OpenCog a “better Church”. *1. **Why is it possible* Universal probabilistic programming languages (PPLs) utilize sampling-based approa

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-28 Thread Linas Vepstas
On Mon, May 28, 2018 at 8:27 AM, Alexey Potapov wrote: > Hi. > Here are some additional thoughts on OpenCog+PPL, which I didn't include > in the first message > > *OpenCog + PPL* > > > > One of the ideas/tasks was to make an OpenCog a “better Church”. > Oooof. I wrote a long diatribe about relig

Re: [opencog-dev] Re: OpenCog, DNNs, PPLs: Atoms vs Values

2018-05-28 Thread Cassio Pennachin
> > > Oooof. I wrote a long diatribe about religion, until I realized you must > be referring to something that Alonzo Church must have written or invented. > I am not that familiar with his work, so I don't know what a "better > Church" would be. Is there some specific paper or book? > https://