99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)從業(yè)者指出了一個(gè)明顯的問(wèn)題:你如何調(diào)試模型?

智能感知與物聯(lián)網(wǎng)技術(shù)研究所 ? 來(lái)源:lp ? 2019-04-01 15:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)你花了幾個(gè)星期構(gòu)建一個(gè)數(shù)據(jù)集、編碼一個(gè)神經(jīng)網(wǎng)絡(luò)并訓(xùn)練好了模型,然后發(fā)現(xiàn)結(jié)果并不理想,接下來(lái)你會(huì)怎么做?

深度學(xué)習(xí)通常被視為一個(gè)黑盒子,我并不反對(duì)這種觀點(diǎn)——但是你能講清楚學(xué)到的上萬(wàn)參數(shù)的意義嗎?

但是黑盒子的觀點(diǎn)為機(jī)器學(xué)習(xí)從業(yè)者指出了一個(gè)明顯的問(wèn)題:你如何調(diào)試模型?

在這篇文章中,我將會(huì)介紹一些我們?cè)?Cardiogram 中調(diào)試 DeepHeart 時(shí)用到的技術(shù),DeepHeart 是使用來(lái)自 Apple Watch、 Garmin、和 WearOS 的數(shù)據(jù)預(yù)測(cè)疾病的。

在 Cardiogram 中,我們認(rèn)為構(gòu)建 DNN 并不是煉金術(shù),而是工程學(xué)。

你的心臟暴露了很多你的信息。DeepHeart 使用來(lái)自 Apple Watch、 Garmin、和 WearOS 的心率數(shù)據(jù)來(lái)預(yù)測(cè)你患糖尿病、高血壓以及睡眠窒息癥(sleep apnea)的風(fēng)險(xiǎn)。

一、預(yù)測(cè)合成輸出

通過(guò)預(yù)測(cè)根據(jù)輸入數(shù)據(jù)構(gòu)建的合成輸出任務(wù)來(lái)測(cè)試模型能力。

我們?cè)跇?gòu)建檢測(cè)睡眠窒息癥的模型時(shí)使用了這個(gè)技術(shù)。現(xiàn)有關(guān)于睡眠窒息癥篩查的文獻(xiàn)使用日間和夜間心率標(biāo)準(zhǔn)差的差異作為篩查機(jī)制。因此我們?yōu)槊恐艿妮斎霐?shù)據(jù)創(chuàng)建了合成輸出任務(wù):

標(biāo)準(zhǔn)差 (日間心率)—標(biāo)準(zhǔn)差 (夜間心率)

為了學(xué)習(xí)這個(gè)函數(shù),模型要能夠:

1. 區(qū)分白天和黑夜

2. 記住過(guò)去幾天的數(shù)據(jù)

這兩個(gè)都是預(yù)測(cè)睡眠窒息癥的先決條件,所以我們使用新架構(gòu)進(jìn)行實(shí)驗(yàn)的第一步就是檢查它是否能學(xué)習(xí)這個(gè)合成任務(wù)。

你也可以通過(guò)在合成任務(wù)上預(yù)訓(xùn)練網(wǎng)絡(luò),以半監(jiān)督的形式來(lái)使用類(lèi)似這樣的合成任務(wù)。當(dāng)標(biāo)記數(shù)據(jù)很稀缺,而你手頭有大量未標(biāo)記數(shù)據(jù)時(shí),這種方法很有用。

二、可視化激活值

理解一個(gè)訓(xùn)練好的模型的內(nèi)部機(jī)制是很難的。你如何理解成千上萬(wàn)的矩陣乘法呢?

在這篇優(yōu)秀的 Distill 文章《Four Experiments in Handwriting with a Neural Network》中,作者通過(guò)在熱圖中繪制單元激活值,分析了手寫(xiě)模型。我們發(fā)現(xiàn)這是一個(gè)「打開(kāi) DNN 引擎蓋」的好方法。

我們檢查了網(wǎng)絡(luò)中幾個(gè)層的激活值,希望能夠發(fā)現(xiàn)一些語(yǔ)義屬性,例如,當(dāng)用戶(hù)在睡覺(jué)、工作或者焦慮時(shí),激活的單元是怎樣的?

用 Keras 寫(xiě)的從模型中提取激活值的代碼很簡(jiǎn)單。下面的代碼片段創(chuàng)建了一個(gè) Keras 函數(shù) last_output_fn,該函數(shù)在給定一些輸入數(shù)據(jù)的情況下,能夠獲得一層的輸出(即它的激活值)。

fromkerasimportbackendasKdefextract_layer_output(model,layer_name,input_data):layer_output_fn=K.function([model.layers[0].input],[model.get_layer(layer_name).output])layer_output=layer_output_fn([input_data])#layer_output.shapeis(num_units,num_timesteps)returnlayer_output[0]

我們可視化了網(wǎng)絡(luò)好幾層的激活值。在檢查第二個(gè)卷積層(一個(gè)寬為 128 的時(shí)間卷積層)的激活值時(shí),我們注意到了一些奇怪的事:

卷積層的每個(gè)單元在每個(gè)時(shí)間步長(zhǎng)上的激活值。藍(lán)色的陰影代表的是激活值。

激活值竟然不是隨著時(shí)間變化的!它們不受輸入值影響,被稱(chēng)為「死神經(jīng)元」。

ReLU 激活函數(shù),f(x) = max(0, x)

這個(gè)架構(gòu)使用了 激活函數(shù),當(dāng)輸入是負(fù)數(shù)的時(shí)候它輸出的是 0。盡管它是這個(gè)神經(jīng)網(wǎng)絡(luò)中比較淺的層,但是這確實(shí)是實(shí)際發(fā)生的事情。

在訓(xùn)練的某些時(shí)候,較大的梯度會(huì)把某一層的所有偏置項(xiàng)都變成負(fù)數(shù),使得 ReLU 函數(shù)的輸入是很小的負(fù)數(shù)。因此這層的輸出就會(huì)全部為 0,因?yàn)閷?duì)小于 0 的輸入來(lái)說(shuō),ReLU 的梯度為零,這個(gè)問(wèn)題無(wú)法通過(guò)來(lái)解決。

當(dāng)一個(gè)卷積層的輸出全部為零時(shí),后續(xù)層的單元就會(huì)輸出其偏置項(xiàng)的值。這就是這個(gè)層每個(gè)單元輸出一個(gè)不同值的原因——因?yàn)樗鼈兊钠庙?xiàng)不同。

我們通過(guò)用 Leaky ReLU 替換 ReLU 解決了這個(gè)問(wèn)題,前者允許梯度傳播,即使輸入為負(fù)時(shí)。

我們沒(méi)想到會(huì)在此次分析中發(fā)現(xiàn)「死神經(jīng)元」,但最難找到的錯(cuò)誤是你沒(méi)打算找的。

三、梯度分析

梯度的作用當(dāng)然不止是優(yōu)化損失函數(shù)。在梯度下降中,我們計(jì)算與Δparameter 對(duì)應(yīng)的Δloss。盡管通常意義上梯度計(jì)算的是改變一個(gè)變量對(duì)另一個(gè)變量的影響。由于梯度計(jì)算在梯度下降方法中是必需的,所以像 TensorFlow 這樣的框架都提供了計(jì)算梯度的函數(shù)。

我們使用梯度分析來(lái)確定我們的深度神經(jīng)網(wǎng)絡(luò)能否捕捉數(shù)據(jù)中的長(zhǎng)期依賴(lài)。DNN 的輸入數(shù)據(jù)特別長(zhǎng):4096 個(gè)時(shí)間步長(zhǎng)的心率或者計(jì)步數(shù)據(jù)。我們的模型架構(gòu)能否捕捉數(shù)據(jù)中的長(zhǎng)期依賴(lài)非常重要。例如,心率的恢復(fù)時(shí)間可以預(yù)測(cè)糖尿病。這就是鍛煉后恢復(fù)至休息時(shí)的心率所耗的時(shí)間。為了計(jì)算它,深度神經(jīng)網(wǎng)絡(luò)必須能夠計(jì)算出你休息時(shí)的心率,并記住你結(jié)束鍛煉的時(shí)間。

衡量模型能否追蹤長(zhǎng)期依賴(lài)的一種簡(jiǎn)單方法是去檢查輸入數(shù)據(jù)的每個(gè)時(shí)間步長(zhǎng)對(duì)輸出預(yù)測(cè)的影響。如果后面的時(shí)間步長(zhǎng)具有特別大的影響,則說(shuō)明模型沒(méi)有有效地利用早期數(shù)據(jù)。

對(duì)于所有時(shí)間步長(zhǎng) t,我們想要計(jì)算的梯度是與Δinput_t 對(duì)應(yīng)的Δoutput。下面是用 Keras 和 TensorFlow 計(jì)算這個(gè)梯度的代碼示例:

defgradient_output_wrt_input(model,data):#[:,2048,0]meansallusersinbatch,midpointtimestep,0thtask(diabetes)output_tensor=model.model.get_layer('raw_output').output[:,2048,0]#output_tensor.shape==(num_users)#Averageoutputoverallusers.Resultisascalar.output_tensor_sum=tf.reduce_mean(output_tensor)inputs=model.model.inputs#(num_usersxnum_timestepsxnum_input_channels)gradient_tensors=tf.gradients(output_tensor_sum,inputs)#gradient_tensors.shape==(num_usersxnum_timestepsxnum_input_channels)#Averageoverusersgradient_tensors=tf.reduce_mean(gradient_tensors,axis=0)#gradient_tensors.shape==(num_timestepsxnum_input_channels)#eggradient_tensor[10,0]isderivoflastoutputwrt10thinputheartrate#ConverttoKerasfunctionk_gradients=K.function(inputs=inputs,outputs=gradient_tensors)#Applyfunctiontodatasetreturnk_gradients([data.X])

在上面的代碼中,我們?cè)谄骄鼗?,在中點(diǎn)時(shí)間步長(zhǎng) 2048 處計(jì)算了輸出。我們之所以使用中點(diǎn)而不是最后的時(shí)間步長(zhǎng)的原因是,我們的 LSTM 單元是雙向的,這意味著對(duì)一半的單元來(lái)說(shuō),4095 實(shí)際上是第一個(gè)時(shí)間步長(zhǎng)。我們將得到的梯度進(jìn)行了可視化:

Δoutput_2048 / Δinput_t

請(qǐng)注意我們的 y 軸是 log 尺度的。在時(shí)間步長(zhǎng) 2048 處,與輸入對(duì)應(yīng)的輸出梯度是 0.001。但是在時(shí)間步長(zhǎng) 2500 處,對(duì)應(yīng)的梯度小了一百萬(wàn)倍!通過(guò)梯度分析,我們發(fā)現(xiàn)這個(gè)架構(gòu)無(wú)法捕捉長(zhǎng)期依賴(lài)。

四、分析模型預(yù)測(cè)

你可能已經(jīng)通過(guò)觀察像 AUROC 和平均絕對(duì)誤差這樣的指標(biāo)分析了模型預(yù)測(cè)。你還可以用更多的分析來(lái)理解模型的行為。

例如,我們好奇 DNN 是否真的用心率輸入來(lái)生成預(yù)測(cè),或者說(shuō)它的學(xué)習(xí)是不是嚴(yán)重依賴(lài)于所提供的元數(shù)據(jù)——我們用性別、年齡這樣的用戶(hù)元數(shù)據(jù)來(lái)初始化 LSTM 的狀態(tài)。為了理解這個(gè),我們將模型與在元數(shù)據(jù)上訓(xùn)練的 logistic 回歸模型做了對(duì)比。

DNN 模型接收了一周的用戶(hù)數(shù)據(jù),所以在下面的散點(diǎn)圖中,每個(gè)點(diǎn)代表的是一個(gè)用戶(hù)周。

這幅圖驗(yàn)證了我們的猜想,因?yàn)轭A(yù)測(cè)結(jié)果并不是高度相關(guān)的。

除了進(jìn)行匯總分析,查看最好和最壞的樣本也是很有啟發(fā)性的。對(duì)一個(gè)二分類(lèi)任務(wù)而言,你需要查看最令人震驚的假陽(yáng)性和假陰性(也就是預(yù)測(cè)距離標(biāo)簽最遠(yuǎn)的情況)。嘗試鑒別損失模式,然后過(guò)濾掉在你的真陽(yáng)性和真陰性中出現(xiàn)的這種模式。

一旦你對(duì)損失模式有了假設(shè),就通過(guò)分層分析進(jìn)行測(cè)試。例如,如果最高損失全部來(lái)自第一代 Apple Watch,我們可以用第一代 Apple Watch 計(jì)算我們的調(diào)優(yōu)集中用戶(hù)集的準(zhǔn)確率指標(biāo),并將這些指標(biāo)與在剩余調(diào)優(yōu)集上計(jì)算的指標(biāo)進(jìn)行比較。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:你用什么方法調(diào)試深度神經(jīng)網(wǎng)絡(luò)?這里有四種簡(jiǎn)單的方式哦

文章出處:【微信號(hào):tyutcsplab,微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    10個(gè)問(wèn)題及答案保障LED從業(yè)者用電安全

    照明開(kāi)關(guān)為何必須接在火線(xiàn)上?單相三孔插座如何安裝才正確?為什么?塑料絕緣導(dǎo)線(xiàn)為什么嚴(yán)禁直接埋在墻內(nèi)?本文從十個(gè)問(wèn)題以及答案方面解析了LED從業(yè)者需要注意的用電安全。
    發(fā)表于 02-24 09:41 ?1111次閱讀

    開(kāi)關(guān)電源從業(yè)者必看資料——《開(kāi)關(guān)電源常規(guī)測(cè)試項(xiàng)目》

    開(kāi)關(guān)電源從業(yè)者必看資料——《開(kāi)關(guān)電源常規(guī)測(cè)試項(xiàng)目》
    發(fā)表于 04-29 22:03

    25個(gè)機(jī)器學(xué)習(xí)面試題,都會(huì)嗎?

    問(wèn)題都沒(méi)有給出明確的答案,但都有定的提示。讀者也可以在留言中嘗試。許多數(shù)據(jù)科學(xué)家主要是從個(gè)數(shù)據(jù)從業(yè)者的角度來(lái)研究機(jī)器
    發(fā)表于 09-29 09:39

    電源從業(yè)者必看必會(huì)之變壓器基礎(chǔ)知識(shí)_制作流程_詳解

    適合電源從業(yè)者的基礎(chǔ)知識(shí)入門(mén)維修必看
    發(fā)表于 11-10 20:42

    開(kāi)關(guān)電源從業(yè)者入門(mén)資料 開(kāi)關(guān)電源結(jié)構(gòu)和基本原理

    非常適合開(kāi)關(guān)電源從業(yè)者入門(mén)的資料 開(kāi)關(guān)電源結(jié)構(gòu)和基本原理資料分享來(lái)自于網(wǎng)絡(luò)資源
    發(fā)表于 09-05 21:42

    軟件測(cè)試從業(yè)者需要具備哪些技能

    測(cè)試從業(yè)者,僅僅會(huì)些硬技能還不夠。還需要具備些軟技能。軟技能質(zhì)量意識(shí)(很多時(shí)候,團(tuán)隊(duì)中,并不缺技術(shù),唯獨(dú)缺質(zhì)量意識(shí))好的工作習(xí)慣(每天把不懂的內(nèi)容,用本子記下來(lái),弄懂為止,幾年后
    發(fā)表于 07-16 16:22

    軟件測(cè)試從業(yè)者需要具備哪些技能

    測(cè)試從業(yè)者,僅僅會(huì)些硬技能還不夠。還需要具備些軟技能。軟技能質(zhì)量意識(shí)(很多時(shí)候,團(tuán)隊(duì)中,并不缺技術(shù),唯獨(dú)缺質(zhì)量意識(shí))好的工作習(xí)慣(每天把不懂的內(nèi)容,用本子記下來(lái),弄懂為止,幾年后
    發(fā)表于 11-23 10:00

    電池配組方案(電池修復(fù)從業(yè)者必讀)

    電池配組方案(電池修復(fù)從業(yè)者必讀)    很多朋友來(lái)問(wèn):為什么電池修復(fù)好,經(jīng)過(guò)測(cè)試性能相當(dāng)
    發(fā)表于 11-16 13:44 ?5246次閱讀

    機(jī)器學(xué)習(xí)從業(yè)者工具使用方面大數(shù)據(jù)分析

    數(shù)據(jù)科學(xué)是個(gè)變化極快的領(lǐng)域,業(yè)內(nèi)人員需要不斷更新知識(shí)體系,才可以在業(yè)內(nèi)保持定地位,不被時(shí)代淘汰。Stack Overflow Q&A、Conferences 和 Podcasts 是已從業(yè)者經(jīng)常使用的
    的頭像 發(fā)表于 12-04 16:34 ?4259次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>從業(yè)者</b>工具使用方面大數(shù)據(jù)分析

    NVIDIA持續(xù)助力AI教育及研究從業(yè)者

    AI教育關(guān)乎未來(lái)發(fā)展。直以來(lái),NVIDIA都堅(jiān)持與AI教育和研究從業(yè)者并肩前行,以促進(jìn)AI技術(shù)的普及,迎接AI驅(qū)動(dòng)下的未來(lái)經(jīng)濟(jì)。
    的頭像 發(fā)表于 09-12 14:09 ?3339次閱讀

    機(jī)器學(xué)習(xí)的12大經(jīng)驗(yàn)總結(jié)

    本文整理了關(guān)于機(jī)器學(xué)習(xí)研究者和從業(yè)者的 12 個(gè)寶貴經(jīng)驗(yàn),包括需要避免的陷阱、需要關(guān)注的重點(diǎn)問(wèn)題、常見(jiàn)問(wèn)題的答案。希望這些經(jīng)驗(yàn)對(duì)機(jī)器
    的頭像 發(fā)表于 12-13 15:29 ?2957次閱讀

    已入冰點(diǎn)的通信行業(yè) 從業(yè)者該清醒清醒了

    伴隨著營(yíng)業(yè)收入出現(xiàn)拐點(diǎn),通信行業(yè)已經(jīng)跌入冰點(diǎn)。面對(duì)如此不利的經(jīng)營(yíng)形式,通信行業(yè)從業(yè)企業(yè)和從業(yè)者該醒醒了。
    的頭像 發(fā)表于 07-12 17:04 ?2650次閱讀

    谷歌發(fā)布機(jī)器學(xué)習(xí)框架:個(gè)名叫NSL的神經(jīng)結(jié)構(gòu)學(xué)習(xí)框架

    神經(jīng)結(jié)構(gòu)學(xué)習(xí)框架(NSL)的作用很大,它可以制作計(jì)算機(jī)視覺(jué)模型、執(zhí)行自然語(yǔ)言處理(NLP)、從醫(yī)療記錄或知識(shí)圖等圖形數(shù)據(jù)集中運(yùn)行預(yù)測(cè),還可以與 TensorFlow 機(jī)器學(xué)習(xí)平臺(tái)配合使
    的頭像 發(fā)表于 09-20 14:30 ?3684次閱讀

    AI繪圖幫助藝術(shù)家“解放雙手” 將幫助增加創(chuàng)意產(chǎn)業(yè)從業(yè)者的利益的“優(yōu)質(zhì)股票”

    人工智能誕生以來(lái),產(chǎn)業(yè)自動(dòng)化狂潮激起眾多從業(yè)者就業(yè)危機(jī)感的跡象從未停止。而畫(huà)家卻直對(duì)此表示放心,因?yàn)樵谶@股浪潮中,他們直被認(rèn)為是最不可能因自動(dòng)化而失業(yè)的人群之。但是當(dāng)支持
    發(fā)表于 03-08 17:22 ?995次閱讀

    ML從業(yè)者如何閱讀研究論文

      數(shù)據(jù)科學(xué)專(zhuān)業(yè)的性質(zhì)是非常實(shí)用和涉及的。這意味著,數(shù)據(jù)科學(xué)領(lǐng)域與人工智能密切相關(guān),人工智能仍然是個(gè)發(fā)展中的領(lǐng)域,因此,它的從業(yè)者必須具備學(xué)術(shù)思維。
    的頭像 發(fā)表于 04-08 14:22 ?1047次閱讀
    ML<b class='flag-5'>從業(yè)者</b>如何閱讀研究論文