Skip to content

brianxia273/NNReactiveSputtering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Neural Network Constructor for Reactive Sputtering Experiments

ReadMe Last Updated: 5/19/25

Overview

This repository contains scripts and models for generating and training neural networks to assist with reactive sputtering experiments. This project aims to use machine learning techniques, specifically first-order meta-learning, to predict key outcomes in reactive sputtering processes and overcome the obstacle of limited data. For meta-learning, we leveraged Reptile, an algorithm developed by OpenAI, to train our neural networks to quickly adapt to new tasks by learning from simulated data from three linear regression models: Support Vector Regression (SVR), Bayesian Ridge Regression (BRR), and Gaussian Process Regression (GPR).

The repository includes tools for:

  1. Linear Regression Model Evaluation: Records performance of SVR, BRR, and GPR on given datasets

  2. Augmented Data Generation: Creates interpolated and extrapolated data using linear regression models

  3. Defining and Pre-Training Neural Network Archetypes: Defines FCNN and 1D CONV neural network models and pre-trains them on SVG augmented data.

  4. Meta-Training Neural Networks using Reptile Algorithm: Utilizes the Reptile algorithm to adapt model parameters through few-shot learning

  5. Fine-Tuning for Real-World Usage: Adjusts model parameters on real data, completing the model for practical usage

Acknowledgments

This project is based on the study [Deep neural network and meta-learning-based reactive sputtering with small data sample counts] by [Jeongsu Lee and Chanwoo Yang], published in [Journal of Manufacturing Systems]. The work provides insights into reactive sputtering processes and has been foundational in developing machine learning models for predicting deposition outcomes. We extend this work to optimize and predict sputtering parameters for future experiments with different preconditions.

  • [Lee, Jeongsu, and Chanwoo Yang]. “Deep Neural Network and meta-learning-based reactive sputtering with small data sample counts.”. Journal of Manufacturing Systems, vol. 62, Jan. 2022, pp. 703–717, [https://doi.org/10.1016/j.jmsy.2022.02.004. ]

Project Structure

Reptile/
├── .gitattributes
├── directory_structure.txt
├── README.md
├── .idea/
│   ├── .gitignore
│   ├── misc.xml
│   ├── modules.xml
│   ├── REPTILE!.iml
│   ├── workspace.xml
│   └── inspectionProfiles/
│       └── profiles_settings.xml
├── Models/
│   ├── BRR-DataGenerate.py
│   ├── BRR-WriteMetrics.py
│   ├── config.py
│   ├── correlogram.py
│   ├── FCNN-Pretrain.py
│   ├── GPR-DataGenerate.py
│   ├── GPR-GridSearch.py
│   ├── GPR-WriteMetrics.py
│   ├── NN-FineTune.py
│   ├── NN-MetaLearn.py
│   ├── RegressionModels-DataMerger.py
│   ├── SVR-DataGenerate.py
│   ├── SVR-GridSearch.py
│   ├── SVR-InterExtraDataGenerate.py
│   └── SVR-WriteMetrics.py
├── Datasets/
│   ├── FullData.csv
│   ├── Metal (Alone) NTi.csv
│   ├── Metal (Alone).csv
│   ├── Nitride (Dataset 1) NTi.csv
│   ├── Nitride (Dataset 1).csv
│   ├── NitrideMetal (Dataset 2) NTi.csv
│   └── NitrideMetal (Dataset 2).csv
├── Old Reference Code/
│   ├── BRR-Display.py
│   └── SVR-OldInit.py
├── Pre-Trained Neural Networks/
├── Regression Model Data and Metrics/

Regression Model Data and Metrics, Starter Models, Pre-Trained Neural Networks, Meta-Trained Neural Networks, and Fine-Tuned Neural Network directories and sub-directories are all generated by the Python scripts. Example files and sub-directories are shown above.

Phases of Development Pipeline

*Adjust parameters in config.py, and replace datasets as necessary

1. Linear Regression Model Evaluation

  • SVR-GridSearch.py

  • SVR-WriteMetrics.py

  • BRR-WriteMetrics.py

  • GPR-GridSearch.py

  • GPR-WriteMetrics.py

2. Augmented Data Generation

  • SVR-DataGenerate-MetaTrain.py

  • SVR-DataGenerate-PreTrain.py

  • BRR-DataGenerate.py

  • GPR-DataGenerate.py

  • AugmentedDataMerger.py

3. Defining and Pre-Training Neural Network Archetypes

  • FCNN-Pretrain.py
  • 1D-Conv-Pretrain.py

4. Meta-Training Neural Networks using Reptile Algorithm

  • NN-MetaTrain.py

5. Fine-Tuning for Real-World Usage

  • NN-FineTune.py
  • NN-TestAccuracy.py

How to Use

About

Deep Neural Network, Meta-Learning for Reactive Sputtering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published