兩位谷歌華人研究員發布首個純視覺「移動UI理解」模型,四大任務刷新SOTA
對AI來說,「玩手機」可不是一件易事,光是識別各種用戶界面(user interface, UI)就是一大難題:不光要識別出各個組件的類型,還要根據其使用的符號、位置來判斷組件的功能。

對移動設備UI的理解,能夠幫助實現各種人機交互任務,比如UI自動化等。
之前的工作對移動UI的建模通常依賴于屏幕的視圖層次信息,直接利用了UI的結構數據,并借此繞過了從屏幕像素開始對組件進行識別的難題。
不過并不是所有的場景下都有可用的視圖層次,這種方法通常會因為對象描述的缺失或結構信息的錯位而輸出錯誤結果,所以盡管使用視圖層次結構可以提升短期性能,但最終可能會阻礙模型的適用性和泛化性能。
最近Google Research的兩位研究人員提出了一個可用于移動端UI理解的純視覺方法Spotlight,在視覺語言模型的基礎上,只需要將用戶界面的截圖和屏幕上的一個感興趣的區域(focus)作為輸入即可。

論文鏈接:https://arxiv.org/pdf/2209.14927.pdf
Spotlight的這種通用架構很容易擴展,并且能夠執行一系列的用戶界面建模任務。
文中的實驗結果表明,Spotlight模型在幾個有代表性的用戶界面任務上均達到了sota的性能,成功超越之前使用屏幕截圖和視圖層次結構作為輸入的方法。
此外,文中還探索了Spotlight模型的多任務學習和few-shot提示的能力,在多任務學習方向上也展現出了有前景的實驗結果。
論文作者Yang Li是谷歌研究中心的高級研究員,也是華盛頓大學 CSE 的附屬教員,在中國科學院獲得計算機科學博士學位,并在加州大學伯克利分校 EECS 進行博士后研究。他領導開發了下一個 Android 應用程序預測,也是 Android 上在設備上交互機器學習的先驅,還開發手勢搜索等。

Spotlight:理解手機界面
對用戶界面的計算理解是實現智能 UI 行為的關鍵一步。
在此之前,該團隊研究過各種 UI 建模任務,包括窗口標題(widget)、屏幕摘要(screen summarization)和command grounding,這些任務解決了不同交互場景下的自動化和可訪問性問題。
后續還利用這些功能演示了機器學習如何幫助「用戶體驗從業者」通過診斷可點擊性混淆來提高 UI 質量,并為改進 UI 設計提供思路,所有這些工作與其他領域的工作共同展現了深度神經網絡是如何潛在地改變終端用戶的體驗及交互設計實踐。

雖然在處理「單個 UI 任務」時取得了一定程度上的成功,但接下來的問題是:是否能夠從「特定 UI 識別」任務中提升對「通用 UI」的處理能力。
Spotlight模型也是對這個問題的解決方案進行的第一次嘗試,研究人員開發了一個多任務模型來同時處理一系列 UI 任務,盡管工作上取得了一些進展,但仍存在一些難題。
之前的 UI 模型嚴重依賴于 UI 視圖層次結構,也就是移動端 UI 屏幕的結構或元數據,比如網頁的文檔對象模型(Document Object Model),模型直接獲取屏幕上 UI 對象的詳細信息,包括類型、文本內容和位置等。
這種元數據使得以前的模型相對于純視覺的模型來說更有優勢,但視圖層次結構數據的可訪問性是一大難題,對象描述缺失或結構信息對齊不當等問題經常發生。
因此,盡管使用視圖層次結構可以獲得短期收益,但它最終可能會阻礙模型的性能和適用性。此外,之前的模型必須處理跨數據集和跨 UI 任務的異構信息,往往會導致更復雜的模型體系結構,最終難以跨任務擴展或泛化。
Spotlight模型
純視覺的Spotlight方法旨在完全從原始像素中實現通用的用戶界面理解能力。
研究人員引入了一個統一的方法來表示不同的 UI 任務,其中的信息可以通用地表示為兩種核心模式:視覺和語言,其中視覺模式捕獲用戶從 UI 屏幕上看到的內容,語言模式可以是自然語言或任何與任務相關的token序列。
Spotlight 模型輸入為一個三元組:屏幕快照、屏幕上感興趣的區域和任務的文本描述;輸出是關于感興趣區域的文本描述或響應。
模型的這種簡單的輸入和輸出表示更加通用,可以適用于各種 UI 任務,并且可擴展到多種模型架構上。

模型設計上能夠進行一系列的學習策略和設置,從特定任務的微調,到多任務學習和few-shot學習。
Spotlight 模型能夠利用了現有的架構構建模塊,比如 ViT 和 T5,這些模塊在高資源的通用視覺語言領域中進行了預訓練,可以直接在這些通用領域模型之上進行模型構建。
因為 UI 任務通常與屏幕上的特定對象或區域有關,模型需要能夠聚焦于對象或感興趣的區域,研究人員將焦點區域抽取器(Focus Region Extractor)引入到視覺語言模型中,使模型能夠根據屏幕上下文聚焦于該區域。
研究人員還設計了一個區域總結器(Region Summarizer),通過使用區域邊界框生成的注意力query來獲得基于 ViT 編碼的屏幕區域的潛在表征。
具體來說,就是每個坐標(標量值,包括左,上,右或底部)的邊界框,在屏幕截圖中表示為黃色框。
首先通過一個多層感知機(MLP)將輸入轉換為作為一個稠密向量的集合,然后反饋給Transformer模型,根據坐標類型獲取嵌入向量(coordinate-type embedding),對稠密向量及其相應的坐標類型嵌入進行顏色編碼,以表明它們與每個坐標值之間的關系。

然后坐標查詢(Coordinate queries)通過「交叉注意力」參與 ViT 輸出的屏幕編碼,最終Transformer的注意力輸出被用作 T5下游解碼的區域表示。
實驗結果
研究人員使用兩個沒有無標簽的(unlabeled)數據集對Spotlight模型進行預訓練,分別是基于 C4語料庫的內部數據集和一個內部移動數據集,總共包含250萬個移動 UI 屏幕和8000萬個網頁。
然后分別針對四個下游任務,標題、摘要、grouding和可點擊性,對預訓練后的模型進行微調。
對于窗口標題(widget captioning)和屏幕摘要任務,使用CIDEr指標來衡量模型文本描述與評分者創建的一組參考的相似程度;對于command grounding任務,準確率指標為模型響應用戶命令成功定位目標對象的百分比;對于可點擊性預測,使用 F1分數來衡量模型區分可點擊對象和不可點擊對象的能力。
實驗中,將 Spotlight 與幾個基準模型進行了比較:WidgetCaption 使用視圖層次結構和每個 UI 對象的圖像為對象生成文本描述;Screen2Words 使用視圖層次結構和屏幕截圖以及輔助功能(例如,應用程序描述)來為屏幕生成摘要;VUT 結合了屏幕截圖和視圖層次結構來執行多個任務;原始的 Tappability 模型利用來自視圖層次結構的對象元數據和屏幕快照來預測對象的 Tappability.
Spotlight 在四個 UI 建模任務中大大超越了之前的sota模型。

在一個更有難度的任務設置中,要求模型同時學習多個任務,因為多任務模型可以極大減少模型的能源消耗(model footprint),結果表明,Spotlight模型的性能仍然具有競爭力。

為了理解區域總結器(Region Summarizer)如何使 Spotlight 能夠聚焦于屏幕上的目標區域和相關區域,研究人員分析了窗口標題和屏幕總結任務的注意力權重,能夠指示出模型注意力在屏幕截圖上的位置。

在下圖中,對于窗口標題任務,模型在預測「選擇切爾西隊」(select Chelsea team)時,左側的復選框用紅色邊框突出顯示,可以從右邊的注意力熱力圖中看到,模型不僅學會了注意復選框的目標區域,還學會了關注最左邊的文本「Chelsea」來生成標題。

對于屏幕摘要任務,模型預測「頁面顯示一個學習應用程序的教程」(page displaying the tutorial of a learning app),并給出左側的截圖,示例中,目標區域是整個屏幕,模型可以學習處理屏幕上的重要部分以進行摘要。
參考資料:
??https://ai.googleblog.com/2023/02/a-vision-language-approach-for.html??



























