massively redundant network topology description language

  • 6 Replies
  • 3507 Views
*

Zero

  • Eve
  • ***********
  • 1287
massively redundant network topology description language
« on: March 03, 2017, 01:40:06 pm »
Hi guys  :)

When you play with giant networks, for instance huge neural nets, how do you define their topology? I keep googling for tools in this area, but I can't find anything satisfying.

With a language like DOT, you can describe a directed graph by specifying relations one by one. It's like styling hair with tweezers. I'm looking for a hair brush! I would like to describe massively redundant directed graphs, with assertions like "31% of nodeGroup A listens to nodes of nodeGroup B".

Assertions should be fuzzy, and it should be possible to identify nodes by expressions, like "nodes which were active during the last 3 seconds", or "nodes which are part of nodeGroup C and nodeGroup D", or "nodes which are listening to <some_other_nodes>"...

Is there anything like that somewhere?

Thank you

*

Korrelan

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1454
  • Look into my eyes! WOAH!
    • YouTube
Re: massively redundant network topology description language
« Reply #1 on: March 03, 2017, 10:07:34 pm »
Quote
Assertions should be fuzzy, and it should be possible to identify nodes by expressions, like "nodes which were active during the last 3 seconds", or "nodes which are part of nodeGroup C and nodeGroup D", or "nodes which are listening to <some_other_nodes>"...

So something similar to SQL, but for parallel processing?

I have never come across anything that uses this kind of language.

I write all my own parallel architectures.

Though it seems to me that if you require this kind of flexibility, then storing the nodes, properties and results, etc, within a MySQL database would allow this kind of flexibility/ selection.

If you just used the database to set the initial parameters/ starting point and to record the end results; MySQL would do the job.

Update synapse set [too node]=4536 where [from node]>1234 and [from node]<1345

 :)
It thunk... therefore it is!...    /    Project Page    /    KorrTecx Website

*

Zero

  • Eve
  • ***********
  • 1287
Re: massively redundant network topology description language
« Reply #2 on: March 04, 2017, 09:19:28 am »
Quote
So something similar to SQL, but for parallel processing?

Kind of.
SQL (or a JSON store) are good candidates for backend. But if you think about it, with SQL you're still doing things one by one. How about defining architectural patterns. It's a bit like a function / procedure in imperative language : it has an interface (arguments), and it works like a testable black box. Then you use it, coding like:
Code
myNicePattern(thisGroup, thatGroup, 50%);
The syntax could be different, but you get the point.

Quote
I have never come across anything that uses this kind of language.
Well, if you have never come across anything like that, I'm pretty sure it doesn't exist :)

*

Korrelan

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1454
  • Look into my eyes! WOAH!
    • YouTube
Re: massively redundant network topology description language
« Reply #3 on: March 04, 2017, 11:47:52 am »
I was thinking more along the lines of using database records to set the initial properties of a simulation.  If each node/ neuron had a parameter record in the database you could use SQL group update commands to set the initial links, parameters, etc.  You would have a field in the table that specified an individual neurons links etc.  The simulation would read each neurons parameters from the database into memory and run the simulation.

Neuron!Name=’N1’
Neuron!group=’Hippocampus’
Neuron!link1=N234
Neuron!link2=N678
Neuron!strength=23
Etc.

You could use the ‘Insert’ batch commands to create neuron records and ‘update’ batch commands to affect parameters en masse.

Result variables could be moved from memory back into the database at the end of the simulation run for easy viewing and SQL manipulation.

Quote
Well, if you have never come across anything like that, I'm pretty sure it doesn't exist

Not necessarily, I don’t look for third party solutions because I’ve always just wrote my own custom solutions.

I will keep an eye out now though.

 :)
It thunk... therefore it is!...    /    Project Page    /    KorrTecx Website

*

Zero

  • Eve
  • ***********
  • 1287
Re: massively redundant network topology description language
« Reply #4 on: March 04, 2017, 02:42:47 pm »
Fields and tables should vary according to what's needed. Agnostic tools are cool :)

It is indeed about setting the initial properties, and state, of a simulation. When I said "backend", I was thinking about SQL as a target : this "thing" would compile to SQL commands & queries, that (when executed) would in turn construct the wanted architecture inside the db. Then you're supposed to extract this architecture from the db, in order to run it with... whatever you use for this kind of job. An engine.

Edit:
I'll use a visual metaphor. Start with a little torus, made of, say, 100 nodes. With 30 torus, you draw a line. With 6 of these lines, you can make 6 edges of a triangular pyramid. Now with adjacent triagular pyramids, you create the curved side of a cylinder... and so on. Well, I'm talking about creating a function for a torus (that calls INSERTs and UPDATEs), another one for a line (that calls the torus function), another one for the pyramid (that calls the line function), ...etc.

*

Korrelan

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1454
  • Look into my eyes! WOAH!
    • YouTube
Re: massively redundant network topology description language
« Reply #5 on: March 06, 2017, 08:50:28 am »
I obviously had the same dilemma.

My software allows me to draw/ edit huge 3D connectomes using fairly normal 2D/ 3D mouse edit commands and a custom script interface.  It also allows me to ‘fly/ move’ through the connectome to view/ edit it from inside.

The script interface handles several commands mostly for linking and setting parameters/ loading / saving and merging connectomes/ scripts, etc.

I have a lightweight version that just runs the connectome without the editor I load onto the slave computers/ cores.  They load the latest version before they import their sections of the connectome on boot up.

I also wrote a custom system for load balancing the slaves as well as keeping the whole system synchronised during parallel processes, etc using a mixture of tcp and udp schemas for various tasks.

Writing a 3D interface is fairly straight forward once you get your head around trigonometry.

Edit: I've just noticed I've 500 posts and become Roy Batty... cool.

 :)
« Last Edit: March 06, 2017, 11:09:52 am by korrelan »
It thunk... therefore it is!...    /    Project Page    /    KorrTecx Website

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Trusty Member
  • **********************
  • Colossus
  • *
  • 5865
Re: massively redundant network topology description language
« Reply #6 on: March 06, 2017, 03:00:27 pm »
@ Korrelan - Congrats!
That's far better than becoming Very Batty.  O0

Say hi to Rachael and Rick! ;)
In the world of AI, it's the thought that counts!

 


OpenAI Speech-to-Speech Reasoning Demo
by ivan.moony (AI News )
Today at 01:31: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
Independent AI sovereignties
by WriterOfMinds (AI News )
November 08, 2023, 04:51:21 am
LLaMA2 Meta's chatbot released
by 8pla.net (AI News )
October 18, 2023, 11:41:21 pm

Users Online

245 Guests, 1 User
Users active in past 15 minutes:
WriterOfMinds
[Trusty Member]

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

Articles