wiki:Other/Summer/2023/Features

Version 55 (modified by KatieLew, 16 months ago) ( diff )

Neural Networks For Feature Analysis

Introductions

Mayank Barad
Rising Senior pursuing BSE in Computer Engineering and Computer Science

Daksh Khetarpaul
Rising Junior pursuing BSE in Computer Engineering

Katherine Lew
Rising Sophomore pursuing BS in Finance and Computer Science

Advisors - Dr. Richard Howard, Dr. Richard Martin

Project Description

Neural networks have a long history of being used for classification, and more recently content generation, Example classifiers including, image classification between dogs and cats, text sentiment classification. Example generative networks include those for human faces, images, and text. Rather than classification or generation, this work explores using networks for feature analysis. Intuitively, features are the high level patterns that distinguish data, such as text and images, into different classes. Our goal is to explore bee motion datasets to qualitatively measure the ease or difficulty of reverse-engineering the features found by the neural networks.

Week 1 Progress

  • Defining objectives: We defined the objective of our project: to explore how well behavioral anomalies and patterns in bees are recognized by a neural network.

Neural Networks for Feature Analysis and Hive Monitoring are interrelated. The Hive Monitoring project is based on the hypothesis that changes in the earth's magnetic fields due to radio waves are affecting bee behavior. Their goal is to determine if bees exposed to a magnetic field behave differently than un-exposed bees. Our goal is to explore the use of Neural Networks to detect these changes.

How effective are neural networks at detecting minute changes in bee behavior?

  • Set up software: We set up Github and iLab accounts to collaborate and run the machine learning behavioral detection code, respectively.
  • Research neural networks: We researched neural networks to become familiar with the model. Looked into concepts like , , and .

Week 2 Progress

  • Visited the beehive to observe the behavior of real bees
  • Made a prototype simulator with pygame - Rejected(pretty obvious reasons)
  • Integrated "Power Law" for a more natural bee motion

bee garage First Prototype → Applying "Power Law" →

Week 3 Progress

  • Randomness Function:We programmed a function that allows the user to adjust the degree of randomness of synthetic bee motion along a spectrum. 0.0 represents the "bee" moving in a completely random motion, and 1.0 represents the "bee" moving via a distinct non-random pattern like a clockwise circle.
  • Train model: We used the randomness function to trained the machine learning model (AlexNet adjacent) to try to detect the difference between the random and non-random behavioral patterns. The model outputted a confusion matrix and an accuracy of 0.798 in identifying randomness.
  • Shannon's Entropy: We researched Shannon's Entropy Function as a measure of the model's accuracy and created a program that automates the calculation of the joint entropy of two discrete random variables within the random system (e.g angle and distance)

Bee simulator set at 0.1 randomness Simulator set at 0.3 randomness Simulator set at 0.9 randomness

Weeks 4 and 5 Progress

  • Validate results: We discovered that there was a mistake in our training data, so last week's training results were null. There was a bias in the input data, and irrelevant learning happened.
  • Retrain model: We retrained the machine learning model using simpler test cases, like the black-white frame test. With simple black and white classes, our model obtained 100% accuracy. With more complicated classes, our model obtained 98% accuracy.
  • Reformat tar files: We altered the program to reformat the training data. Instead of combining the frames of the random bee simulator into a video format, we compiled the data into a tar file, which consists of a png, a class, and a metadata file for each frame in the simulation. We will use these tar files as training data for the model.

Week 6 Progress

  • Time Varying Features: In order to train the model to capture time varying features (motion), we increased the channels while keeping the same kernel size. This works for small movements in the training data.
  • Clockwise-Anticlockwise Test: With the time-varying features accounted for, we began to train the model with patterns of motion instead of simple black and white frames. For instance, we created training data with one class of frames that move in a clockwise direction and one class of frames that move in a counterclockwise direction. Can the model detect left versus right rotations?
  • Entropy v. Accuracy Graphs: We created a graph from our model output data to derive the relation between entropy versus accuracy.

Week 7 Progress

  • Testing complicated patterns:
  • Testing with new bias:
  • Automation of model training:

Attachments (30)

Note: See TracWiki for help on using the wiki.