讓AIGC成功破圈的《太空歌劇院》,背后依靠的是什么?
發(fā)布時(shí)間:2023-07-26
你能想象嗎?下面這些精美絕倫的圖片竟然都是AI自動(dòng)生成的!
圖:書中插圖
沒想到,AI界已經(jīng)有如此炫酷的技術(shù)!而在整個(gè)過程中,創(chuàng)作者只用做一件事,那就是:用一段文字描述想要的圖片內(nèi)容。這種效果背后的技術(shù)被稱作擴(kuò)散模型(Diffusion Model)。事實(shí)上,它在很多領(lǐng)域都占有一席之地,在游戲、生物、醫(yī)療等行業(yè)都能看到它的身影。其中,最知名的當(dāng)屬畫作《太空歌劇院》。可見,AI繪畫已經(jīng)徹底出圈?,F(xiàn)如今,要進(jìn)入AI領(lǐng)域,AIGC幾乎已經(jīng)是人手必備的生存技能了。那么,在這一過程中,關(guān)乎其效果的背后的技術(shù)擴(kuò)散模型是如何發(fā)揮魅力的呢?今天,就讓我們借由這本得到瀾舟科技創(chuàng)始人兼 CEO,創(chuàng)新工場首席科學(xué)家,CCF副理事長周明、北京大學(xué)人工智能研究院研究員楊耀東等聯(lián)袂推薦的《擴(kuò)散模型從原理到實(shí)戰(zhàn)》,一窺究竟。趕超AI風(fēng)口,讓模型“擴(kuò)散”起來!
擴(kuò)散模型是基于擴(kuò)散思想的深度學(xué)習(xí)生成模型,其背后蘊(yùn)含著復(fù)雜的數(shù)學(xué)原理。小異發(fā)現(xiàn),為了便于讀者理解,作者特意避開了這些復(fù)雜內(nèi)容。但是,讀者依舊可以基于本書內(nèi)容學(xué)會(huì)如何生成精美圖像。擴(kuò)散模型是一類生成模型,它借鑒了物理熱力學(xué)中的擴(kuò)散思想:分子從高濃度區(qū)域擴(kuò)散到低濃度區(qū)域。這與由于噪聲干擾導(dǎo)致的信息丟失十分相似。書中采用了一滴墨水在水中擴(kuò)散的過程舉例。??初始狀態(tài):擴(kuò)散開始之前,這滴墨水會(huì)在水中的某個(gè)地方形成一個(gè)大的斑點(diǎn)。??擴(kuò)散過程:這滴墨水隨著時(shí)間的推移逐步擴(kuò)散到水中,水的顏色也逐漸變成這滴墨水的顏色。
圖:一滴墨水在水中擴(kuò)散分布的示意圖(選自書中)就這個(gè)過程而言,描述該初始狀態(tài)的概率分布很困難,因?yàn)樵摲植挤浅?fù)雜。而擴(kuò)散后的墨水分子的概率分布更加簡單和均勻,可以很輕松地用數(shù)學(xué)公式來描述。這時(shí)候非平衡熱力學(xué)就派上用場了,它可以描述墨水隨時(shí)間推移的擴(kuò)散過程中每一個(gè)時(shí)間步狀態(tài)的概率分布。如果把這個(gè)過程反過來,就可以從簡單的分布中逐步推斷出復(fù)雜的分布。擴(kuò)散模型和這個(gè)過程類似,只不過它分為前向擴(kuò)散和反向擴(kuò)散兩個(gè)過程。??前向擴(kuò)散:引入噪聲,并學(xué)習(xí)由噪聲引起的信息衰減,最終得到純隨機(jī)噪聲分布的數(shù)據(jù),即類似穩(wěn)定墨水系統(tǒng)的狀態(tài)。??反向擴(kuò)散:前向擴(kuò)散的反向過程,是“去噪”的過程,即從隨機(jī)噪聲中迭代恢復(fù)出清晰數(shù)據(jù)的過程。通俗地說,就是生成模型的采樣過程。
圖:DDPM 的擴(kuò)散過程(選自書中)
公認(rèn)最早的擴(kuò)散模型?DDPM(Denoising Diffusion Probabilistic Mode)的擴(kuò)散原理就由此而來。作者在書中對(duì)擴(kuò)散模型做了大量的詮釋,也給出了對(duì)應(yīng)的案例和代碼,降低了理解門檻,提高了學(xué)習(xí)效率。圖:使用現(xiàn)有模型再學(xué)習(xí)到指定主體圖像的功能
在第3章中,作者以實(shí)戰(zhàn)方式演示了從0開始搭建擴(kuò)散模型的過程,從一個(gè)簡單的擴(kuò)散模型講起,展示其不同部分的工作原理。
??訓(xùn)練模型:獲取一批數(shù)據(jù)添加隨機(jī)噪聲,之后將數(shù)據(jù)輸入模型,對(duì)模型預(yù)測與初始圖像進(jìn)行比較,計(jì)算損失更新模型的參數(shù)。圖:模型的預(yù)測結(jié)果(選自書中)
??采樣過程:從完全隨機(jī)的噪聲開始,先檢查一下模型的預(yù)測結(jié)果,然后只朝著預(yù)測方向移動(dòng)一小部分(比如,20%),如果新的預(yù)測結(jié)果比上一次的預(yù)測結(jié)果稍微好一點(diǎn),就可以根據(jù)這個(gè)新的、更好的預(yù)測結(jié)果繼續(xù)往前邁出一步。圖:采樣過程(選自書中)
此外,作者還對(duì)調(diào)整時(shí)間步、優(yōu)化采樣步驟等提出了思考,以便更好地改善模型效果。同時(shí),讀者可以訪問B站觀看Hugging Face平臺(tái)提供的課程,來以互動(dòng)性更強(qiáng)的方式學(xué)習(xí)擴(kuò)散模型知識(shí)。
圖:B站擴(kuò)散模型直播活動(dòng)
正如一開始所說,擴(kuò)散模型已經(jīng)逐漸滲透到了生活、工作的方方面面,甚至有科學(xué)家已經(jīng)開始嘗試結(jié)合大型語言模型的信息與圖像生成擴(kuò)散模型,用文本指導(dǎo)擴(kuò)散過程。作者也希望各位讀者可以將學(xué)到的知識(shí)與專業(yè)領(lǐng)域或技能相結(jié)合,解決生活或工作中的實(shí)際問題。
想要更高效地打造擴(kuò)散模型并解決日常問題,少不了給力的工具。作者也在書中介紹了很多實(shí)用工具——首先是Hugging Face,它是專門服務(wù)機(jī)器學(xué)習(xí)從業(yè)者的協(xié)作和交流平臺(tái),致力于構(gòu)建開放、負(fù)責(zé)的人工智能的未來。本書第3-8章的內(nèi)容就是基于Hugging Face平臺(tái)上的Diffusion課程設(shè)計(jì)的。Hugging Face 的核心產(chǎn)品是?Hugging Face Hub——一個(gè)基于 Git 進(jìn)行版本管理的存儲(chǔ)庫,由模型、數(shù)據(jù)集、應(yīng)用程序三塊組成。截至 2023 年 3 月底,Hugging Face Hub 上已經(jīng)托管了 16.2 萬個(gè)模型、2.6 萬個(gè)數(shù)據(jù)集以及 2.5 萬個(gè)應(yīng)用程序。
??模型:每一個(gè)模型都有一個(gè)模型卡片頁面,包括介紹、用途和限制、使用方法、訓(xùn)練方法、模型評(píng)估、使用的數(shù)據(jù)集,甚至還有供快速體驗(yàn)的示例應(yīng)用,讓讀者快速體驗(yàn)。圖:Hugging Face Hub 上的模型卡片(選自書中)
??數(shù)據(jù)集:Hugging Face 歸集了超過5000個(gè)數(shù)據(jù)集,涵蓋100多種語言,可用于自然語言處理、計(jì)算機(jī)視覺和音頻等廣泛領(lǐng)域的任務(wù)。
圖:某個(gè)模型的訓(xùn)練數(shù)據(jù)集以及使用該模型建立的應(yīng)用列表(選自書中)
??應(yīng)用程序:Hugging Face Hub 提供了Spaces 功能,它可以讓你在幾分鐘內(nèi)創(chuàng)建和部署一個(gè)應(yīng)用程序。
圖:Hugging Face Hub 內(nèi)展示的本周熱門 Spaces 應(yīng)用
除此之外,Hugging Face 還在 GitHub 上開源了一系列機(jī)器學(xué)習(xí)庫和工具,比如Transformer、Datasets、diffusers等。
此外,作者還介紹了開源的 Python 庫Gradio。它由 Hugging Face 推出,用于構(gòu)建機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)演示以及 Web 等應(yīng)用。當(dāng)需要向用戶展示機(jī)器學(xué)習(xí)模型的時(shí)候,Gradio 可以有效地幫助你創(chuàng)建交互式應(yīng)用。
圖:使用 Gradio 運(yùn)行“Hello World !”程序(選自書中)