├── README.md └── images ├── activation_atlas.png ├── bayes.png ├── bert_vis.gif ├── cnn_explainer.gif ├── convnetplaygroud.png ├── dl_playground.png ├── embedding-mnist.gif ├── gans.png ├── gaussian_vis.png ├── intro_ML.png ├── lit.gif ├── mdiv.png ├── nn_from_scratch.gif ├── openai_microscope.png ├── prob.png ├── projector.png ├── sage.png ├── seeing_theory.png └── weight_init.png /README.md: -------------------------------------------------------------------------------- 1 | # Interactive Tools for machine learning, deep learning, and math 2 | 3 | ## Content 4 | 5 | ## Deep Learning 6 | 7 | - [Transformer Explainer](#transformer-explainer) 8 | - [exBERT](#exbert) 9 | - [BertViz](#bertviz) 10 | - [CNN Explainer](#cnn-explainer) 11 | - [Play with GANs in the Browser](#play-with-gans-in-the-browser) 12 | - [ConvNet Playground](#convnet-playground) 13 | - [Distill: Exploring Neural Networks with Activation Atlases](#distill-exploring-neural-networks-with-activation-atlases) 14 | - [A visual introduction to Machine Learning](#a-visual-introduction-to-machine-learning) 15 | - [Interactive Deep Learning Playground](#interactive-deep-learning-playground) 16 | - [Initializing neural networks](#initializing-neural-networks) 17 | - [Embedding Projector](#embedding-projector) 18 | - [OpenAI Microscope](#openai-microscope) 19 | 20 | ## Data 21 | 22 | - [Atlas Data Exploration](#atlas-data-exploration) 23 | 24 | ## Interpretability 25 | 26 | - [The Language Interpretability Tool](#the-language-interpretability-tool) 27 | - [What if](#what-if) 28 | - [Measuring diversity](#measuring-diversity) 29 | 30 | ## Math 31 | - [Sage Interactions](#sage-interactions) 32 | - [Probability Distributions](#probability-distributions) 33 | - [Bayesian Inference](#bayesian-inference) 34 | - [Seeing Theory: Probability and Stats](#seeing-theory-probability-and-stats) 35 | - [Interactive Gaussian Process Visualization](#interactive-gaussian-process-visualization) 36 | 37 | --- 38 | 39 | # Deep Learning 40 | 41 | ## Transformer Explainer 42 | 43 | Transformer Explainer is an interactive visualization tool designed to help anyone learn how Transformer-based models like GPT work. It runs a live GPT-2 model right in your browser, allowing you to experiment with your own text and observe in real time how internal components and operations of the Transformer work together to predict the next tokens. 44 | 45 | - [Source: GitHub](https://github.com/poloclub/transformer-explainer) 46 | - [Source: Transformer Explainer](https://poloclub.github.io/transformer-explainer/) 47 | 48 | [Transformer Explainer](https://poloclub.github.io/transformer-explainer/) 49 | 50 | ## exBERT 51 | 52 | "exBERT is a tool to help humans conduct flexible, interactive investigations and formulate hypotheses for the model-internal reasoning process, supporting analysis for a wide variety of Hugging Face Transformer models. exBERT provides insights into the meaning of the contextual representations and attention by matching a human-specified input to similar contexts in large annotated datasets." 53 | 54 | - Source: [exBERT](https://huggingface.co/exbert/) 55 | 56 | exbert 57 | 58 | 59 | ## BertViz 60 | 61 | "BertViz is a tool for visualizing attention in the Transformer model, supporting most models from the transformers library (BERT, GPT-2, XLNet, RoBERTa, XLM, CTRL, MarianMT, etc.). It extends the [Tensor2Tensor visualization tool](https://github.com/tensorflow/tensor2tensor/tree/master/tensor2tensor/visualization) by Llion Jones and the [transformers library](https://github.com/huggingface/transformers) from [HuggingFace](https://github.com/huggingface)." 62 | 63 | - Source: [BertViz](https://github.com/jessevig/bertviz) 64 | 65 | [

](https://github.com/jessevig/bertviz) 66 | 67 | ## CNN Explainer 68 | 69 | An interactive visualization system designed to help non-experts learn about Convolutional Neural Networks (CNNs). It runs a pre-tained CNN in the browser and lets you explore the layers and operations. 70 | 71 | - [Live Demo](https://poloclub.github.io/cnn-explainer/) | [Video](https://youtube.com/watch?v=udVN7fPvGe0) | [Code](https://github.com/poloclub/cnn-explainer) | [Paper](https://arxiv.org/abs/2004.15004) 72 | 73 | [

](https://poloclub.github.io/cnn-explainer/) 74 | 75 | ## Play with GANs in the Browser 76 | Explore Generative Adversarial Networks directly in the browser with GAN Lab. There are many cool features that support interactive experimentation. 77 | 78 | - Interactive hyperparameter adjustment 79 | - User-defined data distribution 80 | - Slow-motion mode 81 | - Manual step-by-step execution 82 | 83 | - [Source: GAN Lab](https://poloclub.github.io/ganlab/) 84 | 85 | [

](https://poloclub.github.io/ganlab/) 86 | 87 | # ConvNet Playground 88 | ConvNet Playground is an interactive visualization tool for exploring Convolutional Neural Networks applied to the task of semantic image search. 89 | 90 | - [Source: ConvNet Playground](https://convnetplayground.fastforwardlabs.com) 91 | 92 | [

](https://convnetplayground.fastforwardlabs.com/#/) 93 | 94 | 95 | ## Distill: Exploring Neural Networks with Activation Atlases 96 | 97 | Feature inversion to visualize millions of activations from an image classification network leads to an explorable activation atlas of features the network has learned. This can reveal how the network typically represents some concepts. 98 | 99 | - [Source: Distill](https://distill.pub/2019/activation-atlas/) 100 | 101 | [

](https://distill.pub/2019/activation-atlas/) 102 | 103 | 104 | ## A visual introduction to Machine Learning 105 | In machine learning, computers apply statistical learning techniques to automatically identify patterns in data. These techniques can be used to make highly accurate predictions. 106 | 107 | - [Source: r2d3](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/) 108 | 109 | [

](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/) 110 | 111 | ## Interactive Deep Learning Playground 112 | New to Deep Learning? Tinker with a Neural Network in your browser. 113 | 114 | - [Source: TF Playground](https://playground.tensorflow.org/) 115 | 116 | [

](https://playground.tensorflow.org) 117 | 118 | ## Initializing neural networks 119 | 120 | Initialization can have a significant impact on convergence in training deep neural networks. Simple initialization schemes can accelerate training, but they require care to avoid common pitfalls. In this post, deeplearning.ai folks explain how to initialize neural network parameters effectively. 121 | 122 | - [Source: deeplearning.ai](https://www.deeplearning.ai/ai-notes/initialization/) 123 | 124 | [

](https://www.deeplearning.ai/ai-notes/initialization/) 125 | 126 | 127 | ## Embedding Projector 128 | 129 | It's increaingly important to understand how data is being interpreted by machine learning models. To translate the things we understand naturally (e.g. words, sounds, or videos) to a form that the algorithms can process, we often use embeddings, a mathematical vector representation that captures different facets (dimensions) of the data. In this interactive, you can explore multiple different algorithms (PCA, t-SNE, UMAP) for exploring these embeddings in your browser. 130 | 131 | [

](https://projector.tensorflow.org/) 132 | 133 | ## OpenAI Microscope 134 | 135 | The OpenAI Microscope is a collection of visualizations of every significant layer and neuron of eight important vision models. 136 | 137 | - [Source: OAI](https://microscope.openai.com/) 138 | 139 | [

](https://microscope.openai.com/) 140 | 141 | # Data 142 | 143 | ## Atlas Data Exploration 144 | 145 | Atlas allows you to explore real, up-to-date data from sources like social media, news, and academic journals curated by the Nomic team. 146 | 147 | - [Source: Nomic](https://atlas.nomic.ai/discover) 148 | 149 | [Atlas](https://atlas.nomic.ai/discover) 150 | 151 | 152 | # Interpretability, Fairness 153 | 154 | ## The Language Interpretability Tool 155 | 156 | The Language Interpretability Tool (LIT) is an open-source platform for visualization and understanding of NLP models. 157 | 158 | You can use LIT to ask and answer questions like: 159 | 160 | - What kind of examples does my model perform poorly on? 161 | - Why did my model make this prediction? Can it attribute it to adversarial behavior, or undesirable priors from the training set? 162 | - Does my model behave consistently if I change things like textual style, verb tense, or pronoun gender? 163 | 164 | - [Source: LIT](https://pair-code.github.io/lit/) 165 | 166 | [

](https://pair-code.github.io/lit/) 167 | 168 | ## What if 169 | 170 | The What-If Tool lets you visually probe the behavior of trained machine learning models, with minimal coding. 171 | 172 | - [Source: PAIR](https://pair-code.github.io/what-if-tool/) 173 | 174 | ![what-if](https://user-images.githubusercontent.com/27798583/118443855-b3cc9b80-b6ec-11eb-9c28-849d7e755cd4.gif) 175 | 176 | ## Measuring diversity 177 | 178 | PAIR Explorables around measuring diversity. 179 | 180 | "Search, ranking and recommendation systems can help find useful documents in large datasets. However, these datasets reflect the biases of the society in which they were created and the systems risk re-entrenching those biases. For example, if someone who is not a white man searches for “CEO pictures” and sees a page of white men, they may feel that only white men can be CEOs, further perpetuating lack of representation at companies’ executive levels." 181 | 182 | - Mitchell et. al. (2020) [Diversity and Inclusion Metrics in Subset Selection](https://arxiv.org/abs/2002.03256) 183 | - [Interactive explorables](https://pair.withgoogle.com/explorables/measuring-diversity/) 184 | 185 | - [Source: PAIR](https://pair-code.github.io/lit/) 186 | 187 | 188 | [

](https://pair.withgoogle.com/explorables/measuring-diversity/) 189 | 190 | # Math 191 | 192 | ## Sage Interactions 193 | 194 | This is a collection of pages demonstrating the use of the **interact** command in Sage. It should be easy to just scroll through and copy/paste examples into Sage notebooks. 195 | 196 | Examples include Algebra, Bioinformatics, Calculus, Cryptography, Differential Equations, Drawing Graphics, Dynamical Systems, Fractals, Games and Diversions, Geometry, Graph Theory, Linear Algebra, Loop Quantum Gravity, Number Theory, Statistics/Probability, Topology, Web Applications. 197 | 198 | - [Source: Sage Interactions](https://wiki.sagemath.org/interact/) 199 | 200 | [

](https://wiki.sagemath.org/interact/) 201 | 202 | 203 | ## Probability Distributions 204 | 205 | by Simon Ward-Jones. A visual 👀 tour of probability distributions. 206 | 207 | - Bernoulli Distribution 208 | - Binomial Distribution 209 | - Normal Distribution 210 | - Beta Distribution 211 | - LogNormal Distribution 212 | 213 | - [Source: SW-J](https://www.simonwardjones.co.uk/posts/probability_distributions/) 214 | 215 | [

](https://www.simonwardjones.co.uk/posts/probability_distributions/) 216 | 217 | ## Bayesian Inference 218 | 219 | by Simon Ward-Jones. Explaining the basics of bayesian inference with the example of flipping a coin. 220 | 221 | - [Source: SW-J](https://www.simonwardjones.co.uk/posts/bayesian_inference/) 222 | 223 | [

](https://www.simonwardjones.co.uk/posts/bayesian_inference/) 224 | 225 | 226 | ## Seeing Theory: Probability and Stats 227 | 228 | A visual introduction to probability and statistics. 229 | 230 | - [Source: Seeing Theory](https://seeing-theory.brown.edu/) 231 | 232 | [

](https://seeing-theory.brown.edu) 233 | 234 | ## Interactive Gaussian Process Visualization 235 | 236 | "A Gaussian process can be thought of as an extension of the multivariate normal distribution to an infinite number of random variables covering each point on the input domain. The covariance between function values at any two points is given by the evaluation of the kernel of the Gaussian process. For an in-depth explanation, read this excellent [distill.pub article](https://distill.pub/2019/visual-exploration-gaussian-processes/) and then come back to this interactive visualisation!" 237 | 238 | - Source: [Infinite curiosity](http://www.infinitecuriosity.org/vizgp/) 239 | 240 | [

](http://www.infinitecuriosity.org/vizgp/) 241 | 242 | -------------------------------------------------------------------------------- /images/activation_atlas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/activation_atlas.png -------------------------------------------------------------------------------- /images/bayes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/bayes.png -------------------------------------------------------------------------------- /images/bert_vis.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/bert_vis.gif -------------------------------------------------------------------------------- /images/cnn_explainer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/cnn_explainer.gif -------------------------------------------------------------------------------- /images/convnetplaygroud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/convnetplaygroud.png -------------------------------------------------------------------------------- /images/dl_playground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/dl_playground.png -------------------------------------------------------------------------------- /images/embedding-mnist.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/embedding-mnist.gif -------------------------------------------------------------------------------- /images/gans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/gans.png -------------------------------------------------------------------------------- /images/gaussian_vis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/gaussian_vis.png -------------------------------------------------------------------------------- /images/intro_ML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/intro_ML.png -------------------------------------------------------------------------------- /images/lit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/lit.gif -------------------------------------------------------------------------------- /images/mdiv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/mdiv.png -------------------------------------------------------------------------------- /images/nn_from_scratch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/nn_from_scratch.gif -------------------------------------------------------------------------------- /images/openai_microscope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/openai_microscope.png -------------------------------------------------------------------------------- /images/prob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/prob.png -------------------------------------------------------------------------------- /images/projector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/projector.png -------------------------------------------------------------------------------- /images/sage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/sage.png -------------------------------------------------------------------------------- /images/seeing_theory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/seeing_theory.png -------------------------------------------------------------------------------- /images/weight_init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Machine-Learning-Tokyo/Interactive_Tools/3ebda94ffc1cf6b56a3c77be7569657dc29502f3/images/weight_init.png --------------------------------------------------------------------------------