Research Interests

As part of the quest to understand our reality, and understand how the world and our brain works, I am focused on the underlying mathematics and principles of intelligence and learning in Neural Networks.

Understand at a precise mathematical level what capabilities and information are fundamentally needed to learn different kinds of tasks successfully, and to understand the basic algorithmic principles involved in getting computers to learn from data and to improve performance with feedback (ref).
Proving guarantees for algorithms (under what conditions will they succeed ?, how much data and computation time is needed ?) and developing machine learning algorithms that provably meet desired criteria.
Particularly researching problems in Sample Comlexity, Learnability, Generalization, Stability, Kernels, or more specific problems of Deep Learning Theory, Domain Adaptation, Mathematics of Attention, Nueral Tangent Kernel
Consquently, I deeply enjoy topics related to High-Dimensional Probability and Statistics.

geometric unification of a broad class of ML problems from the perspectives of symmetry and invariance (ref). Extending models and theories to use non-Euclidean data, such as graphs. Learn and generalize from structured data by incorporating geometric priors into the models.

Education

B.Sc. in Computer Science at Sharif University of Technology

University Courses of Interest:

Graduate-level course covering theoretical foundations and classical ML methods such as random forests, mixture models, neural networks, and reinforcement learning. Implemented MAP, SVM, and MLP from scratch. Final project: Neural Style Transfer.

Markov chains, Poisson and Gaussian processes, martingales. Final and extra project on MCMC: Metropolis-Hastings algorithm.

Concentration inequalities and probabilistic tools for high-dimensional spaces with applications in ML, statistics, and random matrix theory.

Mathematical foundations behind modern ML and deep learning, including learnability, generalization, and classical theory.

Formal statistical perspective on learning. Introductory compared to advanced theory courses.

Favorite foundational mathematical courses.

Probability and its applications, Statistics and its applications.

Databases, Data Structures, Algorithms, Advanced Programming, Operating Systems, Networks, Systems, Numerical Analysis, Automata & Languages.
Other Certificates:
Self Studied Courses:

Experience

Research Experience
B.Sc. Research Projects
Teaching Experience

This is an under graduate course at the Electrical Engineering department at Sharif University of Technology. I am currently responsible for studnets' course project on Bayesian Neural Networks. Course Web Page

This is a graduate course at the Electrical Engineering department at Sharif University of Technology. I am currently responsible for theoretical and practical exercise on Generative Flow Models. I also mentor students introducing them to related research areas and recent papers. Course Page

This course is for both Undergraduate and Graduate students at SUT, it was also available internationally to be audited. I am currently part of the team for educational content of “Breakthroughs: Vision Transformers, Self-Supervised Learning, Contrastive Learning” Chapter and the team for Unsupervised Learning and Clustering where I created the course slides. Course Page

In this course I was responsible for holding mentorship classes every week, covering topics such as python programming, combinatorics, sorting algorithms, induction and greedy algorithms, game theory and combinatorial games, graph theory and graph algorithms, recursion and recursive programming, and dynamic programming.

In this course, I was responsible for designing and scoring students final projects. I also held workshops guiding studets to create a custom application layer protocol and use TCP and UDP to create client-server and P2P network paradigms with socket programming. Workshop codes and videos are here.

I created exercises in five series throughout the course, and deployed them on Quera for students. My questions included the topics of dynamic programming, red-black trees, hash-tables, sorting etc.

In this course, I created and scored exercises on OS processes.

In this course I held TA classes on various topics including Git, File storage, Clean Code, OOP etc. I also created educational content on Multi Threaded programming and Reflection in Java. And I helped with scoring student exercises.