Friday 28 September 2012

NIALM in academia v NIALM in industry

Now I've had the chance to experience the field of NIALM from both an academic and industry perspective, I felt compelled to share my thoughts on both. Here they are:

Reality Gap

A luxury of academia is the ability to imagine possible future scenarios, and design approaches which provide value in such a scenario. Although this allows academia to think beyond the current state of the world, it often results in the opening of a reality gap. As such, scenarios are often proposed to fit a model, rather than a model which fits the real-world in either its current state or near future. Conversely, industry needs to provide value today, or within the near future, or it cannot become a profitable business.


In industry, mathematical elegance and theoretical proof matter little. Conversely, this is generally considered to be the core of an academic paper. Instead, performance is again considered to be the primary measure worth worrying about by industry folk. As a result, if the an unprincipled heuristic approach is shown to outperform its principalled rivals, the unprincipled approach is always the winner.


In academia, each publication must have a clear and measurable contribution. This generally takes the form of a description and evaluation of a model being applied within a domain for the first time. By this definition, there is no value in reimplementing an existing approach in the same domain. As such, unless authors have packaged and released their code, there is little chance of a side by side comparison. However, in industry performance is far more important than novelty. Consequently, there is the most value in implementing the state of the art, and any extensions only provide value if justified by the increase in performance.


Computer science academics talk a lot about computational complexity. Algorithms are generally discussed in terms of their linear, quadratic, exponential etc. complexity, and practical applicability is often lost in the search for optimal solutions. If an application is the focus of a contribution, I'd prefer to see the complexity grounded in terms of cost when scaling from neighborhood to national scales, or minute to year scales.


Academics often dismiss implementation problems as not worth their attention. Instead, it's generally sufficient for a publication to demonstrate a proof-of-concept, in which the proposed approach is shown to work on a small scale example. However, such implementation issues are key for a product to be viable in the real world. As such, industry focuses heavily upon such issues, since it's essential that their products execute reliably and in an unsupervised manner at real world scales.