色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器學習從業者指出了一個明顯的問題:你如何調試模型?

智能感知與物聯網技術研究所 ? 來源:lp ? 2019-04-01 15:17 ? 次閱讀

當你花了幾個星期構建一個數據集、編碼一個神經網絡并訓練好了模型,然后發現結果并不理想,接下來你會怎么做?

深度學習通常被視為一個黑盒子,我并不反對這種觀點——但是你能講清楚學到的上萬參數的意義嗎?

但是黑盒子的觀點為機器學習從業者指出了一個明顯的問題:你如何調試模型?

在這篇文章中,我將會介紹一些我們在 Cardiogram 中調試 DeepHeart 時用到的技術,DeepHeart 是使用來自 Apple Watch、 Garmin、和 WearOS 的數據預測疾病的。

在 Cardiogram 中,我們認為構建 DNN 并不是煉金術,而是工程學。

你的心臟暴露了很多你的信息。DeepHeart 使用來自 Apple Watch、 Garmin、和 WearOS 的心率數據來預測你患糖尿病、高血壓以及睡眠窒息癥(sleep apnea)的風險。

一、預測合成輸出

通過預測根據輸入數據構建的合成輸出任務來測試模型能力。

我們在構建檢測睡眠窒息癥的模型時使用了這個技術。現有關于睡眠窒息癥篩查的文獻使用日間和夜間心率標準差的差異作為篩查機制。因此我們為每周的輸入數據創建了合成輸出任務:

標準差 (日間心率)—標準差 (夜間心率)

為了學習這個函數,模型要能夠:

1. 區分白天和黑夜

2. 記住過去幾天的數據

這兩個都是預測睡眠窒息癥的先決條件,所以我們使用新架構進行實驗的第一步就是檢查它是否能學習這個合成任務。

你也可以通過在合成任務上預訓練網絡,以半監督的形式來使用類似這樣的合成任務。當標記數據很稀缺,而你手頭有大量未標記數據時,這種方法很有用。

二、可視化激活值

理解一個訓練好的模型的內部機制是很難的。你如何理解成千上萬的矩陣乘法呢?

在這篇優秀的 Distill 文章《Four Experiments in Handwriting with a Neural Network》中,作者通過在熱圖中繪制單元激活值,分析了手寫模型。我們發現這是一個「打開 DNN 引擎蓋」的好方法。

我們檢查了網絡中幾個層的激活值,希望能夠發現一些語義屬性,例如,當用戶在睡覺、工作或者焦慮時,激活的單元是怎樣的?

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

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]

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

卷積層的每個單元在每個時間步長上的激活值。藍色的陰影代表的是激活值。

激活值竟然不是隨著時間變化的!它們不受輸入值影響,被稱為「死神經元」。

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

這個架構使用了 激活函數,當輸入是負數的時候它輸出的是 0。盡管它是這個神經網絡中比較淺的層,但是這確實是實際發生的事情。

在訓練的某些時候,較大的梯度會把某一層的所有偏置項都變成負數,使得 ReLU 函數的輸入是很小的負數。因此這層的輸出就會全部為 0,因為對小于 0 的輸入來說,ReLU 的梯度為零,這個問題無法通過來解決。

當一個卷積層的輸出全部為零時,后續層的單元就會輸出其偏置項的值。這就是這個層每個單元輸出一個不同值的原因——因為它們的偏置項不同。

我們通過用 Leaky ReLU 替換 ReLU 解決了這個問題,前者允許梯度傳播,即使輸入為負時。

我們沒想到會在此次分析中發現「死神經元」,但最難找到的錯誤是你沒打算找的。

三、梯度分析

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

我們使用梯度分析來確定我們的深度神經網絡能否捕捉數據中的長期依賴。DNN 的輸入數據特別長:4096 個時間步長的心率或者計步數據。我們的模型架構能否捕捉數據中的長期依賴非常重要。例如,心率的恢復時間可以預測糖尿病。這就是鍛煉后恢復至休息時的心率所耗的時間。為了計算它,深度神經網絡必須能夠計算出你休息時的心率,并記住你結束鍛煉的時間。

衡量模型能否追蹤長期依賴的一種簡單方法是去檢查輸入數據的每個時間步長對輸出預測的影響。如果后面的時間步長具有特別大的影響,則說明模型沒有有效地利用早期數據。

對于所有時間步長 t,我們想要計算的梯度是與Δinput_t 對應的Δoutput。下面是用 Keras 和 TensorFlow 計算這個梯度的代碼示例:

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])

在上面的代碼中,我們在平均池化之前,在中點時間步長 2048 處計算了輸出。我們之所以使用中點而不是最后的時間步長的原因是,我們的 LSTM 單元是雙向的,這意味著對一半的單元來說,4095 實際上是第一個時間步長。我們將得到的梯度進行了可視化:

Δoutput_2048 / Δinput_t

請注意我們的 y 軸是 log 尺度的。在時間步長 2048 處,與輸入對應的輸出梯度是 0.001。但是在時間步長 2500 處,對應的梯度小了一百萬倍!通過梯度分析,我們發現這個架構無法捕捉長期依賴。

四、分析模型預測

你可能已經通過觀察像 AUROC 和平均絕對誤差這樣的指標分析了模型預測。你還可以用更多的分析來理解模型的行為。

例如,我們好奇 DNN 是否真的用心率輸入來生成預測,或者說它的學習是不是嚴重依賴于所提供的元數據——我們用性別、年齡這樣的用戶元數據來初始化 LSTM 的狀態。為了理解這個,我們將模型與在元數據上訓練的 logistic 回歸模型做了對比。

DNN 模型接收了一周的用戶數據,所以在下面的散點圖中,每個點代表的是一個用戶周。

這幅圖驗證了我們的猜想,因為預測結果并不是高度相關的。

除了進行匯總分析,查看最好和最壞的樣本也是很有啟發性的。對一個二分類任務而言,你需要查看最令人震驚的假陽性和假陰性(也就是預測距離標簽最遠的情況)。嘗試鑒別損失模式,然后過濾掉在你的真陽性和真陰性中出現的這種模式。

一旦你對損失模式有了假設,就通過分層分析進行測試。例如,如果最高損失全部來自第一代 Apple Watch,我們可以用第一代 Apple Watch 計算我們的調優集中用戶集的準確率指標,并將這些指標與在剩余調優集上計算的指標進行比較。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4779

    瀏覽量

    101054
  • 機器學習
    +關注

    關注

    66

    文章

    8438

    瀏覽量

    132954
  • 數據集
    +關注

    關注

    4

    文章

    1209

    瀏覽量

    24793

原文標題:你用什么方法調試深度神經網絡?這里有四種簡單的方式哦

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    10問題及答案保障LED從業者用電安全

    照明開關為何必須接在火線上?單相三孔插座如何安裝才正確?為什么?塑料絕緣導線為什么嚴禁直接埋在墻內?本文從十問題以及答案方面解析了LED從業者需要注意的用電安全。
    發表于 02-24 09:41 ?1025次閱讀

    開關電源從業者必看資料——《開關電源常規測試項目》

    開關電源從業者必看資料——《開關電源常規測試項目》
    發表于 04-29 22:03

    25機器學習面試題,都會嗎?

    問題都沒有給出明確的答案,但都有定的提示。讀者也可以在留言中嘗試。許多數據科學家主要是從數據從業者的角度來研究機器
    發表于 09-29 09:39

    電源從業者必看必會之變壓器基礎知識_制作流程_詳解

    適合電源從業者的基礎知識入門維修必看
    發表于 11-10 20:42

    開關電源從業者入門資料 開關電源結構和基本原理

    非常適合開關電源從業者入門的資料 開關電源結構和基本原理資料分享來自于網絡資源
    發表于 09-05 21:42

    軟件測試從業者需要具備哪些技能

    測試從業者,僅僅會些硬技能還不夠。還需要具備些軟技能。軟技能質量意識(很多時候,團隊中,并不缺技術,唯獨缺質量意識)好的工作習慣(每天把不懂的內容,用本子記下來,弄懂為止,幾年后
    發表于 07-16 16:22

    軟件測試從業者需要具備哪些技能

    測試從業者,僅僅會些硬技能還不夠。還需要具備些軟技能。軟技能質量意識(很多時候,團隊中,并不缺技術,唯獨缺質量意識)好的工作習慣(每天把不懂的內容,用本子記下來,弄懂為止,幾年后
    發表于 11-23 10:00

    電池配組方案(電池修復從業者必讀)

    電池配組方案(電池修復從業者必讀)    很多朋友來問:為什么電池修復好,經過測試性能相當
    發表于 11-16 13:44 ?5092次閱讀

    機器學習從業者工具使用方面大數據分析

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

    NVIDIA持續助力AI教育及研究從業者

    AI教育關乎未來發展。直以來,NVIDIA都堅持與AI教育和研究從業者并肩前行,以促進AI技術的普及,迎接AI驅動下的未來經濟。
    的頭像 發表于 09-12 14:09 ?3208次閱讀

    機器學習的12大經驗總結

    本文整理了關于機器學習研究者和從業者的 12 寶貴經驗,包括需要避免的陷阱、需要關注的重點問題、常見問題的答案。希望這些經驗對機器
    的頭像 發表于 12-13 15:29 ?2706次閱讀

    已入冰點的通信行業 從業者該清醒清醒了

    伴隨著營業收入出現拐點,通信行業已經跌入冰點。面對如此不利的經營形式,通信行業從業企業和從業者該醒醒了。
    的頭像 發表于 07-12 17:04 ?2481次閱讀

    谷歌發布機器學習框架:名叫NSL的神經結構學習框架

    神經結構學習框架(NSL)的作用很大,它可以制作計算機視覺模型、執行自然語言處理(NLP)、從醫療記錄或知識圖等圖形數據集中運行預測,還可以與 TensorFlow 機器學習平臺配合使
    的頭像 發表于 09-20 14:30 ?3467次閱讀

    AI繪圖幫助藝術家“解放雙手” 將幫助增加創意產業從業者的利益的“優質股票”

    人工智能誕生以來,產業自動化狂潮激起眾多從業者就業危機感的跡象從未停止。而畫家卻直對此表示放心,因為在這股浪潮中,他們直被認為是最不可能因自動化而失業的人群之。但是當支持
    發表于 03-08 17:22 ?894次閱讀

    ML從業者如何閱讀研究論文

      數據科學專業的性質是非常實用和涉及的。這意味著,數據科學領域與人工智能密切相關,人工智能仍然是發展中的領域,因此,它的從業者必須具備學術思維。
    的頭像 發表于 04-08 14:22 ?853次閱讀
    ML<b class='flag-5'>從業者</b>如何閱讀研究論文
    主站蜘蛛池模板: 久在线观看福利视频 | 日本50人群体交乱 | 精品亚洲AV无码蜜芽麻豆 | 国产免费人成在线视频视频 | 成人性视频全过程 | 国产爱豆果冻传媒在线观看视频 | 美女不要啊 | 免费a视频在线观看 | 亚洲AV无码乱码国产麻豆穿越 | A片毛片免费视频在线看 | 韩国电影久久 | 欧美老少欢杂交另类 | 中文字幕精品视频在线 | 亚洲精品成人无码A片在线 亚洲精品成人久久久影院 亚洲精品成人a在线观看 | 亚洲精品沙发午睡系列 | 国产视频这里只有精品 | 国产人妻人伦精品98 | 欧美 日韩 无码 有码 在线 | 国产中文视频无码成人精品 | 久久这里只精品国产99re66 | 四虎视频最新视频在线观看 | 亚洲 欧美 国产 综合 播放 | 99久久夜色精品国产亚洲AV卜 | 亚洲爆乳少妇精品无码专区 | 老司机福利在 线影院 | 国产精品一国产精品免费 | 孕交videosgratis乌克兰 | 门鱼电影完整版免费版 | 中文字幕免费在线视频 | 国产又湿又黄又硬又刺激视频 | 无人区日本电影在线观看高清 | 俄罗斯美女啪啪 | 国产成人在线免费观看 | 国语自产精品一区在线视频观看 | 国产精品自在在线午夜精品 | 我在厨房摸岳的乳HD在线观看 | 99国产精品人妻无码免费 | 色综合久久天天影视网 | 乱码中字在线观看一二区 | 虫族bl文全肉高h | 国精产品一区二区三区有限公司 |