Active Learning/Adaptive Sampling

The active learning/adaptive sampling is used to create a feedback loop between the deep learning model and VRM simulator. This enables faster training convergence as the model generates a set of process parameters based on the regions that have maximum uncertainty. This is done iteratively till the model performance on unseen data is above the set threshold. Given training sample generation from the multi-fidelity simulator is a time taking computation heavy process the active learning strategy has significant impact on reduction of computation resources and time. The aim of this is to have a continuous learning system that can adapt to dynamic changes within a system and learn continuously so that model performance does not diminish with time.

_images/framework.png

Fig 1: Active learning strategy for faster training

class dlmfg.active_learning.sampling_system.AdaptiveSampling(sample_dim, sample_type, adaptive_samples_dim, adaptive_runs)[source]

Assembly System Class

Parameters
  • sample_dim (str (required)) – The number of initial samples to be generated

  • sample_type – Type of sampling to be used for generating initial samples

  • adaptive_sample_dim (int (required)) – The number of samples to be generated with each adaptive sample run

  • adaptive_runs (int (required)) – The maximum number of adaptive runs to be conducted

adpative_samples_gen(kcc_struct, run_id)[source]

Adaptive samples based on model uncertainty, currently this is Work in Progress

inital_sampling_lhs(kcc_struct, sample_dim)[source]

Generates multi-variate LHS samples for each KCC and scales then based on the KCC maximum and minimum value

Parameters
  • kcc_struct – list of dictionaries for each KCC from kcc_config file

  • sample_dim (int (required)) – The number of initial samples to be generated

Returns

numpy array of sampled KCCs

Return type

numpy.array [sample_dim*kcc_dim]

inital_sampling_uniform_random(kcc_struct, sample_dim)[source]

Generates multi-variate uniform random samples for each KCC and scales then based on the KCC maximum and minimum value

Parameters
  • kcc_struct – list of dictionaries for each KCC from kcc_config file

  • sample_dim (int (required)) – The number of initial samples to be generated

Returns

numpy array of sampled KCCs

Return type

numpy.array [sample_dim*kcc_dim]

dlmfg.active_learning.sampling_system.parentdir = 'C:\\Users\\sinha_s\\Desktop\\dlmfg_package\\dlmfg'

Contains sampling classes and methods to enable active learning between VRM and 3D CNN model