Engineering PapersSearch

Engineering topics

Muhammad Usman

Publications and source records attributed to Muhammad Usman.

Global Assessment of Drought Characteristics in the Anthropocene

Contemporary understanding of the impacts of climate change on global drought characteristics (e.g., intensities, extents) is still limited and not well understood. This knowledge is critical because projected changes in climate are expected to impact on future water availability as well as influence decisions on how water resources are allocated. The main aim of this study is to improve understanding of drought characteristics (extents and duration) in the Anthropocene where rapid changes in the environment are caused by the composite influence of human activities and climate change. Multi-scale earth observation data (1980 - 2020) and the Coupled Model Intercomparison Project Phase 6 climate models, which incorporate the Shared Socioeconomic Pathways (2040 - 2070 and 2070 - 2100) are used to assess these characteristics as well as identify climatic hotspots where changes in drought characteristics could drive groundwater hydrology. Results show that towards the end of the 21st century, global land areas under drought will significantly decrease but their durations will not. Generally, there is evidence of significant decline in the proportion of areas that will experience various drought intensities (moderate, severe and extreme drought) in the future and for each category, drought affected areas will not reach 30% on average. Moreover, some regions are potential hotspots of climate–groundwater interactions where drought events could directly impact on groundwater. This is because of the varying degree of strong correlations (positive and negative) between climate and groundwater data in some areas (e.g., Australia, Europe, Southern Africa, Asia). The relatively strong negative correlations in some of these hotspots are indicative of the presence of considerable lags, that could be caused by aridity as well as human groundwater footprints.

Christopher E Ndehedehe

NEUROSPF: A Tool For the Symbolic Analysis of Neural Networks

This paper presents NEUROSPF, a tool for the symbolic analysis of neural networks. Given a trained neural network model, the tool extracts the architecture and model parameters and translates them into a Java representation that is amenable for analysis using the Symbolic PathFinder symbolic execution tool. Notably, NEUROSPF encodes specialized peer classes for parsing the model’s parameters, thereby enabling efficient analysis. With NEUROSPF the user has the flexibility to specify either the inputs or the network internal parameters as symbolic, promoting the application of program analysis and testing approaches from software engineering to the field of machine learning. For instance, NEUROSPF can be used for coverage-based testing and test generation, finding adversarial examples and also constraint-based repair of neural networks, thus improving the reliability of neural networks and of the applications that use them.

neural networks

QuantifyML: How good is my machine learning model?

This paper presents an approach, QuantifyML, which employs model counting to assess the learnability and robustness of machine learning models. Typically the efficacy of machine learning models is determined by computing their accuracy statistically on test data sets. However, this may be misleading, if the test data is not representative of the problem that is being studied. Further, two different models may have the same accuracy on a given data set, measured statistically, but may be very different in their behavior on unseen data. Also, models with high accuracy could have poor adversarial robustness. In QuantifyML, our goal is to precisely quantify the extent to which machine learning models have learned and generalized from the given data. In QuantifyML, a trained model is translated into a C program, which is fed to the CBMC model checking tool to produce a formula in Conjunctive Normal Form (CNF), which in turn is analyzed with state-of-the-art model counters to efficiently obtain precise counts w.r.t different outputs. QuantifyML enables i) evaluating the learnability of models by comparing the counts for the outputs to ground truth, expressed as logical predicates (if available), ii) comparing the performance of different models that may be built with different machine learning algorithms (e.g., decision-trees vs. neural networks), and iii) quantifying the robustness of trained models around given inputs. Our evaluation demonstrates these applications of QuantifyML on decision trees and neural networks trained to learn relational properties of graphs, for which we know the ground truth, and to perform image classification, for which we do not have the ground truth, but we can quantify local robustness.

Deep Neural Networks

QuantifyML: How Good is My Machine Learning Model?

We present QuantifyML, which applies model counting to assess the learn ability, safety, and robustness of machine learning models. Typically, the efficacy of machine learning models is determined by computing their accuracy statistically on test datasets. However, this may be misleading, if the test data is not representative of the problem that is being studied. With QuantifyML we aim to precisely quantify the extent to which machine learning models have learned and generalized from the given data. In QuantifyML, a trained model is translated into aC program, which is fed to the CBMC model checking tool to produce a formula in Conjunctive Normal Form (CNF), which in turn is analyzed with state-of-the-art model counters to efficiently obtain precise countsw.r.t different outputs. QuantifyML enables i) evaluating the learnability of models by comparing the counts for the outputs to ground truth, ex-pressed as logical predicates (if available), ii) comparing the performance of different models that may be built with different machine learning algorithms (e.g., decision-trees vs. neural networks), and iii) quantifying the safety and robustness of trained models.

Deep Neural Networks

NNREPAIR: Constraint-based Repair of Neural Network Classifiers

We present NNREPAIR, a constraint-based technique for repairing neural network classifiers by i) fixing the logic of the network at an intermediate layer, and ii) fixing the decision conditions of the network at the last layer. NNREPAIR first uses fault localization to find potentially faulty network parameters (specifically weights) and then performs repair using constraint solving to apply small modifications to remedy the defects. We present novel strategies to enable precise yet efficient repair such as inferring correctness specifications to act as oracles for intermediate layer repair, and generation of experts wrt each class. We demonstrate the technique in the context of three different scenarios: (1) Improving the over all accuracy of a model, (2) Fixing security vulnerabilities caused by poisoning of training data and (3) Improving the robustness of the network against adversarial attacks. Our evaluation on MNIST and CIFAR-10 models shows that NNREPAIR can improve the accuracy by 45.56% on poisoned data and 11.11% on adversarial data. NNREPAIR also provides improvement, albeit modest, in the overall accuracy of models, without requiring new data or re-training.

Repair