色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 智能計算 > 設(shè)計應(yīng)用 > 從隱空間理解編碼器(Encoder)

          從隱空間理解編碼器(Encoder)

          作者:高煥堂 時間:2023-06-22 來源:電子產(chǎn)品世界 收藏


          本文引用地址:http://cafeforensic.com/article/202306/447898.htm

          1 前言

          當(dāng)我們在閱讀關(guān)于AIGC 的文章時,常常會看到Encoder和Decoder名詞。它們是AI( 即ML) 的核心模型,如果能深入理解它們的涵意和功能,就能更流暢地理解相關(guān)文章的內(nèi)容,以及圖示。例如,關(guān)于Diff usion( 擴(kuò)張模型) 的文章里常看到如圖1。

          1687448711624451.png

          (圖1 來源https://www.joaoleal.com/how-stablediffusion-dall-e-2-and-midjourney-work)

          圖1 說明諸如Stable Diff usion 里,就含有文本(text encoder)、圖像(img decoder)、以及解碼器(decoder)。這些都是AI 里的基本名詞,處處可見。再如,關(guān)于DeepFake( 換臉) 的文章里,也??吹竭@兩個名詞( 圖2)。

          1687495490596687.png

          (圖2 來源:https://arxiv.org/pdf/1909.11573.pdf)

          這圖里就說明了,一般的DeepFake 模型里常含有一個圖像(Eecoder)、以及兩個圖像解碼器( 即Decoder_A 和Decoder_B)。

          諸如上述圖片,其中的”Encoder”、”Decoder 名詞是處處常見的。所以把它弄清楚是有必要的。于是,本文就先來解說第1 個名詞:編碼器(Encoder)。當(dāng)您深入理解編碼器了,就能輕易繼續(xù)理解第2 個名詞:解碼器(Decoder)。

          2 從歐式空間出發(fā)

          為了充分掌握它,就必需從歐式(Euclidean) 空間來入手。所謂空間就是大家熟悉的坐標(biāo)空間(Coordinate space)。例如,一維空間就是數(shù)線( 圖3)。

          1687495562196625.png

          圖3

          這圖里有兩個一維空間。人們隨著閱歷增多,逐漸學(xué)習(xí),就會連連看,把兩個空間對映起來( 圖4)。

          1687495631448652.png

          圖4

          人們把它記憶于腦海里??吹匠靥晾镉泻谏仪?,就會聯(lián)想的< 鴨>??吹匠靥晾镉邪咨仪荩赡芫蜁?lián)想的< 鵝> 或< 雞>。接下來,請您先思考:AI 如何學(xué)會上述的連連看呢? 也就是,人們?nèi)绾萎?dāng)老師,把上述的連連看智能,傳授( 教導(dǎo)) 給AI 模型,讓它也能記憶上述的連連看關(guān)系。

          其實,它是依賴一個簡單的數(shù)學(xué)公式:Y=X*W+B。有時候會再添加激活函數(shù),如:Z = Sigmoid(Y)。于是,拿來X = 0,放入公式計算出Y=4.6 的值( 圖5)。

          1687495711637175.png

          圖5

          AI 就依賴這些參數(shù)( 即WB 值) 來記憶這項連連看的智慧。于是,再拿來X = 255,放入公式計算出Y = 0.5 的值( 圖6)。

          1687495756625069.png

          圖6

          當(dāng)AI 計算出Y=4.6,很接近于4,就連結(jié)到< 鴨> 了,也就憑過去的學(xué)習(xí)經(jīng)驗和智慧,拿起畫筆畫出一只黑色鴨了。同樣地,AI 計算出Y = 0.5,很接近于0,就連結(jié)到< 雞> 了,也就憑過去的學(xué)習(xí)經(jīng)驗和智慧,拿起畫筆畫出一只白色雞了。這就是AI 繪圖創(chuàng)作的源點。

          在上述的例子里,白色灰階值為0,只有1 個特征值(Feature),可以是使用1 維空間表示。同理,當(dāng)x = [255,100] 時,它即是2 維歐式空間里的一個點。

          依此類推,當(dāng)x = [255, 255, 255] 時,它即是3 維歐式空間里的一個點。在AI 里,就拿歐式空間來表達(dá)宇宙中的一切事物或現(xiàn)象。例如,拿歐式空間來表達(dá)RGB色彩,就成為大家熟知的RGB 色彩空間( 圖7)。

          1687495832444797.png

          圖7

          3 范例演練

          此范例里,包含4 張圖像,各章都由4 個像素(Pixel)所組成( 圖8)。

          1687495880751830.png

          圖8

          請您練習(xí)想想看,在AI 里如何使用歐式空間來表達(dá)這4 件事物( 即4 張圖) 呢? 答案是:每一張圖像有4*3 = 12 個值( 即12 個特征),每一個特征值各在一維度軸上。于是,上述每一張圖在12 維歐式空間里,就是一個點。以此類推,這是1 張512 x512 的JPG 圖像( 圖9)。

          image.png

          圖9 圖源自《仙劍奇?zhèn)b傳》

          請您練習(xí)想想看,在AI 里如何使用歐式空間來表達(dá)這張圖像呢? 答案是: 每一張圖像有512*512*3 個值( 即特征),每一個特征值各在一維度軸上。于是,上述這張圖在512*512*3維歐式空間里,就是1 個點。

          基于上述的基礎(chǔ),接下來,就可來理解一個常見的名詞:Embedded 及Embedding 。剛才提到,在這12 維空間里,存放( 記載) 這4張圖( 只含4 個點)。似乎有些浪費空間,計算也常比較費時。那么,我們能否把它降維呢?例如,利用5 維空間的4 個點來代表這4 張圖,會更省空間。

          答案是:可以的。但是,請想一想:5 維空間的每一個點只能含有5 個值( 特征),而上述每一張圖有12 個值,該怎么辦呢?這個降維過程,就稱為:嵌入(Embedding )。即是:高維空間里的點,對應(yīng)到低維空間里的點。于是,可將兩個不同的高維空間里的點,嵌入到同一個低維( 如3 維) 空間里( 圖10)。

          1687496007592060.png

          圖10 內(nèi)含圖片引自《仙劍奇?zhèn)b傳》

          這表達(dá)了,仙劍奇?zhèn)b傳里的“趙靈兒”喜歡“圖像-B”,而“李逍遙”喜歡“圖像-A”。負(fù)責(zé)嵌入的模型叫:編碼器(Encoder)。

          人們想象可觀察空間里事物,然后由Encoder 來進(jìn)行編碼,即嵌入到里,而AI 則對里的嵌入數(shù)據(jù)( 通稱為:Embedding code) 進(jìn)行操作,來組合、生成創(chuàng)新的東西( 仍在里),然后交給Decoder來還原出可觀察空間的事物( 如新圖像、或新文句等)。例如,更多創(chuàng)新組合( 圖11)。

          1687496059357532.png

          圖11

          上圖里的灰色部分就是隱空間,而Diffusion 就是在這隱空間里,進(jìn)行圖像的組合創(chuàng)新。

          4 結(jié)束語

          深刻領(lǐng)會Encoder 和Decoder 的功能,非常有助于理解AIGC 的涵意。例如,理解Encoder 在進(jìn)行嵌入到低維空間時,會過濾掉一些訊息。然后Decoder 必需( 依據(jù)其所學(xué)習(xí)的智慧) 把被過濾掉的細(xì)節(jié)部分弭補(bǔ)起來。

          此時,像Diffusion 在隱空間里的創(chuàng)新組合,以及其Decoder 所添加弭補(bǔ)的部分,就是Diffusion 生成的內(nèi)容。

          (本文來源于《電子產(chǎn)品世界》雜志2023年6月期)



          關(guān)鍵詞: 202306 隱空間 編碼器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉