  Human intelligence is able to first learn some basic skills for solving basic
problems and then assemble such basic skills into complex skills for solving
complex or new problems. For example, the basic skills "dig hole," "put tree,"
"backfill" and "watering" compose a complex skill "plant a tree". Besides, some
basic skills can be reused for solving other problems. For example, the basic
skill "dig hole" not only can be used for planting a tree, but also can be used
for mining treasures, building a drain, or landfilling. The ability to learn
basic skills and reuse them for various tasks is very important for humans
because it helps to avoid learning too many skills for solving each individual
task, and makes it possible to solve a compositional number of tasks by
learning just a few number of basic skills, which saves a considerable amount
of memory and computation in the human brain. We believe that machine
intelligence should also capture the ability of learning basic skills and
reusing them by composing into complex skills. In computer science language,
each basic skill is a "module", which is a reusable network of a concrete
meaning and performs a specific basic operation. The modules are assembled into
a bigger "model" for doing a more complex task. The assembling procedure is
adaptive to the input or task, i.e., for a given task, the modules should be
assembled into the best model for solving the task. As a result, different
inputs or tasks could have different assembled models, which enables
Auto-Assembling AI (AAAI). In this work, we propose Modularized Adaptive Neural
Architecture Search (MANAS) to demonstrate the above idea. Experiments on
different datasets show that the adaptive architecture assembled by MANAS
outperforms static global architectures. Further experiments and empirical
analysis provide insights to the effectiveness of MANAS.
