兩位谷歌華人研究員發(fā)布首個(gè)純視覺「移動(dòng)UI理解」模型,四大任務(wù)刷新SOTA
對(duì)AI來說,「玩手機(jī)」可不是一件易事,光是識(shí)別各種用戶界面(user interface, UI)就是一大難題:不光要識(shí)別出各個(gè)組件的類型,還要根據(jù)其使用的符號(hào)、位置來判斷組件的功能。
對(duì)移動(dòng)設(shè)備UI的理解,能夠幫助實(shí)現(xiàn)各種人機(jī)交互任務(wù),比如UI自動(dòng)化等。
之前的工作對(duì)移動(dòng)UI的建模通常依賴于屏幕的視圖層次信息,直接利用了UI的結(jié)構(gòu)數(shù)據(jù),并借此繞過了從屏幕像素開始對(duì)組件進(jìn)行識(shí)別的難題。
不過并不是所有的場景下都有可用的視圖層次,這種方法通常會(huì)因?yàn)閷?duì)象描述的缺失或結(jié)構(gòu)信息的錯(cuò)位而輸出錯(cuò)誤結(jié)果,所以盡管使用視圖層次結(jié)構(gòu)可以提升短期性能,但最終可能會(huì)阻礙模型的適用性和泛化性能。
最近Google Research的兩位研究人員提出了一個(gè)可用于移動(dòng)端UI理解的純視覺方法Spotlight,在視覺語言模型的基礎(chǔ)上,只需要將用戶界面的截圖和屏幕上的一個(gè)感興趣的區(qū)域(focus)作為輸入即可。
論文鏈接:https://arxiv.org/pdf/2209.14927.pdf
Spotlight的這種通用架構(gòu)很容易擴(kuò)展,并且能夠執(zhí)行一系列的用戶界面建模任務(wù)。
文中的實(shí)驗(yàn)結(jié)果表明,Spotlight模型在幾個(gè)有代表性的用戶界面任務(wù)上均達(dá)到了sota的性能,成功超越之前使用屏幕截圖和視圖層次結(jié)構(gòu)作為輸入的方法。
此外,文中還探索了Spotlight模型的多任務(wù)學(xué)習(xí)和few-shot提示的能力,在多任務(wù)學(xué)習(xí)方向上也展現(xiàn)出了有前景的實(shí)驗(yàn)結(jié)果。
論文作者Yang Li是谷歌研究中心的高級(jí)研究員,也是華盛頓大學(xué) CSE 的附屬教員,在中國科學(xué)院獲得計(jì)算機(jī)科學(xué)博士學(xué)位,并在加州大學(xué)伯克利分校 EECS 進(jìn)行博士后研究。他領(lǐng)導(dǎo)開發(fā)了下一個(gè) Android 應(yīng)用程序預(yù)測,也是 Android 上在設(shè)備上交互機(jī)器學(xué)習(xí)的先驅(qū),還開發(fā)手勢搜索等。
Spotlight:理解手機(jī)界面
對(duì)用戶界面的計(jì)算理解是實(shí)現(xiàn)智能 UI 行為的關(guān)鍵一步。
在此之前,該團(tuán)隊(duì)研究過各種 UI 建模任務(wù),包括窗口標(biāo)題(widget)、屏幕摘要(screen summarization)和command grounding,這些任務(wù)解決了不同交互場景下的自動(dòng)化和可訪問性問題。
后續(xù)還利用這些功能演示了機(jī)器學(xué)習(xí)如何幫助「用戶體驗(yàn)從業(yè)者」通過診斷可點(diǎn)擊性混淆來提高 UI 質(zhì)量,并為改進(jìn) UI 設(shè)計(jì)提供思路,所有這些工作與其他領(lǐng)域的工作共同展現(xiàn)了深度神經(jīng)網(wǎng)絡(luò)是如何潛在地改變終端用戶的體驗(yàn)及交互設(shè)計(jì)實(shí)踐。
雖然在處理「單個(gè) UI 任務(wù)」時(shí)取得了一定程度上的成功,但接下來的問題是:是否能夠從「特定 UI 識(shí)別」任務(wù)中提升對(duì)「通用 UI」的處理能力。
Spotlight模型也是對(duì)這個(gè)問題的解決方案進(jìn)行的第一次嘗試,研究人員開發(fā)了一個(gè)多任務(wù)模型來同時(shí)處理一系列 UI 任務(wù),盡管工作上取得了一些進(jìn)展,但仍存在一些難題。
之前的 UI 模型嚴(yán)重依賴于 UI 視圖層次結(jié)構(gòu),也就是移動(dòng)端 UI 屏幕的結(jié)構(gòu)或元數(shù)據(jù),比如網(wǎng)頁的文檔對(duì)象模型(Document Object Model),模型直接獲取屏幕上 UI 對(duì)象的詳細(xì)信息,包括類型、文本內(nèi)容和位置等。
這種元數(shù)據(jù)使得以前的模型相對(duì)于純視覺的模型來說更有優(yōu)勢,但視圖層次結(jié)構(gòu)數(shù)據(jù)的可訪問性是一大難題,對(duì)象描述缺失或結(jié)構(gòu)信息對(duì)齊不當(dāng)?shù)葐栴}經(jīng)常發(fā)生。
因此,盡管使用視圖層次結(jié)構(gòu)可以獲得短期收益,但它最終可能會(huì)阻礙模型的性能和適用性。此外,之前的模型必須處理跨數(shù)據(jù)集和跨 UI 任務(wù)的異構(gòu)信息,往往會(huì)導(dǎo)致更復(fù)雜的模型體系結(jié)構(gòu),最終難以跨任務(wù)擴(kuò)展或泛化。
Spotlight模型
純視覺的Spotlight方法旨在完全從原始像素中實(shí)現(xiàn)通用的用戶界面理解能力。
研究人員引入了一個(gè)統(tǒng)一的方法來表示不同的 UI 任務(wù),其中的信息可以通用地表示為兩種核心模式:視覺和語言,其中視覺模式捕獲用戶從 UI 屏幕上看到的內(nèi)容,語言模式可以是自然語言或任何與任務(wù)相關(guān)的token序列。
Spotlight 模型輸入為一個(gè)三元組:屏幕快照、屏幕上感興趣的區(qū)域和任務(wù)的文本描述;輸出是關(guān)于感興趣區(qū)域的文本描述或響應(yīng)。
模型的這種簡單的輸入和輸出表示更加通用,可以適用于各種 UI 任務(wù),并且可擴(kuò)展到多種模型架構(gòu)上。
模型設(shè)計(jì)上能夠進(jìn)行一系列的學(xué)習(xí)策略和設(shè)置,從特定任務(wù)的微調(diào),到多任務(wù)學(xué)習(xí)和few-shot學(xué)習(xí)。
Spotlight 模型能夠利用了現(xiàn)有的架構(gòu)構(gòu)建模塊,比如 ViT 和 T5,這些模塊在高資源的通用視覺語言領(lǐng)域中進(jìn)行了預(yù)訓(xùn)練,可以直接在這些通用領(lǐng)域模型之上進(jìn)行模型構(gòu)建。
因?yàn)?UI 任務(wù)通常與屏幕上的特定對(duì)象或區(qū)域有關(guān),模型需要能夠聚焦于對(duì)象或感興趣的區(qū)域,研究人員將焦點(diǎn)區(qū)域抽取器(Focus Region Extractor)引入到視覺語言模型中,使模型能夠根據(jù)屏幕上下文聚焦于該區(qū)域。
研究人員還設(shè)計(jì)了一個(gè)區(qū)域總結(jié)器(Region Summarizer),通過使用區(qū)域邊界框生成的注意力query來獲得基于 ViT 編碼的屏幕區(qū)域的潛在表征。
具體來說,就是每個(gè)坐標(biāo)(標(biāo)量值,包括左,上,右或底部)的邊界框,在屏幕截圖中表示為黃色框。
首先通過一個(gè)多層感知機(jī)(MLP)將輸入轉(zhuǎn)換為作為一個(gè)稠密向量的集合,然后反饋給Transformer模型,根據(jù)坐標(biāo)類型獲取嵌入向量(coordinate-type embedding),對(duì)稠密向量及其相應(yīng)的坐標(biāo)類型嵌入進(jìn)行顏色編碼,以表明它們與每個(gè)坐標(biāo)值之間的關(guān)系。
然后坐標(biāo)查詢(Coordinate queries)通過「交叉注意力」參與 ViT 輸出的屏幕編碼,最終Transformer的注意力輸出被用作 T5下游解碼的區(qū)域表示。
實(shí)驗(yàn)結(jié)果
研究人員使用兩個(gè)沒有無標(biāo)簽的(unlabeled)數(shù)據(jù)集對(duì)Spotlight模型進(jìn)行預(yù)訓(xùn)練,分別是基于 C4語料庫的內(nèi)部數(shù)據(jù)集和一個(gè)內(nèi)部移動(dòng)數(shù)據(jù)集,總共包含250萬個(gè)移動(dòng) UI 屏幕和8000萬個(gè)網(wǎng)頁。
然后分別針對(duì)四個(gè)下游任務(wù),標(biāo)題、摘要、grouding和可點(diǎn)擊性,對(duì)預(yù)訓(xùn)練后的模型進(jìn)行微調(diào)。
對(duì)于窗口標(biāo)題(widget captioning)和屏幕摘要任務(wù),使用CIDEr指標(biāo)來衡量模型文本描述與評(píng)分者創(chuàng)建的一組參考的相似程度;對(duì)于command grounding任務(wù),準(zhǔn)確率指標(biāo)為模型響應(yīng)用戶命令成功定位目標(biāo)對(duì)象的百分比;對(duì)于可點(diǎn)擊性預(yù)測,使用 F1分?jǐn)?shù)來衡量模型區(qū)分可點(diǎn)擊對(duì)象和不可點(diǎn)擊對(duì)象的能力。
實(shí)驗(yàn)中,將 Spotlight 與幾個(gè)基準(zhǔn)模型進(jìn)行了比較:WidgetCaption 使用視圖層次結(jié)構(gòu)和每個(gè) UI 對(duì)象的圖像為對(duì)象生成文本描述;Screen2Words 使用視圖層次結(jié)構(gòu)和屏幕截圖以及輔助功能(例如,應(yīng)用程序描述)來為屏幕生成摘要;VUT 結(jié)合了屏幕截圖和視圖層次結(jié)構(gòu)來執(zhí)行多個(gè)任務(wù);原始的 Tappability 模型利用來自視圖層次結(jié)構(gòu)的對(duì)象元數(shù)據(jù)和屏幕快照來預(yù)測對(duì)象的 Tappability.
Spotlight 在四個(gè) UI 建模任務(wù)中大大超越了之前的sota模型。
在一個(gè)更有難度的任務(wù)設(shè)置中,要求模型同時(shí)學(xué)習(xí)多個(gè)任務(wù),因?yàn)槎嗳蝿?wù)模型可以極大減少模型的能源消耗(model footprint),結(jié)果表明,Spotlight模型的性能仍然具有競爭力。
為了理解區(qū)域總結(jié)器(Region Summarizer)如何使 Spotlight 能夠聚焦于屏幕上的目標(biāo)區(qū)域和相關(guān)區(qū)域,研究人員分析了窗口標(biāo)題和屏幕總結(jié)任務(wù)的注意力權(quán)重,能夠指示出模型注意力在屏幕截圖上的位置。
在下圖中,對(duì)于窗口標(biāo)題任務(wù),模型在預(yù)測「選擇切爾西隊(duì)」(select Chelsea team)時(shí),左側(cè)的復(fù)選框用紅色邊框突出顯示,可以從右邊的注意力熱力圖中看到,模型不僅學(xué)會(huì)了注意復(fù)選框的目標(biāo)區(qū)域,還學(xué)會(huì)了關(guān)注最左邊的文本「Chelsea」來生成標(biāo)題。
對(duì)于屏幕摘要任務(wù),模型預(yù)測「頁面顯示一個(gè)學(xué)習(xí)應(yīng)用程序的教程」(page displaying the tutorial of a learning app),并給出左側(cè)的截圖,示例中,目標(biāo)區(qū)域是整個(gè)屏幕,模型可以學(xué)習(xí)處理屏幕上的重要部分以進(jìn)行摘要。
參考資料:
??https://ai.googleblog.com/2023/02/a-vision-language-approach-for.html??