top of page
Sanjay Sundaram

My Research on RNN and CNN

Over the past several months, I've been working on creating and fine-tuning a machine learning model to detect lung cancer and pneumonia. It's been a wild ride, filled with highs and lows, and I'm super excited to share all the juicy details with you.




So, let’s rewind a bit. The entire process of coding and programming this model took about six to seven months. Yeah, you heard that right – months of intense, mind-bending work. It was like running a marathon, but with a keyboard instead of running shoes. The first thing I did was dive into YouTube tutorials. I started with the basics of neural networks before getting into the nitty-gritty of convolutional neural networks (CNNs), which are perfect for image-related tasks.


Learning about neural networks was like unlocking a new level in a video game. Neural networks are these super cool systems made up of layers of nodes, or neurons, which process information and identify characteristics of spatial data like images or sequential data like videos. There are different types of neural networks, and two of the most common ones are recurrent neural networks (RNNs) and convolutional neural networks (CNNs).


RNNs are typically used for sequential data such as text and videos. They work by retaining information about past inputs, allowing them to recognize patterns over time. Imagine watching a video, and the RNN remembers key details as the video progresses. This makes RNNs great for tasks like language translation or video analysis.


On the other hand, CNNs are designed for spatial data, such as images. Unlike RNNs, CNNs don’t backtrack to previous information. They process each image independently, extracting features and learning from each one to improve their accuracy. This makes CNNs ideal for tasks like image classification and object detection.


For my project, which involved detecting lung cancer and pneumonia from medical images, a CNN was the perfect fit. I started by watching tutorials on how to build and train CNNs. The actual coding part was a major challenge. Implementing the model and debugging the code was one thing, but fine-tuning the model to achieve high accuracy was a whole new level of difficulty.


Fine-tuning a machine learning model involves adjusting hyperparameters, which are settings that influence how the model learns. Achieving high accuracy, close to 90-100%, is insanely difficult. Even professional computer scientists often struggle with hyperparameters. It's like trying to solve a complex puzzle without knowing what the final picture looks like.


For me, the process was mostly trial and error. I spent countless hours guessing and checking different parameters to see what worked best for my model. This guess-and-check method was time-consuming and often frustrating, but it was also a great learning experience. I learned to be patient and persistent, two crucial qualities for anyone working in AI and machine learning.


During this journey, I also got some valuable help from my brother, who was taking a machine learning course at the time. He helped me understand how to input different layers such as pooling layers and batch normalization layers. These layers are essential for improving the model's performance and making it more suitable for the data being fed into it.


Pooling layers help reduce the dimensionality of the data, making the model faster and more efficient. Batch normalization layers, on the other hand, help stabilize the learning process and improve the model’s accuracy. With my brother’s guidance, I was able to incorporate these layers into my model, significantly boosting its performance.


As my model started to take shape, I compared its performance against some of the well-known models in the field of image classification, such as VGG16 and ResNet50. These models are like the superheroes of image classification, known for their high accuracy and robust performance. It was thrilling to see my model compete against these giants, and while it still had room for improvement, the results were promising.


Reflecting on this journey, I realize how much I've learned and grown. From understanding the basics of neural networks to fine-tuning a complex CNN, each step has been a building block towards becoming proficient in AI and machine learning. This journey has also taught me the importance of seeking help and collaborating with others. My brother’s assistance was invaluable, and it reminded me that learning is often a collaborative process.


Looking ahead, I’m excited to continue refining my model and exploring new projects. There’s so much potential in AI and machine learning, and I’m eager to see where this path will lead. Whether it's developing new applications in healthcare or tackling other challenging problems, I feel more equipped than ever to take on these challenges.


In conclusion, practicing AI and machine learning has been a rigorous but incredibly rewarding journey. The challenges have taught me patience, persistence, and the value of collaboration. As I continue to explore this fascinating field, I’m driven by the vision of creating technologies that can make a real difference. The future is bright, and I can’t wait to see what’s next on this exciting adventure.

Commentaires


Les commentaires ont été désactivés.
bottom of page