🧠 Mô hình của tôi có thể dự đoán. Nhưng liệu tôi có thể hiểu được tại sao không?
Trong các bài viết trước, tôi đã tập trung vào việc xây dựng và cải thiện CNN đầu tiên của mình để phân loại khối u não bằng hình ảnh MRI.
Mô hình có thể chụp ảnh MRI và dự đoán một trong bốn loại:
u thần kinh đệm
U màng não
Tuyến yên
Không có khối u
Nhưng sau khi nhận được dự đoán, tôi bắt đầu hỏi một câu hỏi khác:
Tại sao mô hình lại đưa ra dự đoán này?
Kết quả phân loại như:
Dự đoán: U thần kinh đệm
Sự tự tin: 91%
cho tôi biết mô hình đã dự đoán điều gì.
Nó không cho tôi biết phần nào của MRI ảnh hưởng đến dự đoán đó.
Đó là nơi Grad-CAM
🧠 Mô hình của tôi có thể dự đoán. Nhưng liệu tôi có thể hiểu được tại sao không?
Trong các bài viết trước, tôi đã tập trung vào việc xây dựng và cải thiện CNN đầu tiên của mình để phân loại khối u não bằng hình ảnh MRI.
Mô hình có thể chụp ảnh MRI và dự đoán một trong bốn loại:
u thần kinh đệm
U màng não
Tuyến yên
Không có khối u
Nhưng sau khi nhận được dự đoán, tôi bắt đầu hỏi một câu hỏi khác:
Tại sao mô hình lại đưa ra dự đoán này?
Kết quả phân loại như:
Dự đoán: U thần kinh đệm
Sự tự tin: 91%
cho tôi biết mô hình đã dự đoán điều gì.
Nó không cho tôi biết phần nào của MRI ảnh hưởng đến dự đoán đó.
Đó là lúc Grad-CAM trở nên hữu ích trong dự án của tôi.
🤔 Tại sao khả năng giải thích lại quan trọng?
Đối với một bài toán phân loại hình ảnh thông thường, việc xem lớp được dự đoán có thể là đủ cho một minh họa cơ bản.
Nhưng hình ảnh y tế thì khác.
Nếu một mô hình dự đoán rằng MRI có chứa một khối u, tôi không muốn chỉ nhìn vào lớp cuối cùng.
Tôi cũng muốn điều tra:
Mô hình tập trung vào đâu?
Có phải nó đang nhìn vào một khu vực có ý nghĩa?
Có phải nó đang tập trung vào khu vực nghi ngờ có khối u?
Có thể mô hình đang sử dụng một số mẫu hình ảnh không liên quan?
Điều này không có nghĩa là một lời giải thích sẽ tự động làm cho mô hình trở nên chính xác.
Thay vào đó, nó cho chúng ta một cách khác để kiểm tra hành vi của mô hình.
Điều đó đã trở thành một phần quan trọng trong dự án của tôi.
🔍 Grad-CAM là gì?
Grad-CAM (Ánh xạ kích hoạt lớp theo độ dốc) là một kỹ thuật được sử dụng để trực quan hóa các vùng của hình ảnh góp phần đưa ra dự đoán của CNN cho một lớp cụ thể.
Thay vì chỉ nhận được:
Nhập MRI → CNN → Dự đoán
chúng ta có thể hình dung một cái gì đó gần gũi hơn với:
Đầu vào MRI
↓
dự đoán của CNN
↓
Grad-CAM
↓
Các khu vực quan trọng được đánh dấu
Kết quả thường được biểu diễn dưới dạng bản đồ nhiệt.
Các khu vực có kích hoạt mạnh hơn sẽ được đánh dấu mạnh hơn, cho phép chúng tôi kiểm tra trực quan nơi mô hình đang lấy nét.
⚙️ Cách thức hoạt động của Grad-CAM - Về mặt khái niệm
Toán học đằng sau Grad-CAM có thể trở nên khá chi tiết, nhưng ý tưởng cơ bản sẽ dễ hiểu hơn dưới dạng một chuỗi.
Bước 1 - Cung cấp hình ảnh MRI cho CNN
Hình ảnh MRI đã được xử lý trước sẽ được chuyển qua CNN đã được đào tạo.
Hình ảnh MRI
↓
Tiền xử lý
↓
CNN
Bước 2 - Nhận dự đoán của mô hình
CNN tạo ra xác suất cho các lớp khác nhau.
Ví dụ:
U thần kinh đệm → 0,91
U màng não → 0,04
Tuyến yên → 0,03
Không có khối u → 0,02
Xác suất cao nhất trở thành lớp được dự đoán.
Bước 3 - Chọn lớp mục tiêu
Grad-CAM tập trung vào lớp mà chúng tôi muốn điều tra.
Ví dụ:
Lớp mục tiêu → Glioma
Sau đó, chúng tôi kiểm tra xem các bản đồ tính năng bên trong của mô hình đã đóng góp như thế nào cho lớp đó.
Bước 4 - Tính toán độ dốc
Grad-CAM sử dụng độ dốc của lớp mục tiêu đối với các bản đồ đặc trưng của lớp chập.
Về mặt khái niệm:
Lớp mục tiêu
↓
Độ dốc
↓
Bản đồ đặc trưng
Độ dốc cho biết tầm quan trọng của việc kích hoạt bản đồ tính năng khác nhau đối với dự đoán đã chọn.
Bước 5 - Tạo bản đồ nhiệt
Các bản đồ đặc trưng được kết hợp bằng cách sử dụng trọng số quan trọng của chúng để tạo ra bản đồ nhiệt không gian thô.
Bản đồ đặc điểm
+
Trọng lượng chuyển màu
↓
Bản đồ nhiệt Grad-CAM
Bước 6 - Xếp chồng bản đồ nhiệt
Cuối cùng, bản đồ nhiệt có thể được thay đổi kích thước và phủ lên MRI gốc.
Điều này cho chúng ta hình ảnh trực quan về các khu vực quan trọng đối với dự đoán của mô hình.
🧩 Quy trình Grad-CAM hoàn chỉnh
Đây là toàn bộ quá trình tôi đã sử dụng về mặt khái niệm trong dự án của mình:
Điều quan trọng cần nhớ là Grad-CAM xuất hiện sau khi mô hình đã học và đưa ra dự đoán.
Nó không thay đổi dự đoán.
Nó giúp chúng tôi điều tra nó.
🧠 Grad-CAM trong Dự án MRI Não của Tôi
Tôi đã áp dụng Grad-CAM cho CNN đã được đào tạo của mình để trực quan hóa các khu vực góp phần đưa ra dự đoán của nó.
Quy trình làm việc cơ bản là:
Hình ảnh MRI
↓
Tiền xử lý
↓
CNN được đào tạo
↓
Lớp dự đoán
↓
Độ dốc của lớp mục tiêu
↓
Bản đồ đặc điểm
↓
Bản đồ nhiệt Grad-CAM
↓
Lớp phủ trên MRI
Điều này cho phép tôi chuyển từ việc chỉ nhìn vào dự đoán sang thực sự kiểm tra trọng tâm của mô hình.
🔬 Grad-CAM đang hoạt động
Ví dụ sau đây cho thấy ý tưởng rõ ràng hơn.
MRI ban đầu được truyền qua mô hình.
Mô hình đưa ra dự đoán và Grad-CAM tạo bản đồ nhiệt hiển thị các vùng liên quan đến dự đoán đó.
Lớp phủ cuối cùng giúp phần giải thích dễ diễn giải một cách trực quan hơn.
Một chi tiết quan trọng:
Vùng được đánh dấu biểu thị nơi mô hình đang tập trung cho dự đoán đó. Nó không nên được hiểu là ranh giới chính xác của khối u.
Sự khác biệt này đặc biệt quan trọng trong hình ảnh y tế.
🖼️ Ví dụ 1 - Dự đoán không có khối u
Đây là một ví dụ trong đó mô hình dự đoán hình ảnh không có khối u.
Bản đồ nhiệt cung cấp chỉ dẫn trực quan về các khu vực góp phần đưa ra dự đoán.
Nhưng điều quan trọng là không nên cho rằng mọi pixel được đánh dấu đều có ý nghĩa trực tiếp về mặt y tế.
Grad-CAM đang hiển thị các liên kết trực quan đã học được của mô hình—không phải mặt nạ phân đoạn đã được xác nhận về mặt y tế.
🧠 Ví dụ 2 — Dự đoán khối u
Bây giờ hãy xem xét một MRI có chứa vùng khối u có thể nhìn thấy được.
Trong ví dụ này, sự kích hoạt mạnh nhất là xung quanh vùng bất thường có thể nhìn thấy được.
Điều đó thật thú vị vì nó gợi ý rằng mô hình đang tập trung vào một khu vực có vẻ liên quan đến phân loại.
Tuy nhiên, điều này vẫn nên được coi là diễn giải mô hình chứ không phải bằng chứng cho thấy mô hình đã xác định chính xác khối u.
Sự khác biệt đó rất quan trọng.
💡 Tại sao khả năng giải thích lại quan trọng
Điều này đã thay đổi cách tôi nhìn nhận dự án CNN của mình.
Trước khi sử dụng Grad-CAM, tôi chủ yếu tập trung vào:
Độ chính xác
Độ chính xác
thu hồi
Điểm F1
Dự đoán
Sau khi khám phá khả năng giải thích, tôi cũng bắt đầu hỏi:
Người mẫu đang nhìn vào cái gì?
Tại sao nó có thể đưa ra dự đoán này?
Mô hình có tập trung vào một khu vực có ý nghĩa không?
Grad-CAM không tự động làm cho một mô hình trở nên đáng tin cậy.
Thay vào đó, nó cung cấp cho chúng ta một công cụ khác để kiểm tra hành vi của mô hình và xác định các vấn đề tiềm ẩn.
⚠️ Grad-CAM có thể và không thể cho chúng tôi biết điều gì
Đây có lẽ là điều quan trọng nhất
Nguồn tin: Dev.to Machine Learning — Tác giả: Tanmay P. Tawade. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.