We have written many times about why the patent system is a bad fit for software. Too often, the Patent Office reviews applications without ever looking at real world software and hands out broad, vague, or obvious patents on software concepts. These patents fuel patent trolling and waste. As machine learning and artificial intelligence become more commonplace, it is worth considering how these flaws in the patent system might impact advances in AI.
Some have worried about very broad patents being issued in the AI space. For example, Google has a patent on a common machine learning technique called dropout. This means that Google could insist that no one else use this technique until 2032. Meanwhile, Microsoft has a patent application with some very broad claims on active machine learning (the Patent Office recently issued a non-final rejection, though the application remains pending and Microsoft will have the opportunity to argue why it should still be granted a patent). Patents on fundamental machine learning techniques have the potential to fragment development and hold up advances in AI.
As a subset of software development, AI patents are likely to raise many of the same problems as software patents generally. For example, we’ve noted that many software patents take the form: apply well-known technique X in domain Y. For example, our Stupid Patent of the Month from January 2015 applied the years-old practice of remotely updating software to sports video games (the patent was later found invalid). Other patents have computers do incredibly simple things like counting votes or counting calories. We can expect the Patent Office to hand out similar patents on using machine learning techniques in obvious and expected ways.
Indeed, this has already happened. Take U.S. Patent No. 5,944,839, for a “system and method for automatically maintaining a computer system.” This patent includes very broad claims applying AI to diagnosing problems with computer systems. Claim 6 of this patent states:
A method of optimizing a computer system, the method comprising the steps of:
detecting a problem in the computer system;
activating an AI engine in response to the problem detection;
utilizing, by the AI engine, selected ones of a plurality of sensors to gather information about the computer system;
determining, by the AI engine, a likely solution to the problem from the gathered information; and
when a likely solution cannot be determined, saving a state of the computer system.
Other than the final step of saving the state of the computer where a solution cannot be found, this claim essentially covers using AI to diagnose computer problems. (The claim survived a challenge before the Patent Trial and Appeal Board, but the Federal Circuit recently ordered [PDF] that the Board reconsider whether prior art, in combination, rendered the claim obvious.)
A more recent patent raises similar concerns. U.S. Patent No. 9,760,834 (the ’834 patent), owned by Hampton Creek, Inc., relates to using machine learning techniques to create models that can be used to analyze proteins. This patent is quite long, and its claims are also quite long (which makes it easier to avoid infringement because every claim limitation has to be met for there to be infringement). But the patent still reflects a worrying trend. In essence, Claim 1 of the patent amounts to ‘do machine learning on this particular type of application.’ Indeed, during the prosecution of the patent application, Hampton Creek argued [PDF] that prior art could be distinguished because it merely described applying machine learning to “assay data” rather than explicitly applying the techniques to protein fragments.
More specifically, the patent follows Claim 1 with a variety of subsequent claims that amount to ‘When you’re doing that machine learning from Claim 1, use this particular well-known pre-existing machine learning algorithm.’ Indeed, in our opinion the patent reads like the table of contents of an intro to AI textbook. It covers using just about every standard machine learning technique you’d expect to learn in an intro to AI class—including linear and nonlinear regression, k-nearest neighbor, clustering, support vector machines, principal component analysis, feature selection using lasso or elastic net, Gaussian processes, and even decision trees—but applied to the specific example of proteins and data you can measure about them. Certainly, applying these techniques to proteins may be a worthwhile and time-consuming enterprise. But that does not mean it deserves a patent. A company should not get a multi-year monopoly on using well-known techniques in a particular domain where there was no reason to think the techniques couldn’t be used in that domain (even if they were the first to apply the techniques there). A patent like this doesn’t really bring any new technology to the table; it simply limits the areas in which an existing tool can be used. For this reason, we are declaring the ’834 patent our latest Stupid Patent of the Month.
In fairness, the ’834 patent is not as egregious as some of the other patents we have selected for this dubious ‘honor.’ But we still think the patent is worth highlighting in this series because the problems similar patents could create for innovation and economic progress might be much more serious. Handing out patents on using well-known machine learning techniques but limited to a particular field merely encourages an arms race where everyone, even companies doing routine development, attempts to patent their work. The end result is a minefield of low-quality machine learning patents, each applying the entire field of machine learning to a niche sub-problem. Such an environment will fuel patent trolling and hurt startups that want to use machine learning as a small part of the larger novel technologies they want to bring to market.
We recently launched a major project monitoring advances in artificial intelligence and machine learning. As we pursue this project, we’ll also monitor patenting in AI and try to gauge its impact on progress.