I. INTRODUCTION  
II. NEURAL NETWORK COMPRESSION  
A. Quantization and Entropy Coding  
B. Network Pruning  
C. Knowledge Distillation  
D. Non-linear Operations  
E. NAS and TinyML  
III. WHEN NN COMPRESSION MEETS HARDWARE  
A. Overview  
B. Hardware Accelerating on Linear Operations  
C. Hardware Accelerating on Non-linear Operations  
D. Stochastic Computing Architecture  
V. CHALLENGES, FUTURE TRENDS AND CONCLUSIONS