Skip to content

Latest commit

 

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Machine Learning for Materials Science

Contact for feedback: machri@phys.au.dk

Lesson plan

  1. Python for computational science intro / recap | Link
  2. Pytorch / The Atomic Simulation Environment | Link
  3. Potential energy surfaces | Link
  4. Introduction to Machine Learning | Link
  5. Machine Learning for atomic systems 1 | Link
  6. Machine Learning for atomic systems 2 | Link

Installation

Colab installion

If you use Google colab, which is likely the easist way to get started, then installation is simple - at the top of the notebook just ensure that the line

!pip install git+https://github.com/Mads-PeterVC/imlms

Has been executed, then the required dependencies will have been installed in your session. If you using colab make sure to save a copy of each notebook to your Google drive or download it to your machine.

Local installation

If you want to your local machine, then I recommend creating a virtual environment and installing the dependencies in there.

Virtual environment

To create a virtual environment open a terminal - and then assuming you have Python installed (if not see here or here.) run the command

python3 -m venv <path/to/env>

Where you decide on <path/to/env>. Once the command is completed you can check that the environment has been created

ls <path/to/env/>

And then you can activate it

source <path/to/env>/bin/activate

Dependencies

We will be using a variety of packages so to make managing all of that easier I have made this repo a package too - installing it will install all of the required packages.

Installation can be done like so, in a terminal with an active virtual environment

pip install git+https://github.com/Mads-PeterVC/imlms

Goals

  • Atomistic description of materials

    • Governed by Quantum Mechanics
      • Most commonly approximate using density functional theory.
    • Develop an understanding of potential energy surfaces.
      • Structural stability
      • Dynamics / Vibrational properties
      • Chemical reactions
    • Be able to use ASE to setup structures and start calculations.
      • Make a cluster / nanoparticle
      • Make a surface w. adsorbate.
  • Implement a simple potential energy surface

    • Lennard Jones
    • Lennard Jones with forces from Pytorch
      • Requires some introduction to Pytorch
    • Local optimization
    • Global optimization
  • Introduction to Machine Learning

    • Motivation
      • Reducing the computational cost of simulations by replacing expensive calculations with cheap ones, extends system size and time scales.
    • What is machine learning?
      • Categories
        • Supervised
        • Unsupervised
        • (Reinforcement learning)
      • Learning from data
        • What is 'data'?
          • How is it represented to a computer?
      • Algorithms
        • Nearest neighour classification
        • Curve fitting
        • Neural Networks
    • Practical
      • Sklearn: Excellent for off-the-shelf algorithms of many types.
      • Pytorch: for NN / Gradient based things
  • Implement trainable machine learning potential

    • Understand descriptors / Invariance
      • Implement some Fingerprint or Behler-Parinello type descriptor.
    • Understand neural networks
      • Feed forward layers
      • Activation functions
      • Gradient Descent
      • Batching
    • Learning a potential
      • Global anzats
      • Local anzats

About

Introduction to Machine Learning for Materials Science / Unison 2025

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages