# 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)或另外找 - 主題要跟我們現在做的相關,例如預測車速→OK、探討如何調整閘道管制→不適合。 - 不要重複 - 整理到[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)