最近,本貓迷上了AI繪畫。
所謂“AI 繪畫”,指的是基於深度學習(deep learning)模型來進行自動作圖的計算機程序。深度學習模型的訓練簡單說來就是利用外部大量標注好的訓練數據輸入, 根據輸入和所對應的預期輸出,反複調整模型內部參數加以匹配的過程。
讓 AI 學會繪畫的過程,就是構建已有畫作的訓練數據, 輸入 AI 模型進行參數迭代調整的過程。 那麽,一幅畫帶有多少信息呢? 首先就是長 x 寬個 RGB 像素點.。讓計算機學繪畫,最簡單的出發點是得到一個輸出有規律像素組合的 AI 模型。
但 RGB 像素組合一起的並非都是畫作,也可能隻是對人類大腦來說是毫無“意義”噪點而已。一副紋理豐富,筆觸自然的畫作有很多筆畫完成,涉及繪畫中每一筆的位置,形狀,顏色等多個方麵的參數,這裏涉及到的參數組合是非常龐大的。而深度模型訓練的計算複雜度隨著參數輸入組合的增長而急劇增長, 從算法角度來看“AI繪畫”是相當不簡單的。
早在 2012 年 Google 就進行了一場空前的試驗。 使用 1萬6千個 CPU 訓練了一個當時世界上最大的深度學習網絡,使用了來自 You 的 1000 萬個貓臉圖片用來指導計算機畫出貓臉圖片。1.6 萬個 CPU 整整訓練了 3 天, 最終得到的模型, 令人振奮的可以生成一個非常模糊的貓臉。
在今天看起來,這個模型的訓練效率和輸出結果都不值一提。在 2014 年,AI 學術界提出了一個非常重要的深度學習模型,這就是所謂的“生成對抗網絡”(Generative Adverserial Network,GAN)。這個深度學習模型的核心理念是讓兩個內部程序 "生成器 (generator)" 和 "判別器 (discriminator)" 互相 平衡之後得到結果。
CAN 模型生成作品裏所體現的創造性讓當時的開發研究人員都感到震驚,因為這些作品看起來和藝術圈子流行的抽象畫非常類似。於是研究人員組織了一場圖靈測試,請觀眾們去猜這些作品是人類藝術家的作品,還是人工智能的創作。結果,53% 的觀眾認為 CAN 模型的 AI 藝術作品出自人類之手, 這在曆史上類似的圖靈測試裏首次突破半數。
近來,AI 繪畫的水平突然大漲,和之前的作品質量相比有本質的飛躍,,竟然有種一日不見如隔三秋的感覺。AI 繪畫何以突飛猛進?這裏的核心能力是,人類用語言輸入, 然後電腦 AI 理解人類的表達, 生成一個符合要求的圖形圖像, 展示給人類。
在 2021 年 1 月OpenAI團隊開源了新的深度學習模型 CLIP(Contrastive Language-Image Pre-Training),一個當今最先進的圖像分類人工智能。CLIP 訓練 AI 同時做了兩個事情,一個是自然語言理解, 一個是計算機視覺分析。它被設計成一個有特定用途的能力強大的工具,那就是做通用的圖像分類,CLIP 可以決定圖像和文字提示的對應程度, 比如把貓的圖像和 "貓" 這個詞完全匹配起來。
CLIP 模型的訓練過程,簡單的說, 就是使用已經標注好的 "文字-圖像" 訓練數據, 一方麵對文字進行模型訓練, 一方麵對圖像進行另一個模型的訓練, 不斷調整兩個模型內部參數, 使得模型分別輸出的文字特征值和圖像特征值能讓對應的 "文字-圖像" 經過簡單驗證確認匹配。之前也有人嚐試過訓練 "文字-圖像" 匹配的模型,但 CLIP 最大的不同是, 它搜刮了廣泛散布在互聯網上的圖片40 億個 "文本-圖像" 訓練數據!通過這天量的數據, 再砸入令人咂舌的訓練時間,CLIP 模型終於修成正果。
AI 繪畫GAN 模型的工作原理,其圖像輸出是內部生成器和判斷器的 平衡妥協結果。但還有另外一種思路,那就是 Diffusion 模型 (擴散化模型)。Diffusion 這個詞讀起來有點高大上,但基本原理說出來大家都能理解,其實就是 “去噪點”。如果把這個去噪點的計算過程反複進行,在極端的情況下,有可能把一個完全是噪聲的圖片還原為一個清晰的圖片呢? 靠人當然不行,但是基於 AI 能力去一邊 “猜” 一邊“去噪點”, 也許是可行的。這就是 Diffusion 擴散化模型的基本思路。
目前,世界最強大的 AI 繪畫模型 Stable Diffusion 終於閃亮登場了,今年 7 月開始測試。最最最重要的是,Stable Diffusion 按照承諾, 已經在 8 月完全開源!這個重要的開源讓全世界的 AI 學者和 AI 技術愛好者感動得痛哭流涕。Stable Diffusion 一經開源, 就始終霸占著 GitHub 熱榜第一。
Stable Diffusion 和之前的 Diffusion 擴散化模型相比,重點就是把模型的計算空間,從像素空間經過數學變換,在盡可能保留細節信息的情況下降維到一個稱之為潛空間 (Latent Space) 的低維空間裏,然後再進行繁重的模型訓練和圖像生成計算。這樣就大大降低了內存和計算要求。Stable Diffusion 能快速 (以秒計算) 生成一張飽含細節的 512x512 圖像,隻需要一張消費級的 8GB 2060 顯卡即可!所以,而對所有普通用戶來說,最開心的,當然是享受到了利用 Stable Diffusion 這樣的當今頂級作畫 AI 去生成專業級別畫作的巨大樂趣。
AI繪畫最迷人的地方,就是 僅靠文字描述,沒有任何參考圖片,AI 就能理解並自動把對應內容給畫出來了,而且畫得越來越好!這在昨天還感覺有點遠的事情,現在已真真切切出現在所有人的麵前。
接下來,讓我們來看看在AI是怎樣理解畢加索風格的。本貓在家用計算機(Windows 11, 12代8核i7-CPU,12G RTX2060 GPU,Python 3.10.8)上運行 Stable Diffusion得到的畢加索風格的繪畫。蠻驚豔的。
1. 九宮格繪畫提示詞:畢加索風格的女人特寫肖像,生動,抽象藝術,色彩繽紛,充滿活力(a close-up portrait of a woman by Pablo Picasso, vivid, abstract art, colorful, vibrant)
2. 九宮格繪畫提示詞:畢加索風格的男人特寫肖像,生動,抽象藝術,色彩繽紛,充滿活力(a close-up portrait of a man by Pablo Picasso, vivid, abstract art, colorful, vibrant)
3. 九宮格繪畫提示詞:畢加索風格的狗特寫肖像,生動,抽象藝術,色彩繽紛,充滿活力(a close-up portrait of a dog by Pablo Picasso, vivid, abstract art, colorful, vibrant)
4. 繪畫提示詞:畢加索風格的貓特寫肖像,生動,抽象藝術,色彩繽紛,充滿活力(a close-up portrait of a cat by Pablo Picasso, vivid, abstract art, colorful, vibrant)