Live data from Hacker News

Show HN: TensorSpace.js – Neural network 3D visualization framework

github.com

11–20 of 30 posts

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#11
post #9
post #6

This is neat! I hope you don't mind a bit of constructive criticism here, but early on in my research career I also thought it would be a good idea to "visualize the neural network connectome" in 3D (I implemented a very rudimentary version of your Browser-based visualizer in QT + OpenGL, no training frontend). And then I followed up with an early TensorFlow visualizer https://github.com/ericjang/tdb It turns out tha…

Are there any good guides, tutorials, or research papers that investigate or advise how to inspect weights during training for debugging. The only things I read are to watch out for vanishing gradients, and when fine-tuning the most change in layers are seen toward the end of the network, not the beginning layers.

Yes, a recent exciting phenomena of interest to researchers is how and why the spectrum of the Hessian appears to separate into 2 parts - a "bulk" part that changes very slowly and "outliers" that change quickly. This suggests that only a few weights in the model actually change during training. If one could determine which weights these are, it might lend to faster and more efficient learning algorithms that don't have to backprop to all the parameters in a large neural network.

https://arxiv.org/pdf/1706.04454.pdf

https://openreview.net/forum?id=ByeTHsAqtX

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#12
This looks really neat and it's definitely fun to play around with. I can't resist playing around with tools like this for a few minutes, but I've never really figured out what they're good for.

What am I supposed to learn from them? What is the actionable information? That's not really a criticism, I just feel like I'm missing something.

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#13
post #6

This is neat! I hope you don't mind a bit of constructive criticism here, but early on in my research career I also thought it would be a good idea to "visualize the neural network connectome" in 3D (I implemented a very rudimentary version of your Browser-based visualizer in QT + OpenGL, no training frontend). And then I followed up with an early TensorFlow visualizer https://github.com/ericjang/tdb It turns out tha…

To kinda build on this, I think where this particular tool could be most beneficial would be for users just learning about neural networks, deep learning, CNNs and the like. That is, newbies to the arena.

Some may not need such a tool, and can easily visualise the layers, interconnections, functionality, etc. Others may be able to get by with 2D and "paper" representations.

I think, though, there may be a segment of learners who could benefit from a tool like this. For such people, the tool wouldn't have to support anything super-complex; smaller models and architectures would be fine.

I don't have a lot of experience with ANNs (just a few MOOCs and tutorials here and there), but from what I recall from those experiences, a tool like this could be beneficial, both for visualizing a complete NN graph, as well as visualizing a partial graph as it is built up, layer by layer (and to investigate "middle layer" operations and processes).

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#14
To provide some feedback:

1. display weights and gradients (in addition to activations)

2. display how activations/weights/gradients change during training. For example, I should be able to point to checkpoint directory where my model is saved every epoch (or every few iterations), and then hit 'play' button to see how a particular feature map or weights filter is changing as I move between epochs/iterations.

3. display which inputs contribute the most to the activations, at every layer.

These additional features would be very useful for debugging, for model compression, for identifying information flows (e.g. in a DenseNet), for saliency analysis, and probably for other things as well.

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#15
Quite neat! Some constructive feedback - I think in addition to mouse controls, having keyboard 'spaceship' flying around is pretty important. I would also try to add model interprability tools (SmoothGrad) as an option, and perhaps contact some of those researchers to see how this can best be used for model understanding (I would guess visualizing grad flows / weights is more interesting than just layers).

PS I actually worked on something similar, was quite fun... http://www.andreykurenkov.com/projects/major_projects/KerasJ...

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#16
post #5

And use an Occulus rift for full immersive visualization!

Well, take a look at this :) https://github.com/NCBI-Hackathons/deVoReaNN

Totally independently, we had the same idea of visualizing a DL in VR using an oculus -- a few months ago. We worked on it last Friday and Saturday in our hackathon: https://www.u-hackmed.org/ https://www.u-hackmed.org/2018teams/team-3

Here is a demo: https://youtu.be/E_VWewj_jX8

Really cool ideas going around in this thread. I really like thoughts around visualizing the changes during training -- not just activation.

As these tools currently stand, I agree that they are mostly for educational purposes. Taken to the nth degree, however, I think they can make a DL expert put on a VR headset when they get to work.

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#19
post #6

This is neat! I hope you don't mind a bit of constructive criticism here, but early on in my research career I also thought it would be a good idea to "visualize the neural network connectome" in 3D (I implemented a very rudimentary version of your Browser-based visualizer in QT + OpenGL, no training frontend). And then I followed up with an early TensorFlow visualizer https://github.com/ericjang/tdb It turns out tha…

Thanks for your suggestions! TensorSpace is an in developing framework, and I acknowledge that it has some shortcomings, as you mentioned that for a big network, it will be too long in TensorSpace to visualize, and I am trying to figure out a solution to optimize it, for example, add "layer group" concept in TensorSpace in the future, which may make the long network shorter.

Honestly speaking, there are many mature tools for developers to use in model training, and everyone has own "optimum scheme". For me, TensorSpace is not designed to be a "silver bullet" to replace previous solutions or tools, I hope it can help engineers understand existing models and find areas where they can be applied.

Personally, I am interested in data visualization, and I found that neural network visualization is really a cool area. My original intention to make TensorSpace is to share this "beautiful scenery" with hackers!

Re: Show HN: TensorSpace.js – Neural network 3D visualization framework

#20

Pretty cool. If you're looking for ideas on what sort of information to display in the visualizations, this article is just chock full of them: https://distill.pub/2018/building-blocks/

Thanks for your recommendation, I can not wait to add more interesting idea into TensorSpace!
Post reply on HN