Skip to content
Codes for our paper "Revisiting Multiple Instance Neural Networks".
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dataset
mil_nets
MI_Net.py
MI_Net_with_DS.py
MI_Net_with_RC.py
README.md
mi_Net.py

README.md

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
You can’t perform that action at this time.