Quantifying Uncertainty and Decision under Uncertainty in ML
Real-life applications of deep learning models would require these algorithms to achieve a set of tasks that they have not encountered yet. Moreover, the data coming from observations might drift continuously or shift frequently from the data which is used to train the models. These challenges cause uncertainties for models. The uncertainties can be grouped under two broad topics: epistemic uncertainty (model uncertainty) and aleatoric uncertainty (noisy data and/or dataset shift). These two types of uncertainties originate our confidence in a prediction, namely predictive uncertainty. The dynamic nature of behaviour and physical world necessitate assessing uncertainty and adapting to changing environments for intelligent beings. Assessing the uncertainty instead of eliminating it would be a better approach for creating an intelligent agent. A big challenge for current deep learning models is both being generalizable in a reliable manner and being fast, safe, and efficient adaptation to the changing in the objective tasks. Current deep learning models can often output a confidence level in their predictions, however the benefit of having such confidence level and how it should be used to tune, change or adapt a ML model is not well investigated. The two major challenges of this project will be to develop algorithm to detect and quantify uncertainty for the task at hand, and to develop an adaptive framework for deep learning models to react to changing level of uncertainty. Tackling the epistemic and aleatoric uncertainty would require changing or updating the current models. The desired result of this project would be a learning algorithm which will adapt to the changing environment in an uncertainty-aware manner. The method would assess uncertainty when given a task and if the new situation is not familiar, should output a high uncertainty so that the model can adapt to uncertain conditions. Adaptation could imply changing models parameters, adapt to the presence of new or changing feature or to the absence of some features, adapting to new performance criteria for the model, or switching to a different machine learning architecture in order to maintain the required level of performance. Our research question is: can the performance of a deep learning model be increased by making it adaptive to the level of uncertainty of the task at hand? Data-driven methodology such as KDD will be used to develop and evaluate our research and to test our models with different datasets in changing and uncertain domain.