camp-explain-ai / inputiba Goto Github PK
View Code? Open in Web Editor NEWNeurIPS 2021 | Fine-Grained Neural Network Explanation by Identifying Input Features with Predictive Information
NeurIPS 2021 | Fine-Grained Neural Network Explanation by Identifying Input Features with Predictive Information
We can remove the run_tests.sh for the moment
We'd better replace these letters with variable names like lamb
, eps
, etc.
As marked in the code, we need to consider the case where reverse_lambda = True
in VisionInputIBA
Since smooth kernel is a 2D kernel.
Solution:
Remove smooth option completely since word are produced discretely (in LSTM)
This line uses skimage.transform.resize
function. In order to reduce the dependencies, I suggest to replace it with cv2.resize
.
When writing notification, please add a notification that explains why input_mask
is sigmoid(alpha)
while feat_mask
is a KL-divergence.
Currently we are using train
and val
for the datasets in configs. It would be better to use estimation
and attribution
instead.
The term capacity is very misleading, though it might have special meaning in information theory. The IBA uses KL divergence to measure feature importance (see 3.2 in IBA's paper). Therefore, it would be better to re-name it to e.g. kl_divergence
(take care of the possible name conflict with function kl_div
).
In addition, BaseIBA
has attributes loss_buffer
, cls_loss_buffer
, info_loss_buffer
. These three attributes' names are in patter xxx_buffer
, whichbuffer_capacity
does not conform to. Also, these three buffers are list
, while buffer_capacity
is a Tensor
. So, I suggest to change the name of buffer_capacity
, and register it to nn.Module
's buffer.
Hi everyone,
Ild like to learn how long does it take to have explanations on cpu device. Its been half and hour and I only have plt.show() executed.
Hi,
This is excellent work, and thank you for sharing the well-designed official codes for a better understanding of the details of your NeurIPS paper.
I would like to understand the details of some equations, and I'd appreciate it if you could explain them to me.
In your paper, you proposed two assumptions for estimating the
which are
Rename these three attributes to xxx_history
https://github.com/YaNgZhAnG-V5/informationbottleneck/blob/775fad551e900907010ae8914fe727cb8e126d82/iba/models/bottlenecks/base_iba.py#L31
Should function estimate be an abstract method for class base_feature_iba?
remove the notebooks
folder. We can create a tutorials
directory later, and put all the tutorials there
If the tutorials can successfully run on colab with the newest albumentations
, remember to unpin its version
Line 1 in ec90cfe
torchvision.transforms.GaussianBlur
also supports Tensor
input.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.