I started my PhD a few months ago.

Seriously, I don't know how I got accepted, but here I am. I am not a computer scientist, but come from a different STEM background. My knowledge in machine learning in general is pretty limited (for now, trying to catch up) and publishing something seems so far out of reach that it's overwhelming. I don't even know where to start. I'm reading papers on semantic segmentation and similar topics (which is the direction my topic goes in), and while I understand most of them technically, I completely lack the intuition to ask good questions about them, let alone identify some gap in which I can dive into to publish something. I read them and think "And now what?"

I don't dare to talk with my supervisor about this. She will think I am completely stupid and not suitable for the position.

Can someone suggest a pathway for me to somehow get the ball rolling and systematically work towards successfully graduating with a PhD? I'm really willing to put in work, it's just that right now I have the feeling I'm stumbling around in the dark and it's not productive at all.

  • 129
    It sounds like any PhD ever :).
    – gented
    May 14, 2019 at 15:20
  • 40
    If you know what you are doing, it's not "research."
    – alephzero
    May 15, 2019 at 1:47
  • 1
    This might be a tangential comment, but I recommend reading The Hundred Page Machine Learning Book, if you haven't already read it.
    – littleO
    May 15, 2019 at 10:04
  • 3
    Very related: How to effectively deal with Imposter Syndrome
    – David K
    May 15, 2019 at 14:51
  • 5
    <snark> If you know what you're doing, it's not "machine learning"! </snark>
    – JeffE
    May 16, 2019 at 6:56

10 Answers 10


Talk to your supervisor. Your supervisor accepted you, and therefore she must think that you had something to offer her research group. Don't phrase it like you did here. Instead, come to her with solutions and not problems. For instance, you need to learn to ask good questions. That's great. So why don't you ask her to recommend a good dataset that is common to use so that you can start exploring different methods?

Ultimately, you are in a PhD program and one of the biggest things you need to learn is how to read the literature to discover the open problems. This requires you to read far and wide. A big thing that will probably help you is to try to replicate results. You aren't doing this for publications, but to better understand what was done and why, and what the limitations were. Take a recent paper and try to recreate it. If you can't, go to a less recent paper that that one cites and so on. Build your way up.

For what it's worth, I think that a lot of PhD students come in with a general understanding of the field but not much of a deep understanding. As an anecdote, in the beginning of my PhD I'd find a paper that was written years before I started and think "Oh no! They've solved all of the problems I thought were important!" I'd rush to my supervisor to show him the brilliant research, and he'd show me the limitations and how they were being addressed. It seemed to me at the time that these papers solved their problems, but by spending time speaking to him I realized that that was not true - perhaps the data set was particularly simple, perhaps the researchers didn't try to expand their results too far, perhaps the domain in which the algorithm worked was so restricted that it was of no practical use.

Eventually, I learned how to do that on my own, first by looking for common obvious problems, then by thinking more subtly as I got better - and as I started doing my own research and making my own mistakes.

  • 32
    I like that a lot: "Eventually I got better -- I started making my own mistakes." May 15, 2019 at 8:15
  • 10
    +1 for an excellent answer overall, but I don’t think “come with solutions not problems” is as crucial as you suggest here. Sometimes when you feel really lost at sea (either in general or on a specific issue), the right thing to do is to simply go to a mentor figure and let them know how lost you’re feeling. It’s bad if this becomes a chronic pattern — if you’re repeatedly going to them and just dumping your problems in their lap. But as a very occasional thing, it’s sometimes necessary, and a good mentor should be understanding and able to work with it.
    – PLL
    May 15, 2019 at 11:37
  • 1
    Excellent answer, and I've experienced that "Oh no!" multiple times when I read an old paper that appeared to address my idea. This answer underlies the biggest issue with not speaking to your supervisor - as a new PhD student you aren't expected to know how to identify potential holes in papers to address. Your advisor (and colleagues!) is there to help train you to do this.
    – kjacks21
    May 15, 2019 at 19:10
  • 1
    I know academia is competitive, but many researchers still don't publish anything in a journal until after handing in their thesis. I wouldn't expect to be anywhere near publication in year 1. May 17, 2019 at 10:01

First of all, I know exactly where you're coming from. I also started a PhD in machine learning, whilst coming from a different field entirely. I knew next to nothing about computer science, I did not even have any math background to speak off. I have never before and never again felt as stupid and incompetent as I did in the first year of my PhD. I am now about to graduate with several high impact publications, so stuff can work out just fine, even if you feel like this.

So here are the things I would do (and did):

  1. Really do talk to your supervisor, reluctant though you may be. I can almost guarantee she thinks your struggle is completely normal and expected. She is in the ideal position to give you essential papers to read and tell you what you should understand about those. She can also help you formulate your first research questions.
  2. When you do read papers, focus on understanding the concepts, rather than all the details. Especially at the beginning trying to understand everything can become overwhelming quickly if you don't have the right background. Also try to think for yourself what the limits of the research are and what next steps would be. That kind of thinking just takes practice and experience. Both will come with time.
  3. Practice the practical things. This can also greatly help your understanding. In machine learning, for almost every problem and method there's an example dataset/tutorial. In the beginning just working through this and playing with parameters can really give you a feel of how an algorithm works.

But most of all, relax and give yourself some time. Yes, you will need to work hard to get to know the field, but don't panic. Understanding will come. And use your supervisor, that's what she's there for. Every supervisor knows new PhD students take some investment and time to become useful. And even in the very unlikely event she would not want to help you out with this, that's better to find out now than a year or more in. Good luck!


It might be the most important skill in a PhD to:

(i) understand what you do not understand,

(ii) find out if you need to understand it, and then

(iii) find out how to understand it.

For example: (i) if I am not understanding anything about the papers I am reading (happens all the time), I know I will have to dedicate months to grasp the basic keywords properly. This usually requires me to tackle such concepts from many different angles in basic frameworks, take pauses and come back at them, to let my brain "absorb" such concepts (ii)-(iii). For me, talking to people without fearing my own ingnorance is really a conditio sine qua non (ii)-(iii), especially if I need a tailored explanantion. If I feel new to the entire subject, I will put my best effort to talk to people to understand the way one thinks about the subject, at a more philosophical level.

(I did not address any machine learning aspect, as I interpreted the question as a more general PhD concern)


Apart from all the great answers here I have one additional suggestion and some encouraging words.

A PhD is as much an education as it is a job, perhaps even more so the first. Therefore it is also quite common to follow courses both on general skills needed for a career in academia as well as specific courses on the topic you are working in.

Therefore I would propose to try and find a high quality course on machine learning to familiarize yourself with the field and gain skills to start working with. One that takes 1 to a few weeks at most. I myself have taken such courses on other topics which helped me a lot. If those are not an option, explore online courses.

I have been in a similar situation of feeling utterly lost during my PhD and also afterwards. It wasn't until I taught myself how to program and accomplished developing my own software project that I finally felt I had something to contribute to science and became more confident about my skills. The longer you work in this field, thee better you realize that the learning never ends and also that nearly every scientist has a piece of insecurity inside them. They are only human after all.

Working in academia can be overwhelming and you have to accept that you can never obtain all available knowledge. Especially in the early years of your career this sensation can feel paralyzing and your supervisor hopefully knows or recognizes that feeling too. You will have to find your own way how to not let that stop you and as your learn more and more by trial and error as well as small successes you will become more confident. With this gain in knowledge, experience and confidence you will also start having your own ideas and opinions and spot gaps in current knowledge more easily, but these things take time.

The most important thing now is to work on obtaining enough knowledge to understand what it is you are supposed to do, and formulate for yourself why you are doing it, why it is relevant. The latter can help you feel more confident and motivated to achieve your goals. This will also help you determine whether the goals set are realistic or an insurmountable mountain.

I do not know how strong your supervisor is skilled in this field. Sometimes it happens that projects are set up with goals that require skills which are outside the range of expertise of the PI, and they possibly underestimated how challenging the task is. So if this is the case for your supervisor, it could be that she not purely overestimated your abilities, but also or instead underestimated the difficulty of the research project for someone with no or little experience with the techniques (machine learning in this case).

A healthy dialogue with your supervisor is therefore crucial to identify obstacle of all the varieties I described above early on in order to take timely steps to either fill the gaps in knowledge, identify limitations, evaluate how realistic the goals are and if needed adjust the course of the project towards a successful compromise if possible.

  • 1
    +1 for "you have to accept that you can never obtain all available knowledge". Even as a professor you will still have large gaps in your knowledge. You don't have time to learn everything and be an expert in everything. You can only develop expertise in few narrow techniques and scientific niches and you will continue to be fairly clueless outside of your area. May 17, 2019 at 3:28

What you experience is quite common, even for people who have better fitting backgrounds. The way to handle a strange (as in unknown) field is to implement what has been done before. Start with common knowledge items. Try to run kNN on iris dataset. Make sure you get the same result as others. Apply the same for other datasets, observe the results. While you are doing this you will get the intuition about what you are doing.

Finally, move to more recent published work. And at the end of the frontier, you are bound to find gaps that need filling. It may take time, but if you are determined enough you will be able to get there.


Just wanted to add to the many fine answers and comments: as a brand new Ph.D. candidate (many years ago), the director had us all sitting very informally and assured us that "none of you are a mistake" and that everybody there had been chosen for their unique background and contributions they could make.

Much later on, I found out about "imposter syndrome," and I think that is a very real issue that many students face, and must overcome. So much of completing a doctoral program is getting out of your comfort zone to address work and move towards completing little goals that will later add up to bigger work products.

I highly recommend you talk to your adviser, and seek out a mentor: somebody who has a Ph.D. and knows what you are going through, but isn't in your "chain of command," so you can talk about these issues and not worry about how you are seen inside the program.


Find a simple machine learning package with a tutorial. I am not going to suggest one as that would be out-of-scope, but obviously Google is going to be your friend in that respect. It doesn't have to be the final one you will be using; it is just to get the ball rolling, so probably your emphasis should be on finding something with a good set of samples.

Install it. Follow the tutorials. Play around with it. You should get some idea then of how machine learning actually works. Try and link up the practical stuff with the theory that you have read.

Move on from there. Maybe try another package or more complex exercises. Try and steer things in the direction of your chosen project.


The short answer: If you want to "do it yourself", I'd recommend a learning pathway from an online learning platform such as Udemy.com (my current favorite).

The specific one you do isn't the important thing; what IS important is that you begin creating projects of your own. You will feel competent very quickly after making even 1 fully functional project from the ground up. Optimizing it and making others will be multiply the effect. If this is your full time focus, in the span of 1 week you can feel like a completely different person in this field.

Second, and more important is what most responders have been saying: talk to your professor. You don't have to present answers to your own problems, but do have to be able to articulate what the problem is and any thoughts that might lead to a solution. You could even present suggestions from this thread!

Don't fret. Anyone that knows something had to learn it at some point. Kudos for taking that dive into your field of interest.


What an irresistible question. I hope you've got enough encouragement to go on learning from the other posts. But as a scientist, you will have residual doubt that a few examples don't make a rule. I personally would hate the patronizing tone.

So, I would like to nudge you to think about what is "the purpose" of your PhD, as it might influence your strategy going about it. The most important variable in this respect, I claim, is whether you are determined to pursue an academic career, in which case take note of the rules of this game. If it's more of a personal quest, more power to you.

To answer how to "systematically work towards successfully graduating with a PhD" to the point, consider the counter question: What are the major determinants? Of course, there is coursework and study, etc., but ultimately it is your supervisor's call. So, unless codified elsewhere, you could try to talk to your supervisor specifically about this.

If I was your (possibly old fashioned) supervisor, it'd say "demonstrate the ability to conduct your own research". This is where some of the other answers come in. At least that's more than my supervisor had told me.

Godspeed. Many of us envy your station.


Maybe I don't have much to add on top of previous commentators I am in your shoes at the moment.

I am learning how to learn.

First you have to identify an area in machine learning where you want to focus on (machine learning core or machine learning applications)

focusing on one area does not mean not reading or ignoring the other area completely, you still have to have knowledge about it.

Then get a bit deeper in that area.

read more of Survey papers ( it will help a lot ) instead of general reading.

If you have someone to ask ( like your supervisor ) that is a big advantage.

I am sure you will be ok with the time. just don't give up.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .