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

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

遷移學(xué)習(xí)、自監(jiān)督學(xué)習(xí)理論小樣本圖像分類和R語言CNN深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)實(shí)例

2022-12-09 18:36 作者:拓端tecdat  | 我要投稿

全文鏈接:http://tecdat.cn/?p=30793

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

您想構(gòu)建一個(gè)沒有太多訓(xùn)練數(shù)據(jù)的機(jī)器學(xué)習(xí)模型嗎?眾所周知,機(jī)器學(xué)習(xí)需要大量數(shù)據(jù),而收集和注釋數(shù)據(jù)需要時(shí)間且成本高昂。

本文介紹了一些在沒有太多數(shù)據(jù)或標(biāo)記數(shù)據(jù)的情況下進(jìn)行圖像分類的方法。我將介紹遷移學(xué)習(xí)、自監(jiān)督學(xué)習(xí)的最重要方面。

利用未標(biāo)記的數(shù)據(jù)

與標(biāo)記數(shù)據(jù)相比,未標(biāo)記的數(shù)據(jù)通常更容易訪問。不利用這一點(diǎn)就是一種浪費(fèi)!

自我監(jiān)督學(xué)習(xí)

自監(jiān)督學(xué)習(xí)解決了從未標(biāo)記的數(shù)據(jù)中學(xué)習(xí)深度特征的問題。訓(xùn)練自監(jiān)督模型后,特征提取器可以像在遷移學(xué)習(xí)中一樣使用,因此您仍然需要一些帶注釋的數(shù)據(jù)來進(jìn)行微調(diào)。

那么,如何從未標(biāo)記的數(shù)據(jù)中訓(xùn)練深度特征提取器呢?總而言之,您需要一個(gè)足夠困難的代理任務(wù)(Pretext Task),使您能夠?qū)W習(xí)分類任務(wù)的有趣特征。

如果你想在不玩實(shí)際比賽的情況下贏得足球比賽,例如,你可以盡可能多地訓(xùn)練雜技球。雜技球?qū)⑻岣吣目厍蚣夹g(shù),這在玩游戲時(shí)會(huì)派上用場(chǎng)。

代理任務(wù)的一個(gè)例子是預(yù)測(cè)圖像的旋轉(zhuǎn)角度?;旧?,對(duì)于每個(gè)圖像,您應(yīng)用旋轉(zhuǎn)?z?來獲取旋轉(zhuǎn)的圖像?x。然后,你訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)來預(yù)測(cè)?x 中的 z?。?此轉(zhuǎn)換預(yù)測(cè)任務(wù)會(huì)強(qiáng)制您的網(wǎng)絡(luò)深入了解您的數(shù)據(jù)。事實(shí)上,要預(yù)測(cè)狗圖像的旋轉(zhuǎn),您的網(wǎng)絡(luò)首先需要了解圖像中有一只狗,并且狗應(yīng)該以特定的方式定向。

根據(jù)特定目標(biāo),代理任務(wù)可能會(huì)有很大差異。常用的代理任務(wù)包括:

  • 轉(zhuǎn)換預(yù)測(cè):數(shù)據(jù)集中的樣本由轉(zhuǎn)換修改,您的網(wǎng)絡(luò)將學(xué)習(xí)預(yù)測(cè)轉(zhuǎn)換。

  • 屏蔽預(yù)測(cè):輸入圖像的隨機(jī)方塊被屏蔽,網(wǎng)絡(luò)必須預(yù)測(cè)圖像的屏蔽部分。

  • 實(shí)例區(qū)分:了解區(qū)分所有數(shù)據(jù)樣本的表示形式。例如,每個(gè)數(shù)據(jù)點(diǎn)都可以被視為一個(gè)類,并且可以在此任務(wù)上訓(xùn)練分類器。

遷移學(xué)習(xí)

當(dāng)您從頭開始訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)時(shí),您通常會(huì)隨機(jī)初始化權(quán)重。這是初始化神經(jīng)網(wǎng)絡(luò)的最佳方法嗎?答案通常是否定的。

首先,深度學(xué)習(xí)是關(guān)于表征的。在經(jīng)典機(jī)器學(xué)習(xí)中,特征需要手工制作。深度學(xué)習(xí)背后的想法是,你讓你的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)自己學(xué)習(xí)特征表示。

在神經(jīng)網(wǎng)絡(luò)的每一層之間,您有一個(gè)輸入數(shù)據(jù)的表示形式。你越深入你的神經(jīng)網(wǎng)絡(luò),你的表示應(yīng)該越全局化。通常,已知分類器神經(jīng)網(wǎng)絡(luò)的第一層能夠檢測(cè)顏色和形狀。中間層將第一層表示作為輸入,以計(jì)算比第一層更復(fù)雜的概念。例如,他們可能會(huì)檢測(cè)到蘋果葉或枝干的存在。最后一層給出了圖像來自每個(gè)類的概率。

遷移學(xué)習(xí)背后的想法是,從另一個(gè)分類任務(wù)中學(xué)習(xí)的一些表示可能對(duì)您的任務(wù)有用。遷移學(xué)習(xí)是關(guān)于在另一項(xiàng)任務(wù)上獲取預(yù)訓(xùn)練網(wǎng)絡(luò)的第一層,在其上添加新層,并在感興趣的數(shù)據(jù)集上微調(diào)整個(gè)網(wǎng)絡(luò)。

作為比較,如果你的目標(biāo)是學(xué)習(xí)贏得足球比賽,那么遷移學(xué)習(xí)將包括先學(xué)習(xí)打籃球,習(xí)慣移動(dòng)你的身體,鍛煉你的耐力等,然后再開始玩足球比賽。

它將如何影響最終網(wǎng)絡(luò)的性能?您應(yīng)該在哪里切斷預(yù)先訓(xùn)練的網(wǎng)絡(luò)?這些問題在中得到了廣泛的解決。

總結(jié)最重要的想法:

  • 神經(jīng)網(wǎng)絡(luò)的第一層是非常通用的,而最深的層是預(yù)訓(xùn)練任務(wù)中最專業(yè)的。因此,您可以預(yù)期,如果您的預(yù)訓(xùn)練任務(wù)接近目標(biāo)任務(wù),那么保留更多層將更有益。

  • 在中間層切割通常會(huì)導(dǎo)致性能不佳。這是由于通過微調(diào)在中間層中達(dá)到的脆弱平衡。

  • 使用預(yù)先訓(xùn)練的權(quán)重總是比使用隨機(jī)初始化的權(quán)重更好。這是因?yàn)橥ㄟ^先訓(xùn)練另一個(gè)任務(wù),你的模型學(xué)會(huì)了它本來不會(huì)學(xué)到的特征。

  • 當(dāng)重新訓(xùn)練這些預(yù)先訓(xùn)練的權(quán)重時(shí),可以獲得更好的表現(xiàn)——最終對(duì)它們使用較低的學(xué)習(xí)率。

R語言深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò) (CNN)對(duì) CIFAR 圖像進(jìn)行分類:訓(xùn)練與結(jié)果評(píng)估可視化

本文演示了訓(xùn)練一個(gè)簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò) (CNN) 來對(duì) CIFAR 圖像進(jìn)行分類。由于本教程使用 Keras Sequential API,因此創(chuàng)建和訓(xùn)練我們的模型只需幾行代碼。

設(shè)置

library(keras) ?

下載并準(zhǔn)備 CIFAR10 數(shù)據(jù)集

CIFAR10 數(shù)據(jù)集包含 10 個(gè)類別的 60,000 張彩色圖像,每個(gè)類別有 6,000 張圖像。數(shù)據(jù)集分為 50,000 張訓(xùn)練圖像和 10,000 張測(cè)試圖像。這些類是互斥的,它們之間沒有重疊。

驗(yàn)證數(shù)據(jù)

為了驗(yàn)證數(shù)據(jù)集看起來是否正確,讓我們繪制訓(xùn)練集中的前 25 張圖像并在每張圖像下方顯示類別名稱。?

train %>% ?map(as.rater, max = 255) %>%

創(chuàng)建卷積基

下面的6行代碼使用一種常見的模式定義了卷積基礎(chǔ):Conv2D和MaxPooling2D層的堆疊。

作為輸入,CNN接受形狀的張量(image_height, image_width, color_channels),忽略了批次大小。如果你是第一次接觸這些維度,color_channels指的是(R,G,B)。在這個(gè)例子中,你將配置我們的CNN來處理形狀為(32,32,3)的輸入,這是CIFAR圖像的格式。你可以通過將參數(shù)input_shape傳遞給我們的第一層來做到這一點(diǎn)。

kers_moe_etl %>% ?laer_c_2d(fles = 32, ene_sz = c(3,3), acan = "relu", ?lye_apoi_2d(posize = c(2,2)) %>% ?lae_cv_2d(filrs = 64, relze = c(3,3), ctitio = "reu")

到目前為止,讓我們展示一下我們模型的架構(gòu)。

summary(model)

在上面,你可以看到每個(gè)Conv2D和MaxPooling2D層的輸出是一個(gè)三維形狀的張量(高度、寬度、通道)。當(dāng)你深入到網(wǎng)絡(luò)中時(shí),寬度和高度維度往往會(huì)縮小。每個(gè)Conv2D層的輸出通道的數(shù)量由第一個(gè)參數(shù)控制(例如32或64)。通常情況下,隨著寬度和高度的縮小,你可以承受(計(jì)算上)在每個(gè)Conv2D層中增加更多的輸出通道。

在頂部添加密集層

為了完成我們的模型,您需要將卷積基(形狀為 (3, 3, 64))的最后一個(gè)輸出張量輸入一個(gè)或多個(gè) Dense 層以執(zhí)行分類。密集層將向量作為輸入(1D),而當(dāng)前輸出是 3D 張量。首先,您將 3D 輸出展平(或展開)為 1D,然后在頂部添加一個(gè)或多個(gè) Dense 層。CIFAR 有 10 個(gè)輸出類,因此您使用具有 10 個(gè)輸出和 softmax 激活的最終 Dense 層。

model %>% ?leree(unis = 64, aciaion = "relu") %>% ?ayedese(unis = 10, acivin = "sftax")

這是我們模型的完整架構(gòu)。

注意?Keras 模型是可變對(duì)象,您不需要在上面的 chubnk 中重新分配模型。

summary(modl)

如您所見,我們的 (3, 3, 64) 輸出在經(jīng)過兩個(gè) Dense 層之前被展平為形狀為 (576) 的向量。

編譯和訓(xùn)練模型

moel %>% comle( ?optier = "adam", ?lss = "specatialosnopy", ?mecs = "accray")

評(píng)估模型

plot(hsy) ?

? ealte(oel, x,y, erbe = 0) ?

我們簡(jiǎn)單的 CNN 已經(jīng)實(shí)現(xiàn)了超過 70% 的測(cè)試準(zhǔn)確率。

最受歡迎的見解

1.R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸

2.r語言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)和結(jié)果可視化

3.python用遺傳算法-神經(jīng)網(wǎng)絡(luò)-模糊邏輯控制算法對(duì)樂透分析

4.R語言結(jié)合新冠疫情COVID-19股票價(jià)格預(yù)測(cè):ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時(shí)間序列分析

5.Python TensorFlow循環(huán)神經(jīng)網(wǎng)絡(luò)RNN-LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)股票市場(chǎng)價(jià)格時(shí)間序列和MSE評(píng)估準(zhǔn)確性

6.Matlab用深度學(xué)習(xí)長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對(duì)文本數(shù)據(jù)進(jìn)行分類

7.用于NLP的seq2seq模型實(shí)例用Keras實(shí)現(xiàn)神經(jīng)機(jī)器翻譯

8.R語言用FNN-LSTM假近鄰長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò)模型進(jìn)行時(shí)間序列深度學(xué)習(xí)預(yù)測(cè)

9.Python用RNN循環(huán)神經(jīng)網(wǎng)絡(luò):LSTM長(zhǎng)期記憶、GRU門循環(huán)單元、回歸和ARIMA對(duì)COVID-19新冠疫情新增人數(shù)時(shí)間序列預(yù)測(cè)


遷移學(xué)習(xí)、自監(jiān)督學(xué)習(xí)理論小樣本圖像分類和R語言CNN深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)實(shí)例的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
清涧县| 炉霍县| 苏尼特右旗| 石林| 万安县| 磴口县| 丰原市| 建瓯市| 敦煌市| 漳平市| 法库县| 响水县| 神木县| 鞍山市| 景谷| 建始县| 潼南县| 横山县| 新津县| 宁明县| 文昌市| 商都县| 越西县| 富民县| 克拉玛依市| 永和县| 泰来县| 高青县| 滁州市| 桃源县| 定日县| 孙吴县| 枣强县| 怀柔区| 思南县| 奇台县| 阜康市| 昔阳县| 屏边| 孟连| 合肥市|