I am interning at Google DeepMind in London this summer!


I am a third-year Computer Science Ph.D. student at Carnegie Mellon University and am supported by an NSF graduate research fellowship. I spent the first two years of my Ph.D. working between mobile systems and applied machine learning and I now work with Zico Kolter on machine learning and optimization. I am particularly interested in improving our understanding of important modeling problems in computer vision, language, and reinforcement learning through the use of deep learning, optimization (sometimes convex), theory, and statistics. As examples, see our input-convex neural network and OptNet papers.

I strongly believe in open science and reproducible research and actively publish code on my Github profile. I am also the author of OpenFace, which is an open source face recognition project that uses deep learning.

Education

Aug 2014 - Present Ph.D. in Computer Science
Carnegie Mellon University
Aug 2014 - May 2016 M.S. in Computer Science
Carnegie Mellon University
Aug 2011 - May 2014 B.S. in Computer Science (3.99/4.00)
Virginia Tech
May 2011 Northside High School (Roanoke, Virginia)

Research Experience

Apr 2016 - Present Carnegie Mellon University, Prof. Zico Kolter
Machine learning and optimization
Aug 2014 - Apr 2016 Carnegie Mellon University, Prof. Mahadev Satyanarayanan
Applied machine learning and mobile systems
May 2012 - May 2014 Virginia Tech, Prof. Jules White
Mobile systems, cyber-physical systems, and security
Jan 2013 - May 2014 Virginia Tech, Prof. Layne Watson
Scientific computing, global/stochastic optimization, and bioinformatics
Nov 2012 - Mar 2014 Virginia Tech, Prof. Binoy Ravindran
Heterogeneous compilers

Selected Publications

Google Scholar

OptNet: Differentiable Optimization as a Layer in Neural Networks
B. Amos and J. Kolter
arXiv 2017
[1] [abs] [pdf] [code]
Task-based End-to-end Model Learning
P. Donti, B. Amos, and J. Kolter
arXiv 2017
[2] [abs] [pdf] [code]
Input Convex Neural Networks
B. Amos, L. Xu, and J. Kolter
arXiv 2016
[3] [abs] [pdf] [code]
Collapsed Variational Inference for Sum-Product Networks
H. Zhao, T. Adel, G. Gordon, and B. Amos
ICML 2016
[4] [abs] [pdf]
OpenFace: A general-purpose face recognition library with mobile applications
B. Amos, B. Ludwiczuk, and M. Satyanarayanan
CMU 2016
[5] [abs] [pdf] [code]
QNSTOP-QuasiNewton Algorithm for Stochastic Optimization
B. Amos, D. Easterling, L. Watson, W. Thacker, B. Castle, and M. Trosset
VT 2014
[6] [abs] [pdf]

Teaching Experience

S2017 Graduate AI (CMU 15-780), TA
S2016 Distributed Systems (CMU 15-440/640), TA
S2013 Software Design and Data Structures (VT CS 2114), TA

Industry Experience

May 2014 - Aug 2014 Adobe Research, Data Scientist Intern
  • I built a web analytics processing engine using Scala, Spark, Spray, Parquet, and HDFS.

Dec 2013 - Jan 2014 Snowplow Analytics, Software Engineer Intern
May 2013 - Aug 2013 Qualcomm, Software Engineer Intern
  • I created a specification format language translator for fuzz testing with Python.

May 2012 - Aug 2012 Phoenix Integration, Software Engineer Intern
  • I developed industry software for software integration and design process optimization in VC++, VC#, and Java.

Jan 2011 - Aug 2011 Sunapsys, Network Administrator Intern
  • Internship in high school to replace Windows domain, mail, DHCP, and DNS servers with virtual Linux servers using KVM and virsh.

CMU Graduate Coursework

  • Statistical Machine Learning (10-702, Au), L. Wasserman, S2017
  • Deep Reinforcement Learning (10-703), R. Salakhutdinov and A. Fragkiadaki, S2017
  • Intermediate Statistics (10-705, Au), L. Wasserman, F2016
  • Topics in Deep Learning (10-807), R. Salakhutdinov, F2016
  • Convex Optimization (10-725), R. J. Tibshirani, F2015
  • Algorithms in the Real World (15-853), G. Blelloch and A. Gupta, F2015
  • Semantics of Programming Languages (15-812), A. Platzer, S2015
  • Optimizing Compilers for Modern Architecture (15-745), T. Mowry, S2015
  • Advanced Operating and Distributed Systems (15-712), D. Andersen, F2014
  • Mobile and Pervasive Computing (15-812), M. Satyanarayanan and D. Siewiorek, F2014

Honors & Awards

2016 - 2019 NSF Graduate Research Fellowship
2014 1st Place Undergraduate Senior Capstone Award, Virginia Tech Computer Science
2014 David Heilman Research Award, Virginia Tech Computer Science
2014 Senior Scholar Award, Virginia Tech Computer Science
2014 Honorable Mention, CRA Outstanding Undergraduate Researcher Award
2011 - 2014 Awarded eight undergraduate merit scholarships

Skills

Languages

Bash, C, C++, CSS, Fortran, Haskell, HTML, Java, JavaScript, LaTeX, Lua, Make, Mathematica, Python, R, Scala

Frameworks

Akka, Android SDK/NDK, Caffe, Node.js, NumPy, TensorFlow, Torch7, Pandas, SciPy, scikit-learn, Spark, Spray

Systems

Linux, OSX

All Publications

Google Scholar

Preprints and Tech Reports

OptNet: Differentiable Optimization as a Layer in Neural Networks
B. Amos and J. Kolter
arXiv 2017
[P1] [abs] [pdf] [code]
Task-based End-to-end Model Learning
P. Donti, B. Amos, and J. Kolter
arXiv 2017
[P2] [abs] [pdf] [code]
Input Convex Neural Networks
B. Amos, L. Xu, and J. Kolter
arXiv 2016
[P3] [abs] [pdf] [code]
OpenFace: A general-purpose face recognition library with mobile applications
B. Amos, B. Ludwiczuk, and M. Satyanarayanan
CMU 2016
[P4] [abs] [pdf] [code]
Are Cloudlets Necessary?
Y. Gao, W. Hu, K. Ha, B. Amos, P. Pillai, and M. Satyanarayanan
CMU 2015
[P5] [abs] [pdf]
Adaptive VM handoff across cloudlets
K. Ha, Y. Abe, Z. Chen, W. Hu, B. Amos, P. Pillai, and M. Satyanarayanan
CMU 2015
[P6] [abs] [pdf]
QNSTOP-QuasiNewton Algorithm for Stochastic Optimization
B. Amos, D. Easterling, L. Watson, W. Thacker, B. Castle, and M. Trosset
VT 2014
[P7] [abs] [pdf]

Conference Proceedings

Collapsed Variational Inference for Sum-Product Networks
H. Zhao, T. Adel, G. Gordon, and B. Amos
ICML 2016
[C1] [abs] [pdf]
Applying machine learning classifiers to dynamic Android malware detection at scale
B. Amos, H. Turner, and J. White
IWCMC 2013
[C2] [abs] [pdf] [code]

Workshop, Symposium, and Short Papers

Privacy mediators: helping IoT cross the chasm
N. Davies, N. Taft, M. Satyanarayanan, S. Clinch, and B. Amos
HotMobile 2016
[W1] [abs] [pdf]
Early Implementation Experience with Wearable Cognitive Assistance Applications
Z. Chen, L. Jiang, W. Hu, K. Ha, B. Amos, P. Pillai, A. Hauptmann, and M. Satyanarayanan
WearSys 2015
[W2] [abs] [pdf]
The Case for Offload Shaping
W. Hu, B. Amos, Z. Chen, K. Ha, W. Richter, P. Pillai, B. Gilbert, J. Harkes, and M. Satyanarayanan
HotMobile 2015
[W3] [abs] [pdf]
Performance study of Spindle, a web analytics query engine implemented in Spark
B. Amos and D. Tompkins
CloudCom 2014
[W4] [abs] [pdf] [code]
Global Parameter Estimation for a Eukaryotic Cell Cycle Model in Systems Biology
T. Andrew, B. Amos, D. Easterling, C. Oguz, W. Baumann, J. Tyson, and L. Watson
SummerSim 2014
[W5] [abs] [pdf]
Fortran 95 implementation of QNSTOP for global and stochastic optimization
B. Amos, D. Easterling, L. Watson, B. Castle, M. Trosset, and W. Thacker
SpringSim (HPC) 2014
[W6] [abs] [pdf]

Magazine Articles

Edge Analytics in the Internet of Things
M. Satyanarayanan, P. Simoens, Y. Xiao, P. Pillai, Z. Chen, K. Ha, W. Hu, and B. Amos
IEEE Pervasive Computing 2015
[M1] [abs] [pdf]
Bad Parts: Are Our Manufacturing Systems at Risk of Silent Cyberattacks?
H. Turner, J. White, J. Camelio, C. Williams, B. Amos, and R. Parker
IEEE Security & Privacy 2015
[M2] [abs] [pdf]

Posters

Input-Convex Deep Networks
B. Amos and J. Kolter
ICLR Workshop 2016
[P1] [pdf]
Face Recognition for Context Sensitive IoT Systems
B. Amos and M. Satyanarayanan
HotMobile 2016
[P2] [pdf] [code]

Recent Blog Posts

Image Completion with Deep Learning in TensorFlow August 9, 2016
OpenFace 0.2.0: Higher accuracy and halved execution time January 19, 2016
Command Line Music Setup with Python and mpv July 5, 2014

View all

Fun Side Projects


Last updated on 2017-03-30