Skip to content

3 JavaFX based simulations about neural-networks, caesar ciphers and wave behaviours.

Notifications You must be signed in to change notification settings

ParsaJafarian/neural-cipher-waves

Repository files navigation

NCPS (Neural Network - Cipher - Physics - Simulation)

How to get started (Production Environment)

Head to releases section of this repository and download neural-cipher-waves.jar. Then, run it.

How to get started (Dev Environment)

  1. Clone the repository git clone https://github.com/ParsaJafarian/neural-cipher-waves.git
  2. Open the repository in your favorite IDE
  3. Run the Main.java file

Introduction

NCPS is a collection of mathematical/scientific simulations that teach users three different subjects. These simulations and their related subjects are:

  • Neural Networks - Simulation that shows how neural networks predict patterns differently when given different hyper-parameters
  • Classical Caesar Cipher - Implementation of one of the first crypotgraphy algorithms
  • Physics (Waves) - Demonstration of simple harmonic motion through a spring, pendulum and wave

Neural Network

Neural Network Demo

neural-network-demo.mp4

Features

  • Hyper-parameters: Customize learning rate, activation and loss functions to fine tune the model
  • Loss vs Epoch graph: Visualize training progress by plotting loss over epochs
  • Optimizer: Used Stochastic Gradient Descent Optimizer $O(n^2)$ which uses backpropagation and feedforward algorithms
  • Algorithms: Feedforward $O(n)$ & Backpropagation algorithms. Activations were fed forward; Derivatives of weights & biases were found through backpropagating.
  • Entering custom data: User writes input and output data. The model takes in the input data and tries to predict the output data.