---
# System prepended metadata

title: 入門說明

---

# 入門說明
## 大綱
0. 任務說明
1. 入門流程
2. 文件說明
3. 模型說明


### 任務說明
---
- 模型可靠度相關
- [x] 第一篇論文的模型(without attention)在不同資料集(Teens & Mature)上測試的結果
    - 詳見模型說明(1)
- [x] 第三篇論文的模型(with attention)在不同資料集(Teens & Mature)上測試的結果
    - 詳見模型說明(2)
- 老師們的好奇心
- [ ] Fusion為什麼可以提高Accuracy
- [ ] LSTM+Attention的新技術
- [x] 第三篇論文切分資料的方式
    - 詳見模型說明(3)
- 後端層面
- [ ] 虛擬心理師的語音是多語言的(不要有大陸調調)
- 不同模態之測試結果
    - 4-modal (詳見模型說明(4))
    - [x] Remove - Text
    - [x] Remove - Audio
    - [x] Remove - HRV
    - [x] Remove - Eye movement
    - [x] 後續模型修改 - early fusion測試(陳老師)
    - [x] 後續模型修改 - 加入attention
    - 3-modal 
    - [ ] Remove HRV, Eye movement 

### 入門流程

---

#### 1. 閱讀論文
>Location：Google Drive/ Document/ Paper

   - 第一篇論文 
     - 最終版本：/1 / ( 投稿修改版 ) Mobile_Virtual_Psychologist_for_Multi_Modal_Depression_Level_Assessment.pdf
     - 概述：不分年齡的五分類憂鬱症評估模型

   - 第二篇論文
     - 最終版本：/2 / ( 投稿修改版 ) Virtual Psychologist for Dimensional Psychological Quality Analysis with Multi-Modal Feature Fusion_manuscript.pdf
     - 概述：心理素質診斷（支線）
     - 對應資料夾：mental_analysis

  - 第三篇論文
    - 最終版本：/3 / Attention-Based Multi-Modal Depression Assessment with DSM-V Factors 第一版.pdf
    - 概述：第一篇論文加上Attention-Based
    -  對應資料夾：MatureDepressionAssessment[（資料夾說明）](https://hackmd.io/s9DQ4DNfQS6FCIKzXBhlBg)

  - 第四篇論文
    - 最終版本：/4 / Age-Specific Depression Symptoms Severity Assessment.pdf
    - 對應資料夾：symptom_analysis[（資料夾說明）](https://hackmd.io/8stQHPBAREWfKViKhuUksQ)
    
    

## 文件說明
### Google Drive


---
##### Document
- Adults
  - AudioRefv2.xlsx：在語音資料裡，各個向量所對應到的問題。
  - Conversation Content Expert Questionnaire.docx：對話內容專家問卷，英文版。
  - Depression_Label.xlsx：心理醫師的診斷結果。(有lable, 只有少數病例)
  - Qv2Codes.xlsx：（看沒有）各項text資料的對應向量。
  - 對話內容專家問卷_20220817_成年人版.docx
  - 對話內容專家問卷_20230124.docx
  - 收案紀錄（正式版）.xlsx：成年人個案的基本資料。
 - Paper
    目前這個模型產出的四篇論文，點進去後的資料夾基本上是都是學長姐投的論文稿，有興趣可以自己研究，這裡只針對其他不同的文件做說明。
   - 1
   - 2
   - 3
       - Project Introduction.pdf：專案的粗略介紹。
       - Virtual Depression Detective.pptx：學長口試的PPT。
   - 4
  - Teenagers
      - AudioRefv1.xlsx：在語音資料裡，各個向量所對應到的問題。
      - factors_teens.xlsx：青少年憂鬱中，各項因素的影響程度。
      - Psychological Quality Analysis.xlsx：不同的機器學習模型在多模態情感分類任務上的表現（含比較decision-level和feature-level Fusion的差異）。
      - 虛擬心理師對話內容之相關文件：各個問題對模型（或計分）所造成的影響和流程。
  - 收案文件
      關於收案說明及流程等相關文檔
  - Feature.xlsx
    - dataset的dimension, 針對「第四篇論文」的特徵、症狀評估等資料統計。
    - Example：
        sheet_name:<Teens_Symptom EYE>
        - 表示不同程度(Severity, Mild)的抑鬱症狀之下，青少年個體眼動行為之間的差異。
        - 一般情況而言，p value < 0.05 即代表有明顯差異
            
- Experiment Result.xlsx
    第四篇論文針對不同深度學習模型進行炫鍊後得到的Accuracy結果統計。
- 虛擬心理師 - 專案計畫書.docx

##### A2FExport
這個資料夾裡放的應該是跟interface和實際操作的3D物件有關係，就虛擬心理師分男女版本的一些物件，但我也沒打開過，所以我也不確定ㄏ。
- Refv1
- Refv2


##### Demo
各種demo的影片，如眼動、虛擬心理師的實操影片等。

##### Feature
- output.json：部分個體的數據輸出。

##### Full Demo
學長們實際操作的全過程錄影。


##### Model
美術相關的檔案。

##### Model+Animation
美術相關的檔案。

##### Resource
很雜，什麼都有，包括Unity的一些prefab, unity的package等等。

##### Voice
根據不同題目切分完音檔的片段資料。

### HackMD

---
#### Virtual Therapist虛擬心理師 人物動畫
動畫相關技術以及設計流程。（新版計畫書）

#### Train Model
train虛擬心理師model的流程。

#### Virtual Therapist 後端
***待補

#### Virtual Therapist 開發工作
***待補

#### Virtual Therapist 前端
***待補

#### 虛擬心理師整體說明
初版說明文件

#### getFactorAPI
***待補

#### APP上傳TestFlight
***待補

#### 虛擬心理師（雲端架設）

#### 多模態特徵
各個模態（Text, Audio, Face, HRV）的擷取方式和詳細擷取內容及意義。

#### Depression Analysis
各個資料夾所對應到的論文。

####  Automated Assessment of Age-Specific Depression Symptoms Severity
第四篇論文的實作過程以及資料紀錄。

#### Attention-Based Multi-Modal Depression Assessment with DSM-V Diagnostic Criteria
第三篇論文的實作過程以及資料紀錄。

#### Virtual Therapist 資源連結
一些轉換資料的教學連結。

#### Gitlab SSH
    gitlab: a DEvOps platform based on the website
實驗室gitlab的連結和登入說明。

### Server 68

---

#### MatureDepressionAssessment
---
##### Experiments
- 這個資料夾裡訓練出來的結果都會被存在這個資料夾裡面。
- Ex: 2024_10_07_0362203_old_factor_teens_5分類__FiveFusionModel2_Att_epochs=40_
    - 2024/10/7 訓練
    - 使用「old_questionaire」做為訓練的dataset（168筆青少年）
    - 輸出結果是5分類（健康、輕度、中度、重度憂鬱、躁鬱症）
    - 採用FiveFusionModel（五個模態）
    - Att: 有使用到Attention layer
    - epochs=40回合
        - 2024_10_07_03_e40_uniformed.png：epoch=40時，未標準化過的confusion matrix
        - 2024_10_07_0362203_old_factor_teens_5分類__FiveFusionModel2_Att_epochs=40__train.txt：model在訓練的細節、每回合的metrics紀錄和loss value
        - 其他圖如Accuracy, Test accuracy, loss 和 test loss per epoch等圖可以做參考。
        - model.pkl：model本人。

##### json_data
- new factor
- old_factor_questionaire_teens_depressed

#### mental_analysis
---

##### 概述
 1. 對應論文: 第二篇心理素質評估模型
 2. 試跑模型:
     (1) 可以先跑 preprocess.py 把 raw data 轉換成 可以丟入模型的 json 檔案（ json檔會存在 preprocess 資料夾裡面 ）
     (2) 可以選擇要跑心理素質因子的模型或者是認知心理維度的模型，前者跑 feature_level_factor.py，後者為 feature_level_dimension.py
     (3) 跑完就可以看到訓練成果，再根據所需去自行調整。

##### 資料夾說明
- data
    - 22normal(csv/json)：成年人的資料，共43筆（ID, start and end time)。
    - 22normal_format.json：成年人的五模態向量。
    - all.csv：上海資料，共193筆（ID, start and end time）
    - features_154.json：
    - questionaire_data.xlsx：Raw Data，共182筆。
    - factor.xlsx：同questionaire，但只有factor的資料，共182筆。
    



- feature_level_dimension：4模態輸入的訓練結果
    - ex：2022_06_21_06_41_43_face_audio_text_hrv_softmax
        - anxiety（在anxiety這個dimension中的訓練結果）
        - depression
        - family
        - mania
- feature_level_dimension_5model：5模態輸入的訓練結果
- feature_level_factor
- feature_level_factor_5model
- img
    - feature_level_fusion.png：feature-level的架構圖
- keras_model：資料同best_model裡的keras_model
- kmeans_model：針對所有factor和dimension訓練之後儲存下來的model。
- model : 單模態的模型(感覺是一些訓練中間的模型，蠻雜的)
- preprocess : 存放pre-train完之後的data
- evaluate.py : recall, precision和F1 score計算的函數
- feature_level_dimension.py : 針對四個認知心理維度的訓練模型。
- feature_level_factor.py : 針對七個心理素質因子的訓練模型。
- preprocess.py : 去data/questionaire_data.xlsx裡抓取raw data去pre train，結果會存放在preprocessing。
- style.py : 模型用到的顏色標記。
- test.py : 無關model，單純test






- Best_model/ keras_model : 3個模態和5個模態最好的model。
- clustering : 存放每一個心理認知維度和心理素質因子使用Elbow去尋找最佳K的折線圖。



### 模型說明

---

#### 1. FiveModalFusion_Att(3) runs on old_questionaire_teens(1)
1. 模型路徑：/MatureDepressionAssessment_3/train_task1.py
2. 參數設定：
    (1) dataset_version = OLD_DATASET_TEENS
    (2) binary_classification = false
        three_classification = false
        four_classification = false
    (3) LR = 0.0001 (最佳結果之初始值)
    (4) optimizerName = Adam_LRsche (最佳結果之optimizer)
    (5) model = FiveFusionModel2_Att
    
3. 訓練說明：除了以上的３、４點以外，其他參數設定好照理來說就可以跑了。
4. 測試說明：若不更改原來的LR和optimizerName，Training Accuracy最高只可到6成(epoch=100)，因此後續有加入Adam_LRsche動態調整Learning Rate，可以用更少的回合達到更高的準確率，關於各實驗過程說明請見資料夾裡 README.md。
5. 實驗相關結果 : (path = /MatureDepressionAssessment_3/__ Experiments __)
    (1) 2024_11_05_0862203_old_factor_teens_5分類__FiveFusionModel2_Att_epochs=100
    (2) 2024_11_06_0862203_old_factor_teens_5分類__FiveFusionModel2_Att_epochs=105_
    (3) 2024_11_06_1162203_old_factor_teens_5分類__FiveFusionModel2_Att_epochs=44_
    

#### 2. FiveModalFusion2_(1) runs on new_questionaire(mature)(3)
1. 模型路徑：/MatureDepressionAssessment_3/train_task2.py
2. 參數設定：
    (1) dataset_version = NEW_DATA_TRIPLE
    (2) binary_classification = false
        three_classification = false
        four_classification = false
    (3) LR = 0.0001 (最佳結果之初始值)
    (4) optimizerName = Adam_LRsche (最佳結果之optimizer)
    (5) model = FiveFusionModel / FiveFusionModel2
3. 訓練說明：一開始用的是FiveFusionModel，但訓練結果蠻差的，所以有先更改四分類的label對應方式（從method2改為method1)，最後經過測試使用的模型是FiveFusionModel2，也有經過學習率的調整
4. 實驗相關結果：(path = /MatureDepressionAssessment_3/__ Experiments __ )
    (1) 2024_11_14_0962203_new_factor_triple_3分類__FiveFusionModel_epochs=20_
    (2) 2024_11_14_1062203_new_factor_triple_3分類__FiveFusionModel2_epochs=20_
    (3) 2024_11_14_1062203_new_factor_triple_3分類__FiveFusionModel2_epochs=35_
    (4) 2024_11_14_1062203_new_factor_triple_3分類__FiveFusionModel2_epochs=45_
    (5) 2024_11_17_0162203_new_factor_triple_3分類__FiveFusionModel2_Att_epochs=35_
    (6) 2024_11_17_0162203_new_factor_triple_3分類__FiveFusionModel2_epochs=35_
    

#### 3. 第三篇論文的資料切分方式
- 說明：加入SID之後改變random_seed的值訓練同一個model（FiveFusionModel2），資料處理的方式是QuestionDataset()
- 實驗相關結果路徑：/MatureDepressionAssessment_3/__ Experiment __ / 2024_11_14_1162203_new_factor_triple_3分類__FiveFusionModel2_epochs=45_
- 實驗結果
![image](https://hackmd.io/_uploads/r1udJr_Mkl.png =400x)

#### 4. 多模態的組合測試結果
- 說明：老師想要知道第一篇論文的模型在跑各種不同模態之下的測試結果，去和**加上attention**之後的模型去跑相同模態組合的結果，是否可以有一個準確率上的穩定，預期達到的願景就是加入attention可以讓更少的模態去跑出差不多高的準確率。
- 實驗相關路徑：/yang/depression_level_assessment/four_modal_five_class/
    - 去掉text: 2024_11_28_02_20_58_text
    - 去掉audion: 2024_11_28_09_35_03_audio
    - 去掉face: 2024_11_30_05_21_08_face
    - 去掉HRV: 2024_11_30_08_02_51_HRV
- 實驗結果1: 第一篇論文模型四模態之測試結果如下：
    - 去掉Text
    ![image](https://hackmd.io/_uploads/rk7JVAF7yx.png =300x)

    - 去掉audio
    ![image](https://hackmd.io/_uploads/HkaSNRtX1g.png =300x)
    
    - 去掉face
    ![image](https://hackmd.io/_uploads/Hyau40t7Jl.png =300x)
    
    - 去掉HRV
    ![image](https://hackmd.io/_uploads/Sk-i4RYXJe.png =300x)
    
    - 去掉Eye movement
    ![image](https://hackmd.io/_uploads/rJy0Jknmkl.png =300x)


    - 後續模型修改 - Early Fusion(陳老師的建議)
        - 說明：基本上概念與decision-level-fusion一樣，但論文一已經有做過並且有相關數據，因此不多做測試。
        - 結論：沒有比較好


    - 後續模型修改 - 加入attention
        - 說明：直接拿第三篇論文中加入attention機制的模型進行訓練（試跑在青少年資料上）
        - 模型路徑：yang/ MatrueDepression/ 
            - train_test_text.py
            - train_test_audio.py
            - train_test_hrv.py
            - train_test_face.py
            - train_test_eye.py
        - 實驗結果路徑：yang/MatureDepression/
            - 2024_12_06_0962203_old_factor_teens_5分類_removeText___epochs=100_
            - 2024_12_06_0962203_old_factor_teens_5分類_removeAudio___epochs=100_
            - 2024_12_06_0962203_old_factor_teens_5分類_removeFace___part1__epochs=100_ 和 2024_12_06_0962203_old_factor_teens_5分類_removeFace___part2__epochs=100_
            - 2024_12_06_0962203_old_factor_teens_5分類_removeHRV___epochs=100_
            - 2024_12_06_0962203_old_factor_teens_5分類_removeEye___epochs=100_
        - 測試結果：(皆取epoch=100之結果，未必為最好結果)
            - 去掉text:
            ![image](https://hackmd.io/_uploads/S1hJ5k4Nkg.png =300x)

            - 去掉audio:
                ![image](https://hackmd.io/_uploads/r1LQipe4Jx.png =300x)
                
            - 去掉Face: 
                ![image](https://hackmd.io/_uploads/Bkh99JVNyg.png =300x)

            - 去掉HRV: 
                ![image](https://hackmd.io/_uploads/rkW62yN4Je.png =300x)


            - 去掉Eye_movement: 
                
                

- 實驗結果2: 第一篇論文模型三模態之測試結果


