Ali Haisam Muhammad Rafid
PhD Student
Computer Science
Virginia Tech
I am a Ph.D. student in Computer Science at Virginia Tech, working under the supervision of Dr. Adrian Sandu. My primary research interests lie in machine learning, with a focus on the robustification and optimization of neural network models. More recently, I have been exploring the development of machine learning techniques for solving inverse problems.
I was born in Fukuoka, Japan, to Bangladeshi parents who were pursuing their doctoral studies at the time. At the age of four, I moved to Dhaka, Bangladesh, where I spent the rest of my childhood. I completed my primary and secondary education at Engineering University School & College and attended Birshreshtha Noor Mohammad Public College for high school. My passion for mathematics and science during these years naturally led me to pursue a degree in Computer Science at the Bangladesh University of Engineering and Technology (BUET), where I earned my undergraduate degree in 2019.
Following graduation, I joined the Department of Computer Science and Engineering at United International University in Dhaka as a lecturer. In the spring of 2022, I began my Ph.D. studies at Virginia Tech.
Outside of academics, I enjoy gaming and reading. I am a nature enthusiast who loves traveling and hiking. I also love watching soccer.
CRISPRpred(SEQ): A Sequence Based Tool for sgRNA On Target Activity Prediction
Muhammad Rafid, Ali Haisam, Md Toufikuzzaman, Mohammad Saifur Rahman, and M. Sohel Rahman. "CRISPRpred (SEQ): a sequence-based method for sgRNA on target activity prediction using traditional machine learning." BMC bioinformatics 21 (2020): 1-13.
[paper] [code]
Sawmya, Shashata, Arpita Saha, Sadia Tasnim, Naser Anjum, Md Toufikuzzaman, Ali Haisam Muhamad Rafid, Mohammad Saifur Rahman, M. Sohel Rahman, and Tanvir Alam. "Phylogenetic analyses of sars-cov-2 strains reveal its link to the spread of covid-19 across the globe." In MEDINFO 2021: One World, One Health–Global Partnership for Digital Innovation, pp. 729-733. IOS Press, 2022.
[paper]
Rafid, Ali Haisam Muhammad, Junqi Yin, Yuwei Geng, Siming Liang, Feng Bao, Lili Ju, and Guannan Zhang. "A Scalable Training-Free Diffusion Model for Uncertainty Quantification." In SC24-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 380-386. IEEE, 2024.
[paper]
2015-2019: BS in Computer Science and Engineering, Bangladesh University of Engineering and Technology, Dhaka, Bangladesh
2022-2024: MS in Computer Science, Virginia Tech, VA, USA
2022-Ongoing: PhD in Computer Science, Virginia Tech, VA, USA
05/2019 - 11/2021: Lecturer, Department of CSE, United International University, Dhaka, Bangladesh
05/2024 - 08/2024: Internship under the Graduate Research at ORNL program, Mathematics in Computation Division, Oak Ridge National Lab, Oak Ridge, TN, USA
CSI 422: Computer Graphics Lab (Summer 2020)
CSE 1325/CSE 225: Digital Logic Design (Fall 2021, Spring 2021, Fall 2020, Summer 2020, Fall 2019)
CSI 411: Compiler (Spring 2020, Fall 2019, Summer 2019)
CSE 3812/CSI 342: Artificial Intelligence Lab (Spring 2020)
CSE 236: Assembly Programming Lab (Spring 2021, Fall 2020, Spring 2020)
CSE 2213/CSI 219: Discrete Mathematics (Summer 2021, Spring 2020)
CSI 416: Pattern Recognition Lab (Fall 2021, Spring 2021, Fall 2019)
CSI 321: Software Engineering (Summer 2019)
CSI 322: Software Engineering Lab (Summer 2019)
CSI 312: System Analysis and Design Lab (Fall 2020, Summer 2019)
CS 5806: Machine Learning II (Spring 2025, Spring 2024)
CS 2505: Computer Organization I (Fall 2024)
CS 1114: Introduction to Software Design (Fall 2023, Spring 2022)
Exploration of Training-free Diffusion Models for Solving Inverse Problems:
We are exploring diffusion processes to estimate the posterior distribution, given knowledge of the prior distribution and of the observation. We are also constructing optimal diffusion processes and studying their connections to variational particle filters.
Adversarial Training Using Negative Feedback Loop:
We are developing a new methodology where I use the idea of negative feedback loop to train robust neural network models. We train an additional neural network along with the main neural network model where the additional neural network acts as controller which passes feedback to the main network to guide it towards correct predictions.
Neural Network Reduction Using Guided Regularizers:
In this project, we explore the idea of guiding commonly used L1 and L2 regularizers so that the weight matrices of the trained neural network models have an interpretable and easily prunable structure. This is different from the standard regularizers in the sense that sparse weights can appear in any region of the weight matrices in this case.
Complex Image Generation Using Composable Diffusion Model with Mixture of Experts:
We leverage the concept of mixture of experts to train several diffusion models which are experts in generating a specific set of images and combining these models to generate complex images given captions that describe an image with multiple scenes or objects.
Estimation of Parameters of the Pacejka Magic Formula Using Knowledge Guided Machine Learning:
We utilize the concept of knowledge guided machine learning to design several loss functions based on the Pacejka Magic Formula. We combine these losses and train a neural network model to estimate parameters of tire model when some data from the dynamics between the road and the tire is available. This model can help engineers estimate the friction stabilizing the self-driving vehicle under different operational conditions.
Visualization of Neural Network Weights Before and After Reduction Using Regularization:
This is a simple visualization project where we use Tableau and Observable to explore the effects of standard and guided regularization on neural network training.
DX-Ball (Computer Game):
We developed a computer game similar to the popular game DX-Ball using the iGraphics library.
[code]
Hangman (Computer Game):
We made a computer version of the popular guessing game Hangman using the 8086 assembly language.
[code]
Railway Management System:
During the Database course project, we developed a simple railway management system. We used Redis to manage a database which contained information about the railway system of an imaginary country. We used JavaFX to develop the the UI where users can input their query and based on the query information was shown on the screen.
[code]
Productive Browsing:
This is a Chrome browser extension developed using JavaScript. Users can maintain a to-do list in the browser with deadlines and the extension will notify users according to the settings. Users can also maintain a list of unproductive websites so that they can be notified when they spend too much time in those websites. This extension can also be used to set customized wallpapers in the new tab.
[code]
Flood Gate Controller:
This project was part of the Microcontrollers course project. We built a small scale conceptual model of an automatic flood gate controller. We used ATmega32 as the microcontroller. A sonar (HC-SR04) sensor was used to detect the water level by calculating the time it takes for the echo to arrive from the water surface. Depending on the water level a small DC motor was used to control a small gate that will be used to control the small flood. We used a 16x2 LCD display to show the height of the water.
[code] [report]
Smart Health Kit:
We worked on building a cost effective tool for measuring heart rate and blood pressure using Arduino microcontroller and ESP8266 microchip. We used a photoplethysmogram (PPG) sensor to estimate the heart rate of a person. This reading was used to estimate the blood pressure. ESP8266 wifi module was used to upload the sensor data to the cloud. We used ThingSpeak for managing the data in the cloud. We also developed a simple android app so that users can access their historical health data.
[code]
Image Caption Generator Using Python:
This a Machine Learning Course project where we trained a combination of LSTM and CNN model followed by a decoder model to generate captions for given images (COCO dataset). During this project, due to lack of computational resources, we used a pre-trained VGG19 model to extract features from images. LSTM was used to extract features from the given captions. We combined the features extracted from captions and images and passed it to the decoder to regenerate the given captions during training. During testing, we use the features extracted from images and partially generated captions to generate the full caption.
[code]