--- title: Lab Meeting Minutes 2023/01/31 tags: lab_meeting --- > Outline > [TOC] --- # PERAL Lab Meeting - 時間:112 年 01 月 31 日 10:00 - 地點:線上 - 線上會議連結 : [Online](https://meet.google.com/ofx-yuhp-wxq?fbclid=IwAR3FR3DOSar49wGoylNInZAmSqAgRuikLouHFieAH6srB69IKpVefB0uYuw) - 出席者:吳坤熹老師、謝萬霖、吳騰然、劉怡君、田蕙瑜、洪胤勛、莊才賢、紀見如、劉冠伶、林大智、繆亭霄、丘世宇(請假) - 會議主題:[RNN and LSTM](https://docs.google.com/presentation/d/1k0FfgyCaY6k9XF6giEeXjbw9gpe3VoczOVVfi23iqEE/edit?usp=sharing) - 主講者: 繆亭霄 - 主記: 莊才賢 ## 會議內容 ### Intro - What is Nural Network - single Nural: 模擬神經決策,多個 Input 搭配對應 Weight ![](https://i.imgur.com/OY9XCrd.png) - multi layer: ![](https://i.imgur.com/fCqd6eS.png) - Before enter RNN - sequential Data - 較晚的 Input 會受到前一個狀態的 Input 的影響 - full-connected 的 Nural Network 不能處理前一個狀態 - Next Step - RNN - LSTN ### RNN - ![](https://i.imgur.com/xqA2ws4.png) - $h_t$: 當前狀態 - 與 $h_{t-1}$ $x_t$ 和 Weight Matrix 的影響 - 使用 $\tan{x}$ 作為 activation function - RNN 無法處理太過長期的記憶 - 涉及梯度消失與梯度下降 ![](https://i.imgur.com/q2tXUf2.png) ### LSTM - 比 RNN 更為複雜 - 以 cell 為單位(使用 sigmolid activation function) ![](https://i.imgur.com/npx7hKG.png) - 三個 INPUT - forget gate($f_t$) - $f_t$ 用來遺忘掉早期的記憶 - input gate($i_t, c_t$) - $i_t$ 用來儲存新的記憶 - output gate ### Summary - RNN 有內部的記憶方法,可以紀錄時間的影響 - 但無法保留長時間的記憶 - LSTM 透過 ??? belt 保存記憶 - 輸出 $h_t$ --- ### 建議&問題 1. p6, X0 可以從 sentance 換成句子嗎?這樣會發生梯度消失的問題嗎?[name=Lawerence] Ans: 輸入維度會變高[name=] Ans: 矩陣會變得很稀疏,因為相同句子重複的機率比較小 1. p8 為什麼要用 $tan x$ 為什麼不用 $sin x$[name=Jennifer] Ans: 因為不會收斂,$sin h$ 會跑到 $[-\inf, +\inf]$[name=] 1. 需要遞增或遞減嗎?還是只要收斂就行?[name=Solomon] Ans: Sigmolid 輸出 0-1 之間,改動狀態方向應該要能夠增加或減少[name=Solomon] Ans: 必須要是遞增遞減,不能出現 0-1 之間的震盪[name=Edgar] 1. P5, RNN 不會記憶太長期的記憶,什麼情境會需要短期記憶[name=Ashley] Ans: 或許短期記憶就是在前一個句子或是前一行[name=] 1. P15,A * B 的乘法就是 dot product[name=] Ans: P7 tan x 怎麼換回來 word[name=] 1. 要怎麼把狀態矩陣轉回 word(like p5)[name=Jerry] Ans: 沒有更多的想像,牽涉到單詞如何組成數值資料,用 ascii code 來決定輸出大小又不大確定。[name=Edgar] 1. P6 每個 Word encode 一個向量, 5 個元素就是 2^5 種[name=Solomon] Ans: Word enbadding 就是把 Word 用成 one-hot encode,[name=] 1. 字典有 6W 字,但會有 5W 個 tuple?[name=Edgar] Ans: 或許從 500 字的 output 當作起點也不錯。既然可以 encode 那應該也可以 decode[name=Solomon] 1. h0 x0 都是向量,那他們維度一樣嗎?[name=Branko] Ans: 維度可以不一樣[name=August] 1. 每次的 A 會一樣嗎?[name=] Ans: 一樣[name=August] 1. 有想要做什麼應用嘛[name=phoebe] Ans: 流量分析[name=August] 1. 如果是封包,怎麼判斷先後?[name=Angela] Ans: Netflow 資料都是一筆一筆的,理論上就是 time sequence [name=August] 1. 有需要用到 NLP 的模型來做封包異常分析[name=Angela] Ans: 時間相關的模型可以做出更好的判斷[name=August] 1. LSTM 是 long term 與 short term 的記憶,是因為什麼[name=Toby] Ans: LSTM 利用 Ct 來回推長期記憶,RNN 利用 ht 誤差值進行 gradient decent,會需要很多矩陣連成,可能會發生梯度爆炸,梯度消失 [name=August] 1. 若是使用 Singular matrix 時,應該不會產生太多資訊的流失[name=Solomon] Ans: [name=August] 1. Weight 如何更新?[name=August] Ans: RNN 使用 back propgation to time, 使用初始權重算 output。可以透過偏微分得出誤差來求出 gradient,通常訓練會重複上千次。[name=August] 1. 沒有介紹權重調整的地方 [name=Solomon] Ans: 這說不定是重點,容易讓人覺得這個模型不需要權重的調整 [name=Solomon] 1. RNN 大家共用同一個 Model,每輸入一個 Word 就進行調整嗎,還是一整個句子讀完就進行更新?[name=Edgar] Ans: 大部分是使用第一個,也有少部份是第二個。若是使用串流的資料也是可以分段使用第一個方法 [name=August] 1. P15, ht 是文字嘛?[name=Edgar] Ans: 同樣具有文字的資訊。[name=August] 1. 研究的方向是拿 netflow 拿 RNN 做研究的方向,但 RNN 有不購的地方,拿 lstm 加強。能夠講清楚,研究就算還不錯了。[name=Solomon] ## 待追蹤事項 1. [name=] ## 臨時動議 --- 散會結束時間: