• Stars
    star
    238
  • Rank 168,403 (Top 4 %)
  • Language
    Python
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implementation for the paper (CVPR Oral): High Frequency Component Helps Explain the Generalization of Convolutional Neural Networks

High Frequency Component Helps Explain the Generalization of Convolutional Neural Networks

H. Wang, X. Wu, Z. Huang, and E. P. Xing. "High frequency component helps explain the generalization of convolutional neural networks." CVPR 2020 (Oral).

[Slides] and [Poster]

Highlights

Fig. 1: The central hypothesis of our paper: within a data collection, there are correlations between the highfrequency components and the “semantic” component of the images. As a result, the model will perceive both high-frequency components as well as the “semantic” ones, leading to generalization behaviors counterintuitive to human (e.g., adversarial examples). main hypothesis of the paper

HFC helps explain CNN generaliation

Fig. 2: Eight testing samples selected from CIFAR10 that help explain that CNN can capture the high-frequency image: the model (ResNet18) correctly predicts the original image (1st column in each panel) and the high frequency reconstructed image (3rd column in each panel), but incorrectly predict the low-frequency reconstructed image (2nd column in each panel). The prediction confidences are also shown. Details are in the paper.

Other Discussions in Paper (click to expand)
  1. Trade-off between accuracy and robustness (Section 3)
  2. Rethinking data before rethinking generalization (Section 4)
  3. Re-evaluate the heuristics (BatchNorm seems to promote high-frequency information) (Section 5)
  4. Adversarially robust models tend to filter out high-frequency components (Section 6)
  5. Similar phenomena are observed beyond image classification (Section 7)

Code Structures

Before using the code

  • Install the main dependency: TensorFlow 1.x and Foolbox
  • Read the main script. We recommend users to skim through the script befoure usage. We use "todo" to highlight the parts that may require attention.
  • Generate data: one can generate the data with utility/frequencyHelper.py

PyTorch Implementation

The results were generated by the TensorFlow code as shared here, but for the friends who prefer PyTorch, Xindi has nicely created some codes to help you start: PyTorch Implementation

Contact

HaohanWang · Xindi Wu · Zeyi Huang

More Repositories

1

ImageNet-Sketch

ImageNet-Sketch data set for evaluating model's ability in learning (out-of-domain) semantics at ImageNet scale
Python
197
star
2

Robustar

Interactive Toolbox for Robust Vision Classification
HTML
44
star
3

HEX

Example implementation for the paper: (ICLR Oral) Learning Robust Representations by Projecting Superficial Statistics Out
Python
27
star
4

SelectAdditiveLearning

implementation for the paper "Select-Additive Learning: Improving Cross-individual Generalization in Multimodal Sentiment Analysis"
Python
21
star
5

PAR_experiments

Learning Robust Global Representations by Penalizing Local Predictive Power (NeurIPS 2019))
Python
17
star
6

PAR

Implementation of Patch-wise Adversarial Regularization from "Learning Robust Global Representations by Penalizing Local Predictive Power"
Python
17
star
7

CF

Removing Confounding Factors Associated Weights in Deep Neural Networks Improves the Prediction Accuracy for Healthcare Applications
Python
15
star
8

HEX_experiments

For replication of the experiments in the paper Learning Robust Representations by Projecting Superficial Statistics Out
Python
13
star
9

LMM-Python

A python linear mixed model package model for GWAS
Python
12
star
10

thePrecisionLasso

implementation for Precision Lasso: accounting for correlations and linear dependencies in high-dimensional genomic data
Jupyter Notebook
12
star
11

BioImaging

Data collection software for the paper Using EEG to Improve Massive Open Online Courses Feedback Interaction
Java
9
star
12

DMM

Python
6
star
13

CMM

Coupled Mixed Model
Python
5
star
14

ADSubtyping

Jupyter Notebook
3
star
15

CS-LMM

Implementation for CS-LMM (Constrained Sparse multi-locus Linear Mixed Model)
Python
2
star
16

KMM

Kernel Mixed Model
Python
1
star
17

TaxiWaitingTimePrediction

This is a repository for big data project, predict the waiting time for a taxi in Beijing
Java
1
star
18

ICURCoderHelper

Python
1
star
19

MiceDataPreprocessing

Python
1
star
20

BrownClustering

This is a python implementation of Brown word clustering algorithm
Python
1
star
21

DeepGenerativeTransfer

Python
1
star
22

GenAMapWebsite

Gate website for GenAMap
CSS
1
star
23

sLMMn

Python
1
star
24

AlzheimerPreprocess

Python
1
star
25

EEG_Basic

Java
1
star
26

leetcode

My solutions to all the questions on leetcode till 2013
1
star
27

HaohanWang.github.io

github io
SCSS
1
star
28

ActiveLearningForP53

This is the code for our Active Learning Course Project
Java
1
star
29

ADMM

Python
1
star
30

PersonalWebsite

HTML
1
star
31

EmotionClassificationBatchEffect

Python
1
star
32

backProjection

Python
1
star
33

MultiClientSocket

Socket examples for cpp client, java client, php client to connect with cpp server
C++
1
star
34

ATDataPreprocessing

Python
1
star
35

graphicalLasso

solution for PGM 17 HW2 Q2, PGM20, HW3 Q3
Python
1
star