Code Monkey home page Code Monkey logo

xnugraph's People

Contributors

cerati avatar clairesonglee avatar exatrkx avatar jonathanhuang-bot avatar vhewes avatar voetberg avatar

xnugraph's Issues

Inference to Explainablity pipeline

  • Class to take a trained network, make an instance of it, and apply an arbitrary explainablity/interpretability method (passed as a string w/ param dictionary or pointer to class instance)
  • Should have the ability to work with single datapoints or batches of data
  • Functionality with Slurm for WC submission (plugin from pl for slurm access ?? Need to do some reading)

Graph edges output from the model

Should be able to extract the weighted edges from the model and make a visualization

Show a well performing example and a poorly performing example - This can also be used for subgraphs in the future when subgraph based explanations are set up.

Complexity comes from the 3 planes of the output - Need to be able to show all of them on one image without it becoming too cluttered

QOL Improvements

  • Include weights of nexus connections in some sort of histogram (?) Or any general visualization (to see the impact of nexus nodes on predictions
  • Specialized masks for incorrect results (Special classes for y_hat != y predictions)
  • Ensure uniform scaling for all plots

Signal directional edges

Edges in the graph are not bidirectional - it just draws them twice.
All drawing programs and edge masking should mask both directions or only optimize over one direction.

Probably solvable with changing all the edges to sets but hey

Update visuals -ghost graph

When a subgraph is displayed, a ghost of the whole graph should be under the subgraph.
There should also be a uniform axis (x,y) for all subgraphs of the same graph. It'll make it easier to compare which parts of the graph compose the subgraph.

Explaination Test Set

  • Make a subset of the data with obvious explanations, and show that the methods pick this up

(Only one or two graphs?)

Network Probing methods

After discussion in the workshop - it would be advantageous to be able to monitor the message passing after each iteration

  • During training -> include a static decoder that looks at the messages after each iteration (basically, an advanced loss curve).
  • After training -> Stick this static decoder in after each step of linear planes, see where the most important part of the network is (similar to a relevance walk)

Feature importance gnnexplainer

  • Swap the gnnexplainer around to specifically pick the most important features in the network for each node/graph
    • Should produce some sort of bar graph that shows when you hover over each node
    • Additionally meta-measure (mean importance of features across all nodes in graph, mean importance over whole dataset - split by tagged events)

Multi-output solution

Explanations expect network to output a single class (or the probabilities for all classes) - so the output scheme of nugraph does not work automatically. There are a few possible solutions to this

  • Rewrite the explanation method to work with multi-output
  • Get an explanation for each plane of the detector (e.g. each decoder has its own explanation)

Second is way easier but the first is more rigorous and would give better results (most likely?) - it's worth exploring I'd say.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.