Hello! Welcome to my homepage! I am a data engineer at Borealis AI. Previously, I graduated from the University of Alberta with a Master of Science in Computing Science field. I was working as a research assistant under the supervision of Professor Matthew Taylor in the RLAI lab. My main research focus was Transfer Learning in Reinforcement Learning. You can read more about my research in the Research section. I got My BSc in Software Engineering from the University of Isfahan with an outstanding performance among my classmates for which I was awarded honorary admission to MSc in AI. I have experience in Reinforcement Learning, Data Science, Computer Vision, Robotics, Data Mining, and Natural Language Processing.

Education

Msc in Computer Science
2019 - 2021
 University of Alberta, Edmonton, Alberta
Thesis: Effective Transfer Learning with the Use of Distance Metrics
Supervisor: Dr. Matthew Taylor
GPA: 3.9/4

BSc in Computer Engineering (Software Engineering)
2013 - 2017
 University of Isfahan, Isfahan, Iran
Thesis: Facial Expression Recognition
Adviser: Dr. Amirhassan Monadjemi
Last 60 credits GPA: 18/20 = 3.83/4

Diploma in Mathematics and Physics
2009 - 2013
 Farzanegan Amin High School, Isfahan, Iran
GPA: 4/4

Work Experience

Data Engineer at Borealis AI, Toronto, Canada March 2022-March 2023


Xenon Project


This project included working on large amount of stock data:
  • Run, maintain, and support an ETL pipeline with three stages of clean and partition,
    normalization parameters calculation, and indexing in order to process the received
    data from RBC with more than 15 million records (size order : Terabytes) and providing it to the research team.
  • Adding new features to the pipeline such as appending new features (in a distributed
    manner and without requiring additional memory), and data profiling.
  • Leading the migration of Xenon and its Jenkins integration tests from OCP3 to OCP4
    manner and without requiring additional memory), and data profiling.
  • Checking data quality with automated quality scripts cron jobs and monitoring the
    results on Superset.
  • Technologies: PySpark, OpenShift, Jenkins, Delta Lake, S3, PureStorage, Superset, Grafana
Anahit


The Anahit consisted of two main subprojects: Anapipes, and Anaflow. Anapipes was a pipeline for pulling data from data warehouse by writing SQL queries, while Anaflow added the posibillity to make data pull jobs and data pull test jobs automatic via DAG definitionas on Airflow.
  • Expanding Anapipes to pull data for additional datasets from data warehouse
  • Migrating Anaflow to OCP4, and optimizing it by reducing the number of pvcs
  • Improving code quality by adding Pylint spellcheck to Jenkins quality checks.
RBC Brain POC


  • Working on a POC project in collaboration with RBC Brain to develop an ML platform
    that enables researchers to develop their models faster by reducing the needed
    time for environment setup. Improving the platform by adding features such as
    running in local mode, training in FastFile mode, and upgrading poetry packages.
  • Migrating Anaflow to OCP4, and optimizing it by reducing the number of pvcs
  • Improving code quality by adding Pylint spellcheck to Jenkins quality checks.

Reasrch Scientist Intern at Delphi Technology Corp, Calgary, Canada Jan 2020-Jun 2021


  • Fine-tuning the reward function and training an agent to perform straight and level and climb
    tasks in the X-plane flight simulator.
  • Analyzing (OCR,..) data of a real pilot’s flight, showing that the trained agent achieves
    comparable results to a pilot
  • Comparing the performance of students with the performance of the trained aganet
  • Technologies: Tensorflow, OpenCV, Seaborn

Data Scientist at Sadra Eye Clinic, Isfahan, Iran Aug 2018-May 2018


  • Worked on data mining and predictive analysis for Retinopathy of Prematurity
    on a real world dataset of over 18000 records.
  • Using bagging methods (Random Forest) to tackle the problem of small dataset size and achieving 84% accuracy.
  • Technologies: Matplotlib, Sklearn

Backend Developer at ITOrbit, Tehran, Iran 2016-2017


  • Working with JAVAEE, C++ and MYSQL to develop an ERP(Enterprise resource planning)
    system named 'NAAD' for managing the information of university students and professors. NAAD was
    the most famous and only ERP in academia in Iran and is used in nearly 1 out of 4 universities
    across the country.
  • Database developer
  • Software developer
  • Writing a program to clean, compress & encrypt text files to increase security
  • Working with TortoiseSVN and helping the IT support team to migrate from it to Git.
  • Working with WampServer and Making refreshing a single page possible in it in order
    to fasten developing process.

Projects

 Flying an airplane using RL: Training an RL agent to perform the straight and level task in the Xplane flight simulator and then using the trained agent instead of a pilot to guide students in their training process.

 Email Network Analysis: Analyzing the  internal email communication network between  employees of a company(strongly connected  components, centers, diameter, radius, etc)

  Path Construction Planning: A Python program to determine   between which cities a new road should be constructed.

  Sudoku Solver: Solving 4x4 and 9x9 Sudoku using AI algorithms such as backtracking.

 Forest Cover Type Prediction: A data mining classification problem. The goal of this project was to train a classifier that is able to classify(predict) the forest cover types for areas which were not included in its training data.

 Sorting Visualization: Visualizing the sorting process of three sort algorithms in a simple project in order to experiment with matplotlib animation, Streamlit and AWS EC2 servers.

 Depression Measurement: : A program in LISP that can tell the user whether he is suffering from depression or not and if he is by how much. If the program recognizes that the user is very depressed it will give further advice.

  Country Prediction: A program in LISP that asks about the primary attributes like its continent, Colors included in its flag, etc of a country and tells the name of the country.

 Telegram anonymous connector: Working with pyTelegramBotAPI, an API for Telegram application, to let two people talk to each other anonymously.

 Emojifier: Adding Emojis to text messages can  make them more expressive and the goal of this  project is to add appropriate emojis to text messages automatically.

 Failed Servers Detection : Using Gaussian distribution for anomaly detection in order to detect servers with unnatural behaviors in a network.

Artificial Ant with GP:I wrote the code for solving this problem and visualized the of finding the best path. You can see its video on the project's page.

Car detection with YOLO : A program with Keras and Tensorflow and the powerful YOLO model for detecting cars. Car detection can have applications in areas such as Autonomous driving.

Research Experience


Research Assistant, University of Alberta
Supervisor: Prof. Matthew Taylor

  • Working on improving transfer learning (regarding final performance, jumpstart, and time to threshold)
    2020 – 2021

    with the use of distance metrics (action distance, next-state distance, reward distance)
    in OpenAIgym environments: Pendulum and Hopper.

  • Creating new source tasks for transfer learning based on two distinct distance metrics
  • Comparing the quality of generated source tasks based on each metric
    (regarding final performance, jumpstart, and time to threshold)
    2021 – Present

Research Assistant, University of Isfahan
Supervisor: Prof. AmirHassan Monadjemi

  • Working on video action recognition (using spatial & temporal stream CNNs)
    2017 – Present

  • Working on data mining and predictive analysis for Retinopathy of Prematurity
    (a type of eye disease) on a dataset of over 18000 records
    2017 – Present

  • Working on autonomous robot movement with video analysis
    2015

Publications


  • Machine Learning and the Use of Classifier Algorithms in Identification and Classification
    of the Risk for Retinopathy of Prematurity in Premature Infnats
    2018
  • Gh.Naderian, Shiva Soleimany,[and 5 others]

Teaching Experiences


Teaching Assistant, University of Alberta
  • Algorithms I
    Fall 2019-Winter 2020
  • Algorithms II
    Fall 2020
  • Introduction to Computing
    Winter 2021
Teaching Assistant, University of Isfahan
  • Data Mining
    2016
  • Data Structures
    2013
  • Advanced Programming(JAVA)
    2015
  • Technical English
    2017
Instructor, Farzanegan High School (NODET)
2015-2017
  • Mathematics(Algebra, Combinatorics, Geometric Analysis)
  • Programming (HTML, C++)
  • Mechanical Physics and Astronomy
English Instructor, Iran Language Institute (ILI)
2014-2016
  • Teaching English as a Second Language (ESL) to Teenagers.

Honors and Awards


  • Graduate Research Assistantship Fellowship upon admission, University of Alberta, Edmonton, Canada
    2019-2021
  • Graduate Student Award (3800 CAD), University of Alberta, Edmonton, Canada
    2020
  • Graduate Student Award (3600 CAD), University of Alberta, Edmonton, Canada
    2019
  • Received honorary admission from University of Isfahan graduate studies in
    Artificial Intelligence for outstanding academic success, Iran
    2017
  • Received honorary admission from University of Isfahan graduate studies in
    Artificial Intelligence for outstanding academic success, Iran
    2017
  • Top 10 percent during Bachelor studies
    2017
  • First team in the ACM contest held at the University of Isfahan
    2016
  • Third place in Isfahan Startup Weekend, Isfahan,Iran
    2015
  • Ranked top 0.007 in the Nationwide University Entrance Exam among all
    students in mathematics and physics (approximately 570,000)
    2013
  • Second place,IranOpen RoboCup Competitions, Junior Soccer Leauge
    2012
  • Second place,IranOpen RoboCup Competitions, Junior Soccer Leauge
    2011
  • Participating in the International Robotic competitions, Istanbul, Turkey
    2011
  • Participated in AUTCUP RoboCup Competitions, Line Follower League
    2010

Technical Skills

  • Programming Languages Python PySpark C++ Java R Prolog
  • Libraries PyTorch TensorFlow Sklearn Pandas Numpy Keras NLTK NetworkX
  • Database systems Microsoft SQL Server MySQL Delta Lake BigQuery SQLite Tableau Great Expectations MongoDB Grafana PureStorage Amazon S3
  • Cloud/MLOps AWS (EC2, Lambda, Sagemaker, Glue) Azure Docker Airflow Jenkins OpenShift
  • Web Technologies HTML CSS JavaScript JQuery XML Json