Skip to content

Codes for our paper "Revisiting Multiple Instance Neural Networks".

Notifications You must be signed in to change notification settings

yanyongluan/MINNs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Revisiting Multiple Instance Neural Networks

By Xinggang Wang, Yongluan Yan, Peng Tang, Xiang Bai, and Wenyu Liu.

Introduction

Multiple Instance Neural Networks(MINNs) are neural networks that aim at solving the MIL problems in an end-to-end manner.

  • It is centered on learning bag representation in the nueral network. And recent deep learning tricks including deep supervision, and residual connections are studied in MINNs.
  • The proposed MINNs achieve state-of-the-art or competitive performance on several MIL benchmarks. Moreover, it is extremely fast for both testing and training, for example, it takes only 0.0003 seconds to predict a bag and a few seconds to train on MIL datasets on a moderate CPU.
  • Our code is written by Python, based on keras, which use Tensorflow as backend.

The paper has been accepted by Pattern Recognition, 2017. For more details, please refer to our paper.

Citing MINNs

If you find MINNs useful in your research, please consider citing:

@article{wang2016revisiting,
        title={Revisiting Multiple Instance Neural Networks},
        author={Wang, Xinggang and Yan, Yongluan and Tang, Peng and Bai, Xiang and Liu, Wenyu},
        journal={arXiv preprint arXiv:1610.02501},
        year={2016}
}

Requirements: software

  1. Requirements for Keras and Tensorflow (see: Keras installation instructions)

Note: The version of Keras is 2.0.

  1. Python packages you might not have: numpy, scipy, and sklearn

Requirements: hardware

  1. moderate CPU

Experimental hyper-parameters

dataset start learning rate weight decay momentum
musk1 0.0005 0.005 0.9
musk2 0.0005 0.03 0.9
fox 0.0001 0.01 0.9
tiger 0.0005 0.005 0.9
elephat 0.0001 0.005 0.9
20 newsgroups 0.001 0.001 0.9

In addition, the number of max epoch is set to 50.

Usage

Download dataset

First download and extract all dataset Musk, animal, and Newsgroups to one directory named dataset

Train

There exist four Python code mi_Net.py, MI_Net.py, MI_Net_with_DS.py, and MI_Net_with_RC.py corresponding to four MINN method mentioned in our paper. We have given default params on MUSK1 dataset as example.

    #  run MI-Net on MUSK1 dataset
    python MI_Net.py --dataset musk1 --pooling max --lr 5e-4 --decay 0.005 --momentum 0.9 --epoch 50

About

Codes for our paper "Revisiting Multiple Instance Neural Networks".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages