2014 · 219 citations · 6 references
ComputingComputer ScienceSystems EngineeringArtificial IntelligenceMachine LearningSoftware EngineeringFault DetectionOverfittingComplexityDesign PatternsMaintenance Cost ModelingTechnical DebtTechnical Debt AssessmentTechnical Debt DecisionsTechnical Debt Management
Machine learning offers a fantastically powerful toolkit for building complex sys-tems quickly. This paper argues that it is dangerous to think of these quick wins as coming for free. Using the framework of technical debt, we note that it is re-markably easy to incur massive ongoing maintenance costs at the system level when applying machine learning. The goal of this paper is highlight several ma-chine learning specific risk factors and design patterns to be avoided or refactored where possible. These include boundary erosion, entanglement, hidden feedback loops, undeclared consumers, data dependencies, changes in the external world, and a variety of system-level anti-patterns. 1 Machine Learning and Complex Systems Real world software engineers are often faced with the challenge of moving quickly to ship new products or services, which can lead to a dilemma between speed of execution and quality of en-gineering. The concept of technical debt was first introduced by Ward Cunningham in 1992 as a way to help quantify the cost of such decisions. Like incurring fiscal debt, there are often sound
6
H. Brendan McMahan, Gary D. Holt, D. Sculley et al. · 2013 · 880 citations · Full text
R. Ananthanarayanan, Venkatesh Basker, Sumit Kumar Das et al. · 2013 · 130 citations
Detecting adversarial advertisements in the wild
D. Sculley, Matthew Eric Otey, Michael Pohl et al. · 2011 · 95 citations
Google's hybrid approach to research
Alfred Z. Spector, Peter Norvig, Slav Petrov · Communications of the ACM · 2012 · 58 citations