• 沒有找到結果。

dataset(LMD),跟 Magenta 一樣是使用 MIDI 格式的音樂,同屬 symbolic-domain 的神 經網路音樂生成。

2.3 深度學習

深度學習(Deep Learning, DL)是人工神經網路(Neural Network, NN)中的一個子領域,

因其在資料探勘、電腦視覺、語音辨識、自然語言處理、證券金融預測分析、生物特徵 偵測、醫學診斷等領域的卓越成果,在近幾年熱門於業界,具有商業重要性。

一個標準的人工神經網路是由許多簡單且相互連接的處理器所組成,稱為神經元,

每個神經元會產生序列的實激勵值(sequence of real-valued activations)。常見的多層前饋 網路結構可分為三部分,一個輸入層(Input layer)用來感知大量環境訊息,輸入的訊息先 Network, CNN)、遞歸神經網路(Recurrent Neural Network, RNN)兩大基本架構和其變形,

已被廣泛運用於電腦視覺、語音辨識、自然語言處理和生物資訊學等領域並取得了優秀 的成果。

與本研究相關的深度學習應用領域為語音辨識和電腦視覺,使用的深度學習框架都 是基於卷積神經網路的架構,因為不管是影像還是音樂聲音訊號,其實都可看作是圖像

訊號,將音樂的audio 訊號經過離散傅立葉轉換(Discrete Fourier Transform, DFT),將訊 號數值分解成簡諧波來解析頻率,我們可以得到一個特定時間點的頻率分布圖,稱為頻 譜(spectrum),而頻譜則可以跟圖像訊號一樣使用卷積神經網路作深度學習。2012 年 Hinton 和 Deng 等人[6]發表使用深度神經網路(Deep neural networks, DNNs)取代高斯混 合模型(Gaussian mixture models, GMMs),在語音辨識上有更好的成果,在這之前的語音 辨識是使用隱藏馬可夫模型(hidden Markov models, HMMs)和高斯混合模型,此篇研究 是語音辨識上劃時代的成果,在 TIMIT 資料集上訓練的 DNNs 在五種不同的大型詞彙 量 的 連 續 語 音 識 別(large-vocabulary continuous speech recognition, LVCSR) 任 務 都 比 GMM-HMM 有更好的成果。而在圖像識別的任務上,Hinton 等人[8]使用卷積神經網路 在2012 年 ImageNet 的競賽上取得了 state-of-the-art 的成果,讓卷積神經網路(CNN)一戰 成名,他們使用了包含六千萬的參數和65 萬的神經元的五層卷積層(convolutional layers),

有些之後接著最大池化層(max-pooling layers)和三層完全鍵接層(fully-connected layers),

而在最後是 1000-way 的 softmax,同時為了處理過擬合(overfitting)的問題使用 dropout 技術,在2012 年 ILSVR(ImageNet Large Scale Visual Recognition Competition)由 ImageNet 所舉辦的競賽中以Top-5 錯誤率 15.4%超過第二名 10%的懸殊差距奪得第一名,此篇提 出的模型也被稱為AlexNet 而廣為人知。

在強化學習(Reinforcement learning, RL)後,Ian Goodfellow 在 2014 年提出生成對抗 網路的概念[4],生成對抗網路是非監督式學習的一大進展,監督式學習是使用大量帶有

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

希望讓生成模型產生的圖片與現有已標記為狗的圖片在分辨模型的結果皆為真實,由於 這其中有生成模型與分辨模型對抗的用意,因此取名為生成對抗網路。

在音樂波形生成的研究上,[12]在 2016 年提出文字轉語音的波型音訊的生成模型架 構WaveNet,能夠生成類人聲的音頻,而因為 WaveNet 直接生成音訊波形的能力,在之 後也被常應用於音樂生成研究上。[3]提出了一個基於 WaveNet 的自編碼 (Autoencoder) 模型,經過訓練來學習音樂聲音的特徵,可以生成 Bass 和 Flute、Flute 和 Organ 以及 Organ 和 Bass 等音色合成的聲音頻譜。

們使用由[13]提出的表現編碼(performance encoding)來為 MIDI 資料編碼,表現編碼 (performance encoding)的詞彙(vocabulary)包含 128 個 NOTE_ON 事件和 128 個 NOTE_OFF 事件、100 個 TIME_SHIFT 來表現 10ms 的時間(expressive timing at 10ms)、32 個 VELOCITY 來表現動態(expressive dynamics),而因為我們的資料集由全鋼琴音符組成,所以我們設 定𝑀𝐼𝑁_𝑃𝐼𝑇𝐶𝐻 = 21、MAX_PITCH = 108,這樣我們的詞彙庫(vocabulary)大小為 310,

88 個 NOTE_ON、88 個 NOTE_OFF、32 個 TIME_SHIFT、100 個 VELOCITY、1 個開始符和 1 個結束符。所以我們的訓練資料 target Y 是一個數字序列由{0, 1, ⋯ , 309}組成。

影片資料是每筆 10 秒長度的影片,我們使用 OpenCV 抽出 40 個影片 frames,受限 於 CUDA 記憶體大小,將每個 frame 大小調整成長寬皆為 128,而為了讓我們的模型能 學到影片氣氛、場景色調的因素,我們的 frame 由 RGB 三個 Channels 組成並使用 TensorFlow 的 PNG 編碼,為了能讓模型有序列編碼,每個 frame 資料我們加上一個 FRAME_NUM,所以我們的訓練資料 input X 為一個40x128x128x3的影片幀序列,每一 個圖像資料皆帶有一個𝐹𝑅𝐴𝑀𝐸_𝑁𝑈𝑀 ∈ {0, 1, 2, ⋯ , 39}。

3.2 Convolutional Video-Music Transformer

我們的 VMT(Video-Music Transformer)模型是基於注意力機制的影片到音樂模型,模

相關文件