U 型網路(U-Net)
/ YOO net /
U-Net,是一種形如字母 U 的編碼器-解碼器,專為「輸出本身就是一張與輸入同樣大小的圖」這類任務而設計——最著名的就是「分割」:你得給每一個像素都貼上標籤(「這個像素是腫瘤,那個是健康組織」)。U 的左臂是編碼器,一再地把影像縮小,學會「裡面有什麼」;右臂是解碼器,逐步把影像放大回原解析度,學會「每樣東西在哪裡」。兩條臂合起來,必須既答出「是什麼」,又答出確切的「在哪兒」。
這裡有一處矛盾。編碼器為了把握全局而把影像縮小時,會丟掉精細的空間細節——可像素級精確的輸出,恰恰是分割所需要的。U-Net 的招牌絕活用「跳躍連接」化解了它:在每一層,它都把高解析度的特徵圖從左臂直接橫抄到右臂對應的位置。於是解碼器在重建時,被重新遞回了編碼器先前丟掉的那份清晰的邊緣資訊。那一道道橫向的複製,正是 U 字的橫檔,也正是邊界能銳利、而非糊成一團的原因。
U-Net 於 2015 年為生物醫學影像而問世——那裡帶標籤的例子稀缺——它即便用不多的訓練資料也表現得出奇地好。它成了醫學與科學影像分割的標準架構,而且——以一種少有人預見的轉折——U-Net 的形狀還成了現代影像生成「擴散模型」內部的骨幹:那些模型正是用這套「帶跳躍連接的編碼器-解碼器」結構,一遍遍地為影像去噪。該有的老實話是:U-Net 專精於網格狀、同尺寸輸出的影像任務,它並不是用於分類或語言的通用網路。
把一張細胞顯微圖交給 U-Net,它會還你一張同樣大小的遮罩,把每個像素都塗成「細胞」或「背景」。跳躍連接把細胞清晰的輪廓從編碼器橫送到解碼器,於是邊界出來時是銳利的,而非模糊的。
縮小以理解,放大以定位——跳躍連接讓邊緣保持銳利。
讓 U-Net 與眾不同的是那些跳躍連接,而非 U 形本身:它們把精細的空間細節繞過瓶頸送過去,好讓輸出的邊界保持精確。如今同樣的結構,也驅動著影像生成擴散模型內部的去噪步驟。