---
# System prepended metadata

title: Meeting1009

---

# Meeting1009

## 上週五meeting整理

禮拜日再講

1. 更改題目為探討LSTM與GRU用在各feature上是否最終影響準確度。
      - 所以要改code然後跑
      - 需要我們自己想具體題目名稱
1. RNN、LSTM、GRU各自的**詳細**原理與優劣比較。看起來是希望到可以舉例一組輸入資料，然後一路計算的每個步驟到最後輸出都可以寫出具體數值（跟資料當下維度）的程度。
1. 描述原理的公式使用的符號與維度需要講清楚。

## 進度確認

### 討論LSTM等原理

問題：
1. LSTM為甚麼可以解決RNN的梯度問題。
2. GRU合併LSTM的兩個gate，在公式上怎麼解釋。
3. LSTM的C跟H的角色有甚麼不同。

## 工作分配

### 王

1. 繼續研究LSTM，自由發揮

### 鄭

1. 改公式內容
2. 在公式層面解釋GRU如何把LSTM的`forget gate`和`input gate`合併。

### 森

1. 上次進度：研究RNN原理
2. 解釋RNN為甚麼會有梯度消失跟梯度爆炸

### 傅

1. 修改[code](https://github.com/project-team-2025/LSTM/blob/main/src/model_pytorch.py)
    - 改成可以指定每個feature要使用`LSTM`還是`GRU`。
    - 修改以最小化變動為原則，能不改的地方就不改
    - 跑全LSTM跟全GRU，存所有有輸出的圖，跟最後一個epoch的train、valid、custom MAE.

### 毅

## 暫時擱置
1. 先預測是否為低速區間，再根據是或否使用不同的兩個模型做車速預測，期望解決低速樣本比例低造成的問題。
1. 預測系統架構
    - 用fake data讓整個系統可以運行
        - 定義data flow
        - 在每個步驟input、output長甚麼樣
    - 寫unit test
    - 切branch方便協作
1. LSTM在訓練到時候有沒有辦法讓某幾筆數據不參考前面時序的資料，比如現在生了（或複製）一串資料append到原來資料的最後面，但事實上這個新資料的第一筆跟原本資料的最後一筆應該沒有關連，可是apeend後會變成一個先後順序，可能影響到訓練。
    - 解：顯然沒有辦法，一筆訓練資料裡面有幾筆序列是一開始透過shape定義的，無法動態更改。
1. 把自動調參的原理跟code寫進去文件
1. 把`預測-答案散佈圖`改成`誤差-答案散佈圖`
1. 把CNN模型部分換成ResNet-50訓練看看(記得用修正過sliding windows的code)

## 備註

### 文獻
- 從[之前的](https://1drv.ms/f/c/002d06ef873e3a00/EoXJOiMuM1pDqht2Ke5KNaoBFz5LI4SnBufyu4gog16Jsg?e=LqUJqf)或另外找
    - 主題要跟我們現在做的相關，例如預測車速&rarr;OK、探討如何調整閘道管制&rarr;不適合。
    - 不要重複
- 整理到[word](https://1drv.ms/w/c/002d06ef873e3a00/EfM6DwAyGxVGhzleeuukya4BTnOZiuV6_zXadvUBcWsh-w)
    - 包含表1-表4都要填

[參考](https://www.webofscience.com/wos/woscc/summary/cb1b4f9e-9dad-4d84-8a2a-f8857c858c9d-01770ed75b/relevance/1)

### 介面

#### 前端UI/UX設計
* [前端Canvas連結](https://www.canva.com/design/DAGvwmmtqMU/1hvXPbMCtqPVbBZt-Ulv4A/edit?success=true&continue_in_browser=true)
* [前端figma連結](https://www.figma.com/design/FgZq5YAy7cj7r8uyYHmiM6/%E9%AB%98%E9%80%9F%E5%85%AC%E8%B7%AF%E4%BA%A4%E9%80%9A%E5%A3%85%E5%A1%9E%E9%A0%90%E6%B8%AC%E6%A8%A1%E5%9E%8B-%E5%89%8D%E7%AB%AF?node-id=33-104&t=WkB4fRjKVZ6ZH8NN-0)
    - 進入點
        - 一般民眾
            - 電腦版：frame5
            - 手機板：frame34
        - 研究人員
            - 電腦版：frame17
            - 手機板：frame50
    - 注意：以下是因為figma技術限制所以沒有製作出來，但實際上前端在寫的時候要實現的地方。
        1. 研究人員電腦版的"變更預測路段"4個按鈕(`三重-台北`、`台北-圓山`、`南向`、`北向`)是可以按且有作用的。
        2. 研究人員電腦版左側往下滑後：
            - `變更使用模型`按鈕可以按且有作用。
            - `歷史預測資料`右邊的滑桿可以左右拖動。左右滑桿是要可以連續移動的並且右邊的「n小時前」數字n會隨著滑桿變動
            - `歷史預測資料`下方的`顯示實際數值`可以勾選/取消勾選。勾選後的效果可以看見歷史資料的實際數值、沒勾選時顯示歷史「預測」資料。
            - `車速等級`右上角的問號，滑鼠懸停在上面一樣會顯示車速對照表。
        3. 手機版功能和電腦版相同，只有排版不同，所以電腦版的所有功能在手機板上都要實作。

#### 系統code
[github](https://github.com/project-team-2025/highway-predictor)
[文件-系統總架構
](https://hackmd.io/dIZxGKwGRhq_6hKrASLAbw)

### 模型code整理
- 應該是[這個](https://github.com/project-team-2025/LSTM/tree/master/src/final_model)

### 目前最好的模型
預測目標(y)：車速
[模型連結](https://github.com/project-team-2025/LSTM/blob/cw/src/model_train_ar_improved.py)

### 修正結果
[model_pytorch commit](https://github.com/project-team-2025/LSTM/commit/18e5854380a9cf028bff032793f8d8ab83a945f7)
