Five Key Things Machine Learning Technologies Need to Reach Mainstream Developers

Google Research conducted a detailed survey among TensorFlow developers to determine the key elements that streamline adoption of machine learning frameworks.

Image for post
Image for post
Source: https://urgenci.com/what-they-wont-tell-you-about-being-a-developer/frustrated-developer/

Tinkers vs. Scientists: The Impostor Syndrome in Machine Learning

In a famous article published in 1978, Dr. Pauline R. Clance described a phenomenon in which accomplished individuals experience of self-perceived intellectual phoniness or the feeling of being a fraud. Dr. Clance referred to this phenomenon as the “impostor syndrome” which has become a common term in modern psychology. The impostor syndrome is present across all sorts of areas of a modern society but its definitely prevalent in scenarios that require a highly intellectual skills. I believe a version of that phenomenon is negatively influencing the adoption of machine learning technologies as many developers believe they don’t have the necessary mathematical and computer science skills to jump into the space.

Google’s Five Principles for Better ML Frameworks

Designing better machine learning frameworks to streamline developer adoption is one of the pivotal challenges of the next decade of the AI space. Based on their research, Google identified five key aspects that machine learning framework designers should consider to lower the entry points for developers:

Image for post
Image for post

1) Demystify Mathematical and Algorithmic Concepts

Despite ongoing efforts to lower the barriers to machine learning, and despite a preponderance of ML-newcomers aspiring to learn, surprisingly many developers perceived current resources to be intended for more advanced audiences. New machine learning frameworks should abstract these mathematical models into digestible, practical concepts. For instance, most developer have no idea what a gradient-descent is, but they can certainly understand tuning the learning rate of a model.

2) Support Learning by Doing

Today, most tutorials that highlight best practices in machine learning require substantial lines of code. Abstracting best practices into small code-blocks that can be used by beginner developers is essential to help developers who prefer a “learning by doing” approach to mater a new technology.

3) Support Re-use and Modification of Pre-made ML Models

Complementing the previous point, seems important to include canonical models that could help developers casually become aware of machine learning idiosyncrasies from within their existing programming workflow. In addition to lower the entry point for developers, it can also help to enforce the consistency across programs.

4) Synthesize ML Best Practices into Just-in-Time Hints

Decisions such as which parameter to fine-tune first or how many layers to use in a model can require years of machine learning development experience. Building better visualization and interpretability tools that use strategic pointers can help developers overcome this challenge.

5) Emphasize and Support the Experimental Nature of ML

The lifecycle of machine learning applications is different from previous technology trends. Specifically, machine learning applications require heavy experimentation and trial and error. Despite using the best model for a specific scenario, it is required to conduct dozens and dozens of experiments in order to ensure its optimal performance. Facilitating the experimentation process should be another key focus on future machine learning frameworks.

CEO of IntoTheBlock, Chief Scientist at Invector Labs, I write The Sequence Newsletter, Guest lecturer at Columbia University, Angel Investor, Author, Speaker.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store