2014年6月23日 星期一

Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups

Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups

Hinton, Geoffrey, et al. "Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups." Signal Processing Magazine, IEEE 29.6 (2012): 82-97.


下集待續T____T

Representation Learning: A Review and New Perspectives

Representation Learning: A Review and New Perspectives

Bengio, Yoshua, Aaron Courville, and Pascal Vincent. "Representation learning: A review and new perspectives." Pattern Analysis and Machine Intelligence, IEEE Transactions on 35.8 (2013): 1798-1828.

機器學習表現如何有很大一部分取決於選擇了怎樣的方式來表達資料,
而這篇paper就是關於Representation Learning,也就是,學著去表達資料,
以便於當我們需要建立分類器或者其他的predictors的時候,
可以更簡單,也更有效的去找到資料中有效的資訊

過去的幾年中,包括了:語音辨識與信號處理、object recognition、自然語言處理
、以及了multi-task learning, transfer learning, domain adaptation等領域,Representation Learning的概念都大量的被使用,也得到了很好的結果,這一再得顯示了,我們必須要關心Representation Learning這個概念!

不過,怎麼樣的Representation 才算是一個好的Representation 呢?
通常我們會有以下的這些考量:

          smoothness,
                  這也就是說,當x跟y很接近的時候,我們必須要讓f(x)跟f(y)也很接近,
                  但是另外一方面,我們會遇到curse of dimention的問題

          multiple explanatory factors,
                  這個概念是建立在distributed representation的概念上,
                   也就是,我們希望用盡可能少的表達,去展現出大量的原始資訊的構造

          a hierarchical organization of explanatory factors,
                  在日常生活中的物件往往都是具有階層性的構造的,像是橡膠表面與金屬螺絲構成輪胎
                  而輪胎又是機車或者汽車等不同物件的一個小部分。
                  而這樣的概念就運用在deep representation上,
                  deep representation的關鍵就是feature reuse,就像是同樣的金屬螺絲,或者是較大的輪                                       胎等共同部分,而這部分同時也是distributed representation的核心
     
          而其他的部份我們還會有以下的一些關於機器學習上的考量
          semi-supervised learning,
          shared factors across tasks
          manifolds,
          natural clustering,
          temporal and spatial coherence
          sparsity
          simplicity of factor dependencies


綜合以上的考量,deep arcitecture似乎是我們的選擇,
因此這篇paper剩下的部分就著重在一些可以運用在深度結構學習的
feature learning 演算法。

大致上可以分成下面三個部分

1. probabilistic models
     包含了 directed graphical models : PCA 、sparse  coding
     以及undirected graphical models : RBM

2.Directly Learning A parametric Map from Input to Representation
    也就是我們所謂的auto-encoder

3.Representation learning as manifold learning

2014年6月22日 星期日

A Survey on Transfer Learning


A Survey on Transfer Learning

Pan, Sinno Jialin, and Qiang Yang. "A survey on transfer learning." Knowledge and Data Engineering, IEEE Transactions on 22.10 (2010): 1345-1359.

傳統的機器學習通常只在測試數據以及訓練數據來自同樣的特徵空間(feature space)、以及同樣的機率分布下,會有良好的表現。但是在現實生活物中,這樣的假設並不一定總是正確的,而重新在不同的機率分布下蒐集資料是很昂貴的。因此transfer learning便是試圖要解決這一類的問題。














從上圖中,我們可以看出傳統的機器學習,以及transfer learning有何不同。
如圖右所示,transfer learning試圖利用在source tasks中學到的知識,加以解決Target task。

下面我們會稍微解釋一下問題的定義

1. Domain : 包含了兩個部分 : feature space( χ )以及probability distribution(  P(X) ),
    其中 X = {x1,x2,x3....} χ
綜合兩點,我們可以將domain D表示成 D = { χ ,P(X) }
 
2.Task : 也包含了兩個部分 : label space(Y) 以及 objective predictive function ( f(.) )
我們也可以將 Task 表示成T = {Y,f(.) }




transfer learningk的使用情境便是在source 以及 target 在domain 或者是task有任一或者兩者皆不同的情況下。而隨著情況不同,我們也對該情形下的transfer learning有著不同的稱呼,如下圖所示


 
而另外一方面,隨著source 以及 target的標記與否,我們又有另外一種表示方式如下














結合以上兩張表格,我們可以得到一個更詳細的統整如下







Online dictionary learning for sparse coding

Mairal, Julien, et al. "Online dictionary learning for sparse coding." 

Proceedings of the 26th Annual International Conference on Machine Learning. ACM, 2009.


所謂的sparse coding 指的就是如何將一堆的數據向量表達成一些basis的稀疏線性組合。

而這篇paper說明了一種利用stochastic approximation去學習basis set(也就是我們所說的dictionary),的方法,同時的,這個方法也達到不錯的效果在較大規模的數據上。


問題定義:

對於一個有限大小的training set X = [x1,x2,x3.....xn]
我們可以將cost function定義如下





其中l(xi,D)指的是D這個dictionary可以多好的表達xi這筆數據,我們選擇以下的式子




其中α指的是sparse decomposition的係數
λ regularization的參數

統合一下,我們就可以把optimization problem轉換成如下形式







Algoritm:



























實際上為了加速收斂的時間,我們會一次處理多筆數據
也就是將algorithm1的5、6行部分換成如下: