How to Join?
We are looking for highly motivated students and postdocs with a strong interest in the area of deep learning, machine learning, and/or computer vision. If you are interested in doing research with us, [send me an email with your CV and/or transcript].
Note: Please use your school account when sending an email, if possible. In particular, an email from your naver account is often classified as spam.
What are prerequisites for ML/DL?
Machine learning (ML) is an interdisciplinary field of statistics and computer science, and deep learning (DL) is a subfield of ML powered by a large amount of computational resources, which has been successfully applied to computer vision (CV), natural language processing (NLP), reinforcement learning (RL), and other real-world applications.
A successful student is expected to have a strong background in mathematics/statistics and computer science. The following courses are considered prerequisites:
Mathematics/Statistics
Probability and Statistics
Calculus
Linear Algebra
Computer Science
Programming (C, C++, Python)
Data Structures
Algorithms
Note that the courses above are required to "learn" ML. If you'd like to be a graduate student and do "research" on ML, I recommend taking as many mathematics courses as possible that you find interesting. [Convex Optimization] would be an example of advanced mathematics courses highly related to ML; but you don't have to consider too much if they are related to ML. Improving your mathematical skills will increase the chance of being a successful researcher.
You don't need advanced programming skills for your research in most cases, but you should be able to 1) prototype and validate your idea with a toy example, 2) understand and run the code from GitHub to reproduce results reported in research papers, and 3) implement your idea on top of the existing code. Note that no matter how good your research idea is, you cannot validate it without programming.
Where can I learn ML/DL?
There are good ML/DL courses available online for free. I usually recommend Prof. Andrew Ng's lectures:
https://www.coursera.org/learn/neural-networks-deep-learning
CS229 Machine Learning @ Stanford [by Andrew Ng @ Fall 2018]
There are also good DL courses focusing on specific domains available online for free:
CS231n Deep Learning for Computer Vision @ Stanford [by Fei-Fei Li et al. @ Spring 2017]
EECS498/598 Deep Learning for Computer Vision @ UMich [by Justin Johnson @ Fall 2019]
CS224n Natural Language Processing with Deep Learning @ Stanford [by Christopher Manning @ Winter 2019]
CS285 Deep Reinforcement Learning @ UC Berkeley [by Sergey Levine @ Fall 2021]
Or, if you are a student at Yonsei University, you may consider taking [my courses].
Though not mandatory for DL research, I also recommend taking non-DL courses on specific domains like CV, NLP, and RL, as they will give you better insight into the field.
Note: You don't have to take all courses above. If you want to work with us, the minimum requirements are CS229 and CS231n (or equivalent) to start your own research.
What if I don't meet the requirements above?
You don't have to worry about it; not all successful graduate students meet the requirements above. Your passion, attitude, and intellectual curiosity are more important.Â
Regarding programming skills, you might not be good at programming at the beginning, but you can improve your skills through practice. To be familiar with programming, you can play with many interesting problems available online, e.g., [LeetCode].
Regarding mathematical skills, you can still do research on ML/DL with less mathematics, though your options become limited; here I leave a quote from Prof. Jinwoo Shin @ KAIST:
Learning good mathematical skills is important, but sometimes not an optimal choice for graduate students, e.g., who want to submit papers in the next month or get a job in the next year. This is because there can be a bunch of other non-mathematical options to improve your ML/DL papers or jobs more easily. Consequently, learning mathematics becomes more costly and less efficient, and your results often do more fragile without provable guarantees. At least, machine/deep learners with strong mathematical skills (a) are not easily replaced by other people and (b) can survive more easily even after ML/DL dies or their trends change.
On the other hand, if you are already a PhD student, completely ignore the above: emphasizing mathematical aspects too much beyond necessity (depending on your topics) in PhD life can be often intellectual vanity and waste of time (unless you are in charge of it). You should spend most time on something specific and directly related to your theses, irrespectively whether mathematical or not. Mathematics is useful for ML/DL, but definitely not all.