Professional Documents
Culture Documents
Designing deep neural networks these days is more art than science. In
the deep learning space, any given problem can be addressed with a
fairly large number of neural network architectures. In that sense, de-
signing a deep neural network from the ground up for a given problem
can result incredibly expensive in terms of time and computational re-
sources. Additionally, given the lack of guidance in the space, we often
end up producing neural network architectures that are suboptimal for
the task at hand. Recently, arti@cial intelligence(AI) researchers from
Google published a paper proposing a method called MorphNet to opti-
mize the design of deep neural networks.
Automated neural network design is one of the most active areas of re-
search in the deep learning space. The most traditional approach to
neural network architecture design involves sparse regularizers using
methods such as L1. While this technique has proven eLective on reduc-
ing the number of connections in a neural network, quite often ends up
producing suboptimal architectures. Another approach involves using
search techniques to @nd an optimal neural network architecture for a
given problem. That method has been able to generate highly optimized
neural network architectures but it requires an exorbitant number of trial
and error attempts which often results computationally prohibited. As a
result, neural network architecture search has only proven eLective in
very specialized scenarios. Factoring the limitations of the previous
methods, we can arrive to three key characteristics of eLective auto-
mated neural network design techniques:
MorphNet
Google’s MorphNet approaches the problem of automated neural net-
work architecture design from a slightly diLerent angle. Instead of trying
to try numerous architectures across a large design space, MorphNet
start with an existing architecture for a similar problem and, in one shot,
optimize it for the task at hand.
In this initial iteration, there are several areas in which MorphNet can
deliver immediate value of neural network architectures.
logits = build_model()
network_regularizer =
flop_regularizer.GammaFlopsRegularizer(
[logits.op], gamma_threshold=1e-3)
regularization_strength = 1e-10
regularizer_loss =
(network_regularizer.get_regularization_term() *
regularization_strength)
model_loss =
tf.nn.sparse_softmax_cross_entropy_with_logits(labels,
logits)
optimizer = tf.train.MomentumOptimizer(learning_rate=0.01,
momentum=0.9)
train_op = optimizer.minimize(model_loss +
regularizer_loss)