研究人員正在教巨大的語言模型如何「看」來幫助他們理解世界。
您可能已經聽過我們無數次的發言:gpt-3,這是一種發出令人討厭的類人語言的龐大ai,真是乙個奇蹟。這在很大程度上也是海市蜃樓。您可以用乙個簡單的技巧來告訴您:詢問綿羊的顏色,它將提示「黑色」和「白色」一樣多-在我們的白話中反映出「黑色綿羊」這一短語。
這就是語言模型的問題:因為它們僅受文字訓練,所以缺乏常識。現在,北卡羅來納大學教堂山分校的研究人員設計了一種新技術來改變這種狀況。他們稱其為「密碼化」,它使gpt-3等語言模型具有「看到」的能力。
這不是人們第一次嘗試將語言模型與計算機視覺相結合。這實際上是ai研究迅速發展的領域。想法是兩種型別的ai都有不同的優勢。像gpt-3這樣的語言模型是通過無監督學習進行訓練的,該過程不需要手動資料標記,因此易於擴充套件。相比之下,像物件識別系統這樣的影象模型可以直接從現實中學習更多。換句話說,他們的理解並不取決於文字所提供的世界的那種抽象。他們可以從綿羊的**中「看到」它們實際上是白色的。
可以解析語言和視覺輸入的ai模型也有非常實際的用途。例如,如果我們要構建機械人助手,則他們需要計算機視覺來導航世界和語言以與人類進行交流。
但是,將兩種型別的ai結合起來說起來容易做起來難。這並不像將現有的語言模型與現有的物件識別系統裝訂在一起那樣簡單。它要求使用包含文字和影象的資料集從頭開始訓練新模型,該資料集也稱為視覺語言資料集。
整理此類資料集的最常用方法是編譯帶有描述性標題的影象集合。例如,下面的的標題為「乙隻橙色的貓坐在手提箱裡準備打包。」 這與典型的影象資料集不同,後者僅用乙個名詞來標記同一張,例如「貓」。因此,一種視覺語言資料集不僅可以教乙個ai模型,而且還能使用動詞和介詞來教他們如何識別物件,以及它們如何相互關聯並相互作用。
但是您可以看到為什麼此資料管理過程將永遠耗時。這就是為什麼現有的視覺資料集如此微不足道的原因。乙個流行的純文字資料集(如英語wikipedia(實際上幾乎包括所有英語wikipedia條目))可能包含近30億個單詞。像microsoft上下文中的通用物件或ms coco這樣的視覺語言資料集僅包含700萬。根本沒有足夠的資料來為任何有用的東西訓練ai模型。
「無聲化」解決了這個問題,它使用無監督學習方法將ms coco中的少量資料擴充套件到英語wikipedia的大小。在當今用於評估ai語言理解力的一些最困難的測試中,最終的視覺語言模型要優於最新模型。
自然語言處理初創公司hugging face的聯合創始人兼首席科學官托馬斯·沃爾夫(thomas wolf)表示:「在這些測試上,您不能通過稍作嘗試就能超越最新技術。」 「這不是玩具測試。這就是為什麼這令人興奮。」
從tokens 到 vokens
首先讓我們整理一些術語。到底是什麼?
在ai語言中,用於訓練語言模型的單詞稱為標記。因此,unc研究人員決定將與他們的視覺語言模型中的每個標記相關的影象稱為「維克」。vokenizer是他們所謂的演算法,該演算法為每個令牌查詢母音,而vokenization是他們所謂的整個過程。
這樣做的意義不僅在於顯示ai研究人員喜歡編造單詞。(他們的確如此。)這也有助於打破vokenization背後的基本思想。unc研究人員不是從影象資料集開始並手動寫句子作為標題(這是乙個非常緩慢的過程),而是從語言資料集開始,並使用無監督學習來將每個單詞與相關影象進行匹配(稍後會詳細介紹)。這是乙個高度可擴充套件的過程。
在這裡,無監督學習技術最終是**的貢獻。您實際上如何找到每個單詞的相關影象?
聲化讓我們回到gpt-3。gpt-3是稱為翻譯器的一系列語言模型的一部分,當在2023年首次引入無監督學習將其應用於自然語言處理時,它代表了一項重大突破。變形器通過觀察單詞的用法來學習人類語言的模式。在上下文中使用,然後根據該上下文建立每個單詞的數學表示,稱為「單詞嵌入」。例如,「貓」一詞的嵌入可能表明,它經常在「喵」和「橙色」兩詞周圍使用,而在「樹皮」或「藍色」一詞中較少使用。
這就是轉換器如何近似單詞的含義,以及gpt-3如何編寫類似人類的句子。它部分地依靠這些嵌入來告訴它如何將單詞組合成句子,將句子組合成段落。
有一種並行技術也可以用於影象。它不掃瞄文字以查詢單詞使用模式,而是掃瞄影象以查詢視覺模式。它列出了貓在床上而不是樹上出現的頻率,並建立了嵌入該上下文資訊的「貓」。
unc研究人員的見解是,他們應該在ms coco上同時使用兩種嵌入技術。他們將影象轉換為視覺嵌入,將標題轉換為單詞嵌入。這些嵌入的真正精巧之處在於它們可以在三維空間中繪製,您可以從字面上看到它們之間的關係。與單詞嵌入緊密相關的視覺嵌入將在圖形中顯示得更近。換句話說,視覺化貓嵌入(理論上)應與基於文字的貓嵌入重疊。很酷
您可以看到前進的方向。一旦將所有嵌入圖形化並進行比較並相互關聯,就很容易開始將影象(標記)與單詞(標記)進行匹配。請記住,因為影象和單詞是根據其嵌入進行匹配的,所以它們也會根據上下文進行匹配。當乙個詞的含義完全不同時,這很有用。該技術通過為每個單詞例項找到不同的母音來成功地解決了這一問題。
例如:在兩個示例中,令牌都是「聯絡人」一詞。但是在第一句話中,上下文提示該詞是指聯絡資訊,因此,複數形式是聯絡人圖示。在第二句中,上下文提示該詞是指觸控,因此,複音表示貓被撫摸了。
研究人員使用他們用ms coco建立的視覺和單詞嵌入來訓練其vokenizer演算法。經過培訓後,發聲者便可以在英語維基百科中找到令牌的發聲者。這不是完美的。該演算法僅發現大約40%的令牌為vokens。但這仍然是擁有近30億個單詞的資料集的40%。
利用這個新的資料集,研究人員重新訓練了一種稱為bert的語言模型,bert是google在gpt-3之前開發的一種開源轉換器。然後,他們在六種不同的語言理解測試中測試了新的和改進的bert,包括squad,斯坦福問題回答資料集(該模型要求模型回答有關一系列文章的閱讀理解問題)和swag,swag試圖使模型具有以下一些微妙之處:用英語來**它是否只是模仿和記憶。改進後的bert對所有這些都表現更好,wolf說這沒什麼可打擾的。
研究人員,博士研究生hao tan和他的顧問mohit bansal將在兩周內的自然語言處理經驗方法會議上介紹其新的聲素化技術。儘管這項工作還處於初期階段,但wolf認為他們的工作是使無監督學習適用於視覺語言模型的一項重要的概念突破。這是類似的火花,有助於大大推動自然語言處理的發展。
他說:「在nlp上,兩年前我們取得了巨大突破,然後突然間,nlp成為了乙個正在發生很多事情的領域,它領先於所有其他ai領域。」 「但是我們存在將文字與其他事物聯絡起來的問題。就像這只只會說話卻看不見,聽不到的機械人一樣。」
他說:「本文是他們設法將其連線到另一種方式的乙個例子,並且效果更好。」 「您可以想象,當您想在機械人中利用這種功能強大的語言模型時,其中某些技術可能會被重用。也許您使用同一東西將機械人的感官與文字聯絡起來。」
批量in查詢中可能會導致的sql注入問題
有時間我們在使用in或者or進行查詢時,為了加快速度,可能會經常這樣來使用sql之間的拼接,然後直接匯入到乙個in中,這種查詢實際上效能上還是可以的,例如如下 update keyword set stats where taskid in collutil.tostring list,實際上面對這...
PHP一些可能會忽略的問題。。
1.echo和print的區別 php中echo和print的功能基本相同 輸出 但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為乙個普通函式來使用,例如執行下面的 後變數 r的值將為1。r print hello world ...
C 程式設計可能會忽視的乙個「小問題」
又好久沒寫blog了,最近一直忙工作的事情,倒不是說沒時間,而是沒什麼心思整理思路,這篇文章也不是什麼大不了的文章,但確實是我最近遇到的乙個問題,我在除錯乙個程式的時候時不時出現一些莫名其妙的問題,這些問題也就是那種無規律重現的非常棘手的bug,相信做過開發的人都深有體會。當然我最後是fix了這些b...