李宏毅機器學習筆記06 | 魚和熊掌可以兼得的機器學習 - 內容接寶可夢

本章提要

深度學習可以在較少參數量的情況下得到比較低的loss: h a l l = a r g min ? h ∈ H L ( h , D a l l ) h^{all}=arg \min_{h \in H}L(h,D_{all}) hall=argminhH?L(h,Dall?)

引入

如何權衡模型的復雜程度 Tradeoff of Model Complexity

理論上,理想與現實接近的方法

  1. 增加訓練樣本數量,N越大 D t r a i n D_{train} Dtrain?越接近 D a l l D_{all} Dall? P ( D t r a i n i s b a d ) P(D_{train} \ is \ bad) P(Dtrain??is?bad)的概率越小。
  2. 減少模型復雜性,|H|候選項的數目越小, P ( D t r a i n i s b a d ) P(D_{train} \ is \ bad) P(Dtrain??is?bad)的概率越小。

矛盾點

數據集中樣本的數量N我們難以控制,為了理想和現實比較接近,選了一個較小的|H|。|H|太小,能選擇的h數量太少,可能找不到使 L ( h , D a l l ) L(h,D_{all}) L(h,Dall?)最小的h。(大海撈針,針不在大海)

|H|較大,可以找到使 L ( h , D a l l ) L(h,D_{all}) L(h,Dall?)最小的h,但是這樣理想和現實的差距比較明顯。

在H中找出一個h使得 L ( h , D a l l ) L(h,D_{all}) L(h,Dall?)最小,把這個h稱為 h a l l h^{all} hall h a l l = a r g min ? h ∈ H L ( h , D a l l ) h^{all}=arg \min_{h \in H}L(h,D_{all}) hall=argminhH?L(h,Dall?)

=> 最優情況(H很小但又可以讓L很低):如果可以找到一個H ① H is Small ,很少的候選成員 ② 成員h都是精英,可以讓Loss很低

=> 問題:深度學習如何做到這件事的?

Why Hidden Layer?

核心: 可以通過一個Hidden Layer制造出所有可能的function

隱藏層 (Hidden Layer)是人工神經網絡中的中間層,位于輸入層和輸出層之間。它的作用是對輸入數據進行特征提取和變換,為最終的輸出層提供高層次特征。

隱藏層的主要任務是通過線性變換和激活函數來捕捉數據中的復雜模式和特征。

怎么找一個function(network)來逼近隨便畫的一條線? => 可以用Piecewise Linear Curves逼近任何連續曲線

  1. 先將這條線分段,然后將每個分段的端點連接起來,得到分段函數(圖中綠色的線) ,使用這個分段函數來逼近原來的黑線。

在這個案例中可能綠色的線不是很逼近黑色的線,但可以直覺的想如果分段分的越細,那么就綠色的線越接近黑色的線。

  1. 可以使用一個hidden layerneural network輕易制造出綠色的線。使用一個常數項+一堆階梯型的function制造綠色的線。

    觀察發現:綠色的線=常數項+一堆特定形狀的藍色function(這里的特定形狀指的是圖上藍色function的形狀)  => 任何的function都可以`hidden layer的neural network制造出來
    

  1. 怎么表示階梯型的function(藍色的線)呢?
    1. 方法1:使用Sigmoid Function逼近藍色的線。

藍色的線也稱為hard Sigmoid Function

Sigmoid Function(S形函數): y = c 1 1 + e ? ( b + w x 1 ) = c s i g m o i d ( b + w x 1 ) y = c\frac{1}{{1+e^{-(b+wx_1)}}} = c\;sigmoid(b+wx_1) y=c1+e?(b+wx1?)1?=csigmoid(b+wx1?)

2. 方法2:使用`ReLU`Rectified Linear Unit線性整流單元(兩個水平線有一個轉折點)表示`Hard Sigmoid`

每一個hard sigmoid可以使用兩個線性整流單元Rectified Linear Unit(ReLU)疊加

總結

方式1:使用sigmoid function

  1. hidden layer里每一個neural都可以制造出一個階梯型的function
  2. 把不同的sigmoid function加起來再加上常數項就可以得到綠色的線
  3. 任何的Piecewise Linear Curves去逼近任何function

neural network選擇的activation function 是sigmoid,hidden layer通過設定不同的$ w,b $制造出不同的sigmoid function

方式2:使用ReLU,hidden layer里每一個neural選擇的激活函數是ReLU

問題引出:深度學習效果更好

每一列Neural叫做一個hidden layer,很多hidden layer被叫做Deep,這一套技術被叫做Deep Learning深度學習

有一層hidden layer的neural可以產生任何的function,那為什么還要搞deep network(多層hidden layer)?

直覺:當Layer越疊越越深的時候,參數量越多,模型越復雜,理想越來越好。如果有足夠的訓練資料那么理想和現實也不會差太多。 => 所以深度學習需要很多的資料

這里的直覺只是我們通常這么認為,但不一定正確

問題:當參數量一樣(未知參數量一樣)的時候,Fat+Short的網絡和Thin+Tall的網絡誰的效果更好?

實驗表明:Thin+Tall的網絡效果更好

為什么深度學習效果更好?

雖然一層hidden layer的neural可以產生任何的function,但往往用一個deep的架構更有效率。

:::tips
deep learing的核心:產生同一個function,使用deep的架構需要的參數量更少,可能需要較少的訓練資料就可以了(不容易overfitting)。

:::

誤解:大模型很多個layer增加了參數,如果沒有足夠的data,就會產生overfitting。

原因探究:為什么deep?

類別案例

當剪窗花時,直接剪操作很復雜,但如果折起來剪比較有效率。

這里將紙對折的事情可以類比為deep learning里hidden layer做的事情。

當把一個network deep的時候會發生什么

一層的neural

一層的network里包含了兩個neural,輸入為x,輸出為 a 1 a_1 a1?,采用的激活函數為ReLU。

假設參數已知,第一個neural的weight=1,bias=-0.5;第二個neural的weight=-1,bias=0.5。所以進入neural的x分別為x-0.5-x+0.5

第一個neural:當輸入x>0.5時,輸出=2*輸入。當輸入x<0.5時,輸出為0。

第二個neural:當輸入x<0.5時,輸出=2*輸入。當輸入x>0.5時,輸出為0。

結合起來就可以得到輸入的x和輸出 a 1 a_1 a1?之間的關系。

第二層的neural

a 1 + b i a s a_1+bias a1?+bias,這里的bias設置為-0.5。

第二層第一個neural輸入為 a 1 ? 0.5 a_1-0.5 a1??0.5,放入一個ReLU

第二次第二個neural輸入為 ? a 1 + 0.5 -a_1+0.5 ?a1?+0.5,放入一個ReLU

可以很容易知道 a 1 a_1 a1? a 2 a_2 a2?的關系和 x x x a 1 a_1 a1?的關系一致。

x從0->0.5時, a 1 a_1 a1?1->0 a 2 a_2 a2?1->0->1

x從0.5->1時, a 1 a_1 a1?0->1 a 2 a_2 a2?1->0->1

這里從課堂上的講法來說,只有當neural的輸出2才會有這個結果,所以彈幕說的老師課后更正應該是正確的。兩個ReLu的結果2再求和得到輸出。

第三層的neural

a 2 a_2 a2? a 3 a_3 a3?的關系 = a 1 a_1 a1? a 2 a_2 a2?的關系 = x x x a 1 a_1 a1?的關系。、

使用同樣的思路,可以得到 x x x a 3 a_3 a3?的關系

以此類推

使用deep network輸入x與輸出y的關系:如果有k層layers,每層有兩個neural,總共 2 k 2k 2k個neural,那么輸出的y有 2 k 2^k 2k個線段。 => 參數量小,比較簡單的模型

使用一個shallow network表示同樣的關系:每一個neural只能制造一個線段, 2 k 2^k 2k個線段需要 2 k 2^k 2k個neural。 => 參數量大,比較復雜的模型,復雜的模型更容易overfitting,所以需要更多的資料

如果目標的function是復雜(也不用太復雜)且有規律的(音像、語音),那么deep network優于shallow network

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899308.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899308.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899308.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java八股文之JVM

1.什么是程序計數器 程序計數器是 JVM 管理線程執行的“定位器”&#xff0c;記錄每個線程當前執行的指令位置&#xff0c;確保程序流程的連續性和線程切換的準確性。線程私有的&#xff0c;每個線程一份&#xff0c;內部保存的字節碼的行號。用于記錄正在執行的字節碼指令的地…

Android設計模式之觀察者模式

一、定義&#xff1a;定義對象間一種一對多的依賴關系&#xff0c;使得每當一個對象改變狀態&#xff0c;則所有依賴于它的對象都會得到通知并被自動更新。 二、核心角色&#xff1a; Subject&#xff1a;抽象主題被觀察的角色&#xff0c;管理觀察者集合&#xff0c;提供注冊…

海康gdb流程

gdb相關 在initrun.sh文件里加入&#xff0c;注意需要在hikauto起來之前 # 設置core dump大小 ulimit -c unlimited if [ $? -eq 0 ];then echo "core dump size set success" else echo -e "\33[31m core dump size set fail\33[0m" fi echo …

springBoot統一響應類型3.3版本

前言&#xff1a; 通過實踐而發現真理&#xff0c;又通過實踐而證實真理和發展真理。從感性認識而能動地發展到理性認識&#xff0c;又從理性認識而能動地指導革命實踐&#xff0c;改造主觀世界和客觀世界。實踐、認識、再實踐、再認識&#xff0c;這種形式&#xff0c;循環往…

【空間變換】歐拉角與四元數

核心 歐拉角描述的是一種變換&#xff0c;只關注變換后的結果&#xff0c;不關注變換過程中的運動 而四元數不僅良好地表示了一種變換&#xff0c;也很好地表示了一種運動過程&#xff0c;又避免了萬向節死鎖Gimbal Lock變換順序&#xff0c;是歐拉角變換的一部分&#xff0c;…

基于Linux下的MyBash命令解釋器

項目介紹&#xff1a;?個?C語?實現的簡單shell&#xff0c;可以接受??輸?的命令并執?操作&#xff0c;?持多管道和重 定向。 mybash---打造自己的命令解釋器 目前我們Linux的系統默認的命令解釋器是bash; 命令解釋器&#xff08;也稱為命令行解釋器或shell&#xff0…

Linux常見使用場景

一、文件查看與內容操作 ?1. cat ?作用&#xff1a;查看文件內容&#xff08;一次性輸出全部內容&#xff09;。?常用選項&#xff1a; -n&#xff1a;顯示行號。-b&#xff1a;僅對非空行顯示行號。 ?示例&#xff1a; cat file.txt # 查看文件內容 cat -n fil…

Ingredient-oriented Multi-Degradation Learning for Image Restoration論文閱讀

摘要&#xff1a;重點在于關聯多個任務本質的聯系。 不同恢復任務的關聯性很重要。 揭示退化現象的內在機理聯系很有意義。 多合一的方法能在單一模型中處理多種退化問題&#xff0c;可擴展性較差。 成分導向范式挖掘不同圖像退化現象背后的物理規律或特征模式。 成分導向退化重…

禪道后臺命令執行漏洞

漏洞簡介 禪道是第一款國產的開源項目管理軟件。它集產品管理、項目管理、質量管理、文檔管理、 組織管理和事務管理于一體&#xff0c;是一款專業的研發項目管理軟件&#xff0c;完整地覆蓋了項目管理的核心流程。 禪道管理思想注重實效&#xff0c;功能完備豐富&#xff0c;…

密碼學——知識問答

目錄 1、闡述公開密鑰算法的定義&#xff0c;結合RSA算法說明公鑰密碼的基本要求。 說明公鑰與私鑰兩種密碼學并舉例與其應用 1. 公鑰密碼學&#xff08;非對稱加密&#xff09;&#xff1a; 2. 私鑰密碼學&#xff08;對稱加密&#xff09;&#xff1a; 對比公鑰與私鑰密碼…

PDF多表格結構識別與跨表語義對齊:基于對抗遷移的魯棒相似度度量模型

文章目錄 一. 項目結構二.流程分析2.1 批處理器核心代碼解析 三. 跨頁表格相似度匹配原理3.1 表頭內容相似度-特征向量歸一化3.2 表頭內容相似度-余弦相似度3.3 定時緩存清理 ocr掃描有其局限性。對于pdf文本類型這種pdfbox&#xff0c;aspose-pdf&#xff0c;spire直接提取文本…

es 3期 第27節-運用Script腳本實現復雜需求

#### 1.Elasticsearch是數據庫&#xff0c;不是普通的Java應用程序&#xff0c;傳統數據庫需要的硬件資源同樣需要&#xff0c;提升性能最有效的就是升級硬件。 #### 2.Elasticsearch是文檔型數據庫&#xff0c;不是關系型數據庫&#xff0c;不具備嚴格的ACID事務特性&#xff…

23、web前端開發之html5(四)

十二. HTML5實踐示例 前面我們詳細講解了HTML5的特點&#xff0c;包括語義化標簽、增強的表單功能、多媒體元素&#xff08;如<video>和<audio>&#xff09;、Canvas繪圖、SVG集成以及離線存儲等。以下是一些詳細的HTML5實踐示例&#xff0c;展示如何使用HTML5的新…

海思燒錄工具HITool電視盒子刷機詳解

HiTool是華為開發的一款用于海思芯片設備的刷機和調試工具&#xff0c;可對搭載海思芯片的機頂盒、智能電視等設備進行固件燒錄、參數配置等操作。以下為你詳細介紹&#xff1a; 功能用途 固件燒錄&#xff1a;這是HiTool最主要的功能之一。它能夠將下載好的適配固件文件燒錄到…

軟考中級-軟件設計師 23種設計模式(內含詳細解析)

23種設計模式 &#x1f3af; 創建型設計模式&#x1f4cc; 抽象工廠&#xff08;Abstract Factory&#xff09; 設計模式&#x1f4cc; 工廠方法&#xff08;Factory Method&#xff09;設計模式&#x1f4cc; 單例&#xff08;Singleton&#xff09;設計模式&#x1f4cc; 生成…

thinkphp8.0\swoole的websocket應用

環境&#xff1a;centOS7.9、php8.3、thinkphp8.0\think-swoole4.1 我用的官方think-swoole插件 第一步&#xff1a;根據官方文檔&#xff0c;需要安裝此擴展插件 composer require topthink/think-swoole 第二步&#xff1a;在根目錄下config文件夾下編輯swoole.php配置文…

Ubuntu服務器掛載時遇到文件系統錯誤怎么辦

在Ubuntu服務器上掛載分區時&#xff0c;如果遇到文件系統錯誤&#xff0c;通常可能是由于磁盤損壞、文件系統損壞、不正確的卸載等原因造成的。以下是詳細的排查與修復步驟&#xff1a; 一、查看錯誤信息 首先&#xff0c;嘗試手動掛載并觀察具體錯誤&#xff1a; sudo mount …

【設計模式】策略模式(Strategy Pattern)詳解

策略模式&#xff08;Strategy Pattern&#xff09;詳解 一、策略模式的定義 策略模式&#xff08;Strategy Pattern&#xff09;是一種行為型設計模式&#xff0c;它定義了一組算法&#xff0c;將每個算法封裝起來&#xff0c;并使它們可以相互替換&#xff0c;從而讓算法的…

軟考筆記5——軟件工程基礎知識

第五章節——軟件工程基礎知識 軟件工程基礎知識 第五章節——軟件工程基礎知識一、軟件工程概述1. 計算機軟件2. 軟件工程基本原理3. 軟件生命周期4. 軟件過程 二、軟件過程模型1. 瀑布模型2. 增量模型3. 演化模型&#xff08;原型模型、螺旋模型)4. 噴泉模型5. 基于構建的開發…

Vim 實用指南

導航 簡介Vim 的來歷Vim 語言 Vim 的三種模式Normal&#xff08;普通模式&#xff09;Insert&#xff08;插入模式&#xff09;Visual&#xff08;可視模式&#xff09;三種模式轉換 普通模式實用技巧說明復制當前行并粘貼使用上一個命令撤銷上一個操作最常用的跳轉命令查找對應…