---
# System prepended metadata

title: '[AI for Medical Diagnosis](https://www.coursera.org/learn/ai-for-medical-diagnosis)'

---

---
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)












