Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

How to visualize a Neural Net with thousands of input nodes and tens of thousands of connections?

A Simple Neural Net with 10 nodes

The image above does not have any connection values, but the visualization that I am creating does. Each connection (a line with an arrow) will have a 3 digit value associated with it (like 0.75).

A graphing or drawing library (like graphviz) can be used to draw the graph, but it would not be possible to see all the connection values because they are on top of each other.

Is there an interactive library that allows you to click on a node, and then display the connections with the associated values?

What other ways could the information be conveyed?

share|improve this question
    
kind of related - ux.stackexchange.com/questions/19163/… –  Simon Apr 21 '12 at 6:13
    
Also here :ux.stackexchange.com/questions/20371/… –  cl-r Apr 21 '12 at 17:03

2 Answers 2

I have something of an issue with neural net type visualizations that use many thousands of nodes, which is that they can still only really represent a spatial overview, via grouping, proximity etc of clusters and the density between and within those clusters.

Yes, you can examine node information on click/hover but can you ever find the same node again - not very easily. In which case, what is the real importance or usefulness of the fine detail, and how important is it to adding value to the overview. As Julie Steel mentions in her book Beautiful Visualisation, if not carefully constructed, the many data points can glob together into a mess that is not helpful in order to help the user understand a useful meaning.

I would be more inclined to rethink what the user really needs from the information, how they are going to interact with it, how they are going to act upon or use the information they find. Understand what the important attributes are and consider producing a more tangible prioritized contextual structure for your users to view, interact, interpret and take away.

For example, rather than forcing the user to trawl and interpret the network, it could be more advantageous to automatically identify the order or priority of certain nodes or clusters of nodes with common attributes, so that the takeaways are already calculated. If multiple attributes are of interest, provide a mechanism of changing the pivot points. By the way - I'm not suggesting that tables, or datagrids, or lists or spreadsheets are the answer - they're not.

Consider what problem is it that the visualisation is solving.

share|improve this answer
    
This is a great comment. Actually I noticed that we probably won't learn anything from the graph. The reason that I am creating it is that my business partners asked for it and it allows them to understand how our Neural Net works. But who knows...each input will has a unique meaning so we might learn something. –  B Seven Apr 21 '12 at 22:46

In my very limited experience , I would second the other answer, and given more rep, upvote it if I could.

However, if I have understood what you are asking correctly a relevant vizualisation tool may be this force directed network graph

I'm afraid I can't say that I have a huge amount of experience using it (my coding is not yet good enough), it may allow you to visually display the strength between connections. If not, there are a large number of other network visualisation tools in the parent library.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.