Welcome to the AI StackExchange!
If you have never implemented a deep learning paper from scratch, it might be difficult to begin with a specific paper of your choice as there will not be many other implementations to help you out or other people who know the paper in-depth.
I would advise you to start by implementing a very popular/widely cited deep learning paper. If you get stuck along the way, you can google other people's implementations to get some guidance or ask additional questions on the Data Science Stack Exchange.
Now, to give some guidance on where to start, I'll give you my usual process of implementing papers. (Note: this is not necessarily the best or the only way, nor the way I always go about it, just the best way I could summarize my approach)):
- Read the paper on a surface level. Try to understand the key concepts (not the small details).
- What is the problem they want to solve?
- What is their approach to solving the problem?
- What are the key deep learning concepts they are using?
- Do you understand the general structure of the architecture/method they propose?
- What data do they use? What is the format of this data?
- (for neural net architectures)
- What is the loss function?
- Why is this loss function used?
- Dive deeper into the stuff you don't yet completely understand. Depending on what you don't understand yet, use the citations in the papers or make use of the internet (blog-posts, Stack Overflow, etc.). Understanding the concepts used in the paper is important!
- Start implementing the DataLoader. Get the data in the right format (see the question on data format above). Check the paper on batch size, shuffling and other specifics (if mentioned). If there are multiple data sources, take the easiest and simplest data. Always start simple!
- Start implementing the architecture components. Use a batch of data to continuously test whether your code works and keep extending onwards.
- Implement the training process. Loop over your data, train the model using the modules just implemented and calculate the loss and backpropagate. Don't forget to reset the gradients of the optimizer at the start.
- Test your code, and see if it runs.
- Go back to the paper to read all the specifics. The type of optimizer, the number of neural network layers, whether they use biases, all of it! Implement all these specific details.
- Test and debug time! Test your model on the training data and see if it converges in a proper manner. Debug anything that doesn't work!
Remember, implementing deep learning papers from scratch is not an easy thing to do! Don't get frustrated if it doesn't work immediately. I can promise you it won't. Therefore, again, make sure to start with a well-known paper. Also during implementing, start easy and work your way up. Don't just start with a super deep network, with millions of parameters. Start easy.
Good luck and have fun ;)