Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visualizing Neural Network Activations #96

Open
TheCedarPrince opened this issue Aug 17, 2020 · 2 comments
Open

Visualizing Neural Network Activations #96

TheCedarPrince opened this issue Aug 17, 2020 · 2 comments
Labels
enhancement New feature or request To the Moon! Ideas that are out of this world amazing! But cannot be worked on... yet. :)

Comments

@TheCedarPrince
Copy link
Member

Before I forget my thoughts on this topic, I was chatting with @sudomaze today in a stream and we had a great exchange that is looking far into the future. Not even sure when we could work on this but was thinking it would be wise to write this down to get thinking about it.

It could very well be that this idea is outside the scope of Javis but it is at least something to consider.

Is your feature request related to a problem? Please explain.

This feature would be dependent on #41 but the ability to both interop with popular Julia ML packages (e.g. SciML suite, Flux, Zygote, etc.) and create visualizations of neural network visualizations would be fantastic.

Describe the solution you'd like

I'd love to see an out come like this someone could render:

neural_net

Source: https://community.alteryx.com/t5/Data-Science-Blog/It-s-a-No-Brainer-An-Introduction-to-Neural-Networks/ba-p/300479

I am not sure how exactly a user interface could look but in broad terms what I was thinking was something like this:

  1. The Javis would be in the background of the main code. What I mean by this is when I was working with packages like matplotlib, I would have to ensure the script had specific operability with the package. It really made code reusability difficult. What I imagine is only a few additional lines needed to create powerful visualizations.

  2. Javis could easily create these visualizations and have full interop with Actions and SubActions.

Describe alternatives you've considered

Seems like Alteryx can do something like this as well as TensorBoard. Deep Playground and The Building Blocks of Interpretability are great inspirations.

@TheCedarPrince TheCedarPrince added enhancement New feature or request To the Moon! Ideas that are out of this world amazing! But cannot be worked on... yet. :) labels Aug 17, 2020
@darsnack
Copy link

darsnack commented Aug 20, 2020

I want to also link to this issue: FluxML/Flux.jl#1104

Supporting animations on data flow through those kinds of diagrams would be awesome. The Building Blocks of Interpretability is certainly shares a similar visual style.

Do you see these features as being built into or on top of Javis? If it is the latter, I think on core feature required from Javis by the NN package would be the ability to shade 3D objects. Would that be feasible?

As a side note, for people in the ML community, it isn't uncommon to have an academic paper + a blog post for a project. The paper would require static images while the blog post can use animations. Additionally, an oral presentation could also use the animations. Worst case, someone can always grab a frame out of an animation for a static image, but the ability to save images would be welcome too. It helps to have the same figures across the paper and blog.

@TheCedarPrince
Copy link
Member Author

The discussion about this issue was continued at Zulip here: https://julialang.zulipchat.com/#narrow/stream/253420-javis/topic/Javis.20as.20a.20Viewer.20Tool/near/207579935

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request To the Moon! Ideas that are out of this world amazing! But cannot be worked on... yet. :)
Projects
None yet
Development

No branches or pull requests

2 participants