OrgoNet: Project Progress Reflection Introduction: The motivation for this topic is to speed up the slow process of visually representing molecule structures in Python’s ASE extension. Currently, there are very limited molecules (<50) in the library, so it is more a demo than a useful tool. To create new molecule structures, it guesses initial molecule locations and takes 8+ hours to slowly adjust to the final equilibrium position using intermolecular forces. We believe that a DNN can be trained to take in the molecule name, output the distances between atoms, and quickly output the 3D molecule structure with Python’s ASE extension. Our problem can be classified as a Regression problem. We are working with labeled data, and we map the molecule name to a continuous vector representing the 3D positions of all atoms in the molecule. Challenges: Creating our own data for thousands of molecule names and positions has been the hardest part of this project so far. However, the most challenging obstacle we are facing right now is the time it takes for our model to train. This makes it difficult to test small adjustments and retrain and reevaluate. To address this, we have decided to have each team member focus on fine-tuning one hyperparameter so that we can train simultaneously and hopefully reach ideal values faster. Insights: We have trained the current implementation of our model, and it has a loss value of 0.22 Å (down from 6.54 Å at the start of training). While there are many hyperparameters or features to tune, this is a good concrete result to improve on. When we ran our trained model on the testing set, the average difference per element location was 0.38 Å. While this is not an ideal final result, it is a sign that the model is learning and a great step in the right direction. Initially, we intended to create three datasets with incrementally increasing difficulty of training data. However, we realized during the data processing stage that separating the data risked mismatching data and labels, so we decided to train on the entire dataset. We were not certain how the model would perform, so the results so far are promising, and we hope to improve on them.
Plan: We are on track with our project because we have successfully trained the model and have outputted some results by this second check-in with our TA. Our next steps are to put our heads together and focus on how to improve the model. At this point, there are many possible reasons for why the model is not accurately outputting the correct positions. We need to determine if this is because of not enough model depth, some data points that are confusing the model, or the need for an architecture change. We have considered adjusting the learning rate and batch size, adding layers, or making other small model changes. We have also discussed possible data points that could be confusing the model, and we may remove those and retrain. We will continue to explore these options to improve the model's performance.
Log in or sign up for Devpost to join the conversation.