最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

《PyTorch深度學(xué)習(xí)實(shí)踐》完結(jié)合集

2023-03-23 17:12 作者:學(xué)虛幻引擎的小王  | 我要投稿


理解 隨機(jī)分布


  • 什么是智能?
  • 推理
  • 信息 = 推理 = 》決策
  • 預(yù)測(cè)
  • 圖像 和 抽象對(duì)象 聯(lián)系起來(lái)
  • 監(jiān)督學(xué)習(xí)


  • 基于統(tǒng)計(jì)
  • 機(jī)器學(xué)習(xí)
  • 表示學(xué)習(xí)


怎么設(shè)計(jì)學(xué)習(xí)系統(tǒng)?

  1. 基于規(guī)則的系統(tǒng)
  2. 求原函數(shù):知識(shí)庫(kù)、規(guī)則、搜索樹
  3. 缺點(diǎn):復(fù)雜系統(tǒng),難設(shè)計(jì)維護(hù)
  4. 經(jīng)典ML
  5. 手動(dòng)特征提取(數(shù)據(jù)變向量)、找映射(mapping)
  6. 表示學(xué)習(xí)
  7. Features
  8. SVM family
  9. DL
  10. 變換、層、學(xué)習(xí)器
  11. 無(wú)監(jiān)督:Feature的訓(xùn)練
  12. End to End 過(guò)程


  • 為甚進(jìn)行 特征提取
  • 維度詛咒
  • 大數(shù)定律
  • 特征壓縮
  • 保持 高維空間的信息
  • 表示學(xué)習(xí) (Manifold 流形)
  • 用來(lái) 降維


模型選擇(經(jīng)典ML)

  • SVM 缺點(diǎn)
  • 無(wú)結(jié)構(gòu) 難

數(shù)學(xué) 工程學(xué)


  • 寒武紀(jì) 眼睛 光線
  • 運(yùn)動(dòng)

視覺(jué)是 分層結(jié)構(gòu)

仿生學(xué)算法


  • 反向傳播 計(jì)算圖 是為了求 鏈?zhǔn)椒▌t的導(dǎo)數(shù)


【重點(diǎn)】學(xué)習(xí) 構(gòu)造模型的方法,學(xué)會(huì)基本塊,可以針對(duì)任務(wù) 組裝自己的模型


學(xué)術(shù) PyTorch

工業(yè) TF


安裝過(guò)程

按照 官網(wǎng) 下載

  1. 英偉達(dá) 安裝 CUDA,自定義
  2. PyTorch


  1. 線性模型

過(guò)程:

  1. DataSet
  2. Model (選擇/設(shè)計(jì))
  3. Training (確定權(quán)重)
  4. inferring

> 人工 training

上圖表示 ML 的過(guò)程

訓(xùn)練數(shù)據(jù) 可以表示 真實(shí)分布(整體)嗎?


核心問(wèn)題:

  1. 過(guò)擬合 =》 泛化能力
  2. 訓(xùn)練集 開(kāi)發(fā)集
  3. 比賽時(shí)候 看不到 測(cè)試集


什么是模型?

思路:先用線性模型


預(yù)測(cè)結(jié)果 加帽子 y_hat


怎么計(jì)算?

  1. 隨即猜測(cè)
  2. 評(píng)估 偏差
  3. 評(píng)估模型 =》 損失

> 有點(diǎn)像 實(shí)驗(yàn)設(shè)計(jì)


Error

MSE = Mean Square Error


這里用 窮舉


# 重要 算法實(shí)現(xiàn) 線性回歸

這個(gè)和 DL 關(guān)系

用訓(xùn)練 輪數(shù)(Epoc) 繪圖

觀察這個(gè) ,用來(lái)判斷 超參數(shù)

打印日志、或繪圖

Visdom: 時(shí)間長(zhǎng),斷點(diǎn)重開(kāi)

模型持久化、存盤



3D 圖的繪制

》》》》》》》》》》》》》》》》》》

03 梯度下降

  • 真實(shí)情況
  • 目標(biāo)函數(shù) 多維 維度災(zāi)難
  • 措施
  • 分治
  • 問(wèn)題:局部最優(yōu)
  • 優(yōu)化問(wèn)題

梯度下降算法

梯度定義:

算法 = 貪心

可以得到 局部最優(yōu)

DL 局部最優(yōu) 少

存在 鞍點(diǎn) g = 0【 沒(méi)法繼續(xù) 迭代】


把 公式 變成 函數(shù)(python 類)

目的: 函數(shù)圖 收斂


怎么看 可以停?

  • 指數(shù)平滑 可以更方便看 趨勢(shì)

線 發(fā)散 的可能?

學(xué)習(xí)率 太大


隨機(jī)梯度下降

引入 隨機(jī) 跨過(guò)鞍點(diǎn)

權(quán)衡

Batch 折中

批量的隨機(jī)梯度下降 SDD

Mini-Batch ,現(xiàn)在用Batch 代名


04 反向傳播

簡(jiǎn)單模型 解析式

  • 復(fù)雜模型
  • w 權(quán)重很多
  • 計(jì)算圖

綠色 計(jì)算模塊

矩陣乘法 matrix -cook -book

簡(jiǎn)單合并 會(huì)化簡(jiǎn)模型

為增加模型復(fù)雜性,做以下變換

增加 非線性變換函數(shù) σ

求導(dǎo)

鏈?zhǔn)角髮?dǎo)

第一: 制作計(jì)算圖

第二:

完整的 計(jì)算圖

藍(lán)色 訓(xùn)練對(duì)象

殘差項(xiàng)

損失

兩個(gè)練習(xí)

  1. 。。。
  2. 。。。


Pytorch

構(gòu)建模型 主要是構(gòu)建 計(jì)算圖


  1. 數(shù)據(jù)集
  2. 權(quán)重


代碼 是 構(gòu)建 計(jì)算圖

l.backward 計(jì)算grad

w.data 不計(jì)算張量

w.grad.data.zero_() 清零

本質(zhì):

  1. loss
  2. backward
  3. 梯度下降 更新


小問(wèn)題:

繪制 計(jì)算圖

》》》》》》》》》》》》》》》

05 線性回歸

PyTorch 的工具 完成 線性模型

有彈性、 可拓展


步驟:

  1. 數(shù)據(jù)集
  2. 設(shè)計(jì)模型
  3. 構(gòu)造 loss 和 optimizer (封裝的功能)
  4. 訓(xùn)練周期 (前饋、反饋、更新)

第一步

使用mini-batch


向量 矩陣 廣播

mini-batch 數(shù)據(jù)需要是 矩陣


第二步

PyTorch 重點(diǎn) 構(gòu)造計(jì)算圖

這里是 線性單元

loss 標(biāo)量


nn.Module 模板

繼承

函數(shù)名 固定

自動(dòng) backward


Functions 類

構(gòu)建自己的 求導(dǎo)塊


使用 Linear 類 定義 Linear Unit

兩種公式,目的 拼出 乘法的維度

檢查:訓(xùn)練集、開(kāi)發(fā)集 都 收斂

嘗試 不同優(yōu)化器

觀察 損失降低的

》》》》》》》》》》》》》》》》》

06 Logistic Regression 做分類

MNIST Dataset 做分類

分類問(wèn)題:

對(duì)象屬于 類別的概率


  • 數(shù)據(jù)集
  • MNIST
  • CIFAR10 類別彩圖


類別 的 概率

x 映射 到 【0-1】

需要用 luojisite 函數(shù)

飽和函數(shù)

因?yàn)?正態(tài)分布 產(chǎn)生的函數(shù)

x 放 y_hat 求 概率

  1. 導(dǎo)函數(shù) > 0
  2. 不斷增加
  3. 飽和函數(shù)

所以 增加了 σ() 計(jì)算模塊

距離最小化

分布 (這個(gè)在統(tǒng)計(jì)上 有什么意義?

分布差異

cross-entropy 交叉熵

加- 因?yàn)?最小


functional 包 有函數(shù)

BCE 二分類 交叉熵

框架 結(jié)構(gòu)

這些模塊 如果復(fù)雜,就單獨(dú)寫庫(kù)/文件

得到的模型 進(jìn)行可視化

07 多維特征的輸入

輸入的X 有多個(gè)特征

增加維度 增加了向量


Mini-Batch

向量函數(shù) 應(yīng)用到每個(gè)元素上的函數(shù)

  • 方程組 合成 矩陣運(yùn)算
  • 為了 并行計(jì)算

模型變換:維度 修改


多層網(wǎng)絡(luò)

空間轉(zhuǎn)換的函數(shù) 矩陣

  • 線性 非線性
  • 多個(gè)線性層 模擬 非線性
  • Linear 降維
  • σ() 非線性 【激活函數(shù)】
  • 超參數(shù) 搜索
  • 學(xué)習(xí)能力 要有 泛化能力

構(gòu)造多層

醫(yī)療、保險(xiǎn) 需要用


  1. 讀取函數(shù)

游戲 顯卡 32位浮點(diǎn)數(shù)

2 模型

序列式模型 forward 使用x , 為了避免錯(cuò)誤

3 構(gòu)造 損失和優(yōu)化器

4 訓(xùn)練

ReLU 也常用 不連續(xù)

可以探索不同激活函數(shù)

就該 模型構(gòu)建

ln 0 的問(wèn)題 這里前向 改 sigmoid

0-1 光滑

》》》》》》》》》》》》》》》》》》

08 構(gòu)造數(shù)據(jù)集 Dataset and DataLoader

概念:

  1. Epoch
  2. 循環(huán) 寫嵌套循環(huán)
  3. 外層 周期
  4. 內(nèi)層 batch
  5. Batch-Size

  6. Iterations


打亂

加載

操作: 索引、len

代碼

Dataset 抽象類,只能被子類 繼承

DataLoader 可以實(shí)例化,用來(lái)加載數(shù)據(jù)



數(shù)據(jù) 小 ,讀到內(nèi)存

數(shù)據(jù) 大, 不讀


pytorch 0.4 報(bào)錯(cuò) 多進(jìn)程的問(wèn)題

loader 里數(shù)據(jù) 取出


這里改動(dòng)是

  1. 數(shù)據(jù)導(dǎo)入 Dataset and Dataloader
  2. 循環(huán)處 使用Mini-Batch 需要的 嵌套循環(huán)


數(shù)據(jù)集


練習(xí)

Titanic 數(shù)據(jù)集

構(gòu)造分類器,使用 DataLoader

》》》》》》》》》》》》》》》》》》

09 多分類問(wèn)題

需要使用 softmax 分類器

想法1:每個(gè)作為 二分類

想法2:相互抑制

每個(gè)計(jì)算 相同 并行計(jì)算

  • 分布 distribution
  • 使用 概率分布
  • 所以 增加 Softmax Layer

目的:

  1. >= 0
  2. 加和 = 1

等于1 的運(yùn)算



下一個(gè)問(wèn)題:損失函數(shù)





交叉熵?fù)p失

讀文檔,比較NLL CrossEL

代碼

數(shù)據(jù)


圖片處理 PIL pillow

pytorch 需要把 C 放前面 方便計(jì)算

Totensor

Normalize 標(biāo)準(zhǔn)化 (經(jīng)驗(yàn)值) 切換到 0,1 分布

圖像數(shù)據(jù) 在使用時(shí) 調(diào)用


全連接網(wǎng)絡(luò) 一階

-1? 自動(dòng)計(jì)算 N 的數(shù)值

x.view(-1,784)

損失

帶 沖量


訓(xùn)練

》 把訓(xùn)練 定義成 函數(shù)

測(cè)試 函數(shù)

問(wèn)題:為啥有

total +=labels.size(0)

correct += (predicted == labels).sum().item()

可以 每10輪 測(cè)試一次

簡(jiǎn)潔

圖像:

  • 人工特征提取
  • CNN 自動(dòng)特征提取

練習(xí)

》》》》》》》》》》》》》》》》》》》》

10 卷積神經(jīng)網(wǎng)絡(luò)

二維卷積


步驟

  1. 卷積
  2. 下采樣
  3. 卷積
  4. 下采樣 (降維
  5. 展開(kāi)
  6. 全連接
  • 特征提取器 前部卷積
  • 分類器


柵格 ccd

光敏電阻:一個(gè)光敏電阻 處理 一個(gè)光錐

獲得 一個(gè)像素

電阻R 映射 光強(qiáng)G

有些相片是插值像素


  • Patch 圖像塊 做卷積

卷積 包含 圖像塊的所有信息


運(yùn)算過(guò)程

數(shù)乘 = 元素相乘

多通道 就得到 每個(gè)通道的卷積結(jié)果

卷積運(yùn)算

卷積繪圖

N個(gè)通道

  • 如果要M 個(gè)輸出?
  • M個(gè)卷積核
  • Cat 拼接

發(fā)現(xiàn):

  1. 卷積核 通道數(shù)量 = 輸入通道
  2. 卷積核 總數(shù) = 輸出通道

共享權(quán)重

4個(gè)維度 的卷積核


代碼實(shí)現(xiàn)

重要的是 Conv2d 設(shè)置 : 4個(gè)參數(shù)


其他重要參數(shù)

padding 圖像外填充 讓 i/o 大小不變

填充0

卷積 = 線性計(jì)算


stride 步長(zhǎng) 降低卷積結(jié)果的w/h

Max Pooling Layer 下采樣

  • 通道數(shù)量不變,找區(qū)域內(nèi)最大




重點(diǎn) 維度相關(guān):在輸出 是否和 全連接層 維度對(duì)應(yīng)

  1. 手算
  2. pytorch 輸出看看維度 【常用】

view 改變 網(wǎng)絡(luò)為 全連接網(wǎng)絡(luò)

為什么 最后一層 不用激活?


怎么用 GPU

cuda : num (表示 顯卡 索引)

to(device) 就可以把模型、數(shù)據(jù)給 顯卡

錯(cuò)誤率 降低了30%


練習(xí)

》》》》》》》》》》》》》》》》

11 CNN(高級(jí)版)

2種 復(fù)雜 CNN

LeNet 5


GoogLeNet

》 常作為 基礎(chǔ)框架

減少代碼冗余:函數(shù)/類

塊 封裝成 類


  • Inception 盜夢(mèng)空間


有多種 構(gòu)造方式

提供幾種 候選的 卷積核

Concatenate 張量拼接,多種路徑下的張量的 拼接

Average Pooling 平均池化


  • 1X1 Conv 作用
  • 每個(gè)通道
  • 可以跨越不同通道 相同位置的信息
  • 信息融合

信息融合算法,加權(quán)求和


為什么有 192個(gè)通道?

增加 1X1 的卷積,節(jié)省 計(jì)算量

造卷積


放數(shù)組 ,用 cat ,維度為1

? Net里是什么?

【 位置 讓pytorch 來(lái)求,減少錯(cuò)誤

重點(diǎn) 使用了2 個(gè) Inception 模塊

根據(jù)test 來(lái)決定網(wǎng)絡(luò)是否訓(xùn)練好

每個(gè)新高點(diǎn) 存盤

梯度消失

Residual net 可以解決 梯度消失問(wèn)題

梯度 趨近于 0 難更新 =》 離輸入近的 難更新

古早: 鎖層

Residual net

加 x ,導(dǎo)數(shù) + 1 ,梯度 不為 0

Plain net

Residual net, 有池化層


代碼實(shí)現(xiàn)

把 計(jì)算圖 翻譯為 代碼

網(wǎng)絡(luò)復(fù)雜 用一些類來(lái)封裝

分布式 漸增網(wǎng)絡(luò) 【增量式開(kāi)發(fā)】


練習(xí)

很多 Residual net 的設(shè)計(jì)

可以用 minist 做測(cè)試

Densely Net


后面的路

  1. 理論《深度學(xué)習(xí)》花書
  2. 工程、理論
  3. 閱讀 PyTorch 文檔(通讀一遍)
  4. 復(fù)現(xiàn) 經(jīng)典工作(代碼下載 -> 跑 【會(huì)配置環(huán)境】 應(yīng)該
  5. 讀代碼 開(kāi)源代碼(系統(tǒng)架構(gòu)、訓(xùn)練架構(gòu)、測(cè)試架構(gòu)、數(shù)據(jù)讀取架構(gòu)、損失函數(shù)構(gòu)建)
  6. 寫代碼
  7. 擴(kuò)充 視野
  8. 知識(shí) 盲點(diǎn)(寫代碼的)
  9. 。。
  10. 需要長(zhǎng)時(shí)間 積累






























《PyTorch深度學(xué)習(xí)實(shí)踐》完結(jié)合集的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
清新县| 衡阳县| 论坛| 宜章县| 徐汇区| 三明市| 务川| 普格县| 保定市| 社旗县| 神木县| 武强县| 宽甸| 连平县| 泉州市| 大渡口区| 庄河市| 石嘴山市| 林州市| 永善县| 金塔县| 商洛市| 赞皇县| 积石山| 霍城县| 嵩明县| 万宁市| 大姚县| 毕节市| 资兴市| 佛教| 镇原县| 平昌县| 罗山县| 张家港市| 通州市| 巫溪县| 祁门县| 肃南| 太仓市| 乐陵市|