'從GAN到ChatGPT:Lehigh大學詳細揭示AI生成內容的發展歷程'
ChatGPT和其他生成式AI (GAI)技術屬於人工智慧生成內容(AIGC)的範疇,它涉及透過AI模型創建數位內容,如圖像、音樂和自然語言。 AIGC的目標是使內容創建過程更加高效和可訪問,允許以更快的速度生產高品質的內容。 AIGC是透過從人類提供的指令中提取和理解意圖訊息,並根據其知識和意圖訊息生成內容來實現的。
近年來,大規模模型在AIGC中變得越來越重要,因為它們提供了更好的意圖提取,從而改善了生成結果。隨著數據和模型規模的增長,模型可以學習的分佈變得更加全面和接近現實,從而產生更真實和高品質的內容。
本文全面回顧了生成模型的歷史,基本元件,以及AIGC的最新進展,從單模態交互作用和多模態交互作用。 從單模態的角度,介紹了文字和圖像的生成任務和相關模型。從多模態的角度出發,介紹上述模態之間的交叉應用。最後討論了AIGC存在的開放問題和未來的挑戰。
論文網址:https://arxiv.org/abs/2303.04226
#引言
近年來,人工智慧生成內容(Artificial Intelligence Generated Content, AIGC)受到了電腦科學界以外的廣泛關注,全社會開始關注大型科技公司[3 ]建構的各種內容生成產品,如ChatGPT[4]和DALL-E2[5]。 AIGC指的是使用高級生成AI (GAI)技術產生的內容,而不是由人類作者創建的內容,AIGC可以在短時間內自動創建大量內容。例如,ChatGPT是OpenAI開發的用於建立對話式人工智慧系統的語言模型,可以有效地理解並以有意義的方式回應人類的語言輸入。此外,DALL-E-2是另一個最先進的GAI模型,也是由OpenAI開發的,它能夠在幾分鐘內從文字描述中創建獨特的高品質圖像,如圖1所示的「一個宇航員以逼真的風格騎馬」。隨著AIGC的卓越成就,許多人認為這將是人工智慧的新時代,並將對整個世界產生重大影響。
從技術上講,AIGC是指給定人工指令,可以幫助教學和指導模型完成任務,利用GAI演算法產生滿足指令的內容。 此生成過程通常包括兩個步驟:從人工指令中提取意圖訊息和根據提取的意圖生成內容。然而,如先前的研究[6,7]所示,包含上述兩個步驟的GAI模型的範式並不完全新穎。與先前的工作相比,最近的AIGC的核心進展是在更大的資料集上訓練更複雜的生成模型,使用更大的基礎模型架構,並能夠存取廣泛的運算資源。例如,GPT-3的主框架保持與GPT-2相同,但預訓練資料大小從WebText [8](38GB)成長到CommonCrawl[9](過濾後570GB),基礎模型大小從1.5B成長到175B。因此,在人類意圖提取等任務上,GPT-3比GPT-2具有更好的泛化能力。
除了資料量和運算能力增加帶來的好處,研究人員也正在探索將新技術與GAI演算法整合的方法。例如,ChatGPT利用來自人類回饋的強化學習(RLHF)[10-12]來確定給定指令的最適當反應,從而隨著時間的推移提高模型的可靠性和準確性。這種方法使ChatGPT更能理解人類在長對話中的偏好。同時,在電腦視覺領域,由Stability提出了穩定擴散[13]。 AI在2022年也在影像生成方面取得了巨大成功。與先前的方法不同,生成擴散模型可以透過控制探索和利用之間的權衡來幫助產生高解析度影像,從而將生成影像的多樣性和與訓練資料的相似性和和諧地結合在一起。
结合这些进展,模型在AIGC任务上取得了显著进展,并被应用于各个行业,包括艺术[14]、广告[15]、教育[16]等。在不久的将来,AIGC将继续成为机器学习的一个重要研究领域。因此,对过去的研究进行广泛的调研并确定该领域的开放问题至关重要。对AIGC领域的核心技术和应用进行了综述。
这是对AIGC的首次全面综述,从技术和应用两个方面对GAI进行了总结。之前的研究从不同的角度关注GAI,包括自然语言生成[17],图像生成[18],多模态机器学习中的生成[7,19]。然而,之前的工作只关注AIGC的特定部分。本文首先回顾了AIGC中常用的基础技术。进一步对先进的GAI算法进行了全面的总结,包括单峰生成和多峰生成,如图2所示。此外,还讨论了AIGC的应用和潜在挑战。最后指出了该领域存在的问题和未来的研究方向。综上所述,本文的主要贡献如下:
- 据我们所知,我们是第一个为AIGC和AI增强生成过程提供正式定义和彻底调研的人。
- 回顾了AIGC的历史和基础技术,并从单模态生成和多模态生成的角度对GAI任务和模型的最新进展进行了全面分析。
- 讨论了AIGC面临的主要挑战以及AIGC未来的研究趋势。
调研的其余部分组织如下。第二节主要从视觉模态和语言模态两个方面回顾了AIGC的历史。第3节介绍了目前在GAI模型训练中广泛使用的基本组件。第4节总结了GAI模型的最新进展,其中第4.1节从单模态角度回顾了进展,第4.2节从多模态生成的角度回顾了进展。在多模态生成中,介绍了视觉语言模型、文本音频模型、文本图模型和文本代码模型。第5节和第6节介绍了GAI模型在AIGC中的应用以及与该领域相关的一些重要研究。第7、8节揭示了AIGC技术存在的风险、存在的问题和未来的发展方向。最后,我们在9中总结了我们的研究。
生成式人工智能的历史
生成模型在人工智能领域有着悠久的历史,可以追溯到20世纪50年代,隐马尔可夫模型(HMM)[20]和高斯混合模型(GMMs)[21]的发展。这些模型生成了语音和时间序列等顺序数据。然而,直到深度学习的出现,生成模型才在性能上看到了显著的改进。
在早期的深度生成模型中,不同的领域通常没有太多的重叠。在自然语言处理(NLP)中,传统的生成句子的方法是使用N-gram语言建模[22]学习单词分布,然后搜索最佳序列。然而,该方法不能有效地适应长句子。为了解决这个问题,循环神经网络(RNN)[23]后来被引入到语言建模任务中,允许对相对较长的依赖关系进行建模。随后,长短期记忆(LSTM)[24]和门控循环单元(GRU)[25]的发育,它们利用门控机制在训练过程中控制记忆。这些方法能够处理样本[26]中的约200个标记,与N-gram语言模型相比,这是一个显著的改进。
同时,在计算机视觉(CV)领域,在基于深度学习的方法出现之前,传统的图像生成算法使用纹理合成[27]和纹理映射[28]等技术。这些算法基于手工设计的特征,在生成复杂多样的图像方面能力有限。2014年,生成对抗网络(Generative Adversarial Networks, GANs)[29]被首次提出,在各种应用中取得了令人印象深刻的结果,是该领域的一个重要里程碑。变分自动编码器(vae)[30]和其他方法,如扩散生成模型[31],也已开发用于对图像生成过程进行更细粒度的控制和生成高质量图像的能力
生成模型在不同領域的發展遵循不同的路徑,但最終出現了交叉的問題:transformer架構[32]。 Vaswani等人在2017年引入了NLP任務,Transformer後來被應用於CV中,然後成為不同領域許多生成模型的主要骨幹[9,33,34]。在NLP領域,許多著名的大型語言模型,如BERT和GPT,採用transformer架構作為其主要的構建塊,比之前的構建塊(如LSTM和GRU)具有優勢。在CV中,Vision Transformer (ViT)[35]和Swin Transformer[36]後來透過將Transformer架構與視覺組件結合,進一步發展了這個概念,使其可以應用於基於影像的下游。除了transformer為單一模態帶來的改進之外,這種交叉還使來自不同領域的模型能夠融合在一起,以完成多模態任務。多模態模型的一個例子是CLIP[37]。 CLIP是一種視覺-語言聯合模型,將transformer架構與視覺組件結合,允許它在大量文字和圖像資料上進行訓練。由於它在預訓練時結合了視覺和語言知識,因此也可以作為多模態提示生成中的圖像編碼器。總而言之,基於transformer的模型的出現徹底改變了人工智慧的產生,並導致了大規模訓練的可能性。
近年來,研究人員也開始引入基於這些模型的新技術。例如,在NLP中,人們有時喜歡少樣本提示[38],而不是微調,這是指在提示中包含從資料集中選擇的一些範例,以幫助模型更好地理解任務需求。在視覺語言中,研究人員經常將特定模態模型與自監督對比學習目標結合,以提供更穩健的表示。在未來,隨著AIGC越來越重要,將會有越來越多的技術被引入,讓這個領域充滿活力。
#生成式人工智慧
#我們將介紹最先進的單模態生成模型。這些模型被設計為接受特定的原始資料模態作為輸入,例如文字或圖像,然後以與輸入相同的模態產生預測。我們將討論這些模型中使用的一些最有前途的方法和技術,包括生成語言模型,如GPT3[9]、BART[34]、T5[56]和生成視覺模型,如GAN[29]、VAE[ 30]和歸一化流[57]。
多模態模型
多模態產生是當今AIGC的重要組成部分。多模態生成的目標是透過學習資料[7]的多模態連結和交互作用來學習生成原始模態的模型。模態之間的這種連接和相互作用有時是非常複雜的,這使得多模態表示空間與單模態表示空間相比很難學習。然而,隨著前面提到的強大的特定於模式的基礎架構的出現,越來越多的方法被提出來應對這一挑戰。在本節中,我們將介紹視覺語言生成、文字音訊生成、文字圖形生成和文字程式碼生成中的最先進的多模態模型。由於大多數多模態生成模型總是與實際應用高度相關,因此本節主要從下游任務的角度進行介紹。
#應用
################ #####效率#########在過去的十年中,具有神經網路的深度生成式人工智慧模型一直主導著機器學習領域,其崛起歸功於2012年的ImageNet競賽[210 ],這導致了一場創建更深入和更複雜模型的競賽。這種趨勢也出現在自然語言理解領域,像BERT和GPT-3這樣的模型已經發展了大量參數。然而,不斷增加的模型佔用空間和複雜性,以及訓練和部署所需的成本和資源,為現實世界中的實際部署帶來了挑戰。核心挑戰是效率,可以分解如下:#######
- 推理效率: 這與部署用於推理的模型的實際考慮有關,即為給定的輸入計算模型的輸出。推理效率主要與推理期間模型的大小、速度和資源消耗(例如,磁碟和RAM使用)有關。
- 訓練效率: 這涵蓋了影響訓練模型的速度和資源需求的因素,如訓練時間、記憶體佔用和跨多個裝置的可擴展性。它還可能包括考慮在給定任務上實現最佳性能所需的資料量。
以上是'從GAN到ChatGPT:Lehigh大學詳細揭示AI生成內容的發展歷程'的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。

MySQL批量插入数据的高效方法包括:1.使用INSERTINTO...VALUES语法,2.利用LOADDATAINFILE命令,3.使用事务处理,4.调整批量大小,5.禁用索引,6.使用INSERTIGNORE或INSERT...ONDUPLICATEKEYUPDATE,这些方法能显著提升数据库操作效率。
