Machine Learning

As in any scientific field, machine learning drastically changed my fracture mechanics techniques and methods.Towards the end of my PhD, people started integrating machine learning into fracture mechanics, including one of my supervisors, Prof. Shmuel Osovski. It has numerous applications, such as natural language processing, image and speech recognition, recommendation systems, predictive maintenance, fraud detection and medical diagnosis. Machine learning has the potential to disrupt many industries and improve the accuracy and efficiency of many processes.

  1. Revolutionary Products from Machine Learning
  2. In recent years, Machine learning has been making waves in various areas with applications. The extent of the influence is so much so that many are afraid of losing their jobs to machine learning. There are numerous important products in machine learning that have revolutionized various industries and fields. Some of the most notable products include:

    • Chat GPT: It is a large language model trained by OpenAI, capable of generating human-like responses to text-based prompts across a wide range of topics.
    • AlphaGo: A computer program developed by Google DeepMind that uses machine learning to play the board game Go and defeated the world champion Lee Sedol in a historic match in 2016.
    • Dall-E: An artificial intelligence program developed by OpenAI that can generate images from textual descriptions.
    • Tesla Drive Assistance: A suite of advanced driver assistance systems (ADAS) that uses machine learning to enable semi-autonomous driving capabilities in Tesla vehicles.
    • Google/DeepL Translate: Google's machine translation service, which uses machine learning to provide accurate translations between different languages.
    • Netflix/Amazon Prime: Subscription services that uses machine learning to recommend products and offer personalized experiences to users.
    • Google Photos: A photo storage and organization service that uses machine learning to automatically categorize and tag photos, making it easier for users to search and find specific images.
    • IBM Watson: A cognitive computing system developed by IBM that uses machine learning to understand natural language and provide insights in fields such as healthcare, finance, and customer service.

    Assisted driving of Tesla using object detection and navigation (from https://www.tesla.com/autopilot).

    Chat GPT, an interactive platform using text, images and audio.

  3. Working Principle
  4. The working principle of machine learning involves training algorithms on large datasets to recognize patterns and make predictions. This process typically involves the use of supervised or unsupervised learning techniques, where the algorithm is either provided with labeled data or must identify patterns on its own. The resulting models can then be used to make predictions or generate new data based on new inputs.

    The working method of image based classification using machine learning. Here the algorithm finds the probability of each picture to be cat or dog and sort them accordingly.

    The Newton-Raphson method is one among the iterative optimization technique that can be used in machine learning classification problems. It involves finding the maximum or minimum of a function by iteratively updating the estimate of the optimal solution. In classification problems, the Newton-Raphson method can be used to find the optimal weights that maximize the likelihood of the observed data.

    Newton-Raphson method, to find the solution of a system using its derivatives, used as linear regression in Machine Learning.(from wikipedia).

  5. Classification of Techniques & Methods
  6. There are many ways to classify the types of machine learning performed currently for various appliations. Some of the importance onces are,

    1. Supervised learning: In supervised learning, the algorithm is trained on a labeled dataset, where the correct output is already known, and the goal is to predict the correct output for new, unseen inputs.
    2. Unsupervised learning: Unsupervised learning is used when the dataset is unlabeled, and the algorithm must find patterns and structure on its own without being told what to look for.
    3. Reinforcement learning: Reinforcement learning is a type of machine learning that involves an agent learning to make decisions in an environment by receiving feedback in the form of rewards or punishments.
    4. Semi-supervised learning: In semi-supervised learning, the algorithm is trained on a dataset that is partially labeled and partially unlabeled, allowing it to learn from both labeled and unlabeled examples.
    5. Deep learning: Deep learning is a type of machine learning that involves the use of artificial neural networks with many layers, allowing the algorithm to learn complex patterns and relationships in data.
    6. Transfer learning: Transfer learning involves taking a model that has been trained on one task and using it to solve a different, but related, task. This can help to speed up training and improve performance on new tasks.

  7. My work
  8. I took two online courses from Coursera offered by Stanford University Online, taught by Andrew NG (certficates). These courses were very useful to get the basic understanding and some working experience with different types of machine learning models. But knowing the basics helps, and I hope it will in the future.

    • Machine learning
    • Neural Networks and Deep Learning
    • Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization
    • Structuring Machine Learning Projects
    • Convolutional Neural Networks
    • Sequence Models

    This is the integration of two images using machine learning. An inner layer is superimposed on another image during image processing in order to exploit certain qualities. Vincent van Gogh paintings are often used for this type of art.

  9. Small projects
  10. Due to the recent developments in machine learning, there are developments in almost every field and it is easy to follow an interesting topic and find a small project to start something. In most cases there is no need to write a script, there are various libraries, packages and snippets that can be used for most applications. This made me realise that machine learning at the moment is basically like plumbing - you take the package you need and plug it in, then you might need to tune it.

    Some suggestions for small projects to do at home are,

    1. Image classification: Build an image classifier using TensorFlow or Keras that can classify images of different objects, animals or plants.
    2. Chatbot: Build a chatbot using natural language processing (NLP) libraries like NLTK or spaCy and deep learning frameworks like TensorFlow or PyTorch.
    3. Handwriting recognition: Build a handwriting recognition model using libraries like TensorFlow or Keras that can recognize handwritten digits or letters.
    4. Music genre classification: Build a model that can classify music genres using libraries like TensorFlow or Keras.
    5. Object detection: Use deep learning frameworks like TensorFlow or PyTorch to build an object detection model that can detect objects in images or videos.
    6. Speech recognition: Build a speech recognition model using libraries like Kaldi, TensorFlow or PyTorch that can recognize different words or phrases spoken by a user.
    7. Mapping, path planning & navigation: Autonomous robot navigation using machine learning. This requires several sensors and single board computers, but a fun project.

    This video tutorial uses a library to detect the joints in our body and creates a code to interpret the sign language. This tutorial is by Nicholas Renotte, who has made similarly amazing tutorials. He has several repositories at Github. The same library could be used for different applications, for example to perform different functions by moving your fingers. You could control the mouse pointer with your fingers.