Differentiable Architecture Search

M1 student @ Tokyo tech

Bing BAI

July 11, 2021

NAS: General Problem Setup

Overview

Screen Shot 2021-07-06 at 17.59.43.png (86.0 kB)

Cell based Search Space:

Screen Shot 2021-07-07 at 3.17.55.png (103.1 kB)

pros

cons

Comparision of different methods

Screen Shot 2021-07-07 at 2.21.50.png (184.1 kB)

Table source: Chen +, Progressive Differentiable Architecture Search:Bridging the Depth Gap between Search and Evaluation, ICCV 2019

Reinforcement Learning Evolution Algorithm Differentiable Search
Computation cost High High Low
Search space Large Large Restricted

Differentiable Architecture Search: Gradient-based method

Liu et al., DARTS: Differentiable Architecture Search, ICLR 2019

Overview of DARTS

Screen Shot 2021-07-06 at 19.36.03.png (250.4 kB)

Continuous relaxation and optimization

Relaxation

$$ \overline{o} ^{(i,j)}(x) = \sum_{o\in \mathcal O}\frac{exp(\alpha_{o}^{ij})} { \sum_{o^{'} \in \mathcal O} exp(\alpha_{o^{'} } ^{(i,j)} ) }o(x)$$

Optimization

$$ \underset{\alpha}{min} {\mathcal L}_{val}(w^{*}(\alpha), \alpha) $$

$$ s.t. \ w^{*} (\alpha) = \underset{w}{argmin} \mathcal L_{train} (w, \alpha) $$

Approximate Architecture Gradient

$$ \nabla_{\alpha} {\mathcal L_{val}(w^{*}(\alpha), \alpha)}\approx \nabla_{\alpha}{\mathcal L_{val}(w - \xi \nabla_{w}{\mathcal L_{train} (w,\alpha), \alpha} )}$$

Screen Shot 2021-07-06 at 20.20.46.png (127.1 kB)

Induction: $$ \nabla_{\alpha} f(g_{1}(\alpha), g_{2}(\alpha))=\color{blue}{D_{1}f(g_{1}(\alpha), g_{2}(\alpha))} \cdot \color {red}{\nabla_{\alpha} g_{1}(\alpha)} +\color{blue}{D_{2}f(g{1}(\alpha), g_{2}(\alpha))} \cdot \color {red}{\nabla_{\alpha} g_{2}(\alpha)} $$

Differentiate:



Induction: We know the Taylor series : $$ f(x) = f(x_0) + \frac {f^{'}(x_0)}{ 1!} (x-x_0)+ \frac {f^{''}(x_0)}{ 2!} (x-x_0)^2 + \cdots$$

Let $ x = x_0 + hA$ and $ x = x_0 - hA $, we can induct the following expressions:

Then replace items by :


experiment and result

experiment setting

Screen Shot 2021-07-07 at 3.14.07.png (230.3 kB)

result

Conclusion

Candidate NAS for my research

Possible future direction

Material To learn about NAS:

[1] https://lilianweng.github.io/lil-log/2020/08/06/neural-architecture-search.html#evolutionary-algorithms [2] https://hangzhang.org/ECCV2020/

Engineering part