--- title:AI for Medical Diagnosis tags:Course --- # [AI for Medical Diagnosis](https://www.coursera.org/learn/ai-for-medical-diagnosis) ###### tags: Course 歡迎各位路見不平直接改共筆!不管是美編,內容補充或校正! # Week 1 ## 在深度學習中使用數據的方式 ![](https://i.imgur.com/iVPIMGJ.png) ## 訓練醫學影像的三個主要挑戰 [Video](https://www.coursera.org/learn/ai-for-medical-diagnosis/lecture/YFDyV/image-classification-and-class-imbalance) ![](https://i.imgur.com/XjWx8ha.png) :::success Class Imbalance ::: * **解決方法一: Weighted loss** ![](https://i.imgur.com/Pga8wCf.png) 補充:在迴歸問題常用的 Mean Square Error當我們遇到 outlier 時可以考慮改用 Huber loss 在分類問題中常用的 Cross Entropy 在物件偵測領域則有 Focal loss 這樣的變形, 做法上都是針對樣本來給定權重 [more info](https://reurl.cc/g7LoeN) * **解決方法二: Resampling** ![](https://i.imgur.com/lVw13Wn.png) :::success Multi-task ::: 解決方法:直接將同一張圖輸出到對應的多個病種 ![](https://i.imgur.com/rctrkgU.png) ![](https://i.imgur.com/eNOBuFq.png) :::success Data size ::: > Medical image datasets typically have 10 thousand to 100 thousand examples. Question: 這邊我目前打個問號, 就我所知我們好像很少拿到這個level的數據集? * **解決方法一: Transfer Learning to deal with small training set** ![](https://i.imgur.com/2MuMlkD.png) ![](https://i.imgur.com/GJAsTQc.png) * **解決方法二: Data Augmentation** > Do Augmentation keep the label the same? ![](https://i.imgur.com/YcYUi10.png) [Dextrocardia](https://en.wikipedia.org/wiki/Dextrocardia) ## 驗證模型的三個主要挑戰 [Video](https://www.coursera.org/learn/ai-for-medical-diagnosis/lecture/mFjNY/model-testing) ![](https://i.imgur.com/J9xesfm.png) :::success Patient Overlap ::: 這部份其實討論到的是 [**數據洩漏**](https://towardsdatascience.com/data-leakage-in-machine-learning-10bdd3eec742) 的問題,概念上等同模型看過正確答案。 在我們切割數據時 Testing set 的假設是模型完全沒見過,且符合真實分佈的數據,**方便我們評估在真實應用時的模型表現**,然而我們常常會不小心讓 Testing set 中的數據混到 Training 裡面,如同投影片中這種情況,模型學到一個特徵是有項鍊的都是 Normal, 若是這樣的數據比例很高 (例如很多人會在乎模型差了 0.1% 的準度表現,這邊只是粗略估算一下,反推回去就可能是一千張照片裡面出現一張這樣的情況,照上面提到的醫療影像數據集一般是 10k~100k,測試集則可能是 1k~10k,也就是 1~10 張照片出現這種情況就可能影響結果 0.1%),**最終將導致我們對模型的評估過度樂觀**。 ![](https://i.imgur.com/rMJzVSR.png) 這張圖又讓我想到在 [**可解釋AI**](https://reurl.cc/R4aVQn) 領域中的雪地哈士奇問題,模型根據背景而非本體來做出分類([參考資料](https://arxiv.org/abs/1602.04938))。 [延伸閱讀:地震預測模型的數據洩漏事件?](https://www.jiqizhixin.com/articles/2019-06-26-8?fbclid=IwAR3MsanLh0yLtSYMDDfDZEyxDsRB3kUPy1fpaykT6vTXrXLTQ0-VG95YI5Y) * **解決方法** ![](https://i.imgur.com/EqvlMpW.png) :::success Set Sampling ::: 在一般的訓練中我們常會把資料切 10% 給 Testing,這個數字一般也會控制在人有辦法逐一驗證的範圍內,但這個數字在數據極度不平衡的情況下可能造成 testing set 並沒有某些數據, 導致 test set 無法呈現真實分佈。 * **解決方法** 分割數據時先分配 test set 讓最少的樣本數至少在 test set 中要佔有一定的比例(如二分類可能可以給到 ~50% ),接著由於 validation 的部份是我們期待要看到與 test 一樣的成果,所以第二個分配的是 validation,配與 test set 差不多的比例。 ![](https://i.imgur.com/KZ7dTh2.png) :::success Ground Truth ::: 在醫學問題中,如下圖,常發生不同的專家看同一張醫學影像有不同的判斷,這種情況稱為 inter-observer disagreement. ![](https://i.imgur.com/75Is7ej.png) * **解決方法一** 如下圖,讓多位專家決定出共識。上為多數決,下則是讓專家們討論出一個答案。 ![](https://i.imgur.com/zuLxIfh.png) * **解決方法二** 用其他醫學上更進一步的採檢方法來確診 ![](https://i.imgur.com/zVUNqdu.jpg) 在這兩個方法中,前者的取得難度較低,在研究中較為常見。 --- ## 第一週作業 作業程式:[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg =150x)](https://colab.research.google.com/drive/1-gjCSxq6fCn9NJGwp2divn8v9PbH_fwk#scrollTo=G5aZAlVbn5yz) 下載完整數據:[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg =150x)](https://colab.research.google.com/drive/1zilttv3FeHfiLsSYA28hFuTKKNaSiDK-?usp=sharing) ## Question --- # Week 3 ## MR Image ![](https://i.imgur.com/mwMUMjL.png) ## Image Registration ![](https://i.imgur.com/G4rivW3.png) ## MRI Segmentation **2D Segmentation by pixels** ![](https://i.imgur.com/KYw6CCJ.png) :::warning 缺點:深度(depth)上相鄰切片的相關性資訊會遺失 ::: **3D Segmentation by voxels** ![](https://i.imgur.com/XOleHCf.png) :::info 問題點:輸入太大,硬體吃不下 (GPU memory 之類的) ::: * 作法:切塊放入(如下圖) ![](https://i.imgur.com/UnMUqBc.png) :::warning 缺點:空間(height,width)上相鄰的資訊可能會遺失 ::: ## 模型: 3D-Unet Unet主要是用在生醫影像(一開始主要是組織)分割的模型,3D-Unet則主要是把 2D convolution 換成 3D convolution ![](https://i.imgur.com/bh0vKxQ.png) ## Loss function 重點: Soft Dice Loss是常用在影像切割的loss, 尤其用在class imbalance data ![](https://i.imgur.com/IVCT8oh.png) ## Main Challenge of applying AIgorithms in the clinic :::success 模型的泛化能力 ::: 其實這邊就是在談跨醫院的問題,影片中的第一個範例是從 US 到 INDIA的跨區域 * Prevelance: 第一個範例是從 US 到 INDIA的跨區域盛行率不同 ![](https://i.imgur.com/M0fa6Eu.png) * Resolution: 第二個範例則是跨機台,當舊機台與新機台的解析度不同,面臨的數據變異問題 ![](https://i.imgur.com/lNxfmPd.jpg) :::success 模型泛化能力的驗證 ::: ![](https://i.imgur.com/CLXAt64.png) * 解決方法: Fine-tune ![](https://i.imgur.com/9669vPs.png) :::success 回溯性資料與現實世界資料差異 ::: 1. 在訓練模型時可能用的是清過的資料,而實際的應用是接收raw data 2. 訓練模型用 frontal 照,實際應用時則有 Lateral 照的資料 ![](https://i.imgur.com/fXfeXVw.png) :::success Measuring Patient outcomes ::: :::success 模型可解釋性 ::: ![](https://i.imgur.com/76J3TDK.png)