# Resilience and Resilient Systems of Artificial Intelligence: Taxonomy, Models and Methods
## 5 Models and Methods to Ensure and Assess AIS Resilience
### Proactivity and Robustness
Transfer learning and multi-task or multiple-source domain learning also reinforce resistance to out-of-distribution perturbations [95; 96]. Ensemble algorithms can also be quite useful for mitigating the effects of drift. For example, Dynamically weighted Ensemble [97] adjusts the weight of individual elements of the ensemble depending on their relevance to the input data. The feature dropping algorithm [98] uses each element of the ensemble to correspond to a separate feature and can be excluded from the voting procedure if drift is observed on this particular element of the ensemble. \begin{table}
\begin{tabular}{p{56.9 pt} p{113.8 pt} p{113.8 pt}} \hline
**Approach** & **Capability** & **Weakness** & **Methods and Algorithms** \\ \hline \multirow{6}{*}{Fault masking} & & & Weights representation with error-correcting codes [83] \\ \cline{3-4}  & \multirow{3}{*}{Perturbation absorption} & Computational intensive model synthesis & Neural architecture search [84] \\ \cline{3-4}  & & & Fault-tolerant training based on fault injection to weight or adding noise to gradients during training [85] \\ \hline \multirow{6}{*}{Explicit redundancy} & & & Duplication of critical neurons and synapses [86] \\ \cline{3-4}  & \multirow{3}{*}{Perturbation detection and absorption} & Computationally intensive model synthesis and inference redundancy overhead & Multi-versioning framework for constructing ensembles [87] \\ \cline{3-4}  & & & Error correcting output coding framework for constructing ensembles [88] \\ \hline \multirow{6}{*}{Error detection} & & & Encoding the most vulnerable model weights using a low-collision hash-function [89] \\ \cline{3-4}  & \multirow{3}{*}{Rejection Option in the presence of neural weight errors with the subsequent recovery by downloading a clean copy of weights} & The model does not improve itself and information from vulnerable weights is not spread among other neurons & Checksum-based algorithm that computes low-dimensional binary signature for each weight group [90] \\ \cline{3-4}  & & & Comparision contrastive loss function value for diagnostic data with the reference value [91] \\ \hline \end{tabular}
\end{table} 
Table 3: Approaches and algorithms of faults detection and absorption. In order to handle concept drift in a timely manner, tools to detect it are necessary. Data distribution-based detectors estimate the similarity between the data distributions in two different time-windows [99]. These algorithms consider the distribution of data points, but changes in the data distributions do not always affect the predictor performance. Performance-based approaches trace deviations in the online learner's output error to detect changes [100]. The main advantage of performance-based approaches is that they only handle the change when the performance is affected. However, the main challenge is that these methods require a quick arrival of feedback on the predictions, which is not always available. Multiple hypothesis-based drift detectors are hybrid approaches that apply several detection methods and aggregate their results in parallel or hierarchically [101]. The first layer is the warning layer to alert the system about a potential occurrence of concept drift. The second layer is the validation layer that confirms or rejects the warning signaled from the first layer. Context-based detectors use context information available from the AIS and data to detect the drift. For example, [102] used model explanation methodologies to interpret, visualize and detect concept drift. In [103], authors designed a concept drift detector using historical drift trends to calculate the probability of expecting a drift using online and predictive approaches. In practice, AIS is often uncertain due to a lack of knowledge. In order to correctly handle such situations, Out-of-distribution data detection algorithms should be used. Methods for implementing Out-of-distribution data detection can be divided into three groups: methods based on data and training; methods based on AI model; methods based on post-hoc processing.