---
# System prepended metadata

title: 2023/08/10
tags: [meeting]

---

---
title: 2023/08/10
tags: meeting   # 簡報的標籤
slideOptions:        # 簡報相關的設定
  theme: black   # 顏色主題
  transition: 'fade' # 換頁動畫
  spotlight:
    enabled: true
---

## 2. Related Work

傳統萃取影像特徵的方法多是基於影像本身的統計量或者其他機器學習方法，我們根據萃取得到的影像做後續的下游任務，然而由於近期硬件與軟件的爆炸發展，相較於傳統的統計與機器學習方法，深度學習已經被眾多實驗證實可以在視覺以及自然語言任務上取得最好的表現，尤其是在胸腔醫學影像的多標籤分類任務。以下我們介紹胸醫學影像多標籤分類的相關工作。

**Convolution-based model:** 

Convolution 運算旨在將當前像素點周圍的鄰居特徵做加權總合，大部分的視覺任務都採用 Convolution 做為模型的基礎模塊，CNN 模型之所以能夠在電腦視覺任務上屹立不搖，一部分原因是因為其優良的歸納偏置特性，分別為局部性、空間關係、平移不變性，歸納偏置讓模型學習的更加容易，不需要額外的大量資料去監督模型，然而卻也因此限制的模型的彈性。

在胸醫學影像多標籤分類任務中，Pillai [[1]](https://arxiv.org/ftp/arxiv/papers/2211/2211.14929.pdf) 提出使用 DenseNet [[2]](https://arxiv.org/pdf/1608.06993.pdf) 當作學習的 backbone 取得卓越的表現，

**Attention-based model:**

Attention 模塊將 query 與 key 做矩陣內積得到 query 和 key 的匹配程度，通過 sigmoid 得到匹配機率，最後與 value 相乘得到輸出。在 Attention 的運算中，並沒有任何對於學習的假設，因此，以 attention 模塊為基礎的模型需要比 CNN 更大量資料訓練，同時也可以達到很好的準確度。Sina [[3]](https://arxiv.org/pdf/2206.04246.pdf) 參照 multi-task 的概念，提出 SwinCheX，將 SwinTransformer [[4]](https://arxiv.org/pdf/2103.14030.pdf) 應用在胸腔醫學影像上，除此之外，Finn [[5]](https://arxiv.org/pdf/2208.08166.pdf) 使用知識蒸餾的方法提升模型的表現

## 3. Fusion Architecture

在本章節，我們會探討傳統深度學習的方法的侷限性以及困難點，由此出發，提出我們的想法，以及如何改進，在以下的內容中，我們把模型分為兩個部分，函數 $f$ 用來提取資料特徵，函數 $g$ 用來完成下游任務。其模型 $h(x)=g(f(x))$

### 3.1 Traditional Fusion

假設我們有 $K$ 個模型的預測向量 $\{y_1, y_2, \cdots, y_K\}=\{f_1(x_1), f_2(x_2), \cdots, f_K(y_K)\}$，其中 $y_i=(y_{i1}, y_{i2}, \cdots, y_{ic_i})^\top$，$c_i$ 表示第 $i$ 個模型預測的 output channels，最基本的 CNN-Voting 如下

$$
y_{pred} = w_1g_1(y_1) + w_2g_2(y_2) + \cdots + w_Kg_K(y_K)=\sum_{i=1}^Kw_Kg_K(y_K)
$$

其中 $w_i$ 表示模型 $i$ 考慮的權重，最簡單的選擇為 $w_i=\frac{1}{K}$，即是把 $K$ 個模型的結果平均，除此之外，也有 Sequential 的方法，他們假設 $f_k$ 和 $g_{k}$ 是由 $f_{k-1}$ 和 $g_{k-1}$ 學習得到的。傳統方法對於 $w_i$ 的著墨不多，通常都是根據模型表現去決定各個模型的比重，因此我們提出一個可以不用手動調整權重的方法，稱為 AWM (Auto-Weighted Model)，以下我們介紹該方法

### 3.2 Proposed Method

我們首先收集 $Y=[y_1,y_2,\cdots,y_K]\in \mathbb{R}^{c}$，其中 $c=\sum_{i=1}^Kc_i$，我們提出去學習一個函數 $A$ 來模擬各個模型之間的權重，即 $A(Y)=y_{pred}$，那麼函數 $A$ 應該怎麼選擇呢?

**Convolution approach:**

我們假設 $A$ 函數會把特徵向量 $Y$ 通過一個 FFN (Feed Forward Network)，此時

$$
y_{pred} = \sigma(W_{\text{out_dim}*c}Y_{c*1} + B_{\text{out_dim}*1})
$$

其中 $\sigma$ 表示 activation 函數，一個最簡單的選擇為 $\sigma(x)=\frac{1}{1+e^{-x}}$ 為 sigmoid 函數，$\text{out_dim}$ 表示目標任務的維度，因為矩陣相乘等同於 convolution 運算，因此我們稱為 Convolution approach。在此方法中，矩陣 $A$ 的列空間對應到最後輸出與 $Y$ 特徵向量的關係，詳見 appendix 1.

**Attention approach:**

同樣地，我們將 $Y$ 特徵向量通過 attention 模塊後得到的向量會考慮到各個模型之間的相關性。$\bf{Q}$ 矩陣表示 $Y$ 向量的 query，$\bf{K}$ 矩陣表示 Key，$\bf{V}$ 矩陣表示 Value

$$
\begin{align}
\bf{Q} &= W_{d_{out}*c}^qY \\
\bf{K} &= W_{d_{out}*c}^kY \\
\bf{V} &= W_{d_{out}*c}^vY\\
\bf{W} &= \text{softmax}(\frac{\bf{Q}\bf{K}^T}{\sqrt{d_k}}) \\
\text{Attention}(\bf{Q},\bf{K},\bf{V}) &= \bf{W}\bf{V}
\end{align}
$$

上述兩種方法都不會增顯著加模型的推理速度，因為雖然新增加了參數矩陣，但是卻省略了下游任務函數 $g$ 的計算。另外一種做法是透過一個線性投影，讓所有 $y_i$ 都有相同的 output channels $c$，然後 reshape $Y\in \mathbb{R}^{K*c}$，$K$ 表示 $K$ 個序列，attention 模塊會計算 $K$ 個序列的相關性

### 3.3 Improve Training By Supervision

Ensemble 模型的參數計算量與 $K$ 呈正比，因此端到端的訓練可能導致模型難以收斂，因此我們提出 Three-Stages Optimization，我們先將每個 $f_i$ 訓練到收斂，接著固定 $f_i$ 的參數，先把函數 $A$ 訓練到收斂之後，在進行 joint training。joint training 過程中，我們希望每個 $f_i$ 都可以學到如何提取到更好的特徵，因此，我們會在每一個 $f_i$ 的後面接上一個輔助分類器來幫助 $f_i$ 學習，整體模型的學習目標如下 ($s_i$ 表示每一個輔助分類器)

$$
\text{Final Loss}(Y,y) = \text{Loss}(A(Y), y)+\sum_{i=1}^K\alpha_i\text{Loss}_i(s_i(y_i), y)
$$

下圖顯示我們提出的方法的全部架構

![](https://hackmd.io/_uploads/ryNvfN-nh.jpg)


## 4. Experiments

整體的實驗將會基於分類任務進行。我們首先在義大醫院的胸腔醫學影像上面檢測該方法在醫學影像上的應用，另外我們給出一個例子說明，雖然我們的方法會提升模型的參數訓練複雜度，但是在不同資料上面並不是模型越複雜表現越好。接著，我們會再指標性的資料上面訓練，跟目前的方法做一個對比來證明我們方法的有效性，最後，我們在 Cifar-10 資料上面做消融學習來驗證我們的想法是否真的有效

### 4.1 E-DA chest x-ray 

原始的影像資料為 dicom 格式，共有 1635 張影像，共有 7 個疾病類別，每個疾病都有可能出現在一張影像中，如果一個疾病都沒出現，則該影像為正常影像。影像高度大約落在 1824 到 2688 之間，寬度落在 1536 到 2680 之間。我們對於資料處理的方法採用了與 Hong[5] 相同的流程。我們把原始影像通過 log 轉換來清楚顯示病灶位置，並且重新縮放像素強度來保證每張影像都有相同的值域，處理的演算法如下

**Input:** 

1. Chest x-ray dicom images $X'={x_1, x_2, \cdots, x_{HW}}$
2. pixel maximum intensity (M)
3. pixel minimum intensity (m)
4. BitDepth

**Output:** 

1. Images $X$ with pixel value range located in [0, 1]

**Steps:**

1. $X'[X'>M]=M$
2. $X'[X'<m]=m$
3. $X' = -\log((1 + X')/2^\text{BitDepth})$
4. $X' = X' - \min(X')$
5. $X = X' / \max(X')$
6. $X[X < 0] = 0$
7. $X[X > 1] = 1$

上述的演算法中，參數 $\text{BitDepth}$ 提供在 Dicom 影像資料中，參數 $(M,m)$ 則可以用 window center (WC) 以及 window width (WW) 計算得出 ($M=\text{WC}+\frac{\text{WW}}{2}, m=\text{WC}-\frac{\text{WW}}{2}$)。

在 Hong [5] 的實驗中，為了更快的訓練以及推斷，他們將影像 resize 到 512\*512，然而，在我們的實驗過程中，影像大小 512\*512 和 224\*224 在驗證集上並沒有明顯差別，因此我們將所有影像 resize 到 224\*224。為了公平的分析不同方法在該資料上的表現，我們將資料根據 7 個疾病類別均等分為 8:1:1 的 training set, validation set 和 testing set，表格如下:

| Disease/DataSet        | Train | Valid | Test |
|------------------|--------|---------|---------|
| 主動脈硬化(鈣化)   | 67     | 8       | 9       |
| 動脈彎曲         | 74     | 9       | 9       |
| 肺野異常         | 24     | 3       | 3       |
| 肺紋增加         | 106    | 14      | 13      |
| 脊椎病變         | 114    | 15      | 14      |
| 心臟肥大         | 33     | 4       | 4       |
| 肺尖肋膜增厚      | 29     | 4       | 3       |

從上面的表格可以看出，影像資料有非常嚴重的不平衡問題，多數影像都屬於 normal 影像，平均一張影像的標籤數量為 0.3419 個標籤。除此之外，在多標籤分類問題上，我們必須探討多標籤之間會不會互相影響。

### 4.2 Co-occurrence matrix

Zhao [[6]](https://openaccess.thecvf.com/content_CVPR_2019/papers/Chen_Multi-Label_Image_Recognition_With_Graph_Convolutional_Networks_CVPR_2019_paper.pdf) 利用 co-occurrence 矩陣來檢驗資料是否存在標籤之間的相互影像。co-occurrence 矩陣$(i, j)$ 項表示 $P(L_i|L_j)$，也就是包含標籤 $L_j$ 的所有影像中，標籤 $L_i$ 的出現占比，因此該矩陣不是對稱矩陣。

![](https://hackmd.io/_uploads/ryPAcqAc2.png)

從上圖中我們可以看出大部分標籤都沒有相互影響的關係，所有的相關性都小於 0.3，在 Zhao [[6]](https://openaccess.thecvf.com/content_CVPR_2019/papers/Chen_Multi-Label_Image_Recognition_With_Graph_Convolutional_Networks_CVPR_2019_paper.pdf) 的實驗過程中，他們建立相關矩陣的方法為二值化，意即相關性 > 0.4 才會被認為兩個標籤之間有相互影響的趨勢。由於資料稀缺的因素，我們較難檢測三個標籤之間的相關性，因此我們假設該筆資料標籤之間的相互影響關係弱

### 4.3 Address imbalance problem

多標籤的影像分類中多會有標籤不平衡的問題，He [[7]](https://arxiv.org/pdf/1708.02002.pdf) 設計了 focal loss 來針對難分樣本進行加權，Yuan [[8]](https://arxiv.org/pdf/2012.03173.pdf) 則是提出一個可以最大化 AUC 的損失函數，並且在 CheXpert 資料上取得 SOTA 的表現，Huang [[9]]() 使用 Weighted Binary Cross Entropy Loss 作為損失函數來訓練胸腔醫學影像資料，在本篇論文中，我們使用將 Huang [[9]]() 工作中的 Weighted 加到 focal loss 上面提出一個新的損失函數應用於胸腔醫學影分類問題，其公式如下

$$
\begin{align}
\mbox{focal loss}_c&=(1-p_t)^\gamma\log p_t \\
p_t &= \begin{cases}
p, &\mbox{ if } y_l=1 \\
1-p, &\mbox{ else}
\end{cases}
\end{align}
$$

$$
\mbox{WeightedFocalLoss} = \sum_{l=1}^L \alpha_l * \mbox{focal loss}_l
$$

其中權重 $\alpha_l$ 的設置如下

$$
\begin{cases}
\alpha_l = \frac{N_l + P_l}{N_l} & \text{ if } y_l=0 \\
\alpha_l = \frac{N_l + P_l}{P_l} & \text{ if } y_l=1
\end{cases}
$$

$N_l$ 表示標籤 $l$ 負樣本的數量，$P_l$ 表示標籤 $l$ 正樣本的數量。由於多標籤的正樣本相較於負樣本較為稀少，因此當真實值是正樣本，但模型判斷為負樣本時，$\alpha_l$ 的懲罰會非常大

### 4.4 Training configuration

我們實驗過程使用了不同的 backbone 去訓練，對於 densenet backbone，我們使用學習率為 1e-4, weight decay 為 0 的 Adam [[10]](https://arxiv.org/pdf/1412.6980.pdf) optimizer，對於 transformer backbone，我們使用學習率為 1e-5, weight decay 為 1e-4 的 Adam optimizer，同時當模型 AUC 在 3 個 epochs 沒有提升時，我們會下降學習率 0.1 倍，資料增強方法使用的是 random horizontal flip 和 rotation，總共 50 epochs，整個訓練過程實現在 8 張 Tesla V100-SXM2-16GB 上，batch size 為 8

### 4.5 Backbone comparsion 

我們首先使用不同模型架構來比較

| ModelName | Valid AUC | Test AUC | params(M) |
|-----------|-----------|----------|--------|
|DenseNet201|0.8854|0.8254|20.01|
|ViT-B [[11]](https://arxiv.org/pdf/2010.11929.pdf)|0.7765|0.7852|88.2|
|BEIT-B [[12]](https://arxiv.org/pdf/2106.08254.pdf)|0.5119|0.5443|102.56|
|BEIT-L|0.6889|0.6547|325.79|
|MaxViT-T [[13]](https://arxiv.org/pdf/2204.01697.pdf)|0.8358|0.8332|30.92|
|MaxViT-S|0.8243|0.8379|68.93|
|MaxViT-B|0.8335|0.8566|119.47|
|MaxViT-L|0.8270|0.8393|211.79|
|CoAtNet-0 [[14]](https://arxiv.org/pdf/2106.04803.pdf)|0.8416|0.8361|27.44|
|CoAtNet-1|0.8960|0.8783|41.72|
|CoAtNet-2|0.8256|0.8559|73.89|

其模型參數是基於 timm 套件基礎模型計算的，詳見圖表

![](https://hackmd.io/_uploads/HyXdDCkhn.png)

![](https://hackmd.io/_uploads/Sy7OPAy32.png)

由於 DenseNet201 和 CoAtNet-1 在驗證集上表現最好，因此，我們將使用這兩個模型做後續分析


### 4.5 Loss function comparsion

接下來我們比較不同損失函數在該筆資料集上面的表現，我們使用了 4 種不同的損失函數來比較，我們首先使用多標籤分類最常用的 BCELoss 來當作基線，之後比較目前在 CoCo 以及 Voc 多標籤任務上的 SOTA 損失函數 ASL [[15]](https://arxiv.org/pdf/2009.14119.pdf) 以及 Weighted BCE 和 Weighted Focal Loss 


| Validation   |   acc   |  auc   |   ap    |   f1   | recall |
|-----------------------|---------|--------|---------|--------|--------|
| BCEWithLogitsLoss     | 0.95006 | 0.82363|0.25343 | 0| 0|
| ASL                   | 0.94656 | 0.85811| 0.30551 | 0.10523| 0.08606|
| WeightedBCELoss       | 0.82206 | 0.87153| 0.28967 | 0.23931| 0.61933|
| WeightedFocalLoss     | 0.9001 | 0.88536|0.31923 | 0.26733| 0.42913|

| Testing       |   acc   |   auc   |   ap    |   f1   | recall |
|------------------------|---------|---------|---------|--------|--------|
| BCEWithLogitsLoss       | 0.95207 | 0.81156 | 0.18779 |   0  |   0  |
| ASL                    | 0.94946 | 0.85339 | 0.30784  | 0.15839| 0.19903|
| WeightedBCELoss         | 0.83101 | 0.86757 | 0.25687 | 0.26956 | 0.70434|
| WeightedFocalLoss       | 0.878 | 0.82537 | 0.30501 |   0.28776  |   0.54356  |

從上表可以看出，有加權的損失函數相較於沒有加權的來的要好，另外 Weighted Focal Loss 在 validation 和 testing 在 AUC 指標上有明顯差距，但是其他指標差距不大

### 4.6 for chest x-ray

我們使用 DenseNet201 ($f_1$) 和 CoAtNet-1 ($f_2$) 作為我們的 backbone，訓練方法採用 Three-Stage Optimization，$A$ 函數採用 convolution approach。下表比較我們的方法與基礎的 CNN-Voting ($w_1=w_2=0.5$)，以及有沒有加上輔助分類器的結果

| Validation  |   acc   |   auc   |   ap    |   f1   | recall |
|------------------------|---------|---------|---------|--------|--------|
| DenseNet201       | 0.90010 | 0.88536| 0.31923 | 0.26733| 0.42913|
| CoatNet1 | 0.90184 | 0.89604  | 0.38541 |   0.33389  |   0.54989  |
| Voting-CNN                    | 0.94040 | 0.85711 | 0.28087  | 0.22580| 0.20051|
| AWM-F (Ours)  | 0.90799 | 0.88697 | 0.37400 | 0.26449 | 0.37539 |
| AWM-S (Ours)  | 0.92465 | 0.90091 | 0.38100 | 0.30239 | 0.34999 |

| Test  |   acc   |   auc   |   ap    |   f1   | recall |
|------------------------|---------|---------|---------|--------|--------|
| DenseNet201       | 0.89459 | 0.82537 | 0.30501 | 0.28776| 0.54356 |
| CoatNet1 | 0.89809 | 0.87827  | 0.28116 |   0.33516  |   0.50707  |
| Voting-CNN                    | 0.90679 | 0.87241 | 0.33309  | 0.33347| 0.55866|
| MIMO | 0.89807 | 0.87329 | 0.27931 | 0.26773 | 0.43996 | 
| MC dropout | 0.80139 | 0.86731 | 0.31573 | 0.28534 | 0.82079 |
| AWM | 0.90506 | 0.88604 | 0.31341 | 0.34147 | 0.57101 | 

在上表中，F 表示固定 $f_i$ 訓練，S 表示加上 Supervision Head 訓練。可以看到在 testing set 上我們模型 AUC 要比其他方法來的高，加入輔助分類器來監督模型學習之後，我們的方法取得最好的表現，並且也比簡單的 CNN-Voting 高出許多s

### 4.7 Grad-CAM visualization

接上來我們將影像通過 $f_i$ 後的特徵圖計算 GradCAM [[18]](https://arxiv.org/pdf/1610.02391.pdf)

![](https://hackmd.io/_uploads/r11tpZZn3.png)

可以看到除了心臟肥大、肺尖肋膜增厚等較難分類的類別上模型都表現不好以外，我們的模型在大部分的影像上都可以比原本的方法更抓住影像特徵。圖中 -A 表示有加上輔助分類器訓練


## 5. Ablation Study

### 5.1 Do our model works on any type of Data?

為了驗證我們的模型可以適用在除了醫學影像之外的資料上面，我們使用 EMNIST [[16]](https://arxiv.org/pdf/1702.05373.pdf) 中的 Balanced 資料集來衡量模型表現，EMNIST 是一筆手寫資資料辨識集，其中的 Balanced 資料包含 131600 張影像，總共 47 類，每一類訓練集共有 2400 張，測試集有 400 張，影像大小為單通道的 28\*28 影像。Pranav [[17]](https://arxiv.org/pdf/2205.14375.pdf) 提出 WaveMix 模型在各種不同的資料上面取得 SOTA 表現。我們遵循 Pranav 的訓練方法，使用兩個不同的 backbone 來衡量模型表現，第一個為 Custom 模型，第二個為 WaveMix-Lite-128/7，由於影像為單通道影像，我們將 WaveMix-Lite-128/7 的第一個 Convolution 改為單通道，結果詳見下表


| Model | Test ACC |
| -------- | -------- | 
| Custom   | 90.05  | 
| WaveMix-Lite-128/7 (ours)   | 90.90  |
| CNN-Voting   | 90.94  |
| WaveMix-Lite-128/7 (SOTA)   | 91.06  |
| AWM-F   | 91.07  |
| AWM-S   | 91.11  |

可以發現我們的方法能在原先的模型上取得更好的成績

### 5.2 Does $K$ matter?

為了驗證模型是否會隨著 $K$ 上升而表現更好。我們在 CIFAR10 資料上驗證這件事情。我們選用十個不同的 backbone 來比較結果，結果詳見下圖

![](https://hackmd.io/_uploads/rk3rA2lhh.png)

可以看到隨著 $K$ 上升，我們的模型表現也在上升，但是由於硬體限制，我們只做到 $K=10$ 的狀況，而且我們的方法在不同的 backbone 上都比原本的 Voting-CNN 高


## Appendix

### 1. Convolution approach

這裡我們解釋 convolution approach 如何學習融合多個模型的提取特徵。我們用 $a_i$ 來表示矩陣 $A$ 的第 $i$ 列向量，則最終預測值 $y_{pred}$ 的計算如下

$$
y_{pred} = \begin{pmatrix}
& a_{1} &  \\
& a_{2} &  \\
& \vdots &  \\
& a_{L} &  \\
\end{pmatrix}\begin{pmatrix}
y_{11} \\
y_{12} \\
\vdots \\
y_{Kc_K}
\end{pmatrix}+\begin{pmatrix}
b_1 \\
b_2 \\
\vdots \\
b_L 
\end{pmatrix}=\begin{pmatrix}
<a_1, Y> + b_1 \\
<a_2, Y> + b_2 \\
\vdots \\
<a_L, Y> + b_L \\
\end{pmatrix}
$$

$$
y_{pred} = \sigma(y_{pred})
$$

從上面的公式不難看出，$y_{pred}$ 的預測值會考慮到每個模型提取到的特徵，其考慮的大小為 $A$ 的列向量，且我們的方法在推斷時相對於 CNN-Voting 不會增加 FLOPS (FLoating point Operation Per Second)。我們假設一個最簡單的分類任務，共有 $L$ 個類別，且 $f_i$ 的 FLOPS 為 $s_i$，則 $g_i$ 的 FLOPS 為 $2 * c_i * L$，最終的 CNN-Voting 的 FLOPS 為 $(\sum_{i=1}^K s_i+2Lc_i) + 2 * K=(\sum_{i=1}^Ks_i)+2(Lc+K)$，我們方法的 FLOPS 為 $(\sum_{i=1}^Ks_i)+2Lc$。因此我們的方法更有效也更精確

### Binary Cross Entropy Loss

####  Validation 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.9509 |     0.9448 |     0.9816 |     0.9141 |     0.908  |     0.9755 |         0.9755 | 0.950057 |
| auc    |             0.8782 |     0.86   |     0.8167 |     0.85   |     0.7662 |     0.9434 |         0.6509 | 0.823629 |
| ap     |             0.2172 |     0.2016 |     0.0846 |     0.3328 |     0.2123 |     0.6763 |         0.0492 | 0.253429 |
| f1     |             0      |     0      |     0      |     0      |     0      |     0      |         0      | 0        |
| recall |             0      |     0      |     0      |     0      |     0      |     0      |         0      | 0        |
####  Test 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.9451 |     0.9451 |     0.9817 |     0.9207 |     0.9146 |     0.9756 |         0.9817 | 0.952071 |
| auc    |             0.9384 |     0.8516 |     0.8199 |     0.8828 |     0.7143 |     0.8859 |         0.588  | 0.811557 |
| ap     |             0.3454 |     0.2445 |     0.0858 |     0.328  |     0.1614 |     0.121  |         0.0284 | 0.187786 |
| f1     |             0      |     0      |     0      |     0      |     0      |     0      |         0      | 0        |
| recall |             0      |     0      |     0      |     0      |     0      |     0      |         0      | 0        |

### Asymmetric Loss

####  Validation 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |      平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|----------:|
| acc    |             0.9387 |     0.9448 |     0.9816 |     0.9018 |     0.908  |     0.9755 |         0.9755 | 0.946557  |
| auc    |             0.8702 |     0.8636 |     0.7417 |     0.9271 |     0.8212 |     0.9591 |         0.8239 | 0.858114  |
| ap     |             0.2567 |     0.1968 |     0.0745 |     0.5624 |     0.3306 |     0.6399 |         0.0777 | 0.305514  |
| f1     |             0.2857 |     0      |     0      |     0.3333 |     0.1176 |     0      |         0      | 0.105229  |
| recall |             0.25   |     0      |     0      |     0.2857 |     0.0667 |     0      |         0      | 0.0860571 |
####  Test 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.9451 |     0.9451 |     0.9817 |     0.9024 |     0.9146 |     0.9756 |         0.9817 | 0.949457 |
| auc    |             0.9713 |     0.8315 |     0.9441 |     0.9027 |     0.7014 |     0.9188 |         0.7039 | 0.853386 |
| ap     |             0.5903 |     0.1897 |     0.2639 |     0.5046 |     0.1504 |     0.4125 |         0.0435 | 0.307843 |
| f1     |             0.6087 |     0      |     0      |     0.5    |     0      |     0      |         0      | 0.158386 |
| recall |             0.7778 |     0      |     0      |     0.6154 |     0      |     0      |         0      | 0.199029 |

### Weighted Binary Cross Entropy Loss

####  Validation 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.865  |     0.7423 |     0.908  |     0.8282 |     0.6871 |     0.8712 |         0.8528 | 0.822086 |
| auc    |             0.8782 |     0.8593 |     0.7854 |     0.884  |     0.9045 |     0.9623 |         0.827  | 0.871529 |
| ap     |             0.2626 |     0.1829 |     0.0625 |     0.4963 |     0.4184 |     0.4625 |         0.1425 | 0.289671 |
| f1     |             0.3125 |     0.2759 |     0      |     0.3636 |     0.3704 |     0.2759 |         0.0769 | 0.239314 |
| recall |             0.625  |     0.8889 |     0      |     0.5714 |     1      |     1      |         0.25   | 0.619329 |
####  Test 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.8841 |     0.7622 |     0.9024 |     0.8415 |     0.7317 |     0.8415 |         0.8537 | 0.831014 |
| auc    |             0.9556 |     0.8294 |     0.8737 |     0.8828 |     0.7424 |     0.9609 |         0.8282 | 0.867571 |
| ap     |             0.4354 |     0.2787 |     0.1175 |     0.392  |     0.2309 |     0.2765 |         0.0671 | 0.256871 |
| f1     |             0.4865 |     0.2353 |     0.1111 |     0.4091 |     0.2667 |     0.2353 |         0.1429 | 0.269557 |
| recall |             1      |     0.6667 |     0.3333 |     0.6923 |     0.5714 |     1      |         0.6667 | 0.704343 |

### Weighted Focal Loss

####  Validation 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.8712 |     0.8528 |     0.9509 |     0.8589 |     0.8405 |     0.9509 |         0.9755 | 0.9001   |
| auc    |             0.8484 |     0.8276 |     0.9396 |     0.8849 |     0.8464 |     0.9764 |         0.8742 | 0.885357 |
| ap     |             0.2771 |     0.1567 |     0.1743 |     0.5131 |     0.2856 |     0.6583 |         0.1695 | 0.319229 |
| f1     |             0.2759 |     0.25   |     0.2    |     0.439  |     0.2778 |     0.4286 |         0      | 0.267329 |
| recall |             0.5    |     0.4444 |     0.3333 |     0.6429 |     0.3333 |     0.75   |         0      | 0.429129 |
####  Test 
|        |   主動脈硬化(鈣化) |   動脈彎曲 |   肺野異常 |   肺紋增加 |   脊椎病變 |   心臟肥大 |   肺尖肋膜增厚 |     平均 |
|:-------|-------------------:|-----------:|-----------:|-----------:|-----------:|-----------:|---------------:|---------:|
| acc    |             0.878  |     0.8293 |     0.9085 |     0.8537 |     0.8902 |     0.939  |         0.9634 | 0.894586 |
| auc    |             0.9548 |     0.7649 |     0.8799 |     0.839  |     0.8262 |     0.9766 |         0.5362 | 0.825371 |
| ap     |             0.4898 |     0.1843 |     0.2953 |     0.2551 |     0.2741 |     0.5952 |         0.0413 | 0.305014 |
| f1     |             0.4444 |     0.2222 |     0.2105 |     0.4545 |     0.3077 |     0.375  |         0      | 0.287757 |
| recall |             0.8889 |     0.4444 |     0.6667 |     0.7692 |     0.2857 |     0.75   |         0      | 0.543557 |