Giter Site home page Giter Site logo

prof-nussbaum / reverse_inference Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.45 MB

Working backwards through a deep convolutional network, to recreate the input image - and identify areas for improvement.

Python 100.00%
ai bengali graphemes image-analysis jupyter keras machine-l mindreader nussbaum pattern-recognition

reverse_inference's Introduction

Reverse_Inference

Working backwards through a deep convolutional network, to recreate the input image - and identify areas for improvement.

Please see this article for more details on this technique, that I call "Reading the Robot Mind." https://readingtherobotmind.blogspot.com/2021/03/reading-robot-mind-deep-convolution.html

What if we could read the robot's mind?

It sounds like a silly statement, but if you could read a person's mind, you could "see" what they were thinking of when they mention a classification. If they say "I am seeing a dog" - reading their mind would give you additional details about the dog, or even perhaps, see what they are seeing. This is the same premise for Artificial Intelligence and Machine Learning.

I know that deep convolutional neural networks (CNN) do not have minds like people do, by any stretch of the imagination, but the the catchphrase "reading the robot mind" is simply a way to remember what this proposed extension to the important topic of "Explainability" is all about.

So, personification aside, the ability to work backwards through the CNN is helpful to spot if sufficient information has been fed forwards for classification. It is also helpful to specifically observe incorrect and/or low-confidence classifications, and not only view the original input image, but also the internal rendering of that image by the CNN.

I have included software as well as a sample runs showing these visualizations and images to explain the point.

Example 1: Handwriting Recognition CNN

This example uses a data set from www.kaggle.com that has a number of "Graphemes" from the Bengali language. We can see correctly and incorrectly classified images - as would be normal for data scientists to do. In addition, we can recreate these images based on internal representations within the CNN. From these visualizations, we can make improvements to the model and/or identify bias that leads to incorrect classification.

reverse_inference's People

Contributors

prof-nussbaum avatar

Watchers

 avatar  avatar

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.