  Convolutional neural networks (CNNs) are one of the most effective deep
learning methods to solve image classification problems, but the best
architecture of a CNN to solve a specific problem can be extremely complicated
and hard to design. This paper focuses on utilising Particle Swarm Optimisation
(PSO) to automatically search for the optimal architecture of CNNs without any
manual work involved. In order to achieve the goal, three improvements are made
based on traditional PSO. First, a novel encoding strategy inspired by computer
networks which empowers particle vectors to easily encode CNN layers is
proposed; Second, in order to allow the proposed method to learn
variable-length CNN architectures, a Disabled layer is designed to hide some
dimensions of the particle vector to achieve variable-length particles; Third,
since the learning process on large data is slow, partial datasets are randomly
picked for the evaluation to dramatically speed it up. The proposed algorithm
is examined and compared with 12 existing algorithms including the state-of-art
methods on three widely used image classification benchmark datasets. The
experimental results show that the proposed algorithm is a strong competitor to
the state-of-art algorithms in terms of classification error. This is the first
work using PSO for automatically evolving the architectures of CNNs.
