00:00Are you reading machine learning research papers or deep learning research papers and just feel like you're getting stuck? I know how you feel
00:07I recently started reading a bunch of machine learning and deep learning research papers, but one thing I noticed was that things really just weren't sinking in
00:13It didn't feel like I was picking stuff up fast enough
00:17I was getting confused by mathematical notation, and there were concepts that were really abstract to me
00:22So, what I ended up doing was continuously reading a bunch of papers until I developed a little bit of a process
00:28Now, this process might not be perfect, but it will help you get up to speed and really process these research papers a whole lot faster
00:36Ideally, fingers crossed, help you from losing your mind
00:39So, the first thing that I want you to do is take a deep breath and reset your expectations
00:48A key thing about approaching deep learning and machine learning research papers is that they are inherently quite sophisticated and quite complex
00:56Now, don't expect to approach the YOLO research paper or “Attention Is All You Need” and be able to master it in about five minutes
01:02Keep in mind that these research papers have been refined over years by teams of amazing computer scientists and deep learning engineers at top-tier tech companies
01:12So, resetting your expectations and really understanding that it's going to take a little bit of time to get through this research paper is essential
01:19Going to make the whole process a whole lot smoother and a whole lot less painful, not necessarily painless, but ideally a little less painful
01:29So now that our mind is all clear and fresh, the next thing that we want to do is read the abstract, the conclusion, take a look at the data section, and examine the results section
01:40The importance of reading the abstract cannot be understated
01:43The abstract is the section right at the top of the paper that usually gives you a high-level summary of the entire paper
01:52It normally explains what's novel, new, or interesting about the paper, whether or not it achieves interesting results or high-level results, whether or not it's a new way of doing a particular thing, or whether it's completely..
02:02Tackling a task which has never been seen before—reading the abstract—is really going to set you up for success because it's going to give you an overview or a bird's eye view of the entire paper
02:14Once you've gone and read the abstract, the next thing that you want to do is take a look at the conclusion
02:19The conclusion usually goes into a little bit of additional detail over and above the abstract and really starts to explain the results that the authors achieved within the particular paper and within their research
02:31Most importantly, it starts to set the scene for how this particular model may be improved in the future
02:35So, it's a great project that you could potentially add to your resume if you wanted to extend
02:40And it also explains what they're planning on doing to actually improve that model, so it sets the scene for some additional research that you might want to take a look into
02:49Now, once you've read the abstract and the conclusion, you want to go back and take a look at the data section and the results
02:56Looking at the data section really sets the scene for what types of information are going to be required for this particular model to work effectively
03:02It also begins to explain or give you an idea of how you might actually use this model and bring it into production
03:10Sometimes you're going to need a bunch of different types of data, and you'll need to perform various augmentations
03:14So, knowing this upfront is helpful
03:17Really helps identify how you might be able to approach this model
03:21I think the result is also a very interesting section to read because it starts to explain how this particular model works against certain benchmarks but also against other models that may be popular out there in the field
03:32So, going through and reading the abstract, the conclusion, the data section, and the results is going to give you a bird's-eye overview of the paper in its entirety
03:43We've now got a reasonable overview of what this entire paper is all about
03:47We've read the abstract, taken a look at the conclusion, and started to understand what data is required and why this particular model may be performing better than others
03:54Now, the next thing that I’ve actually found that makes this process a ton easier is to double-check whether or not the code and data are available
04:04Having the code and data available is going to make your life a lot easier
04:07Let’s face it, the main reason you’re actually going through this paper is ideally to be able to truly understand it, try it out yourself, or build it up from scratch so that you can apply it to your own use case
04:20Having the code and the data that the authors used is going to make this process a billion times easier
04:24So, you want to double-check whether or not this is going to be available right at the beginning
04:29Now, I’m not going to lie, I’ve gone through a couple of papers, and they haven’t actually..
04:33Provided the code or the data now, unless that particular paper is so new, so novel, or so interesting, more often than not, I'm probably going to drop it to the wayside because it's going to be so much more difficult to actually try to get an understanding of that
04:46Now, there are going to be use cases where you want to go and build it from scratch, and maybe the author hasn't provided the code, but more often than not, this is the exception, not the rule
04:56Now, if a particular paper doesn't actually come with the code or data, the best place to actually go and have a look for it is to go to Papers With Code
05:05The amazing thing about this particular website is you're going to be able to see a whole bunch of top-performing research papers within that
05:11Field, but more often than not, they'll actually link to examples or samples of that code that you're able to pick up and use yourself
05:20Doing this is going to make your life a billion times easier, particularly when you've got really tricky or niche components within that particular model that you want to build
05:27The fourth step in the process of understanding machine learning and deep learning research papers is to isolate how the model was built and trained
05:36You're probably reading the research paper because you want to identify and understand what actually makes it different, right? So, going through these steps is going to help you do exactly that
05:45Now, what I found after going through a bunch of research papers is..
05:50There are a couple of key things that you really want to focus on that will help solidify your understanding of that particular paper
05:57The first thing to look at is the model architecture
06:00Almost every deep learning or machine learning research paper includes an architecture diagram
06:04Whatever you do, highlight and circle it, and make a big note of it because it will help you understand the flow throughout the model
06:11 This brings us to the second thing to examine: what are the inputs and outputs of the model? Understanding whether there are multiple inputs, whether data transformations need to be applied to your data, and whether..
06:24The data is applied at different steps within the model, which is really going to help you understand how it all fits together
06:29Understanding the outputs is going to help you grasp what you're actually expecting from this model
06:34Are there multiple outputs? For example, if you look at the YOLO (You Only Look Once) model, there are multiple prediction heads
06:41Are there different probabilities that you're going to be getting back? What does the output actually look like? Are you going to be receiving probabilities, a segmentation map, or a series of tokens? Understanding what the input looks like and what the output looks like helps to really clarify what the model is doing
06:58The next thing..
07:15The thing you want to look at is whether or not there are any new or novel layers
07:20If you actually take a look at the paper titled "All You Need is Attention," you'll notice that there's a new layer in there, which is what everybody was talking about — called multi-head attention
07:25Understanding whether or not there are new or different layers really will help you later on when you actually look at the code, because more often than not, you'll see that a large portion of the code is dedicated to handling these new or novel interactions that are available within your model
07:30The next thing you want to look at, particularly if you're examining deep learning models, is how the loss function is defined
07:35Typically, you'll have a detailed mathematical formulation for that particular loss function
07:41What you want to do is make a note of it and actually look at how they've implemented it in the code
07:47This is really, really important—understanding the inputs, the outputs, the architecture, the loss function, and whether there are any newer or novel layers
07:55This will really help you understand what is actually happening when you look at the code
07:58It's like meshing the theory and the practice together to truly grasp what's going on
08:03The last thing to examine is how the model was actually trained—was there something very specific involved in the training process? Training implementation: what was the batch size, what were the hyperparameters being used? Understanding these is really going to help you when it comes to actually training and implementing this particular model
08:20 Now, normally, what I’ll actually do when it comes to understanding these components is I’ll use my iPad and annotate a particular paper using an app called GoodNotes
08:31 The reason I use GoodNotes is that you can actually write on the paper itself, highlight certain components of the code, write notes on that particular paper, and you can come back to them later
08:40 The reason I write on the paper is that when I come back to the paper, which..
08:45Inevitably, I'll have to because I normally go through a couple of key passes of a particular paper
08:49It helps me understand which components I already understood, what my particular notes were for that model, and it really helps me to restart from where I left off rather than having to reset completely from scratch when it comes to understanding the model
09:03If you don't have an iPad or if you don't want to actually write on it, on the iPad, what I also found was that writing on the paper itself—printing it out, highlighting, writing notes on the paper—that was just as effective
09:13Now, the other thing that you want to take a note of is, as you're actually going through and identifying how the model was trained and built, to make notes of..
09:20Components that you don't actually understand have a list of questions for things that you might need to clarify later or you might need to do some more research into
09:26This is completely normal
09:31Often, research papers build on top of other research papers, so those papers are sort of like assumed knowledge
09:37Having a list of papers or other resources that you might need to read will help you accelerate your understanding much faster when it comes to dealing with this particular paper
09:46Now, the fifth and final step when it comes to really getting your head around research papers is to try it out
09:52I've kind of been alluding to this throughout the entire video, but actually going through and doing more than..
09:58Just reading the paper is going to help you truly understand the model
10:02This is the core reason that I emphasize double-checking whether the code and the actual data for this particular model are available
10:06Because when it comes to truly understanding the model, actually testing it, trying it out, and extending it will help solidify your knowledge much faster
10:14 Now, I'm currently working through the FaceNet model developed by the Google team, and what I’ve actually found is that by coding through a little bit of it every day — kinda like Kenji's 66 Days of Data — you'll be able to build up your knowledge and really get to grips with what the model is doing, how it works, and what the..
10:36Performance metrics are also something I picked up along the way
10:40Having an understanding of how to create custom layers, how to build and develop your own loss metrics—these are really important, especially if you want to get into deep learning research
10:52Being able to do these things will help you a long way
10:56Currently, I am working through this using the Keras Functional API or the TensorFlow Keras Functional API, which makes it a lot easier
11:05But if you're using PyTorch, again, take a look at how you can do different things
11:10This includes creating custom layers, developing your own loss functions, and applying those loss functions to your model
11:14So, taking a look at backpropagation in a little more detail, the core thing is, whatever you do, make sure you go on ahead and actually try out the model for yourself
11:25This is really going to accelerate your knowledge of that particular paper or implementation way faster than anything else
11:30Thanks so much for tuning in, guys
11:34Hopefully, you enjoyed this video
11:36If you did, be sure to give it a like, hit subscribe, and tick that bell so you get notified when I release future videos
11:41And if you've got any other tips and tricks that you use to read machine learning or deep learning research papers, do let me know in the comments below
11:50I'm always eager to hear what you're using to get up to
11:52Speed a whole lot faster
11:54Thanks again for tuning in
11:54Peace.