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)不再提示

在傳統(tǒng)軟件和AI模型上的半自動(dòng)化調(diào)試工作分享

工程師鄧生 ? 來(lái)源:編程語(yǔ)言Lab ? 作者:林云 ? 2022-09-30 17:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在傳統(tǒng)缺陷定位的研究工作中,很多研究人員把缺陷定位視為一個(gè)推薦問(wèn)題,旨在推薦出哪一片代碼或者哪一行代碼更有可能出錯(cuò)。典型的工作包含(但不限于):

基于頻譜的缺陷定位:SBFL — Spectrum-based Fault Localization 給定一組測(cè)試用例,有些用例通過(guò)有些用例失敗。根據(jù)某一代碼行是否更多地被通過(guò)(或失?。┑臏y(cè)試用例所覆蓋的基本想法,SBFL 可以給出每一行代碼的出錯(cuò)概率。

基于機(jī)器學(xué)習(xí)的缺陷預(yù)測(cè):Defect Prediction

給定一個(gè)代碼數(shù)據(jù)庫(kù),其中每一片代碼都會(huì)被標(biāo)注為包含或者不包含缺陷。該方法對(duì)代碼提取特征(如歷史上的修改次數(shù),代碼行數(shù),代碼特征,圈復(fù)雜度等等),然后用特征向量訓(xùn)練一個(gè)分類(lèi)器來(lái)計(jì)算每一片代碼的出錯(cuò)概率。

Delta 調(diào)試:Delta-Debugging

給定一個(gè)錯(cuò)誤版本和一個(gè)(過(guò)去的)正確版本, 以及一個(gè)測(cè)試用例在正確版本上通過(guò)但在錯(cuò)誤版本上不通過(guò),該方法計(jì)算這兩個(gè)版本之間的哪一個(gè)差異是導(dǎo)致錯(cuò)誤版本出錯(cuò)的原因。

# 我們的基于軌跡的調(diào)試工作#

然而,在程序員調(diào)試的時(shí)候,僅僅推薦出代碼在一個(gè)位置上 的出錯(cuò)概率(比如 70%)很多時(shí)候幫助有限。首先,程序員們很難在沒(méi)有理解出錯(cuò)的成因情況下完成自己的任務(wù)。其次,實(shí)際情況下,關(guān)于如何界定缺陷位置以及如何修改缺陷,不少時(shí)候見(jiàn)仁見(jiàn)智。所以相比于告訴程序員哪里出錯(cuò)了,更重要的是告訴他為什么出錯(cuò)。我們認(rèn)為一個(gè)好的調(diào)試器,會(huì)同時(shí)擁有定位和解釋兩大功能。除了定位,好的調(diào)試器還應(yīng)當(dāng)來(lái)主動(dòng)地幫助程序員在腦海中構(gòu)建關(guān)于代碼的知識(shí)。

目前我們采取了軌跡驅(qū)動(dòng)的做法,希望把代碼調(diào)試的問(wèn)題轉(zhuǎn)化成一個(gè)在軌跡上查找第一個(gè)出錯(cuò)步驟的搜索問(wèn)題。我們希望能產(chǎn)生這個(gè)搜索結(jié)果(推薦結(jié)果)以及搜索過(guò)程(解釋?zhuān)?/p>

# 反饋驅(qū)動(dòng)的調(diào)試方法

第一種通過(guò)程序員跟程序的交互收集程序員的調(diào)試行為來(lái)完成定位推薦。我們讓程序員在軌跡上做反饋,希望用盡可能少的反饋,推薦出最早的錯(cuò)誤步驟,這個(gè)推薦的過(guò)程具有引導(dǎo)性和解釋性,在程序員定位到的那一刻,整個(gè)在軌跡上的交互過(guò)程能幫助理解和分析出錯(cuò)誤的原因。

這是我們?cè)O(shè)計(jì)的工具截圖,軌跡在左邊以可視化的方式進(jìn)行展開(kāi),程序員在右邊可以給出反饋。工具根據(jù)反饋?zhàn)龀鐾扑]并學(xué)習(xí)反饋提高推薦效率。每次推薦也輔之以推薦原因。

cfab0542-39a1-11ed-9e49-dac502259ad0.png

Feedback as Specification 工作截圖

# 軌跡對(duì)比的調(diào)試方法

第二種方法是把程序的執(zhí)行認(rèn)為是一種特殊的參照,來(lái)定位和解釋根因。

這個(gè)方法的應(yīng)用場(chǎng)景是回歸錯(cuò)誤(Regression Bug)[3]。對(duì)一個(gè)回歸錯(cuò)誤,我們有一個(gè)錯(cuò)誤的版本和(過(guò)去)正確的版本,以及一個(gè)無(wú)法通過(guò)的測(cè)試用例。我們對(duì)比兩個(gè)版本的執(zhí)行軌跡,來(lái)生成調(diào)試過(guò)程。

在下圖中,我們可以在工具中看到可視化的軌跡,左邊是錯(cuò)誤的軌跡,然后右邊是正確執(zhí)行的軌跡。

我們自動(dòng)匹配兩條軌跡,來(lái)得到兩個(gè)版本的執(zhí)行差異 (比如,相同時(shí)刻是否讀取和寫(xiě)入了不同的變量,哪一步驟沒(méi)有被執(zhí)行等信息)。

我們使用軌跡匹配關(guān)系來(lái)支持程序員在工具中分析和理解缺陷。我們會(huì)高亮每個(gè)匹配的步驟所對(duì)應(yīng)的源代碼。我們的工具可以推薦一個(gè)全自動(dòng)化的調(diào)試過(guò)程;也可以輔助完成交互式調(diào)試過(guò)程,即,讓程序員交互式地分析和探索特定步驟來(lái)理解代碼(比如用戶(hù)在下方可以直接反饋這個(gè)步驟到底是否應(yīng)該被執(zhí)行,是否讀取了一些錯(cuò)誤的變量)。

cfe29a2a-39a1-11ed-9e49-dac502259ad0.png

Program Execution as Specification 工作截圖

利用軌跡匹配關(guān)系,工具可以完成雙邊切片,在兩邊軌跡上同時(shí)做切片,可以回答以下問(wèn)題:

在過(guò)去的版本當(dāng)中某個(gè)(正確)變量何時(shí)賦值?

現(xiàn)在這個(gè)版本當(dāng)中某個(gè)(錯(cuò)誤)變量何時(shí)賦值?

為何(在正確版本中)本該執(zhí)行的步驟在現(xiàn)有版本中沒(méi)有執(zhí)行?

為何(在正確版本中)不該執(zhí)行的步驟在現(xiàn)有版本中執(zhí)行?

Video demo 1(90 秒):https://github.com/llmhyy/tregression

Video demo2(20 秒):https://youtu.be/LoZOLyLGaxc

這個(gè)視頻展示了我們工具的調(diào)試過(guò)程模擬能力。根據(jù)軌跡對(duì)比,我們自動(dòng)生成程序員在軌跡上的觀察和調(diào)試過(guò)程。

# 技術(shù)原理#

# Trace Alignment 的挑戰(zhàn)

這個(gè)工作中,我們假設(shè)存在一種完美的代碼匹配方式。在軌跡匹配上,我們需要解決一些挑戰(zhàn):

挑戰(zhàn) 1:效率問(wèn)題
一條軌跡可以被視為一連串步驟,如果我們使用經(jīng)典的字符串匹配算法,一條軌跡是長(zhǎng)度是 m ,另外一條軌跡長(zhǎng)度是 n ,那它的復(fù)雜度就是 O(mn)。一般的軌跡長(zhǎng)度約為 100 萬(wàn)步。一般的單機(jī)就難以支持實(shí)際匹配效率。

挑戰(zhàn) 2:匹配選擇
程序的執(zhí)行中會(huì)有很多循環(huán)迭代。每次迭代都會(huì)執(zhí)行完全相同的指令,我們?nèi)绾纹ヅ溥@些指令的執(zhí)行?

挑戰(zhàn) 3:版本變更
最后,兩個(gè)版本的代碼存在代碼修改導(dǎo)致的差異。這些修改可能會(huì)改變控制流。然而,代碼層面上控制流的變化有時(shí)候并不會(huì)影響匹配邏輯。比如說(shuō)當(dāng)一個(gè) while 循環(huán)被修改為一個(gè) if 條件判斷,第一次的循環(huán)執(zhí)行可以跟這個(gè) if 條件判斷的執(zhí)行所配上,我們?cè)谒惴ㄉ先绾渭嫒葸@種情況?

# Trace Alignment 的性質(zhì)

在這個(gè)工作中,我們提出軌跡匹配的復(fù)雜度是線(xiàn)性的,這意味著軌跡匹配其實(shí)可以比字符串匹配“便宜”的多。這得益于程序的結(jié)構(gòu)信息可以幫助我們剪枝大量搜索空間,提高運(yùn)行效率。這里,我們提出了三個(gè)軌跡匹配性質(zhì),來(lái)加速匹配過(guò)程。

這里,我們提出了三個(gè)軌跡匹配性質(zhì),來(lái)加速匹配過(guò)程。

迭代執(zhí)行的原子性

Iteration Boundary Preserving (IBP) Property

程序執(zhí)行的時(shí)候會(huì)產(chǎn)生很多迭代,而每一次循環(huán)執(zhí)行所產(chǎn)生的迭代具有匹配上的原子性。因此,我們可以根據(jù)循環(huán)把軌跡分段,迭代段中的步驟不能跨段匹配。

d0176886-39a1-11ed-9e49-dac502259ad0.png

迭代執(zhí)行的匹配時(shí)序性

Iteration order preserving (IOP) property

一個(gè)循環(huán)可以產(chǎn)生很多迭代段,我們提出,段和段的匹配只能按照順序。具體原理參加我們論文的證明。

d061d2a4-39a1-11ed-9e49-dac502259ad0.png

基于剛才的兩個(gè)性質(zhì),我們可以把兩條軌跡轉(zhuǎn)化成兩棵樹(shù)。樹(shù)里面每一個(gè)父節(jié)點(diǎn)表示一個(gè)迭代段,每個(gè)葉節(jié)點(diǎn)代表一個(gè)步驟。通過(guò)這個(gè)樹(shù)的形式,我們可以自頂向下進(jìn)行匹配,顯然這個(gè)算法是線(xiàn)性的。

d082a3e4-39a1-11ed-9e49-dac502259ad0.png

首次迭代匹配的寬松性 Firstiterationrelaxation (FIP) property

修改會(huì)改變控制流語(yǔ)義。這個(gè)性質(zhì)中,我們定義什么樣的控制流修改并不會(huì)影響匹配語(yǔ)義。這里,我們調(diào)整了樹(shù)的構(gòu)造方法來(lái)兼容這種情況。具體細(xì)節(jié)請(qǐng)參見(jiàn)我們的論文。

# 軌跡匹配的分類(lèi)

當(dāng)兩條軌跡的匹配關(guān)系被確定,那我們就可以分類(lèi)出如下匹配關(guān)系:

執(zhí)行不變(Identical如果錯(cuò)誤軌跡上的一步可以跟正確軌跡上的一步配起來(lái),并且它們擁有相同的讀寫(xiě)變量,我們認(rèn)為它是一個(gè)正確的步驟。

變量變化(Data-different如果錯(cuò)誤軌跡上的一步可以跟正確軌跡上的一步配起來(lái),但是它們讀了不同的變量,那我們認(rèn)為它的數(shù)據(jù)流產(chǎn)生了錯(cuò)誤,此時(shí)就可以在雙邊做切片,去追溯這個(gè)正確和錯(cuò)誤變量的來(lái)源。

執(zhí)行流變化(Control-different如果錯(cuò)誤軌跡上的一個(gè)步驟,它不涉及代碼修改,卻沒(méi)有辦法配到正確軌跡上的任何一步,那我們認(rèn)為它的控制流出錯(cuò)了,那此時(shí)通過(guò)控制流的切片以及其他一些方式的分析,去了解為什么這一步不應(yīng)該發(fā)生。

代碼變化(Code different執(zhí)行的代碼發(fā)生了變化。

由此,我們從軌跡上的最終報(bào)錯(cuò)開(kāi)始,不斷在兩條軌跡上做雙邊切片,生成調(diào)試過(guò)程,并作為解釋。

# 實(shí)驗(yàn)和結(jié)果

在實(shí)驗(yàn)中,我們收集了 24 個(gè)現(xiàn)實(shí)中的回歸錯(cuò)誤。實(shí)驗(yàn)結(jié)果表明我們的技術(shù)在查準(zhǔn)和查全上具有優(yōu)勢(shì)。

d10c5382-39a1-11ed-9e49-dac502259ad0.png

更重要的是,相比于傳統(tǒng)切片,我們的解釋具有很好的簡(jiǎn)潔性。

d1238304-39a1-11ed-9e49-dac502259ad0.png

總結(jié):我們通過(guò)生成這樣的調(diào)試方式,并輔助以交互式工具設(shè)計(jì),讓程序員更好的去學(xué)習(xí)、理解和分析代碼。一旦他們能夠理解此中原理,如果定位和修復(fù),是程序員自己見(jiàn)仁見(jiàn)智的決定。

# 從程序執(zhí)行到模型訓(xùn)練#

程序執(zhí)行在傳統(tǒng)軟件當(dāng)中其實(shí)是非常重要的手段,有時(shí)候我們稱(chēng)之為 record & reply debugging。在下一個(gè)工作中,我們把同樣的思想運(yùn)用在模型訓(xùn)練上,來(lái)幫助數(shù)據(jù)科學(xué)家以及程序員們理解模型訓(xùn)練過(guò)程。從人工智能的視角上,我們也拓展了基于過(guò)程的可解釋AI這一領(lǐng)域。

# 可解釋 AI 領(lǐng)域工作的梳理

目前的可解釋 AI 工作可以分類(lèi)為以下兩類(lèi)。

attribution problem

這類(lèi)工作旨在分析一個(gè)樣本的哪些部分對(duì)最后的預(yù)測(cè)影響最大。典型的工作包含 integral gradient 和 gradcam。

influence function problem

這類(lèi)工作旨在找到對(duì)某個(gè)預(yù)測(cè)結(jié)果影響最大的訓(xùn)練樣本。

# From "What" to "How"

而我們希望了解模型(以及其預(yù)測(cè)能力)是通過(guò)多次迭代訓(xùn)練產(chǎn)生的,比如我們?cè)谡{(diào)試模型中希望能回答以下問(wèn)題:

對(duì)于高維空間中的分類(lèi)邊界和高維表示,他們是如何真正形成的?

哪些樣本相比于其他樣本,被模型學(xué)習(xí)較為困難的原因?

模型在訓(xùn)練過(guò)程中是如何取舍學(xué)習(xí)樣本的?

......

# Deep Visual Insight (DVI) 工具

基于這些想法,我們提出了Time-travelling Visualization框架 ,支持深度神經(jīng)網(wǎng)絡(luò)分類(lèi)器的可視化。我們希望把在高維上發(fā)生的事情在低維上可視化呈現(xiàn),以便讓人進(jìn)一步的理解和分析。

以下圖為例,每一種顏色對(duì)應(yīng)一種分類(lèi),每一塊區(qū)域?qū)?yīng)高維空間上的一個(gè)分類(lèi)區(qū)域,每一個(gè)點(diǎn)對(duì)應(yīng)一個(gè)樣本,點(diǎn)的顏色代表這個(gè)樣本的標(biāo)簽,這個(gè)點(diǎn)的所在區(qū)域就代表模型把這個(gè)點(diǎn)預(yù)測(cè)成了類(lèi)。比如,一個(gè)紅色的點(diǎn)且在一個(gè)紅色區(qū)域里,可以代表一張圖片狗被預(yù)測(cè)成了狗這一個(gè)分類(lèi);而一個(gè)棕色點(diǎn)在一個(gè)紅色區(qū)域里面,可能是一架飛機(jī)被預(yù)測(cè)成了一個(gè)狗。

d13a6cae-39a1-11ed-9e49-dac502259ad0.png

給定一個(gè)模型,我們把它的高維分類(lèi)邊界可視化在畫(huà)布上。這樣我們就能知道,每個(gè)樣本離分類(lèi)邊界有多遠(yuǎn),樣本與樣本之間有多近,等信息。

更進(jìn)一步,我們可以記錄模型訓(xùn)練過(guò)程中的各種“快照”。每個(gè)快照可以得到一副畫(huà)布,通過(guò)組合畫(huà)布,我們就能得到訓(xùn)練過(guò)程的一個(gè)動(dòng)畫(huà)。

在這個(gè)動(dòng)畫(huà)上人們可以從概念上去理解,在整個(gè)高維空間上分類(lèi)邊界是怎么樣被重塑和改變的。而它的點(diǎn)可以認(rèn)為是在高維的 embedding,它是怎么被學(xué)到的,點(diǎn)和點(diǎn)之間的鄰居關(guān)系是怎么形成的?

d16a07a2-39a1-11ed-9e49-dac502259ad0.png

# 示例說(shuō)明

這里,我以模型的對(duì)抗訓(xùn)練為例來(lái)說(shuō)明這個(gè)工具所能提供的幫助。給定一個(gè)模型,我們對(duì)這個(gè)模型產(chǎn)生對(duì)抗樣本。為了增強(qiáng)模型的魯棒性,我們可以把這些對(duì)抗樣本喂到模型里重新訓(xùn)練。

我們可以看到在原來(lái)測(cè)試集上這個(gè)模型表現(xiàn)良好,測(cè)試準(zhǔn)確率能達(dá)到 92%;但是對(duì)生成的對(duì)抗樣本來(lái)說(shuō),它的預(yù)測(cè)準(zhǔn)確率只有 50%。

Accuracy
Adversarial Samples 51.3%
Testing Samples 92.3%

在得到對(duì)抗樣本之后,在對(duì)抗訓(xùn)練之前,我們可以看到下圖所示的可視化效果。這個(gè)紅色的點(diǎn)是一個(gè)測(cè)試樣本,它被模型正確預(yù)測(cè)。我們可以看到紅色點(diǎn)落在紅色的區(qū)域里,同時(shí)有 10 個(gè)相鄰的對(duì)抗樣本為棕色,表示它們都預(yù)測(cè)錯(cuò)了。

d46c7eee-39a1-11ed-9e49-dac502259ad0.png

在做第一輪對(duì)抗訓(xùn)練的時(shí)候,我們?cè)谙聢D上發(fā)現(xiàn)這個(gè)紅色點(diǎn)被挪走了。這是因?yàn)槟P蜑榱祟A(yù)測(cè)他周?chē)囊恍?duì)抗樣本鄰居,需要把它們挪到其他區(qū)域。通俗而言,紅色的點(diǎn)被“帶跑”了。

我們看指標(biāo),發(fā)現(xiàn)對(duì)抗樣本的準(zhǔn)確率確實(shí)提高了,但測(cè)試樣本的準(zhǔn)確率反而下降了。這個(gè)現(xiàn)象在后續(xù)訓(xùn)練中會(huì)不斷變得明顯。

最后我們會(huì)發(fā)現(xiàn)就是不止這幾個(gè)點(diǎn),有很多的對(duì)抗樣本點(diǎn)都被拉回了自己的區(qū)域,但它們被拉回自己區(qū)域的時(shí)候,他們附近的訓(xùn)練樣本,也跟著被“帶跑”了。

Accuracy
Adversarial Samples 67.8%(提升16.5%)
Testing Samples 90.3%(降低 2.0%)

d50796d6-39a1-11ed-9e49-dac502259ad0.png

通過(guò)這個(gè)現(xiàn)象,我們可以得到一些思考。

比如說(shuō)要使用對(duì)抗樣本或者對(duì)抗學(xué)習(xí)這樣的技術(shù),現(xiàn)有模型的表示能力是不是太弱了?模型在權(quán)衡不同樣本時(shí),會(huì)做什么樣的取舍?或者說(shuō)我們?yōu)榱唆敯粜裕瑧?yīng)該要犧牲多大的正確性?

可視化本身也許無(wú)法回答這些問(wèn)題,但是可視化的意義在于把這個(gè)現(xiàn)象展示出來(lái),引發(fā)人們更多的思考。

然后另外一個(gè)現(xiàn)象是,當(dāng)我們把整個(gè)可視化的過(guò)程記錄下來(lái)之后,我們會(huì)發(fā)現(xiàn)臟數(shù)據(jù)的移動(dòng)和正常數(shù)據(jù)移動(dòng)其實(shí)也很不一樣。對(duì)于正常數(shù)據(jù)即橘黃色的點(diǎn)來(lái)說(shuō),他在第一和第二個(gè) epoch 中就已經(jīng)學(xué)得差不多了。而對(duì)于那些黑色的點(diǎn)即臟數(shù)據(jù)的點(diǎn),一般都非?!邦B固”,最后是被模型強(qiáng)行拉回 Label 所指定的區(qū)域。所以這些現(xiàn)象也可以輔助我們?nèi)シ治觥?br />
d5b86b3c-39a1-11ed-9e49-dac502259ad0.png

#DVI Tool: A Tensorboard Plugin#

我們基于 Tensorboard 框架完成了我們的工具。我們的工具還包含了如何幫助用戶(hù)理解、查詢(xún)、分析、高亮一些點(diǎn),比如可以讓用戶(hù)看一些具體的圖片,具體的例子等。

# 可視化模型技術(shù)實(shí)現(xiàn)

## 假設(shè)

我們假設(shè),一個(gè)分類(lèi)模型需要有兩部分組成。一部分是表征學(xué)習(xí),即,一個(gè)樣本會(huì)被轉(zhuǎn)化成一個(gè)表征;一部分是表征擬合,即,學(xué)習(xí)的表征學(xué)習(xí)被進(jìn)一步擬合到一個(gè)特定的分類(lèi)。

對(duì)于圖像識(shí)別來(lái)說(shuō),前端的表征學(xué)習(xí)可以是卷積層,然后卷完之后會(huì)輸出一個(gè) gap 向量被進(jìn)一步預(yù)測(cè)分類(lèi)。對(duì)于自然語(yǔ)言處理來(lái)說(shuō),那前端有可能是用 transformer,然后后面接個(gè) fitter,去預(yù)測(cè)分類(lèi)。

d619d6b0-39a1-11ed-9e49-dac502259ad0.png

## 概述

我們的可視化模型分兩部分。

第一個(gè)部分是降維的過(guò)程,給一個(gè)高維的表征,我們希望把它從高維降到低維,由此我們可以確定每個(gè)樣本在畫(huà)布上的位置。

第二個(gè)部分是升維的過(guò)程,這個(gè)升維過(guò)程是希望把任意一個(gè)坐標(biāo)返回到高維,如果都能往高維投射的話(huà),任意一個(gè)點(diǎn)就會(huì)投射成一個(gè)表征,這個(gè)表征就可以喂給 fitter 去做一次預(yù)測(cè)。有了這樣的過(guò)程之后,就可以對(duì)畫(huà)布上的每個(gè)像素點(diǎn)進(jìn)行染色。

d6402680-39a1-11ed-9e49-dac502259ad0.png

## 空間 & 時(shí)間性質(zhì)

這兩步實(shí)現(xiàn)之后,我們就能完成從高到低進(jìn)行降維,從低到高維去畫(huà)背景。從高維到低維,一定會(huì)有信息丟失;從低維到高維,也需要有信息增強(qiáng)。由此,我們定義了時(shí)間上和空間上的性質(zhì),讓模型學(xué)習(xí)的時(shí)候能夠知道哪些信息需要優(yōu)先保留和增強(qiáng)。

Neighbor Preserving:高維的鄰居在低維也必須是鄰居,即鄰居保持屬性。

Boundary Distance Preserving在高維上距離比較近的邊界上的鄰居,也能夠在低維上被保持。

Inverse Projection Preserving一個(gè)點(diǎn)從高維到低維,再?gòu)牡途S重新增強(qiáng)到高維的過(guò)程中,要使信息丟失率最小。

Temporal Continuity:由于歷史上的模型訓(xùn)練快照會(huì)被記錄,要使相鄰兩個(gè)快照的可視化結(jié)果是相近的(該性質(zhì)考慮進(jìn)去之后,用戶(hù)看起來(lái)就會(huì)更加的方便)。

在實(shí)踐層面上,我們用一個(gè) auto-encoder 來(lái)實(shí)現(xiàn)升維和降維能力。auto-encoder 的編碼的部分就是降維的過(guò)程,而它的解碼的部分就是升維的過(guò)程,我們會(huì)為每一個(gè) classifier 學(xué)習(xí)一個(gè) auto-encoder。在訓(xùn)練 auto-encoder 時(shí),我們把以上的性質(zhì)轉(zhuǎn)化為訓(xùn)練的損失函數(shù)。

# 實(shí)驗(yàn)和結(jié)果

這里是我們實(shí)驗(yàn)的結(jié)果,在剛才所述的 4 個(gè)屬性上,整體效果比較好。相比于以往的降維技術(shù),我們?cè)谛屎蜏?zhǔn)確率上有較大的提升。同時(shí),也是第一款生成動(dòng)畫(huà)的技術(shù)。 d6608ef2-39a1-11ed-9e49-dac502259ad0.png


# 總結(jié)#

在這個(gè)報(bào)告中,我簡(jiǎn)述了我們基于軌跡的代碼調(diào)試和模型調(diào)試技術(shù)?;镜乃枷攵际怯涗洺绦驁?zhí)行或者模型訓(xùn)練的軌跡,在軌跡收集之上我們做了更多的分析來(lái)支持程序員和數(shù)據(jù)科學(xué)家來(lái)觀察、理解和分析目標(biāo)程序和模型。

對(duì)于程序分析技術(shù),我們希望把兩個(gè)軌跡對(duì)比起來(lái),這樣我們可以在某種程度上生成調(diào)試的過(guò)程,生成定位的解釋?zhuān)@樣可以更加有效的輔助程序員學(xué)習(xí)這個(gè)代碼,并且?guī)椭ㄎ弧Mㄋ锥裕哄e(cuò)誤定位可能是程序員見(jiàn)仁見(jiàn)智的決定,但是是否能幫助程序員更好地理解代碼應(yīng)該是未來(lái)代碼調(diào)試器要做更重要的事。

對(duì)于可視化分析,我們希望把高維上發(fā)生的事件,以直觀的方式展現(xiàn)在數(shù)據(jù)科學(xué)家和程序員之前。由此,幫助他們進(jìn)一步觀察和分析各種訓(xùn)練時(shí)的現(xià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)試技術(shù):從傳統(tǒng)軟件到 AI 模型開(kāi)發(fā)

文章出處:【微信號(hào):編程語(yǔ)言Lab,微信公眾號(hào):編程語(yǔ)言Lab】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Nordic收購(gòu) Neuton.AI 關(guān)于產(chǎn)品技術(shù)的分析

    生成比傳統(tǒng)框架(如 TensorFlow、PyTorch 等)小 10 倍的模型,模型體積可低至個(gè)位數(shù) KB,并且推理速度更快、功耗更低。此次收購(gòu)將 Neuton 的自動(dòng)化 TinyM
    發(fā)表于 06-28 14:18

    AI正面吊集裝箱識(shí)別系統(tǒng)如何革新港口自動(dòng)化管理?

    現(xiàn)代港口、碼頭和物流園區(qū)中,集裝箱的高效識(shí)別與管理是提升運(yùn)營(yíng)效率的關(guān)鍵。傳統(tǒng)的集裝箱號(hào)碼記錄依賴(lài)人工抄寫(xiě)或半自動(dòng)化設(shè)備,不僅速度慢,還容易出錯(cuò)。隨著
    的頭像 發(fā)表于 06-25 14:48 ?100次閱讀

    普源MSO8000系列示波器多總線(xiàn)調(diào)試自動(dòng)化方案

    隨著現(xiàn)代電子系統(tǒng)的復(fù)雜性不斷提升,多總線(xiàn)通信(如I2C、SPI、CAN、UART等)嵌入式系統(tǒng)、工業(yè)控制、汽車(chē)電子等領(lǐng)域中的應(yīng)用愈發(fā)廣泛。傳統(tǒng)的手動(dòng)調(diào)試方式已難以滿(mǎn)足高效、精準(zhǔn)的測(cè)試需求,
    的頭像 發(fā)表于 06-19 15:12 ?183次閱讀
    普源MSO8000系列示波器多總線(xiàn)<b class='flag-5'>調(diào)試</b>的<b class='flag-5'>自動(dòng)化</b>方案

    18650動(dòng)力電池組PACK生產(chǎn)線(xiàn):半自動(dòng)化生產(chǎn)的卓越之選

    與高效的完美結(jié)合 18650動(dòng)力電池組PACK生產(chǎn)線(xiàn)的半自動(dòng)化生產(chǎn),巧妙融合了人工操作與自動(dòng)化設(shè)備的優(yōu)勢(shì)。一些關(guān)鍵環(huán)節(jié),如物料搬運(yùn)、復(fù)雜裝配任務(wù)和質(zhì)量檢測(cè)等,人工憑借靈活性和判斷力高效完成;而在重復(fù)性高、精度要求嚴(yán)格的
    的頭像 發(fā)表于 04-16 10:15 ?248次閱讀

    首創(chuàng)開(kāi)源架構(gòu),天璣AI開(kāi)發(fā)套件讓端側(cè)AI模型接入得心應(yīng)手

    Studio提供了最優(yōu)解。Neuron Studio可針對(duì)模型到應(yīng)用,提供一站式、全鏈路、自動(dòng)化的開(kāi)發(fā)協(xié)助,不僅讓AI應(yīng)用開(kāi)發(fā)的全流程可視,更帶來(lái)整個(gè)多種工具的一站式開(kāi)發(fā)能力,還支
    發(fā)表于 04-13 19:52

    自動(dòng)化標(biāo)注技術(shù)推動(dòng)AI數(shù)據(jù)訓(xùn)練革新

    標(biāo)貝自動(dòng)化數(shù)據(jù)標(biāo)注平臺(tái)全棧數(shù)據(jù)標(biāo)注場(chǎng)景式中搭載了大模型預(yù)標(biāo)注和自動(dòng)化標(biāo)注能力,并應(yīng)用于3D點(diǎn)云、2D圖像、音頻、文本等數(shù)據(jù)場(chǎng)景的大規(guī)模、復(fù)雜任務(wù)和常規(guī)任務(wù)的標(biāo)注中。
    的頭像 發(fā)表于 03-14 16:46 ?678次閱讀

    工業(yè)射頻RFID讀寫(xiě)器對(duì)半自動(dòng)化制造生產(chǎn)的應(yīng)用案例

    為應(yīng)對(duì)市場(chǎng)對(duì)個(gè)性產(chǎn)品的需求及行業(yè)競(jìng)爭(zhēng)壓力,公司啟動(dòng)半自動(dòng)產(chǎn)線(xiàn)改造項(xiàng)目,引入機(jī)械臂、激光切割機(jī)等設(shè)備,并以RFID技術(shù)為核心,實(shí)現(xiàn)生產(chǎn)全流程的自動(dòng)化與數(shù)據(jù)管理。
    的頭像 發(fā)表于 03-05 14:30 ?324次閱讀

    HFSS 自動(dòng)化建模工具

    工作需求,自己寫(xiě)的HFSS參數(shù)自動(dòng)化建模工具,目前只實(shí)現(xiàn)了常用的四種模型,可定制,如需可聯(lián)系 qq:1300038043 附件下載鏈接:https://pan.baidu.com
    發(fā)表于 02-27 17:44

    AI自動(dòng)化生產(chǎn):深度學(xué)習(xí)質(zhì)量控制中的應(yīng)用

    隨著科技的飛速發(fā)展,人工智能(AI)與深度學(xué)習(xí)技術(shù)正逐步滲透到各個(gè)行業(yè),特別是自動(dòng)化生產(chǎn)中,其潛力與價(jià)值愈發(fā)凸顯。深度學(xué)習(xí)軟件不僅使人工和基于規(guī)則的算法難以勝任的大量生產(chǎn)任務(wù)得以
    的頭像 發(fā)表于 01-17 16:35 ?699次閱讀
    <b class='flag-5'>AI</b><b class='flag-5'>自動(dòng)化</b>生產(chǎn):深度學(xué)習(xí)<b class='flag-5'>在</b>質(zhì)量控制中的應(yīng)用

    AI工作自動(dòng)化是做什么的

    AI工作自動(dòng)化是指利用人工智能技術(shù),對(duì)工作流程中的重復(fù)性、規(guī)則明確的任務(wù)進(jìn)行自動(dòng)化處理的過(guò)程。那么,A
    的頭像 發(fā)表于 01-06 17:57 ?724次閱讀

    AI編程工業(yè)自動(dòng)化設(shè)備應(yīng)用趨勢(shì)

    ? ? ? AI編程工業(yè)設(shè)備的應(yīng)用已經(jīng)逐漸成為一種趨勢(shì),其強(qiáng)大的數(shù)據(jù)處理、分析和預(yù)測(cè)能力為工業(yè)生產(chǎn)帶來(lái)了革命性的變化。隨著技術(shù)的不斷進(jìn)步和創(chuàng)新應(yīng)用場(chǎng)景的日益豐富,AI編程
    的頭像 發(fā)表于 12-19 07:38 ?990次閱讀

    語(yǔ)言模型自動(dòng)化的優(yōu)點(diǎn)

    語(yǔ)言模型自動(dòng)化不僅優(yōu)化了信息處理流程,提高了工作效率,還促進(jìn)了跨文化交流,增強(qiáng)了人機(jī)交互的智能水平。以下,是對(duì)語(yǔ)言模型
    的頭像 發(fā)表于 11-26 11:17 ?417次閱讀

    自動(dòng)化AI開(kāi)發(fā)平臺(tái)功能介紹

    自動(dòng)化AI開(kāi)發(fā)平臺(tái)集成了多種算法、工具和框架,旨在幫助開(kāi)發(fā)者更快速、高效地設(shè)計(jì)、訓(xùn)練、部署和管理AI模型。以下,AI部落小編將詳細(xì)介紹
    的頭像 發(fā)表于 11-14 09:29 ?781次閱讀

    AI模型智能座艙軟件測(cè)試中的應(yīng)用與思考

    背景下,AI模型作為一種強(qiáng)大的工具,有望提升自動(dòng)化測(cè)試效率、改善用戶(hù)體驗(yàn),進(jìn)而推動(dòng)整個(gè)行業(yè)的發(fā)展。 01 智能座艙軟件測(cè)試現(xiàn)狀 智能座艙嵌入了大量的
    的頭像 發(fā)表于 10-28 16:49 ?853次閱讀
    <b class='flag-5'>AI</b>大<b class='flag-5'>模型</b><b class='flag-5'>在</b>智能座艙<b class='flag-5'>軟件</b>測(cè)試中的應(yīng)用與思考

    AI模型傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    AI模型傳統(tǒng)機(jī)器學(xué)習(xí)多個(gè)方面存在顯著的區(qū)別。以下是對(duì)這些區(qū)別的介紹: 一、模型規(guī)模與復(fù)雜度 AI
    的頭像 發(fā)表于 10-23 15:01 ?2590次閱讀