What I Did
Engineered and trained a Convolutional Neural Network (CNN) using PyTorch to detect skin cancer from dermatoscopic images, successfully classifying lesions as benign or malignant.
Fine-tuned key hyperparameters, such as learning rate, batch size, epochs, and dropout rate, optimizing the model’s robustness and mitigating overfitting through strategic regularization techniques.
Utilized the ISIC dataset, developing an automated tool for early skin cancer detection that could significantly impact patient outcomes by enabling faster, more accurate diagnoses, while also addressing the limitations of underrepresented demographics in the dataset.
-
Furthermore, more than 2 people die of skin cancer in the U.S. every hour. In fact, in the U.S., more than 9,500 people are diagnosed with skin cancer on a daily basis. Hence, early detection of skin cancer can significantly impact patient outcomes. Currently, there has been little research done into how deep learning could help with the detection of skin cancer. Leveraging deep learning techniques learned in class, this project aimed to develop a model for automated skin cancer detection from dermatoscopic images. The International Skin Imaging Collaboration (ISIC) database contained many high-quality images annotated by dermatologists, which was used as our primary data source. By training a convolutional neural network (CNN) on this dataset, the goal was to create a system capable of accurately classifying skin lesions as either benign or malignant. To achieve this, the project explored various parameters such as learning rate, batch size, number of epochs, and dropout rates to optimize the model's performance. With this project, our aim was to advance the field of dermatology by providing a reliable and accessible tool for early detection, potentially saving lives and reducing healthcare costs.
LOSS FUNCTION GRAPHS:
Rightmost - Used for the final model. Learning rate: 0.001. Batch size: 256. Number of epochs: 100. Dropout rate: 0.5.
Bottom Left - Learning rate: 0.001. Batch size: 128. Number of epochs: 100. Dropout rate: 0.3.
Bottom Right - Learning rate: 0.001. Batch size: 128. Number of epochs: 50. Dropout rate: 0.5.