State Estimation Algorithms on Computer Architectures that Track Uncertainty

Lead Research Organisation: University of Cambridge
Department Name: Engineering

Abstract

Uncertainty is common in computing systems. Computers interact with their environment and since data originates from the environment, it contains uncertainty or noise. Uncertainty also comes up from computation itself, as in floating-point arithmetic or neural network training weights.

State estimation algorithms, such as the Kalman filters or the particle filters, can track the evolution of dynamic processes in the presence of uncertainty. For example, a self-regulating control system, such as a robotic arm, a micro-UAV, or a thermostat, often must act based on uncertain inputs from, e.g., noisy measurements from the system sensors. Using models of the process and its relation to the sensor measurements, these algorithms use uncertainty representations to leverage trust between the model's predictions and the sensor readings to produce an uncertainty-minimizing estimate of the process state which leads to more robust control.

In general, contemporary software design leaves dealing with uncertainty as an afterthought. Engineering systems that withstand uncertainty is hard and cumbersome, and no general solutions have emerged for it. Computer architectures that track uncertainty can present a solution to this problem. They can provide the necessary abstractions to track uncertainty and convenient interfaces to design software around them. Such architectures can benefit solutions to state estimation, a problem directly related to tracking uncertainty. Yet, there are no established hardware abstractions, compilers, tools and programming languages for this architecture paradigm. There are also no universal and tractable solutions for tracking correlation in such architectures.

This project will investigate new algorithms for state estimation for computer architectures that track uncertainty. This will lead to new insights into how such computer architectures can influence the design and implementation of state estimation algorithms. This research will investigate concise representations for uncertainty in computation, techniques for microarchitecture-assisted Bayesian inference and correlation tracking, compiler optimizations for these computer architectures, and programming language constructs and paradigms for programming on these architectures, to achieve high-level support for programming with probabilistic data, while exploiting recent advances in probabilistic programming.

Publications

10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/T517847/1 01/10/2020 30/09/2025
2597692 Studentship EP/T517847/1 01/10/2021 31/10/2025 Orestis Kaparounakis