前言
深度學習在影像處理與自然語言處理等領域展現了極高的效能。然而,是否曾覺得「為什麼它能有效運作並不容易理解」,或「模型內部究竟發生了什麼難以掌握」?對於重視計算流程與演算法結構的人而言,深度學習的黑箱特性往往令人感到不安。
深層展開(Deep Unfolding)正是基於這樣的問題意識而提出的一種方法。它將既有的反覆式演算法,直接改寫為深層神經網路的形式,在引入學習機制的同時,刻意保留原本演算法所具有的計算意義與結構。
在維持演算法結構的情況下進行學習,可以一邊理解「為什麼需要這些計算」,一邊提升整體效能。這不僅有助於提升準確度,也讓結果更容易被解釋與改進。
資訊科學系中所學過的程式設計、離散數學、演算法、機率與統計、線性模型等內容,都與深層展開的概念密切相關。將處理流程拆解並以程式碼表達計算的能力,在此研究領域中可直接發揮作用。
比起熟記大量數學公式,更重要的是能追蹤計算流程、實作並驗證其行為。因此,即使在學部階段,學生也能相對容易地參與這一研究方向。
什麼是深層展開?
許多演算法是透過重複相同的計算,逐步逼近解答。這樣的反覆結構正是演算法的核心設計思想,每一個步驟都具有明確的角色。
在深層展開中,這些重複計算會沿著時間方向展開,並將每一個步驟視為神經網路中的一層。其特徵在於,每一層都與原本的更新規則一一對應,而非單純堆疊抽象的網路層。
由於各層的處理皆源自原始演算法,計算的意義相對容易追蹤。即使引入學習,也能清楚思考哪些計算對結果產生了影響。
在保留此結構的前提下,將部分參數設為可學習,使得深層展開能以較少的反覆次數達到高效能。兼顧理論可解釋性與實用效能,是深層展開的重要特色。
具體例子:反覆演算法的深層展開
一個具代表性的例子是反覆型演算法 ISTA。ISTA 透過反覆套用固定的更新式來求解,廣泛應用於各種問題中。
在傳統 ISTA 中,更新式中的係數與閾值是固定的,通常依理論或經驗設定。在深層展開中,這些參數可在不同層中獨立設定,並由資料學習而得。
如此一來,在保留演算法原本意義的同時,行為可依問題與資料特性進行調整。與單純的黑箱式學習不同,更新結構本身仍是設計的核心。
這種同時處理「具理論意義的計算」與「資料導向最佳化」的能力,正是深層展開的特徵。
應用領域的擴展
深層展開並非只適用於單一領域。只要使用反覆演算法或最佳化方法的問題,其結構都可能被改寫為深層展開形式。
因此,相關研究已拓展至影像重建、資料分析、通訊處理、生醫訊號分析等多個領域。雖然應用場景不同,但其核心思想是一致的。
共通點在於,將「計算流程清楚的演算法」轉化為可學習的結構,這正是深層展開具有高度通用性的原因。
向控制問題的延伸:時相深層展開
本研究室進一步將深層展開的概念,延伸至具有時間演化特性的控制問題。在控制中,系統狀態會隨時間變化,且其變化受到輸入的因果影響。
在時相深層展開中,控制對象與控制律的結構會沿時間方向展開,並將每一時刻的計算表示為一層。這使得在不破壞時間因果關係的情況下,引入學習成為可能。
透過讓控制律的一部分可學習,理論導向的設計與資料導向的調整得以自然地整合。
數值模擬驗證
時相深層展開的行為已透過數值模擬進行驗證。即使面對非線性或具有複雜動態的系統,也能觀察到穩定的表現。
與傳統控制方法相比,其可用較少的計算次數達到解答,並能對條件變化展現更高的彈性。
在透過學習提升效能的同時,計算流程與各步驟的角色依然清楚,使得不僅能看結果,也更容易思考「為什麼會出現這樣的行為」。
時相深層展開的優點
時相深層展開的最大優點,在於將基於數學模型的可靠性與 AI 的靈活性整合於同一框架中,使設計不偏向單一方法。
在效能方面,對於非線性系統、時變系統與大規模系統等多種控制問題,皆已確認具有良好表現。既有 AI 領域常用的最佳化器亦可直接使用,這也是一大優勢。
因此,相較傳統方法,可達成更快的收斂速度與更高的控制成功率。只要控制對象的數理模型已知,通常能在較短時間內建構可運作的系統。
程式碼結構簡潔,對參數與模型結構的修改也具有高度彈性。能在單一框架中處理多樣化控制問題,是時相深層展開的重要優勢。
給學生的話
研究並非一開始就需要具備完整且高深的知識。多數情況下,都是從「這個計算在做什麼?」、「為什麼要重複這個處理?」這樣的基本疑問開始。
在深層展開與時相深層展開的研究中,反覆追蹤演算法流程、實作、執行並驗證結果,是核心的研究活動。思考、動手實作、觀察結果,再回到思考,這樣的循環構成研究的主軸。
無論是喜歡寫程式,或是偏好仔細思考計算意義的學生,都能在其中找到參與的空間。
所需的理論背景會隨著研究進展逐步累積。這並不是一個華麗的研究主題,但若你對持續追問「為什麼能運作」感到有興趣,不妨親自了解看看。
