Robopsychology, a term coined by Isaac Asimov, is the ultimate form of humans' reflection about themselves. By inspecting what one creates, one learns about oneself. Even more so when the creation is meant to be like the creator.
Machine learning is an impressive approach to create software. The universal approximation theorem is often cited to establish the claim that deep learning - a branch of machine learning - is already sufficiently expressive to approximate any numerical functions. Ignoring the impracticality of this claim, I would like to contrast how this approach of creating software is very different from the traditional approach with human software developers. There are many ways machine learning based software creation differs from the traditional approach: The requirements are specified differently; the creation process is different; the testing is done differently; the created software is debugged differently. In this post I will focus on debugging. The testing aspect will be discussed elsewhere, but let's say that you have found a bug realized in the following form: There is an input x whose output f(x) of f is not the expected output y. And the goal of debugging is...
Comments
Post a Comment