• 沒有找到結果。

第三章 理論概述

3.1 序列至序列學習問題

在資料科學研究中,序列(sequences)泛指長度不固定的資料,而序 列至序列學習問題(sequence-to-sequence learning problem)即是如何將 輸入序列(input sequence)映射到輸出序列(output sequence)之問題。以水 文降雨-逕流過程為例,每一場降雨延時不一致的事件紀錄是輸入序列;

每場流量歷程長度不同的洪水事件紀錄是輸出序列,讓模式學習由降 雨轉換為逕流量的問題即為序列至序列學習問題。依此類推,降雨推 估、洪水預報、地下水變化趨勢分析等應用亦屬於序列至序列學習問 題。一個序列至序列學習問題的資料集(dataset)由多個樣本(sample)所 組成,每個樣本包含一個輸入序列 X 與一個輸出序列 Y,每個序列由 多個 d 維度的向量組成,如 3-1 及 3-2 式所示:

𝑋 = (𝑥1, 𝑥2, . . . , 𝑥𝑇) (3-1) 𝑌 = (𝑦1, 𝑦2, . . . , 𝑦𝐿) (3-2)

𝑇, 𝐿 ∈ 𝑁 𝑥𝑇 ∈ 𝑅𝑑𝑖, 𝑦𝐿 ∈ 𝑅𝑑𝑜

式中𝑥為輸入序列 X 中𝑑𝑖維度向量;𝑦是輸出序列 Y 中𝑑𝑜維度向量。以 多個雨量站紀錄推估區域網格淹水深為例,不同事件有不同的降雨延 時與淹水時長,但有固定數目之雨量站與淹水點。例如輸入序列為降雨 延時 m 小時,p 個測站的暴雨事件紀錄;輸出序列可為淹水時長 n 小 時,q 個淹水點的洪水事件紀錄,其數據結構如圖 3.1.1 所示。

doi:10.6342/NTU202003855

17

圖 3.1.1 以降雨造成淹水之序列至序列學習問題資料結構

傳統的 ANN 模式要求須有固定個數的輸入與輸出項目個數,才能 建立輸入值映射到輸出值間的映射關係,因此第一步即是先將輸入序 列或輸出序列轉換成模式可以接受的格式。這個轉換過程過去通常是 由人進行資料抽取,例如由試誤法(try and error method)及 gamma test (Jones,2002;Chang 等,2014)從輸入序列中尋找適合模式學習的輸入 時間長度及輸出範本格式,對模式是否可成功學習是非常關鍵的一步。

在深度學習技術逐漸成熟與電腦硬體增加演算速度後,透過機器學習 技術協助處理人為抽取資料特徵的做法漸漸成為主流。有些序列至序 列學習問題具有相同或類似的輸入序列,例如預報流量與淹水深均需 要雨量資訊;有些問題具有相同的輸出序列,例如推估降雨機率或淹水 機率均是輸出 0 至 1 的數值,因此序列至序列學習模型可以被歸納為 一種編碼器-解碼器(encoder-decoder, ED)框架,透過選擇或抽換適合處 理特定序列的編碼器或解碼器之 ANN 結構,使複雜的模型可以透過轉 移學習(transform learning)技巧快速有效的完成開發。

3.1.1 編碼器-解碼器框架

ED 框架是近年來許多研究人員用來解決複雜任務的方法(Asadi 與

doi:10.6342/NTU202003855

18

Safabakhsh,2020)。其主要概念為利用編碼器(encoder)將輸入序列轉換 成該序列之抽象特徵,適合解碼器(decoder)映射到輸出序列之編碼向量 (code vector),再透過解碼器將抽象特徵之編碼向量轉換成符合需求格 式之輸出序列。整體過程如圖 3.1.2 所示。

圖 3.1.2 編碼器-解碼器框架

在機器學習研究與應用中,編碼器與解碼器常以 ANN 模式為主 體,根據不同的資料序列型態選用不同類型的 ANN。例如時間序列常 以 RNN 或一維 CNN 萃取時間連續性特徵;圖像或照片常以二維 CNN 萃取平面空間特徵;沒有明顯關聯性的多維資料常以 FFNN 作為編碼 器或解碼器。為了加速複雜模式開發過程,使用已訓練的編碼器或解碼 器是一種常見的轉移學習技巧。以區域淹水特性分析模式透過轉移學 習方法轉換為淹水預報模式為例(圖 3.1.3),區域淹水分析模式中解碼 器 1 的作用是將淹水特徵還原為淹水資料格式,與淹水預報模式輸出 的淹水數據格式相符,如果淹水預報模式直接使用淹水分析模式的解 碼器 1,並建置預測淹水特徵之編碼器 2,即可大幅減少開發時間。

圖 3.1.3 應用轉移學習將分析模式改為預報模式

doi:10.6342/NTU202003855

19

相關文件