深度學(xué)習(xí)的靈活性恰好適合于復(fù)雜的 CAD 設(shè)計(jì),DeepMind 的研究者基于 CAD 草圖與自然語(yǔ)言建模的相似性,提出了自動(dòng)生成 CAD 草圖的機(jī)器學(xué)習(xí)模型。
在制造業(yè)中,CAD 的應(yīng)用十分廣泛。憑借著精準(zhǔn)、靈活、快速的特性,CAD 已經(jīng)取代了紙筆畫(huà)圖,并且不再只是應(yīng)用于汽車(chē)制造、航空航天等領(lǐng)域,哪怕小到一個(gè)咖啡杯,生活中幾乎每個(gè)物件都由 CAD 畫(huà)圖建模。CAD 模型中最難制作的部件之一就是高度結(jié)構(gòu)化的 2D 草圖,即每一個(gè) 3D 構(gòu)造的核心。盡管時(shí)代不同了,但 CAD 工程師仍然需要多年的培訓(xùn)和經(jīng)驗(yàn),并且像紙筆畫(huà)圖設(shè)計(jì)的前輩們一樣關(guān)注所有的設(shè)計(jì)細(xì)節(jié)。下一步,CAD 技術(shù)將融合機(jī)器學(xué)習(xí)技術(shù)來(lái)自動(dòng)化可預(yù)測(cè)的設(shè)計(jì)任務(wù),使工程師可以專(zhuān)注于更大層面的任務(wù),以更少的精力來(lái)打造更好的設(shè)計(jì)。在最近的一項(xiàng)研究中,DeepMind 提出了一種機(jī)器學(xué)習(xí)模型,能夠自動(dòng)生成此類(lèi)草圖,且結(jié)合了通用語(yǔ)言建模技術(shù)以及現(xiàn)成的數(shù)據(jù)序列化協(xié)議,具有足夠的靈活性來(lái)適應(yīng)各領(lǐng)域的復(fù)雜性,并且對(duì)于無(wú)條件合成和圖像到草圖的轉(zhuǎn)換都表現(xiàn)良好。
論文鏈接:https://arxiv.org/pdf/2105.02769.pdf使用 PB(Protocol Buffer)設(shè)計(jì)了一種描述結(jié)構(gòu)化對(duì)象的方法,并展示了其在自然 CAD 草圖領(lǐng)域的靈活性;
從最近的語(yǔ)言建模消除冗余數(shù)據(jù)中吸取靈感,提出了幾種捕捉序列化 PB 對(duì)象分布的技術(shù);
使用超過(guò) 470 萬(wàn)精心預(yù)處理的參數(shù)化 CAD 草圖作為數(shù)據(jù)集,并使用此數(shù)據(jù)集來(lái)驗(yàn)證提出的生成模型。事實(shí)上,無(wú)論是在訓(xùn)練數(shù)據(jù)量還是模型能力方面,實(shí)際的實(shí)驗(yàn)規(guī)模都比這更多。


對(duì)于 DeepMind 的這項(xiàng)研究,網(wǎng)友的評(píng)價(jià)非常高。用戶(hù) @Theodore Galanos 表示:「非常棒的解決方案。我曾使用 SketchGraphs 作為多模態(tài)模型的候選方案,但序列的格式和長(zhǎng)度太不容易處理了。等不及在建筑設(shè)計(jì)中也使用這種方法了。」
2D 草圖是機(jī)械 CAD 的核心,是構(gòu)成三維形式的骨架。草圖由通過(guò)特定的約束(例如正切、垂直和對(duì)稱(chēng))相關(guān)聯(lián)的各種線(xiàn)、弧、樣條線(xiàn)和圓組成。這些約束旨在傳達(dá)設(shè)計(jì)意圖,并定義在實(shí)體的各種變換下,形狀應(yīng)該如何發(fā)生變化。下圖說(shuō)明了約束是如何將不同的線(xiàn)、弧等幾何圖形組合創(chuàng)建成特定的形狀的。虛線(xiàn)顯示了丟失約束時(shí)的另一個(gè)有效的解決方案。所有的幾何實(shí)體都位于一個(gè)草圖平面上,共同形成封閉的區(qū)域,供后續(xù)操作(例如放樣和拉伸)使用,以生成復(fù)雜的 3D 幾何。
約束( constraint )使草圖比看起來(lái)要復(fù)雜得多。它們展現(xiàn)了可以間接影響草圖中每個(gè)實(shí)體的關(guān)系。例如,在上圖中,如果在底角保持固定的狀態(tài)下向上拖動(dòng)兩個(gè)圓弧相交的點(diǎn),則心形的大小會(huì)增大。這種轉(zhuǎn)變看似簡(jiǎn)單,但實(shí)際上是所有約束共同作用的結(jié)果。這些約束確保了當(dāng)每個(gè)實(shí)體的尺寸和位置發(fā)生變化時(shí),形狀仍保持著設(shè)計(jì)者想傳達(dá)的狀態(tài)。由于實(shí)體之間復(fù)雜的相互作用,很容易意外地指定一組約束,從而導(dǎo)致草圖無(wú)效。例如,同時(shí)滿(mǎn)足平行和垂直約束的兩條線(xiàn)是無(wú)法繪制的。在復(fù)雜的草圖中,約束依賴(lài)關(guān)系鏈會(huì)導(dǎo)致設(shè)計(jì)人員確定要添加的約束變得極為困難。此外,對(duì)于給定的一組實(shí)體,有許多等效的約束系統(tǒng)能產(chǎn)生類(lèi)似的草圖。一個(gè)高質(zhì)量的草圖通常會(huì)使用一組保留設(shè)計(jì)意圖的約束,這意味著即使更改了實(shí)體參數(shù)(例如尺寸),草圖的語(yǔ)義也得以保留。簡(jiǎn)而言之,無(wú)論實(shí)體尺寸如何變化,上圖中的心形永遠(yuǎn)是心形。捕捉設(shè)計(jì)意圖與選擇一致的約束系統(tǒng)的復(fù)雜性使草圖生成變成極其困難的問(wèn)題。草圖構(gòu)造的復(fù)雜性有些類(lèi)似于自然語(yǔ)言建模。在草圖中選擇下一個(gè)約束或?qū)嶓w就像生成句子中的下一個(gè)單詞,而兩者中的的選擇又必須在語(yǔ)法上起作用(在草圖中形成一個(gè)一致約束系統(tǒng)),并保留設(shè)計(jì)意圖。 在生成自然語(yǔ)言方面,已經(jīng)有了許多成功的工具,其中表現(xiàn)最佳的無(wú)疑是在大量現(xiàn)實(shí)世界數(shù)據(jù)上進(jìn)行訓(xùn)練的機(jī)器學(xué)習(xí)模型。比如 2017 年的 Transformer 架構(gòu),展示了強(qiáng)大的連貫造句的能力。這些自然語(yǔ)言模型中的規(guī)律,是否可以用來(lái)繪制草圖呢?Onshape 是維度驅(qū)動(dòng)設(shè)計(jì)的一個(gè)參數(shù)化實(shí)體建模軟件。但為了存儲(chǔ)和處理草圖,研究者使用 PB,而不是 Onshape API 提供的原始 JSON 格式。使用 PB 具有雙重的優(yōu)勢(shì):由于移除了不必要的信息,結(jié)果數(shù)據(jù)占用的空間更少;使用 PB 語(yǔ)言可以輕松地為結(jié)構(gòu)各異的復(fù)雜物體定義精準(zhǔn)的規(guī)格。一旦設(shè)定好所有必要的對(duì)象類(lèi)型,就需要將數(shù)據(jù)轉(zhuǎn)換為可以通過(guò)機(jī)器學(xué)習(xí)模型來(lái)處理的表格。研究者選擇將草圖表示為 tokens 序列,以便使用語(yǔ)言建模生成草圖。文本格式包含了結(jié)構(gòu)和數(shù)據(jù)的內(nèi)容,這樣使用的優(yōu)勢(shì)是可以應(yīng)用任何現(xiàn)成的文本數(shù)據(jù)建模方法。不過(guò),即使對(duì)于現(xiàn)代語(yǔ)言建模技術(shù),這樣做也是有代價(jià)的:模型為了生成有效的語(yǔ)法,將額外占用模型容量的一部分。解決的手段就是避免使用字節(jié)格式 PB 定義的通用解析器,利用草圖格式的結(jié)構(gòu)來(lái)自定義構(gòu)建設(shè)計(jì)解釋器,即輸入一系列代表草圖創(chuàng)建過(guò)程中各個(gè)決策步驟有效選擇的 tokens。在這種 tokens 序列的格式下設(shè)計(jì)解釋器會(huì)導(dǎo)致 PB 消息有效。在這種格式下,研究者將消息表示為 triplets 序列(????,????,????),其中??是 token 的索引。給定一系列這樣的 triplets,推斷每個(gè) token 對(duì)應(yīng)的確切字段是可能的。實(shí)際上,第一個(gè) token(????,????,????)始終與 objects.kind 相關(guān)聯(lián),因?yàn)樗莿?chuàng)建一個(gè)草圖消息的首選。第二個(gè)字段取決于??1 的具體值。如果??1= 0,那么第一個(gè)對(duì)象是一個(gè)實(shí)體,這意味著第二個(gè) token 對(duì)應(yīng)于 entity.kind。該序列的其余部分以類(lèi)似的方式關(guān)聯(lián)。字段標(biāo)識(shí)符及其在對(duì)象中的位置構(gòu)成了 token 的上下文。因?yàn)樗菇忉?triplets 值的含義以及了解整體數(shù)據(jù)結(jié)構(gòu)更容易,研究者將此信息用作機(jī)器學(xué)習(xí)模型的其他輸入。
如上圖所示,草圖包含了一條線(xiàn)實(shí)體和一個(gè)點(diǎn)實(shí)體。在左列的每個(gè) triplet 中,實(shí)際使用的值以粗體顯示。右列顯示了 triplet 與對(duì)象的哪個(gè)字段有關(guān)聯(lián)。建立模型的主要目標(biāo)是估計(jì)數(shù)據(jù)集 D 中的 2D 草圖 ??data 的分布。就像上文提到的,研究者將像 token 序列一樣處理草圖。在這項(xiàng)工作中,由于相關(guān)原始文本格式的序列長(zhǎng)度挑戰(zhàn),只會(huì)考慮使用用字節(jié)和 triplet 來(lái)表示。從字節(jié)模型取樣很簡(jiǎn)單,該過(guò)程與任何典型的基于 Transformer 的語(yǔ)言建模過(guò)程相同,而 Triplet 模型需要更多的定制處理。
上圖展示了 Triplet 的處理過(guò)程:首先將特殊的 BOS token 嵌入并提供給 Transformer。然后,Transformer 輸出一組 triplets,每個(gè)可能的 token 組一個(gè)。為了確定具體需要發(fā)出哪個(gè) token,應(yīng)用從數(shù)據(jù)規(guī)格中自動(dòng)生成的解釋器(狀態(tài)機(jī)),再選擇合適的 token 組并關(guān)聯(lián)在合成對(duì)象中具有字段的 triplet 的活動(dòng)組件。填入適當(dāng)?shù)淖侄魏螅忉屍鬓D(zhuǎn)換到下一個(gè)狀態(tài)并生成一個(gè)輸出 token,然后將其反饋到該模型。當(dāng)狀態(tài)機(jī)收到最外層重復(fù)字段(即 object.kind)的 “end” triplet 時(shí),停止該過(guò)程。研究者使用了從 Onshape 平臺(tái)上公開(kāi)可用的文檔庫(kù)中獲得的數(shù)據(jù)對(duì)方法進(jìn)行驗(yàn)證。遵循自回歸生成模型的標(biāo)準(zhǔn)評(píng)估方法,研究者使用對(duì)數(shù)可能性作為主要的定量指標(biāo)。此外,研究者還提供了各種隨機(jī)和選定的模型樣本以進(jìn)行定性分析評(píng)估。研究者使用 128 個(gè)通道的批次訓(xùn)練模型以進(jìn)行 10^6 個(gè)權(quán)重更新。每個(gè)通道都可以在 triplet 設(shè)置中容納 1024 個(gè) tokens 的序列,在字節(jié)設(shè)置中容納 1990 個(gè) tokens。為了提高占用率并減少計(jì)算浪費(fèi),研究者動(dòng)態(tài)地填滿(mǎn)了通道,在繼續(xù)前進(jìn)到下一條道之前將盡可能多的例子打包。每個(gè)批次由 32 個(gè) TPU 內(nèi)核并行處理。此外,研究者還使用了 Adam 優(yōu)化器,學(xué)習(xí)率為 10^?4,梯度范數(shù)為 1.0,所有實(shí)驗(yàn)均采用 0.1 的失活率。
如上圖所示,各種模型的可能性都被測(cè)試到了。第三列是草圖測(cè)試樣本中每個(gè)對(duì)象的平均字節(jié)數(shù),第四列是第三列乘以對(duì)象數(shù)。
下圖是從 triplet 模型中取樣的實(shí)體與約束。第一列節(jié)點(diǎn)代表了不同的實(shí)體,節(jié)點(diǎn)從上至下遵循生成的順序。第二列代表著不同的約束,按照序列索引排序。第三列是從頻率最高到最低的約束類(lèi)型。
下圖是條件模型的實(shí)體和約束。左下角是輸入位圖,下例說(shuō)明了模型在分布外輸入時(shí)的表現(xiàn)。
下圖顯示了從非條件模型取樣的各種草圖數(shù)據(jù)分布統(tǒng)計(jì),而括號(hào)中的是 Nucleus 取樣的 top-p 參數(shù)。

這些只是最初的概念驗(yàn)證實(shí)驗(yàn)。DeepMind 表示,希望能夠看到更多利用已開(kāi)發(fā)接口的靈活性?xún)?yōu)勢(shì)開(kāi)發(fā)的應(yīng)用程序,比如以各種草圖屬性為條件,給定實(shí)體來(lái)推斷約束,以自動(dòng)完成圖紙。本文素材來(lái)源于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系刪除。
推薦系統(tǒng)
1、干貨 | 基于用戶(hù)的協(xié)同過(guò)濾推薦算法原理和實(shí)現(xiàn)
2、超詳細(xì)丨推薦系統(tǒng)架構(gòu)與算法流程詳解
3、推薦 :一文從0到1掌握用戶(hù)畫(huà)像知識(shí)體系
機(jī)器學(xué)習(xí)
1、從小白到大師:一文Get決策樹(shù)的分類(lèi)與回歸分析
自然語(yǔ)言處理(NLP)
1、AI自動(dòng)評(píng)審論文,CMU這個(gè)工具可行嗎?我們用它評(píng)審了下Transformer論文
2、Transformer強(qiáng)勢(shì)闖入CV界秒殺CNN,靠的到底是什么"基因"
計(jì)算機(jī)視覺(jué)(CV)
1、9個(gè)小技巧讓您的PyTorch模型訓(xùn)練裝上“渦輪增壓”...
GitHub開(kāi)源項(xiàng)目:
1、火爆GitHub!3.6k Star,中文版可視化神器現(xiàn)身
2、兩次霸榜GitHub!這個(gè)神器不寫(xiě)代碼也可以完成AI算法訓(xùn)練
3、登頂GitHub大熱項(xiàng)目 | 非監(jiān)督GAN算法U-GAT-IT大幅改進(jìn)圖像轉(zhuǎn)換
每周推薦:
1、本周優(yōu)秀開(kāi)源項(xiàng)目分享:無(wú)腦套用格式、開(kāi)源模板最高10萬(wàn)贊
七月在線(xiàn)學(xué)員面經(jīng)分享:
1、先工程后算法:美國(guó)加州材料博后辭職到字節(jié)40萬(wàn)offer
2、 雙非應(yīng)屆生拿下大廠NLP崗40萬(wàn)offer:面試經(jīng)驗(yàn)與路線(xiàn)圖分享
3、轉(zhuǎn)行NLP拿下40萬(wàn)offer:分享我面試中遇到的54道面試題(含參考答案)