---
# System prepended metadata

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

---

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

# 本週進度

1. 回顧 CXR 基本的統計量
2. Loss function for mulit-label, a survey
3. Graph GCN on CXR

## Co-Pattern Matrix

在建立訓練環境之前，我們先來檢驗該筆資料有沒有明顯的標籤之間的相關性，因此我們用 heatmap 的方式呈現，在 Second Order Matrix 中，$(i, j)$ 項表示 $P(c_i|c_j)$，Third Order Matrix 中，$(i, jk)$ 項表示 $P(c_i|c_j, c_k)$

- Second Order Matrix

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


- Third Order Matrix

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

從 Second Order Matrix 可以看出標籤之間的相關性不強，Trird Order Matrix 有一些相關性很高的樣本，我認為是因為 samples 數量太少所以導致相關性看起來很高，因此，我認為不必過多考慮標籤之間的相關性

## Statistics 

以下提供該資料的一些統計敘述

- Labels per Image: 0.3419

### Data Split

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

## Configuration

```yaml
Backbone: Densenet121
img size: 224
batch size: 8
epochs: 50
optimizer: Adam
learning rate: 1e-4
scheduler: ReduleLROnPleatu
weight decay: 0
Augmentation: None
```

## Result

以下我們比較不同 loss function 的結果，更詳細的結果會放在 appendix

### Validation

| Loss Function         |   acc   |  auc   |   ap    |   f1   | recall |
|-----------------------|---------|--------|---------|--------|--------|
| BCEWithLogitsLoss     | 0.95006 | 0.79757| 0.25511 | 0| 0|
| MultiLabelSoftMarginLoss | 0.95006 | 0.80312| 0.23787 | 0| 0|
| ASL                   | 0.95181 | 0.84724| 0.26113 | 0.03571| 0.02041|
| WeightedBCELoss       | 0.86680 | 0.85333| 0.28824 | 0.29596| 0.64241|
| WeightedFocalLoss     | 0.87817 | 0.86951| 0.28831 | 0.26711| 0.54756|

### Test

| Loss                   |   acc   |   auc   |   ap    |   f1   | recall |
|------------------------|---------|---------|---------|--------|--------|
| BCEWithLogitsLoss       | 0.95207 | 0.82303 | 0.18093 |   0.0  |   0.0  |
| MultiLabelSoftMarginLoss| 0.95207 | 0.7904  | 0.18171 |   0.0  |   0.0  |
| ASL                    | 0.95033 | 0.81889 | 0.21129  | 0.03571| 0.02041|
| WeightedBCELoss         | 0.85451 | 0.88939 | 0.29499 | 0.2471 | 0.60467|
| WeightedFocalLoss       | 0.88066 | 0.84384 | 0.36794 | 0.32217| 0.66884|

由於 FocalLoss 在 Validation 上取得最好的 AUC，因此我們使用 FocalLoss 後續分析 ensemble 的方法

### Ensemble Technique

汲取 FCBFormer 的概念，我認為如下這種模型架構或許可以提升偵測效能

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

我們預先訓練 k 個 backbone 用來提取特徵，我們再把 k 個 backbone 結果合併，進行計算，Prediction Head 可以是 GNN，來結合 K 個 backbone 的結果，最後計算主要的 loss，但是這過程並不能保證每個 backbone 提取到的特徵都是我們有興趣的，所以我在原先的基礎上加上了輔助分類器來對每個 backbone 做限制，計算出 aux loss，最後模型學習的方向就包含 aux loss 和 main loss

以下我們給出簡單訓練 2 個 backbone (densenet121, coatnet1) 的 End-to-end 訓練結果

#### Validation

| Method                   |   acc   |   auc   |   ap    |   f1   | recall |
|------------------------|---------|---------|---------|--------|--------|
| DenseNet121       | 0.87817 | 0.86951| 0.28831 | 0.26711| 0.54756|
| CoatNet1 | 0.86504 | 0.84039  | 0.24726 |   0.28431  |   0.57353  |
| Voting-CNN                    | 0.89920 | 0.78101 | 0.20066  | 0.18610| 0.27699|
| Ensemble (Ours)         | 0.89659 | 0.89787 | 0.38179 | 0.34057 | 0.55535|

#### Test

| Method                   |   acc   |   auc   |   ap    |   f1   | recall |
|------------------------|---------|---------|---------|--------|--------|
| DenseNet121       | 0.88066 | 0.84384 | 0.36794 | 0.32217| 0.66884|
| CoatNet1 | 0.87107 | 0.81963  | 0.27744 |   0.28316  |   0.57690  |
| Voting-CNN                    | 0.88414 | 0.83161 | 0.33327  | 0.28674| 0.58256|
| Ensemble (Ours)         | 0.88501 | 0.87156 | 0.30517 | 0.31229 | 0.62280|

可以看到在我們的結果中，validation 相較於其他方法有大幅的進步，但是在 testing 上有過擬和的問題


## Appendix

在附錄中，我們更詳記的介紹各個不同損失函數在於各類別的細項

### BCEWithLogitsLoss

#### Validation
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.9509      |  0.9448  |  0.9816  |  0.9141  |  0.908   |  0.9755  |    0.9755    |  0.9500571428571429 |
|  auc   |      0.7911      |  0.8427  |  0.7458  |  0.8787  |  0.7036  |  0.989   |    0.6321    |  0.7975714285714286 |
|   ap   |      0.1495      |  0.1728  |  0.0474  |  0.3997  |  0.2179  |   0.75   |    0.0485    | 0.25511428571428574 |
|   f1   |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |
| recall |       0.0        |   0.0    |   0.0    |   0.0    |   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.9520714285714286 |
|  auc   |      0.9276      |  0.876   |  0.8799  |  0.8701  |  0.6405  |  0.8797  |    0.6874    |  0.8230285714285713 |
|   ap   |      0.3279      |  0.2483  |  0.0979  |  0.3165  |  0.1271  |  0.1117  |    0.0371    | 0.1809285714285714 |
|   f1   |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |
| recall |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |


### MultiLabelSoftMarginLoss

#### Validation
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.9509      |  0.9448  |  0.9816  |  0.9141  |  0.908   |  0.9755  |    0.9755    |  0.9500571428571429 |
|  auc   |      0.8395      |  0.8644  |  0.8354  |  0.8696  |  0.6784  |  0.9607  |    0.5739    |  0.8031285714285714 |
|   ap   |      0.1636      |  0.2017  |  0.0979  |  0.3763  |  0.1768  |  0.6088  |     0.04     | 0.23787142857142857 |
|   f1   |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |
| recall |       0.0        |   0.0    |   0.0    |   0.0    |   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.9520714285714286 |
|  auc   |      0.9398      |  0.8638  |  0.7101  |  0.8966  |   0.69   |  0.8797  |    0.5528    |        0.7904       |
|   ap   |      0.3664      |  0.2065  |  0.0894  |  0.3402  |  0.1346  |  0.1088  |    0.0261    | 0.18171428571428572 |
|   f1   |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |
| recall |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |

### ASL

#### Validation
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均         |
|--------|------------------|----------|----------|----------|----------|----------|--------------|----------------------|
|  acc   |      0.9509      |  0.9448  |  0.9816  |  0.9264  |  0.908   |  0.9755  |    0.9755    |  0.9518142857142858  |
|  auc   |      0.8589      |  0.8745  |  0.7646  |  0.9128  |  0.7541  |  0.9796  |    0.7862    |  0.8472428571428573  |
|   ap   |      0.1899      |  0.2108  |  0.0524  |  0.5306  |  0.222   |  0.5549  |    0.0673    | 0.26112857142857143  |
|   f1   |       0.0        |   0.0    |   0.0    |   0.25   |   0.0    |   0.0    |     0.0      | 0.03571428571428571  |
| recall |       0.0        |   0.0    |   0.0    |  0.1429  |   0.0    |   0.0    |     0.0      | 0.020414285714285715 |

#### Test
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.9451      |  0.9451  |  0.9817  |  0.9085  |  0.9146  |  0.9756  |    0.9817    |  0.9503285714285715 |
|  auc   |      0.9599      |  0.8394  |  0.8778  |  0.8645  |  0.7014  |  0.9281  |    0.5611    |  0.8188857142857142 |
|   ap   |      0.4858      |  0.2076  |  0.0963  |  0.312   |  0.1699  |  0.1784  |    0.029     | 0.2112857142857143 |
|   f1   |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |
| recall |       0.0        |   0.0    |   0.0    |   0.0    |   0.0    |   0.0    |     0.0      |         0.0         |

### WeightedBCELoss

#### Validation
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.8098      |  0.8221  |  0.8712  |  0.816   |  0.8773  |  0.9387  |    0.9325    |  0.8667999999999999 |
|  auc   |      0.8427      |  0.8514  |  0.7354  |  0.9075  |  0.8108  |  0.9906  |    0.8349    |  0.8533285714285714 |
|   ap   |      0.1737      |  0.1772  |  0.2026  |  0.4382  |  0.3206  |  0.6083  |    0.0971    | 0.28824285714285713 |
|   f1   |      0.2791      |  0.3256  |   0.16   |  0.4231  |  0.2857  |  0.4444  |    0.1538    | 0.29595714285714286 |
| recall |       0.75       |  0.7778  |  0.6667  |  0.7857  |  0.2667  |   1.0    |     0.25     |  0.6424142857142857 |

#### Test
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.8476      |  0.7805  |  0.8841  |  0.7805  |  0.878   |  0.878   |    0.9329    |  0.8545142857142858 |
|  auc   |      0.9599      |  0.8115  |  0.9296  |  0.8971  |  0.7833  |  0.925   |    0.9193    |  0.8893857142857141 |
|   ap   |      0.4588      |  0.2014  |  0.2545  |  0.4675  |  0.2839  |  0.2062  |    0.1926    |  0.2949857142857143 |
|   f1   |      0.4186      |   0.25   |  0.1739  |   0.4    |  0.1667  |  0.1667  |    0.1538    | 0.24710000000000004 |
| recall |       1.0        |  0.6667  |  0.6667  |  0.9231  |  0.1429  |   0.5    |    0.3333    |  0.6046714285714286 |

### WeightedFocalLoss

#### Validation
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.865       |  0.7791  |  0.9448  |  0.8405  |  0.8589  |  0.9202  |    0.9387    |  0.8781714285714285 |
|  auc   |      0.8863      |  0.8737  |  0.7729  |  0.9166  |  0.8698  |  0.9843  |    0.783     |  0.8695142857142858 |
|   ap   |      0.2548      |  0.204   |  0.1077  |  0.4436  |  0.4163  |   0.5    |    0.0918    | 0.28831428571428575 |
|   f1   |      0.3125      |  0.3077  |   0.0    |  0.4583  |  0.4103  |  0.381   |     0.0      |  0.2671142857142857 |
| recall |      0.625       |  0.8889  |   0.0    |  0.7857  |  0.5333  |   1.0    |     0.0      |  0.5475571428571429 |

#### Test
|  指標  | 主動脈硬化(鈣化) | 動脈彎曲 | 肺野異常 | 肺紋增加 | 脊椎病變 | 心臟肥大 | 肺尖肋膜增厚 |         平均        |
|--------|------------------|----------|----------|----------|----------|----------|--------------|---------------------|
|  acc   |      0.8841      |  0.7988  |  0.9573  |  0.8232  |  0.872   |  0.9085  |    0.9207    |  0.8806571428571429 |
|  auc   |      0.9434      |  0.8401  |  0.8571  |  0.8742  |  0.8633  |  0.9781  |    0.5507    |  0.843842857142857  |
|   ap   |      0.3872      |  0.2178  |  0.5143  |  0.4563  |  0.3801  |  0.5938  |    0.0261    | 0.36794285714285707 |
|   f1   |      0.4865      |  0.3265  |  0.3636  |  0.4082  |  0.3226  |  0.3478  |     0.0      | 0.32217142857142855 |
| recall |       1.0        |  0.8889  |  0.6667  |  0.7692  |  0.3571  |   1.0    |     0.0      |  0.6688428571428572 |






