Alireza Ghorbani

Bs.C. in Computer Engineering
Isfahan University of Technology

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

Feel free to drop me an email if you'd like to connect :)