About Me
Hey there! I'm Alireza Ghorbani. I'm passionate about machine learning, with a focus on enhancing
trust in AI through explainable models. My research and projects in NLP and Computer Vision have
allowed me to tackle their complexities, using state-of-the-art XAI methods to better understand
model behavior.
I'm also interested in IoT, Cloud Computing, and Big Data Analysis. My undergraduate studies
introduced me to key concepts, and I've gained hands-on experience with tools like Apache Spark,
Hadoop, Docker, and Kubernetes.
In addition, I specialize in full-stack web development using JavaScript frameworks like React.js
and Node.js, and I completed a software engineering internship during my undergraduate studies.
Research Interests
- Machine Learning / Deep Learnign
- Natural Language Processing
- Computer Vision
- Explainable AI
- Cloud Computing
- Software Engineering
My research interests center around Deep Learning and Responsible AI , with a current focus on developing trustworthy AI models, particularly generative models like large language models (LLMs). I've worked on exploring ways to mitigate hallucinations in LLMs using techniques such as representation engineering, prompt tuning and knowledge graphs.
Academic Projects & Experiences
Domain Adaptation in Image Classification Problem
B.Sc. Final Project (Fall 2022)
about project | project link
Domain adaptation is a crucial aspect of machine learning and artificial intelligence that
addresses the challenge of adapting a model trained on one domain to another domain with
varying data distribution. The primary objective of domain adaptation is to enhance the
performance of a model on a target domain by leveraging knowledge from a source domain. This
approach is particularly useful when there is limited labeled data available for the target
domain but abundant labeled data available for the source domain. Domain adaptation can be
applied in diverse areas such as natural language processing, computer vision, speech
recognition, and robotics. One of the most effective techniques for solving domain
adaptation problems is discriminative adversarial neural networks (DANN). By using DANN, I
have successfully addressed a common issue in computer vision, where the feature
distribution in the training dataset differs significantly from that in the test dataset. To
demonstrate the effectiveness of this method, I have implemented it on two datasets: Office
datasets and Vehicle classification dataset. Initially, I trained Resnet50 without domain
adaptation and then used DANN to showcase the improvement in model accuracy. The results
showed that DANN significantly improved the model's performance on the target domain by
effectively leveraging knowledge from the source domain.
Achievements:
- Implemented Resnet50 network using Tesorflow and Keras in python to predict the class of images
- Addressed the challenge of varying data distribution of train and test datasets by adopting DANN technique
- Improved model accuracy by over 20 percent for two distinct datasets
Detecting Vehicles in Aerial Imagery
Machine Learning Course Project (Fall 2022)
about project | project link
in this project we aimed to address vehicle detection (classification and localization)
challenges by fine tuning three Deep Learning models : R-CNN , YOLOv5, RetiaNet
Achievements:
- Fine-tuned three object detection Deep Learning models like R-CNN, RetinaNet, and YOLOv5 on Vedai dataset
- Assessed these models and analyzed their effectiveness in classifying and localizing vehicles in test images
Implementing Microservices Using Kubernetes and Docker
Cloud Computing course (Fall 2022)
about project | project link
Docker is a containerization platform that allows developers to package and deploy
applications in a consistent and portable way. It allows for easy management of dependencies
and simplifies the deployment process. Kubernetes, on the other hand, is an orchestration
tool that automates the deployment, scaling, and management of containerized applications.
It provides a centralized way to manage containers across multiple hosts and can
automatically handle load balancing, scaling, and self-healing. Together, Docker and
Kubernetes provide a powerful platform for building, deploying, and managing modern
applications at scale. In this project I Developed Node.js APIs and MangoDB database as
microservices and dockerized them to communicate efficiently and built clusters in local
machine with Kind and managing them with kubernetes to provide web services.
Achievements:
- Kubernetes
- Kind
- NodeJS
- MongoDB
- Nginx
Web developer intern
IUT IT Center (Summer 2022)
about internship | project link
MERN Full-stack web development at IUT IT Center taught us how to build web application.
MERN full stack web development refers to the use of four technologies: MongoDB, Express,
React, and Node.js. MongoDB is a NoSQL database that stores data in JSON-like documents.
Express is a web application framework for Node.js that provides a set of tools and features
for building web applications. React is a JavaScript library for building user interfaces,
and Node.js is a server-side JavaScript runtime environment. Together, these technologies
enabled us to build scalable, efficient, and dynamic web applications from front-end to
back-end. MERN full stack web development is popular for its flexibility, scalability, and
ease of use.
Achievements:
- Obtained hands-on skills in front-end development with React.js and HTML/CSS
- Created different APIs and implemented back-end of a website to work with database with Node.js
- Developed a full-stack web application for trading Items between customers
Deep Reinforcement Learning Model for Stock Market Trading
IT Fundamental course (Spring 2022)
about project
Created various RL models for states, actions, reward function, policy and Q-value for multiple stock markets and then Implemented different RL algorithm like PPO, A2C and DQN for automating stock trading.
Adding New Module into Linux Kernel
Operating system course (Fall 2021)
about project
Generated new command to show current system processes in XV6 operating system and Developed
new module and added it into Linux kernel and worked with it through terminal
Technologies used:
- C/C++
- Unix
- assembly
- Linux
Teaching Assistant
C/C++ Programming Lab (Sep. 2020 – June 2021)
about activity
Taught C/C++ programming language fundamentals in basic programming lab for two semesters under supervision of Dr. Seyed Jalal Zahabi
Network Packet Sniffer and Port Scanner with Python
Computer network course (Fall 2020)
about project
Created a python program to sniff and analyze packets of diverse protocols and Developed an application to scan a range of ports of desired destination server with different packet types and reporting outcomes.
Windows Application with C++ QT Framework
Advanced programming course(Spring 2019)
about project | project link
Designed and Implemented an QT application with C++ from scratch to offer house renting
services to customers.
Technologies used :
- C++
- QT framework