Skip to content

Instantly share code, notes, and snippets.

@Kaixhin
Last active May 12, 2022 05:29
Show Gist options
  • Save Kaixhin/99cf1d1d49a2151c16bff4b1a8e65d9d to your computer and use it in GitHub Desktop.
Save Kaixhin/99cf1d1d49a2151c16bff4b1a8e65d9d to your computer and use it in GitHub Desktop.
Student Projects

I supervise undergraduate/postgraduate/UROP projects as part of BICV. The PI, Dr Anil Bharath, has a nice set of FAQs for prospective research students, which should give you an idea of what our group specialises in. My topic of research is deep reinforcement learning, which is less focused on computer vision and more on general machine learning or even artificial intelligence. Note that I only supervise students at Imperial College London, so please do not contact me about supervision otherwise.

I expect students to be a) highly motivated and b) technically proficient.

a) Projects that I supervise revolve around cutting-edge research, and specifically deep learning. Projects can, and have in the past, relied on research released during the course of the project. Some parts of machine learning can be found in optional modules in bioengineering courses, but (modern) deep learning is currently not taught at Imperial (as far as I am aware). I usually give crash courses in machine learning, deep learning and/or reinforcement learning, but you will have to be mainly self-taught. On the other hand I am usually available to answer questions that may arise.

b) Deep learning in particular relies on efficient code to be feasible. I use the Lua-based Torch7 library. If MATLAB is the only programming language you've used, you are unlikely to have the programming skills required to make good progress. Apart from knowing a common language like C++/Python/JavaScript, you'll need to have some familiarity with Linux and the command line.

Past Projects:

  • An Empirical Evaluation of Deep Deterministic Policy Gradients
  • Incremental Slow Feature Analysis for Visual Localisation
  • Adapting GazeboJS for End-to-end Reinforcement Learning
  • Deep Reinforcement Learning for Object Grasping
  • Asynchronous Advantage-Actor Critic for Swarm Robotics

Tips:

  • The priority during the project is your physical and mental health. It is better to take a break, relax, and come back to a problem with a clear mind, rather than stressing over it continuously.
  • Help each other. Be prepared to read each other's code, writing, equations etc. A second eye is a valuable asset.
  • Read papers, and equations, carefully. Several times through the course of your project. In machine learning often the small details are key in getting the big idea to work. Machine learning algorithms are often very sensitive to hyperparameter choices, so you will probably have to try several combinations.
  • Marking schemes are not designed for projects involving cutting-edge research. If you are to be examined then you need to clearly express the areas you've had to learn, the systems you've had to implement, and characterise how they work in different circumstances - to examiners who most likely have little to no experience in your field. The significance of results must be expressed well.
  • Use version control (git) and ideally some kind of project management tool (personal recommendation: Asana). Backups of some form are vital in case of emergency. When working on a computing project, embrace the wealth of IT tools available.
  • It will be tough. Don't say I didn't warn you...

Useful resources:

@Ishani-Mondal
Copy link

Hi, I am currently pursuing my research on Machine learning and NLP at IITKharagpur. I am interested in doing a project under your guidance...kindly inform me how to start...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment