Self-Competitive Neural Networks
  Deep Neural Networks (DNNs) have improved the accuracy of classification
problems in lots of applications. One of the challenges in training a DNN is
its need to be fed by an enriched dataset to increase its accuracy and avoid it
suffering from overfitting. One way to improve the generalization of DNNs is to
augment the training data with new synthesized adversarial samples. Recently,
researchers have worked extensively to propose methods for data augmentation.
In this paper, we generate adversarial samples to refine the Domains of
Attraction (DoAs) of each class. In this approach, at each stage, we use the
model learned by the primary and generated adversarial data (up to that stage)
to manipulate the primary data in a way that look complicated to the DNN. The
DNN is then retrained using the augmented data and then it again generates
adversarial data that are hard to predict for itself. As the DNN tries to
improve its accuracy by competing with itself (generating hard samples and then
learning them), the technique is called Self-Competitive Neural Network (SCNN).
To generate such samples, we pose the problem as an optimization task, where
the network weights are fixed and use a gradient descent based method to
synthesize adversarial samples that are on the boundary of their true labels
and the nearest wrong labels. Our experimental results show that data
augmentation using SCNNs can significantly increase the accuracy of the
original network. As an example, we can mention improving the accuracy of a CNN
trained with 1000 limited training data of MNIST dataset from 94.26% to 98.25%.
