Пікірлер
@jimmyliu0104
@jimmyliu0104 Күн бұрын
追完整部,左踢奧術、右扁膽大黨,看哭了都,希望教授此生幸福美滿
@王朝-t6j
@王朝-t6j 2 күн бұрын
最後一個例子,我想現在答案應該會不同吧?chatgpt已經擁有記憶功能,也就是說我前面給過他的資訊他幾乎能一直記得,也就不存在下一句我如果沒給他語言資料他就會忘記怎麼翻譯 老師講的比較像是直接開一個新的對話,那當然就無法翻譯,對話與對話之間是無法相連的
@zhangvvhui
@zhangvvhui 3 күн бұрын
谢谢老师,为大家提供了这么好的学习资料。
@Tightt-r5e
@Tightt-r5e 4 күн бұрын
28:16,CNN vs Auto_Encoder
@JamesBond-uv2zi
@JamesBond-uv2zi 4 күн бұрын
請問 老師提到:"找出參數以後,給函式新的圖片看看它會輸出什麼,這件事情叫做測試或又叫做推論"。 在我的認知裡,雖然對機器來說做的事情一樣,但是測試應該是在驗證或評估時的用語,而一般使用時叫做推論。老師的說法讓我混淆了,有人能解釋嗎?
@daponchen6795
@daponchen6795 4 күн бұрын
請問,為什麼x乘上A,這個x表達方式跟矩陣並無不同,一樣也都是[]表達方式,那為何x就要稱做向量?而不是稱做x矩陣呢?
@Victoria淩夏
@Victoria淩夏 6 күн бұрын
感谢李老师!您真的是世界上我听过讲机器学习最好的老师!没有之一!深入浅出通俗易懂!我真的好感动!
@Victoria淩夏
@Victoria淩夏 6 күн бұрын
您真的是太寶藏的老師!寶藏的KZbin!例子具體生動形象!真的是太棒了!
@Victoria淩夏
@Victoria淩夏 6 күн бұрын
先生最高🎉
@aastharathi8755
@aastharathi8755 6 күн бұрын
Is it possible to replace the underlying helium language model with any other model say gpt or gemini?
@Victoria淩夏
@Victoria淩夏 6 күн бұрын
老師,您講的真的是太好了,非常感謝老師。請問老師有沒有微積分相關的視頻?非常非常非常非常非常感謝老師。
@Ahwu_AIClass
@Ahwu_AIClass 6 күн бұрын
🎯 Key points for quick navigation: 00:01 *🧠 Self-Attention解決變長輸入挑戰* - 簡介Self-Attention架構,解決輸入為變長向量的問題,適用於語言和序列資料處理。 - 預測場景從固定長度向量轉為序列處理,輸入向量數量和大小可能不同。 - 例子:文字處理中的句子長度變化。 02:06 *🧩 Word Embedding介紹* - 簡介Word Embedding,解決One-Hot Encoding無語義資訊的問題。 - 提供語義向量,讓詞彙相似性更明顯,如動物和動詞分群。 - 例子:如何從向量分布觀察語義關係。 03:08 *🎵 聲音訊號與序列表示* - 將聲音訊號切分為小窗口,每段描述為向量。 - 描述方式:每秒鐘音訊分成100個Frame,對應成序列。 - 古聖先賢的參數調整方式提升描述效果。 05:15 *🌐 Graph作為向量集合* - Graph應用於社交網路與分子模型。 - 節點向量化表示個體特性,關係定義為邊。 - Graph用於藥物發現及其他研究領域,特徵由模型輸入處理。 06:50 *📊 輸入與輸出對應關係的類型* - 第一類型:輸入與輸出數目相同,例子包括POS Tagging和語音辨識的簡化任務。 - 第二類型:整個序列僅輸出一個Label,如情感分析。 - 將不同場景輸出需求分類解釋,便於理解應用範圍。 11:24 *🔄 Sequence-to-Sequence 任務介紹* - 介紹 Sequence-to-Sequence 的任務類型,如翻譯及語音辨識, - 簡述作業五的內容,未來會進一步講解相關應用。 11:53 *🏷️ Sequence Labeling 概念* - 解釋 Sequence Labeling 任務,需為每個向量分配標籤, - 使用 Fully-Connected Network 的局限性,如無法考慮上下文資訊。 13:27 *🌐 Context Window 的應用* - 引入前後窗口的概念,改善 Fully-Connected Network 的效果, - 說明作業二的處理方法,看多個 frame 判斷音標。 15:01 *🚧 長序列問題與局限性* - 探討用大窗口處理整個序列的挑戰,如計算量及過擬合風險, - 強調需更高效的方法考慮完整序列資訊。 16:04 *✨ Self-Attention 技術簡介* - Self-Attention 能同時考慮整個序列資訊, - 輸入與輸出向量數量一致,考慮上下文後生成結果。 17:33 *🤖 Self-Attention 與 Transformer* - Self-Attention 可多次使用,結合 Fully-Connected Network 增強效果, - 提及 Transformer 的架構及其關鍵角色。 19:02 *🔍 Self-Attention 計算過程* - Self-Attention 將序列向量生成新向量,考慮整體關聯性, - 解釋向量之間關聯的計算方式,為後續分類或回歸提供依據。 23:08 *🔍 Self-Attention 的關聯性計算* - 解釋如何利用向量計算關聯性,特別是使用 Query 和 Key 的方式, - 提到用內積計算 Query 和 Key 的關聯性,得出 Attention Score(注意力分數), - 提到每個向量間都需要進行關聯性計算,包括與自身的計算。 25:42 *📊 使用 Soft-Max 進行歸一化* - 說明將 Attention Score 通過 Soft-Max 進行歸一化以得到 α', - 提到 Soft-Max 並非唯一選擇,可以使用其他激活函數(如 ReLU),並鼓勵實驗, - 強調 Soft-Max 是最常見的選擇,但根據不同情境可以嘗試優化。 27:18 *✨ 抽取重要資訊* - 說明如何根據 α' 提取序列中重要資訊, - 解釋將每個向量乘上權重矩陣 Wv 生成新的向量,再依據 α' 加權求和, - 強調利用 Attention 分數對資訊進行篩選,突出相關性最高的部分。 Made with HARPA AI
@Ahwu_AIClass
@Ahwu_AIClass 9 күн бұрын
🎯 Key points for quick navigation: 00:00 *🧠 CNN 的基本概念與應用* - 介紹卷積神經網路 (CNN) 的基本概念,專為影像處理設計, - CNN 在影像分類的應用,透過固定大小的圖片進行分類分析, - 強調 Network 架構設計的重要性及其對分類結果的影響。 02:21 *🎯 One-Hot Vector 與影像分類目標* - 講解 One-Hot Vector 的概念及其在影像分類中的應用, - 討論影像辨識系統如何處理多種類別的輸出,涵蓋數千至上萬類別, - 使用 Cross Entropy 測量預測與真實分類的差距。 03:20 *🖼️ 影像作為模型輸入與數據結構* - 影像在電腦中的表示形式為三維 Tensor (寬、高、色彩通道), - 將影像 Tensor 拉直為向量以輸入至 Fully Connected Network, - 討論高維向量對參數量與模型設計的影響。 06:22 *⚠️ 模型參數與 Overfitting 風險* - Fully Connected Network 中參數過多的問題,增加模型靈活性但提高過擬合風險, - 解釋影像特性對參數優化的需求, - 強調針對影像特性觀察進行簡化設計。 07:21 *🔍 關鍵特徵與局部觀察的簡化設計* - CNN 利用 Receptive Field 聚焦局部區域,避免分析整張影像, - 討論特徵偵測的重要性,如鳥嘴、眼睛等特徵對分類的影響, - 使用小區域偵測提升模型效率並減少計算負擔。 12:19 *🧠 Receptive Field 的基本概念* - Receptive Field 定義為單個 Neuron 可觀察的範圍,彼此之間可以重疊。 - 不同的 Neuron 可以覆蓋相同或不同的 Receptive Field 區域,適應不同 Pattern 的偵測需求。 - 範圍設計可根據需求調整大小(如 3×3 或 11×11),甚至只關注特定的色彩通道。 14:40 *📐 Receptive Field 的設計自由度* - Receptive Field 可設計成正方形、長方形,甚至不連續區域,但需考量是否符合問題需求。 - 經典設計包含所有通道,通常 Kernel Size 設為 3×3 或其他適當大小,避免過大。 17:36 *🔄 Receptive Field 的移動與重疊設計* - 使用 Stride 控制 Receptive Field 的橫向與垂直移動,一般設為 1 或 2。 - 為避免邊界資訊遺失,可利用 Padding 補零或其他方法處理超出範圍的部分。 - 每一位置應被至少一個 Receptive Field 覆蓋,確保無 Pattern 遺漏。 20:32 *🐦 Pattern 在不同位置的偵測* - 同一 Pattern(如鳥嘴)可能出現在影像的不同區域,Receptive Field 的全域覆蓋確保偵測能力。 - 偵測 Pattern 的 Neuron 可根據其範圍內的資訊有效運作,無需固定於某一區域。 23:36 *🧠 神經元參數共享的影響* - 同參數的神經元因輸入不同,輸出也不同,適應不同的感知區域。 - 若感知區域相同且參數共享,輸出將固定不變,限制模型的靈活性。 25:06 *🔄 參數共享與 Filter 概念* - 共享參數的神經元對應特定的 Filter,每個感知區域只使用一組參數。 - Filter 將影像處理簡化,命名為 Filter1、Filter2 等,每組濾鏡專注於特定模式。 27:11 *🏞️ 感知區域與卷積層的限制* - 感知區域與參數共享減少模型的靈活性,但有助於影像模式的高效學習。 - CNN 針對影像設計,具有高模型偏差,能有效避免過擬合,但需慎用於非影像任務。 29:48 *📸 卷積層的構造與運作* - 卷積層使用多個 Filter(如 3×3×Channel)專注於小範圍模式的偵測。 - Filter 在影像中滑動,透過內積計算檢測特定模式並生成特徵圖。 - 滑動步長(Stride)決定移動距離,影響特徵圖的解析度。 35:01 *🎨 第二層卷積層的結構與範圍解釋* - 第二層卷積層的 Filter 高度需與前一層的 Channel 數相符。 - 雖然 Filter 是 3×3,但越深的層可觀察到更大範圍的影像特徵(例如由 5×5 組成的更大範圍)。 - 深層的 CNN 結構能檢測更複雜的模式,層數的增加讓視野擴展。 37:44 *🔍 Convolution 運作原理及其命名* - Convolution 是將 Filter 掃過圖片,每組共享的參數稱為 Filter。 - 掃描圖片時,Neuron 共用權重以覆蓋不同範圍,實現模式檢測。 - Convolutional Layer 的命名由此操作而來。 39:19 *🐦 Pooling 的概念與應用* - Pooling 通過 Subsampling 減少影像大小,保留重要特徵(如 Max Pooling 選最大值)。 - Pooling 無需學習參數,是一種固定操作,類似 Activation Function。 - Pooling 可降低運算負擔,但可能影響辨識微小特徵的能力。 43:23 *🧩 Convolution 與 Pooling 的交替與替代* - 傳統架構以 Convolution 與 Pooling 交替,但 Pooling 逐漸被全卷積網路(Fully Convolutional Networks)取代。 - 不使用 Pooling 的架構可避免資訊損失,但需更高運算資源。 - Pooling 主要用於降低運算量,但隨著硬體性能提升,其必要性減弱。 43:52 *🏁 影像辨識網路的最後處理與應用* - Pooling 後的輸出需進行 Flatten 操作,將矩陣轉為向量以輸入 Fully Connected Layer。 - 最後通過 Softmax 獲得影像辨識結果,形成經典影像辨識流程。 - 除影像辨識外,CNN 還應用於 AlphaGo 等其他機器學習領域。 46:47 *♟️ 為何 CNN 適用於圍棋問題* - 圍棋棋盤被視為解析度為 19×19 的圖片,棋盤上每個位置以 48 個數字描述其特性。 - CNN 的設計特性(局部觀察、位置不變性)與圍棋問題需求吻合,例如 5×5 範圍足以捕捉重要棋盤模式。 50:16 *🧩 AlphaGo 的 CNN 架構分析* - AlphaGo 採用 Zero Padding 和多層 3×3 的 Filter,透過 ReLU 激活與 Softmax 實現分類功能。 - 儘管 AlphaGo 未使用 Pooling,但其 CNN 結構針對圍棋需求量身定制,反映特定應用需靈活調整設計。 53:21 *📊 CNN 的多領域應用與限制* - CNN 被應用於影像、語音及文字處理,但每個領域的設計細節需基於特性調整,如感受野與參數共享。 - CNN 無法天然處理影像縮放或旋轉,需透過 Data Augmentation 增強模型的泛化能力。 Made with HARPA AI
@Ahwu_AIClass
@Ahwu_AIClass 9 күн бұрын
🎯 Key points for quick navigation: 01:10 *🏔️ Batch Normalization 的核心概念* - Batch Normalization 旨在平滑 error surface,降低模型訓練難度, - 提到 error surface 的地形特性會影響模型訓練效率, - 提出將地形「剷平」的想法以改善優化過程。 02:12 *⚙️ Adaptive Learning Rate 的限制與挑戰* - 固定 learning rate 在 error surface 斜率差異大的情況下效果有限, - 引出使用更進階方法如 Adam 的必要性, - 提出從調整 error surface 入手的另一種思路。 03:12 *📉 Linear Model 中斜率差異的來源* - 當不同輸入特徵的 scale 差異很大時,error surface 的坡度會不同, - 說明小輸入特徵對 Loss 變化的影響較小,大輸入特徵則影響較大, - 不同方向的斜率差異導致模型訓練困難。 05:44 *📐 Feature Normalization 的概念與方法* - 通過 normalization 將輸入特徵的範圍統一,減少斜率差異, - 說明標準化操作,將特徵均值調整為 0,方差調整為 1, - 強調這種方法能加速 gradient descent 並提高訓練穩定性。 09:18 *🧠 深層神經網絡中的特徵標準化* - 將 normalized feature 傳遞到每層網絡,確保數值分布穩定, - 探討 activation function 前後進行 normalization 的影響, - 提出對 z 或 a 做 normalization 皆可,視情況選擇。 11:48 *📊 對中間層 z 的特徵標準化操作* - 計算 z 的均值與標準差,並對其進行標準化處理, - 提到這樣的操作能使後續層的訓練更加順暢, - 提供具體步驟來執行 z 的 normalization。 13:54 *🔄 特徵正規化引入整體關聯性* - 特徵正規化使 z 值(例如 z1, z2, z3)之間產生關聯,μ 和 Σ 的變化影響其他輸出值。 - Feature Normalization 被視為網路的一部分,處理多個輸入計算 μ 和 Σ,再生成輸出。 16:01 *🖥️ Batch Normalization 的實作與適用條件* - GPU 無法處理整個數據集,因此 Batch Normalization 僅對單一 batch(如 64 筆數據)進行 μ 和 Σ 的計算。 - 適用於較大 batch size 的情境,並對其作為整體數據分布的近似。 18:06 *🧩 γ 和 β 的引入與初始化設計* - z tilde 通過 γ 和 β 的操作轉換為 z hat,避免正規化後輸出限制於特定平均值。 - γ 和 β 初始值分別設為 1 和 0,保持輸出分布穩定並支持進一步調整。 20:36 *🔧 Batch Normalization 在測試中的挑戰與解決方案* - 測試中無法直接使用 batch 的 μ 和 Σ,採用訓練階段的 moving average(μ bar 和 Σ bar)取代。 - PyTorch 等框架自動處理,通過超參數調整更新 moving average。 23:07 *📊 Batch Normalization 的效能對比* - 原始文獻展示 CNN 使用 Batch Normalization 的訓練效果:顯著提升 validation set 上的準確率。 - 沒有正規化的模型性能明顯不如採用 Batch Normalization 的模型。 25:37 *📊 Learning Rate 調整實驗結果與現象* - 作者發現學習率設為 30 倍比 5 倍效果差,並未詳細解釋現象。 - 提到深度學習中經常出現無法解釋的實驗結果,強調誠實呈現數據的重要性。 26:09 *🧮 Batch Normalization 與 Internal Covariate Shift* - Batch Normalization 被提出是為了解決 Internal Covariate Shift 問題,主要是針對網路更新時各層參數分布變化。 - 提到 normalization 可讓前後層輸出分布更接近,可能對訓練有幫助。 27:09 *📚 批評 Internal Covariate Shift 理論的實驗與分析* - 論文 *How Does Batch Normalization Help Optimization* 提出:Internal Covariate Shift 並非主要問題,也不是 Batch Normalization 的核心優勢。 - 實驗發現,Batch Normalization 與輸出分布變化關係不大,且不同梯度計算方法影響有限。 28:08 *🔬 Batch Normalization 改善 Error Surface 的作用* - Batch Normalization 可平滑 error surface,這一點在理論與實驗上均有支持。 - 作者提到其他方法也可達到類似效果,但 Batch Normalization 的優勢或許具有「意外發現」的成分。 29:42 *🧪 Batch Normalization 與偶然性比較* - 作者將 Batch Normalization 的影響比喻為盤尼西林的意外發現,認為其作用可能是機緣巧合下的結果。 - 提醒研究者保持開放態度,接受實驗中的意外結果。 Made with HARPA AI
@張峻嘉-k5o
@張峻嘉-k5o 9 күн бұрын
感謝教授 提供這麼好的學習課程 給大家 造福台灣 身為AI工程師的我來 非常謝謝您
@Ahwu_AIClass
@Ahwu_AIClass 10 күн бұрын
🎯 Key points for quick navigation: 00:02 *🚧 訓練卡住的原因分析* - 問題背景:介紹訓練中 `critical point` 的誤解,並強調訓練卡住時應仔細檢查梯度是否真的很小。 - 訓練過程中,`loss` 停滯並不一定表示遇到 `critical point`,梯度可能仍然很大。 - 使用 `gradient norm` 分析卡住的原因,避免誤判為 `saddle point` 或 `local minima`。 04:20 *⛰️ 坡度平滑與梯度下降的挑戰* - 在平滑但狹長的誤差曲面(如橢圓形)上,梯度下降難以有效收斂。 - 學習率調整困境:學習率太大會導致震盪,太小則會導致訓練停滯。 - 示範了調整學習率後的困難情境,凸顯了簡單曲面上訓練的挑戰性。 09:06 *🛠️ 自動調整學習率的需求* - 介紹如何改進梯度下降方法,解決簡單問題都難以收斂的不足。 - 個別參數學習率:為每個參數量身定制學習率,根據梯度大小調整。 - 平坦方向需增大學習率,陡峭方向需減小學習率,以提升收斂效果。 12:47 *⚙️ 梯度更新與Root Mean Square計算* - 講解參數更新公式,包含初始參數與梯度的影響。 - 引入Root Mean Square (RMS) 計算,用以動態調整學習率,具體說明公式中各項的意義及計算方式。 - 提到RMS在不同梯度大小的影響下會調整學習率,使梯度大時步伐小,梯度小時步伐大。 15:20 *🌄 自動調整學習率的Adagrad方法* - 說明Adagrad方法如何利用RMS來動態調整學習率。 - 探討Adagrad的應用,對不同參數的梯度進行獨立調整,使陡峭區域學習率降低,平緩區域學習率提高。 - 強調Adagrad的限制,即同一參數的學習率會逐漸減小,可能導致模型在訓練後期收斂過慢。 18:30 *✨ RMSProp方法的改進* - 介紹RMSProp方法的背景,由Hinton提出且無相關論文支持。 - RMSProp改進Adagrad,對梯度的重要性進行加權,通過引入超參數α調整新舊梯度的影響比例。 - 詳述RMSProp的公式與運算過程,展示如何有效地克服Adagrad學習率衰減的問題。 21:07 *🎯 RMSProp的實際應用與優勢* - 分析RMSProp在不同梯度變化情境下的效果,特別是在平坦與陡峭區域的參數更新。 - 強調RMSProp的動態調整能力,能快速響應新梯度變化,提高收斂效率。 - 建議合理選擇α值以平衡新舊梯度的重要性,達到最佳訓練效果。 24:44 *📉 自適應學習速率 Adagrad 的效果與問題* - Adagrad 的基本原理是根據過去的梯度計算σ,用於調整學習速率。 - 在某些情況下,Adagrad 可解決梯度過小導致停滯的問題,但可能因累積偏差導致更新過大而「爆炸」。 - 透過梯度變大區域的修正,最終系統可穩定回到目標路徑。 27:19 *⏬ 學習速率的調整策略:Learning Rate Decay* - 學習速率隨時間遞減 (Learning Rate Decay),可避免參數在終點附近過度震盪。 - 初期更新速度快,後期逐漸減小,確保模型穩定收斂。 - 應用此策略可解決過大的更新步伐帶來的問題。 28:52 *🔥 Warm Up 技術與應用* - Warm Up 是先增大再減小學習速率的調整方法,常見於訓練 BERT 與 Residual Network。 - 初期以小學習速率進行探索,避免模型過快偏離初始狀態。 - 該技術在許多深度學習網路中被廣泛採用,但具體理論仍有待進一步研究。 34:01 *🌀 Momentum 與 Root Mean Square 的結合* - Momentum 利用過去所有梯度的加總,平滑更新方向,避免只跟隨當前梯度。 - 根據梯度平方平均值調整步伐大小,與 Momentum 相輔相成。 - 兩者結合提升了優化的穩定性與效率,但需注意實際應用中調參的影響。 Made with HARPA AI
@Ahwu_AIClass
@Ahwu_AIClass 10 күн бұрын
🎯 Key points for quick navigation: 00:01 *📦 為什麼使用 Batch 訓練* - 討論 Batch 的基本概念及助教程式中相關實作細節。 - 批次資料分組為 Mini-Batch 的方式及其在參數更新中的應用。 - 定義 Epoch 並介紹 Shuffle 的作用及方法。 02:05 *⚖️ Batch 大小的極端案例比較* - 比較 Full Batch(全批次)與 Batch Size=1(逐筆)的差異。 - Full Batch:計算穩定但更新頻率低。 - Batch Size=1:更新頻繁但方向不穩,呈現隨機特性。 05:18 *🖥️ GPU 平行運算的影響* - 解釋 GPU 平行運算如何影響 Batch Size 對計算時間的需求。 - Batch Size 在一定範圍內增加時,耗時幾乎不變,但超大 Batch Size 時會增加。 - 使用 MNIST 實驗數據說明 GPU 能力的進步與局限。 08:56 *⏳ Epoch 時間與 Batch Size 的關係* - 小 Batch Size 時需要更多次更新才能完成一個 Epoch。 - 大 Batch Size 減少更新次數,但每次更新耗時更多。 - 平衡 Batch Size 的選擇,考量運算效率與資源限制。 12:07 *📊 批次大小對模型準確性的影響* - 使用不同大小的 Batch 訓練模型時,Batch 大小會影響 Validation Accuracy 和 Training Accuracy, - 小的 Batch Size 在 Training 和 Validation 上都可能表現更佳,顯示出梯度噪音的優勢。 14:12 *🔄 梯度噪音的優勢* - 小的 Batch Size 能避免在梯度為零時卡住,透過 Noisy Gradient 更新參數提升訓練效果, - 透過多樣化的 Loss Function 更新方向,優化效率提升。 15:15 *🧪 小 Batch Size 對測試的優勢* - 小 Batch Size 不僅在訓練上有優勢,測試時也顯現出更佳的泛化效果, - 引用了研究支持,展示小 Batch 在多種情境中的普遍優勢。 17:16 *🏞️ Local Minima 的類型* - 解釋好 Minima 與壞 Minima 的區別:盆地型較佳,峽谷型較差, - 小的 Batch Size 傾向於找到更平坦的盆地型 Minima,避免過度擬合。 20:20 *⚙️ Batch Size 的優劣勢與平行運算* - 小 Batch Size 更新方向多樣化,適合優化,但計算時間較長, - 大 Batch Size 適合平行運算,效率高,但更新方向穩定,可能導致效果不佳。 21:47 *🚀 大 Batch 與小 Batch 的結合探索* - 探討如何結合大 Batch 的效率與小 Batch 的訓練效果, - 引用了加速訓練的研究範例,展示平行運算的潛力與調整策略。 24:14 *🔄 參數更新與 Gradient Descent 基本原理* - 討論基本的 Gradient Descent 原理,即沿 Gradient 的反方向調整參數, - 透過多次更新,持續計算 Gradient 並調整參數。 24:45 *⚙️ 加入 Momentum 的概念與變化* - 介紹 Momentum 對 Gradient Descent 的影響:每次移動參數時,考慮 Gradient 和前一步的移動方向, - 透過兩者結合,改善參數更新的效果與穩定性。 25:16 *🧮 Momentum 的數學與實際操作* - 解釋 Momentum 的數學公式,初始時設前一步的更新量為 0, - 從第二步開始,更新方向結合 Gradient 和前一次方向,使更新更加平滑。 27:48 *📊 Momentum 的加權總和與效果分析* - Momentum 的方向可視為所有 Gradient 的加權總和, - 調整參數更新方向的方式,不僅考慮當前的 Gradient,也結合過去更新的歷史。 29:19 *🚀 Momentum 解決 Local Minima 與 Saddle Point 問題* - 在 Gradient 接近 0 時,Momentum 可以繼續推動參數更新, - 即使在 Local Minima 或 Saddle Point,仍然可藉 Momentum 的方向延續移動。 Made with HARPA AI
@Ahwu_AIClass
@Ahwu_AIClass 10 күн бұрын
🎯 Key points for quick navigation: 00:14 *🔧 討論深度學習中的優化問題* - 深度學習中,優化失敗可能表現為 loss 無法下降,模型未能發揮應有性能。 - Gradient descent 過程中,參數更新可能停滯,loss 無法進一步下降。 01:50 *🐎 探討局部極值與鞍點的差異* - 局部極值(local minima)與鞍點(saddle point)皆可能導致 gradient 為零,但處理方式不同。 - 卡在局部極值時,模型難以突破現有瓶頸;卡在鞍點則仍有下降路徑。 05:02 *📊 利用泰勒展開分析 loss function* - 透過泰勒展開,可以局部近似 loss function 的形狀,幫助理解 critical point 周圍的地貌。 - 梯度(gradient)與 Hessian 矩陣描述 loss 的一次與二次微分行為。 09:13 *🏔️ 利用 Hessian 判斷 critical point 類型* - 若 Hessian 矩陣對所有向量產生正值,該點為局部極小值(local minima)。 - 若 Hessian 矩陣對所有向量產生負值,該點為局部極大值(local maxima)。 - 若產生正負混合值,則該點為鞍點(saddle point)。 13:28 *🧮 局部最小值與鞍點的判定方法* - Hessian矩陣是判定工具,當所有特徵值為正時為局部最小值,若有正有負則為鞍點。 - 介紹了最簡化的神經網絡模型及其訓練數據,幫助說明概念。 - 提到可以用可視化的 error surface 分析參數對應的 loss 值與 critical point。 15:07 *🌄 Critical point 的分析* - 提到原點 (0, 0) 是一個 critical point,但屬於鞍點,其他地方則是局部最小值。 - 利用圖形分析 loss surface,說明如何區分不同的 critical point。 - Hessian 用於細緻地判定 critical point 類型。 17:15 *🧩 使用 Hessian 的進一步分析* - loss function 的 Hessian 包含二階偏導數,可用來計算特徵值判斷點屬性。 - 詳細說明 Hessian 矩陣結構,示範如何帶入參數並計算其特徵值。 - 強調 Hessian 特徵值的正負與 critical point 的關聯。 19:59 *🔄 在鞍點繼續更新參數的方法* - 即使梯度為零,在鞍點仍可用 Hessian 的負特徵值和對應特徵向量更新參數。 - 解釋參數沿特徵向量方向移動可減小 loss 的機制。 - 提供例子說明如何找到負特徵值及其對應向量進行參數更新。 25:57 *🏰 君士坦丁堡的故事與四維空間比喻* - 故事背景:1543年君士坦丁堡淪陷,東羅馬帝國滅亡;引入四維空間概念解釋不可能的情節。 - 狄奧倫娜的能力:從高維空間取物,展現突破三維限制的潛力。 - 問題轉折:從故事聯想到高維空間對訓練 error surface 的影響。 29:08 *🌀 高維空間中的 error surface 與 saddle point* - 高維空間影響:在高維度下,error surface 有更多可行的路徑。 - 對比維度差異:一維空間的 local minima 可能在二維或更高維空間中僅是 saddle point。 - 深度學習參數數量:參數越多,對應的 error surface 維度越高。 30:46 *📉 Critical point 分析與 minimum ratio* - Hessian 矩陣分析:訓練結束時計算 eigen value,判斷 critical point 是 saddle point 還是 local minima。 - Minimum ratio 定義:正的 eigen value 比例,越高代表越接近 local minima。 - 結果發現:大部分 critical point 並非真正的 local minima,而是 saddle point。 32:50 *🧭 經驗與實驗支持假說* - 實驗結論:訓練中大多數卡住的情況實際上是因為 saddle point,而非 local minima。 - 進一步討論:saddle point 讓 gradient 停止更新,錯誤地讓人以為是 local minima。 - 銜接後續:假設訓練過程中真的卡在 local minima,該如何處理。 Made with HARPA AI
@Ahwu_AIClass
@Ahwu_AIClass 10 күн бұрын
🎯 Key points for quick navigation: 00:20 *📚 作業介紹與數據格式* - 討論多個作業的格式,均以訓練資料與測試資料為基礎,其中訓練資料包含 \(x\) 和 \(\hat{y}\),測試資料僅有 \(x\), - 詳述作業二(語音辨識)、作業三(影像辨識)、作業四(語者辨識)、作業五(機器翻譯)的基本任務與應用背景。 02:21 *🔍 訓練模型的基本步驟* - 說明訓練模型的三個步驟:設計含未知數 \(\theta\) 的函數 \(f_\theta(x)\)、定義損失函數 \(loss\)、解優化問題以找到 \(\theta^*\), - 將最佳參數 \(\theta^*\) 應用於測試資料,並將結果上傳至 Kaggle。 04:01 *🛠️ 提升作業表現的策略* - 建議檢查訓練資料的 \(loss\),確保模型對訓練資料的學習有效, - 分析 \(loss\) 過大原因,包括模型偏差(bias)或優化過程問題。 07:14 *🚀 增強模型彈性與優化能力* - 討論如何通過增加 features 或使用深度學習方法來提高模型的彈性, - 說明優化問題可能因 local minima 導致低效的解法,提出模型改進的可能方向。 09:57 *🧠 模型大小與效能的判斷* - 探討模型是否因過小導致學習能力受限,或因優化方法不佳未能找到低 \(loss\) 的解, - 舉例比較不同深度的網絡,分析其在訓練與測試資料上的表現差異。 13:08 *🔧 優化問題與模型層數關聯* - 當模型層數增加時,若訓練資料上的loss未降低,可能是優化問題,而非過擬合或模型偏差。 - 建議先使用簡單模型(如線性模型或支援向量機)測試,確認優化效果,避免深層模型未達理想效能。 15:19 *🧩 loss異常原因分析* - 若測試資料loss大但訓練資料loss小,可能是過擬合。需先檢查訓練資料loss,判斷是模型不足還是優化問題。 - 舉例解釋劣質模型在訓練資料上能達到0 loss但無法泛化的情況。 20:05 *🎢 高自由度模型的過擬合風險* - 高彈性模型在訓練資料上表現良好,但測試資料上表現不佳,原因在於模型自由度過大,導致非預期的曲線擬合。 - 測試資料與訓練資料取樣自同一分佈,但非一模一樣,模型可能生成不合理結果。 21:08 *🛠️ 解決過擬合的兩大方法* - 增加訓練資料,限制模型自由度;例如資料增強(data augmentation)模擬更多資料。 - 資料增強應根據問題特性設計,例如影像翻轉,但避免不合理操作(如上下顛倒)。 23:44 *🪜 減少模型彈性以提升表現* - 透過限制模型(如二次曲線)降低其自由度,防止過擬合。 - 根據數據特性與經驗判斷,選擇適當的模型約束範圍,提升泛化能力。 25:14 *🛠️ 模型限制的重要性與方法* - 探討限制模型的方法,減少參數或使用共享參數。 - 比較Fully-Connected Network(彈性較大)與CNN(限制較多但適合影像)。 - 引出後續課程將深入的Regularization與Dropout。 27:19 *🎛️ 適度限制模型與過度限制的影響* - 限制過大會導致Model Bias,影響模型性能。 - 使用Early Stopping、Regularization、Dropout等技巧進行限制。 - 模型彈性與複雜度的衡量將於未來課程探討。 30:00 *🔄 模型選擇與過擬合風險* - 模型複雜度增加,Training Loss降低,但Testing Loss可能暴增。 - 如何選擇平衡複雜度與性能的模型。 - 依賴Kaggle測試結果選模型的局限性。 32:07 *📊 公共與私有測試集的重要性* - 公共測試集分數可能導致模型錯誤評估。 - 公私分測設計避免隨機模型表現異常好的情況。 - 說明使用私有測試集的必要性,防止模型作弊。 37:23 *🧠 Benchmark數據集的局限性與現實差異* - 雖然機器在benchmark測試數據集上常能超越人類,但這不等於在日常生活中也能如此表現。 - 公共測試數據集與私有測試數據集的結果可能有顯著差異,過度依賴公共測試集可能誤導模型性能評估。 - 商業宣傳中過度誇大基準測試結果,需理性看待。 39:59 *🔧 模型選擇策略與Kaggle限制* - 公共測試集的分數可能影響模型選擇,但應避免過度調整以致模型過擬合。 - Kaggle引入每日上傳次數限制,避免隨機測試耗費時間。 - 最佳策略是根據Validation Set結果選擇模型,並以public Testing Set作為輔助參考。 44:20 *🔄 N-fold交叉驗證與分割方法* - 隨機分割Training Set與Validation Set可能產生不穩定結果,N-fold交叉驗證有效解決此問題。 - N-fold交叉驗證通過多次分割並平均結果選擇最優模型。 - 選定最佳模型後,再用整個Training Set訓練並測試。 46:27 *📊 觀看人數預測模型測試與挑戰* - 使用三層網路模型進行觀看人數預測,結果顯示模型的準確率不高,與實際數據有明顯差距。 - 嘗試不同層數的網路(如一層、二層、四層),結果均不理想。 - 預測結果不準確部分因受到模型設計與數據特性影響。 49:34 *📊 資料分佈不一致對訓練的影響* - 訓練資料與測試資料分佈不一致會影響模型效能,即使增加訓練資料也無法改善。 - 提到實作中的範例:如果用2020年的資料訓練模型,無法準確預測2021年的資料,因為兩者分佈不同。 - 助教針對此問題修改了訓練與測試資料的分割方式,以解決分佈差異問題。 Made with HARPA AI
@Ahwu_AIClass
@Ahwu_AIClass 10 күн бұрын
🎯 Key points for quick navigation: 00:00 *📉 線性模型的限制* - 線性模型只能表示直線關係,無法模擬複雜非線性模式。 - 修改權重 \( w \) 和偏置 \( b \) 只會改變直線的斜率和截距。 - 現實中數據的關係常為非線性,例如在某些範圍內變化正相關,超過範圍後反相關。 01:35 *🧠 模型偏差與解決方案* - 線性模型的限制被稱為模型偏差 (Model Bias),與偏置參數 \( b \) 不同。 - 必須設計更複雜且具彈性的函數來描述真實數據。 - 紅色曲線可以視為常數項加上多個特定函數的組合,形成非線性模式。 02:39 *🔵 藍色函數與分段線性曲線* - 藍色函數描述分段線性曲線的局部行為,包括水平、斜坡及拐點。 - 紅色曲線可以用多個藍色函數組合模擬。 - 增加藍色函數數量可以更精確地逼近複雜分段線性曲線。 07:19 *✨ 曲線逼近與模型靈活性* - 分段線性曲線可逼近任意連續曲線。 - 任意複雜的非線性關係可用足夠的藍色函數與常數項逼近。 - 核心問題轉為如何具體構建這些函數。 08:49 *🪄 Sigmoid 函數的應用* - Sigmoid 函數可逼近藍色函數,表現為平滑的 S 型曲線。 - 其數學表達式為 \( y = \frac{c}{1 + e^{-(b + wx)}} \),其中 \( c \) 為調整參數。 - Sigmoid 能將極大值與極小值控制在可預期範圍內,模擬非線性特性。 12:49 *🧮 函數的組成與疊加* - 討論如何利用基礎函數組成更複雜的函數, - 使用藍色函數的參數 \(w, b, c\) 來生成紅色曲線, - 藉由加總多個不同藍色函數的方式來實現不同的 Piecewise Linear Curves。 15:20 *🛠️ 增強模型彈性* - 原線性模型的限制及如何透過引入未知參數擴展模型的表現力, - 使用不同的 \(w_i, b_i, c_i\) 組成更彈性的函數以逼近各種連續函數, - 介紹多變數特徵(Features)如何進一步提升模型適應性。 17:19 *🌟 多特徵函數的實現* - 分解多特徵函數的計算過程, - 藍色函數與 Sigmoid 函數的關係及其對多特徵的影響, - 簡化計算過程,展示如何用矩陣運算表達多重特徵的加權輸入。 21:15 *📊 矩陣與向量表示* - 將多特徵函數的計算轉化為線性代數的矩陣形式, - 以矩陣 \(W\)、向量 \(x\) 和偏置 \(b\) 表達模型運算的核心流程, - 簡化表示方式提升公式的直觀性與可讀性。 22:16 *🔄 Sigmoid 函數應用* - 計算 \(r\) 經過 Sigmoid 函數後得到輸出 \(a\), - 使用 Sigmoid 函數轉化輸入值的標準流程, - 提出簡潔的符號表示法以加速 Sigmoid 運算的理解。 25:10 *📐 表達方式的統一與參數定義* - 圖示化與線性代數方式表達同一函數,幫助理解。 - 引入未知參數(如 \(w, b, c\))並重新定義符號與功能。 - 所有參數整合成長向量 \(\theta\) 表達,統一表示未知參數。 27:57 *🛠️ 優化問題與方法限制* - 解釋爆收法僅適用於少量參數,且不需進階優化技巧。 - 當參數數量增多時,需使用梯度下降法(Gradient Descent)進行優化。 - 使用 Sigmoid 數量決定函數複雜度,並引入超參數控制。 30:47 *🔍 定義損失函數與參數更新* - 利用 \(\theta\) 表示所有參數,簡化損失函數 \(L(\theta)\) 的表示法。 - 計算每個參數對損失函數的梯度,並集合為梯度向量 \(g\)。 - 根據梯度向量,使用學習率更新所有參數,進行迭代優化。 37:45 *📊 Batch、Loss 與參數更新概念* - 使用 Batch 計算 Loss,並用該 Gradient 更新參數。 - 定義 Epoch 與 Update 的區別:所有 Batch 完成一次更新稱為 Epoch,每次更新參數稱為 Update。 - 示例解釋 Batch 與 Epoch 的關係(如大 N = 10000,Batch Size = 10 時,Epoch 涵蓋 1000 次 Update)。 41:20 *⚙️ Activation Function 的選擇與應用* - Hard Sigmoid 可以視為兩個 ReLU 的加總,並探討 ReLU 的特性與公式。 - 提及 Activation Function 的重要性,對比 Sigmoid 與 ReLU,並指出 ReLU 常見於實驗應用中。 44:16 *🔄 模型結構改變與 ReLU 數量的影響* - 使用不同數量的 ReLU,實驗對 Loss 的影響(如 10 個、100 個、1000 個 ReLU 的差異)。 - 結合線性模型與 ReLU,顯示更多 ReLU 有助於降低 Loss,但過多 ReLU 對測試資料效果有限。 46:45 *🧪 多層 ReLU 的實驗效果* - 探討多層 ReLU 的效果,從一次到三次運算的 Loss 降低(如從 0.28k 至 0.14k)。 - 在未見過的資料上,預測效果有所提升,特別是在低點的數據預測上表現較準確。 47:49 *🔍 預測結果分析與特例討論* - 分析預測數據的準確性,如機器成功抓住週期性低點。 - 探討預測誤差的原因,特別是某些明顯低谷未被準確預測的問題。 50:06 *🤔 人工智慧的誤解與類神經網路的歷史* - 80、90 年代,類神經網路曾被過度吹捧,導致名聲受損,甚至在學術界被視為禁忌詞。 - 新名稱「深度學習 (Deep Learning)」的誕生,源於技術改良後的重新定位。 - 從多層隱藏層的結構發展到 AlexNet 等模型,影像辨識錯誤率持續降低。 52:13 *🧠 深度學習結構與迷思* - 深度學習的核心在於多層結構,但引起爭議的是:為何要增加深度而非寬度。 - 名稱上的心理效應讓 Deep Neural Network 顯得更具吸引力,Fat Neural Network 則因語感而被貶低。 - 深度學習是否真的有實質效益,成為後續探討的話題。 54:17 *⚠️ Overfitting 的問題與影響* - 模型在訓練數據上表現優異,但在未見過的數據上效果不佳,稱為 Overfitting。 - 3 層與 4 層模型的比較,揭示了深度模型在測試數據上的不一致表現。 - 預測未知資料時,應選擇在測試數據上表現較好的模型。 56:24 *📊 模型預測與現實應用* - 以 3 層模型預測 KZbin 頻道觀看人次,假設 2 月 25 號的結果為基準,推算 2 月 26 號的數據。 - 模型依據週五的觀看特性,預測觀看人次較低,與現實情況合理吻合。 - 講解的實際目的是吸引更多觀眾互動,促進實驗數據的驗證。 58:29 *🎓 課程總結與後續學習資源* - 深度學習訓練中的 Backpropagation 提供高效計算梯度的方法。 - 提供其他課程影片連結,進一步了解深度學習的基礎知識與應用。 - 課程結束,鼓勵觀眾回看影片,為實驗結果提供更多數據支持。 Made with HARPA AI
@justin5455
@justin5455 10 күн бұрын
41:33~41:42 max pooling 看起來是把每一組裡面最符合 filter pattern(32:47~33:21)的部份找出來。
@denistsao
@denistsao 11 күн бұрын
老師有心!!
@James-y7f8x
@James-y7f8x 13 күн бұрын
太妙了。尤其是雕塑那一块的讲解形容。final全靠您的video
@QAQqianji
@QAQqianji 13 күн бұрын
我有一点不太明白,在17分18秒时提到的f1-f4,李老师说是function,那在具体的实验过程中,function1代表着什么,是random forest中的一棵决策树,还是代表着一个random forest?
@lckiller
@lckiller 15 күн бұрын
老师,请问这个2022版本和2021版本有什么区别? 我的疑问:1.2021版本有40个视频,这个2022只有13个。 2.你1:14这个二维码,进去还是2021的课,不是2022的。 3.你说一共15讲,但只有13个视频,是因为有的放在一个视频里面了吗?
@pandapunchzz
@pandapunchzz 15 күн бұрын
”团长很久没出来了“ 又在暗示富坚老贼。这个点上跟李老师无比的近
@niko6968
@niko6968 17 күн бұрын
12:39 唐突噴出
@russellatca
@russellatca 19 күн бұрын
可以再补一下slides的链接嘛,谢谢
@stormtom4565
@stormtom4565 19 күн бұрын
录音不太好还没字幕,这点不太好,但是成翰哥讲的还是很好的,像个真的教授一样
@Ordinary_People_2024.
@Ordinary_People_2024. 20 күн бұрын
5:05 1.regression:藉由過去參數去預測未來 2.Classfication:選擇題,讓Ai去做選擇 8:09 3.structure learning:叫AI產生一段文章、內容、圖(創作) 11:00 15:10 15:11 22:46 25:02 Error Surface 損失函數(MSE MAE) 紅色:損失函數大、不佳 藍色:損失函數小、佳 39:45 梯度和學習率的關係 40:30
@j-jd8yf
@j-jd8yf 20 күн бұрын
我一直在想,既然训练的时候噪声都能预测出来,那推理的时候,难道结果不是一步就能得到吗?
@jacobjac3835
@jacobjac3835 22 күн бұрын
感謝老師 我是政大的同學 老師講得淺顯易懂!而且很幽默 老師太棒了❤
@王柏仁-m7d
@王柏仁-m7d 24 күн бұрын
其實x1 tilde 跟 x2 tilde 在同維度(乘以同一個w),所以不是獨立分開處理的,老師是不是有稍微講錯?
@baobao-h3k
@baobao-h3k 25 күн бұрын
研0🥲加油中
@baobao-h3k
@baobao-h3k 25 күн бұрын
看老师的课和看番一样开心!🥰
@cathyyang5407
@cathyyang5407 26 күн бұрын
太感谢了!!!
@cathyyang5407
@cathyyang5407 26 күн бұрын
太感谢老师了,上课professor和TA俩人给我解释半天都没懂,看您的视频第七分钟我就感觉我慢慢懂了哈哈哈哈,二次元例子太可爱了,一本正经的哈哈哈哈哈哈哈,引人入胜
@2142CHESTER
@2142CHESTER 26 күн бұрын
謝謝老師~聽完前幾年的詳細版本,再來聽今年的版本,對於transformer的概念有更深一層的領悟,感謝^^
@xiaoyuyang9187
@xiaoyuyang9187 26 күн бұрын
机器学习的大师很多,但是能给人讲明白的却很少,老师太棒啦
@stormtom4565
@stormtom4565 28 күн бұрын
爱玩游戏的AI人太多啦
@fordtom0
@fordtom0 28 күн бұрын
很好,有启发
@張峻嘉-k5o
@張峻嘉-k5o 28 күн бұрын
感謝教授 大慈大悲XD 分享這麼優質的內容 普渡眾生 讓我們能快速理解核心 少走很多彎路 感恩您
@YinghuaShen-kw5ys
@YinghuaShen-kw5ys 28 күн бұрын
李老师这节课真的让我理解了CNN,之前听课程老师讲的时候一知半解的。非常感谢李老师分享的课程
@princend1584
@princend1584 Ай бұрын
1:10:52 硬train一發
@Sekiro-x7r
@Sekiro-x7r Ай бұрын
感谢老师,从生成式ai导论到21机器学习,觉得自己总算是入门了,接下来就是去研究GNN和RL了
@princend1584
@princend1584 Ай бұрын
20:05 筆記一下 鳥人演化的譬喻法
@princend1584
@princend1584 Ай бұрын
記錄一下 11:37 Gaussian Mixture Model
@j-jd8yf
@j-jd8yf Ай бұрын
不鼓励某种行为,loss理论上可以无穷小,还能收敛吗?
@noonehere238
@noonehere238 Ай бұрын
李教授是人类宝贵的财富。