棒棒生

讓學習變成一種習慣


  • 首頁

  • 分類

  • 關於

  • 歸檔

  • 標籤

Far Field Notes (3) Equivalence of MWF, MaxSNR, and MVDR Filters

發表於 2019-03-18 | 分類於 SP

這是 far field 筆記系列第三篇, 主要為自己學習用, 如有錯誤還請指正. 主要參考 Microphone Array Signal Processing Ch6 和 Speech Processing in Modern Communication: Challenges and Perspectives Ch9.3.4

在 narrow-band 的情形下, Multi-channel Wiener Filter (MWF), maximum SNR (MSNR) 和 Minimum Variance Distortionless Response (MVDR) 三者求出來的 filter 解只差在 norm 大小不同. 但反應在最後的 full-bank 行為仍然不同. 這部分可看書. 本篇主要紀錄 narrow-bank 下三者為何 equivalent. 算是書本的摘要筆記吧.

閱讀全文 »

Far Field Notes (2) LCMV filter and Frost's algorithm

發表於 2019-03-02 | 分類於 SP

這是 far field 筆記系列第二篇, 主要為自己學習用, 如有錯誤還請指正. 主要參考 Microphone Array Signal Processing Ch4 和 Frost’s algorithm

上一篇最後雖然使用 fixed beamformer 得到了 response-invariant beamformer, 但這個方法限制是 filter 一旦設計好就寫死了, 沒辦法自己 update (所以才叫 “fixed” beamformer). 這引入一個問題是, 如果剛好有一個 inteference noise 在衰減不那麼大的角度時, 就無法壓得很好. 而這篇要介紹的 LCMV (Linear Constrained minimum variance) filter 以及 Frost’s beamformer 能針對給定的方向抽取訊號, 並且對其他方向的 inteference nosie 壓抑的最好. 注意 sound source 方向必須給定, LCMV 求得的 weights 會想辦法對其他方向的 inteference 壓抑.

如同 LCMV 字面上的意思一樣. 會將整個問題轉換成 minimize variance subject to some linear constraints. 另外相當經典的 Frost’s beamformer (1972年呢!) 則將 filter 的 optimal 求解改成使用 stochastic gradient descent 方式, 所以非常適合實際的 real time 系統, 這些下文會詳細說明.

閱讀全文 »

Far Field Notes (1), Beampattern

發表於 2019-02-26 | 分類於 SP

這是 far field 筆記系列第一篇, 主要為自己學習用, 如有錯誤還請指正. 主要參考 Optimum Array Processing Ch2 以及 Microphone Array Signal Processing Ch3.

Beampattern 就是希望能得到如下圖 [ref Fig3.3] 的表示, 說明經過一個麥克風陣列的處理後, 每個角度所得到的增益情形. 因此可以看出主要保留哪些方向的訊號, 以及抑制哪些方向的訊號.

閱讀全文 »

Bayesian Learning Notes

發表於 2018-12-20 | 分類於 ML

枉費我學習 ML 這麼久, 最近才完整了解 Bayesian learning 大架構, 以及與 MLE, MAP, Variational Inference, Sampling 之間的關聯. 這才終於有了見樹又見林的港覺阿! 筆記整理如下 …

圖片來自 wiki, 我也好想要這個裝飾燈. 就這麼一個 Baye’s Rule, 撐起了統計機器學習的基石!

閱讀全文 »

Gaussian Process used in Bayesian Optimization

發表於 2018-12-09 | 分類於 ML

上了 Coursera 的 Bayesian Methods for Machine Learning, 其中最後一週的課程介紹了 Gaussian processes & Bayesian optimization 覺得很有收穫, 因為做 ML 最痛苦的就是 hyper-parameter tuning, 常見的方法就是手動調, grid search or random search. 現在可以有一個較 “模型” 的作法: Bayesian optimization. 為了瞭解這個過程, 我們會介紹如下內容並同時使用 GPy and GPyOpt 做些 toy example:

  • Random Process and Gaussian Process
  • Stationary and Wide-Sense Stationary (WSS)
  • GP for regression
  • GP for bayesian optimization

讓我們進入 GP 的領域吧

閱讀全文 »

CTC Implementation Practice

發表於 2018-10-16 | 分類於 ML

Credit 是此篇 DingKe ipynb 的, 他完整呈現了 CTC loss 以及 gradient 的計算, 非常棒!
此筆記加入自己的說明, 並且最後使用 tensorflow 來驗證.
這篇另一個主要目的為改成可以練習的格式 (#TODO tag). 因為我相信最好的學習方式是自己造一次輪子, 所以可以的話, 請試著把 #TODO tag 的部分做完吧.
我們只專注在 CTC loss 的 forward, backwark and gradient. Decoding 部分請參考原作者的 ipynb. 最後使用 tf.nn.ctc_loss and tf.gradients 與我們的計算做對比

閱讀全文 »

Variational Inference and VAE Notes

發表於 2018-09-18 | 分類於 ML

前一陣子學習了 Variational Inference, 因為自己記性只有 LSTM 沒有 L, 所以趕快記下筆記. 學得還是很粗淺, 又是一個大坑阿.
監督學習不外乎就是 training 和 testing (inference). 而 inference 在做的事情就是在計算後驗概率 $p(z|x)$. 在 PGM 中通常是 intractable, 或要找到 exact solution 的計算複雜度太高, 這時 VI 就派上用場了. VI 簡單講就是當 $p(z|x)$ 不容易得到時, 可以幫你找到一個很好的近似, $q(z)$.

放上一張 NIPS 2016 VI tutorial 的圖, 非常形象地表示 VI 做的事情: 將找 $p(z|x)$ 的問題轉化成一個最佳化問題.

閱讀全文 »

Ensemble Algorithm Summary Notes

發表於 2018-09-03 | 分類於 ML

這是用自己理解的方式整理了林軒田老師 ML 課程. 其中 Decision tree and Random Forest 沒紀錄.

以前第一次接觸到 Adaboost 的時候就被它深深著迷了, 當時 face detection 可商用算法無不採用經典的 Viola and Jones adaboost method. 在現在 DNN 成主流的時候, 雖然 adaboost 光環已退去, 但在 data mining, data science 領域 boosting 方法仍是最成功的算法之一. 基本上在 Kaggle 比賽可以看到主要兩大方法, 舉凡聲音影像文字等等的辨識就是 DNN, 其他凡是 data mining 相關的就屬 boosting (xgboost).
有趣的是, 近年也有研究人員用 ensemble 的角度看待 DNN, 從這角度就能理解為何一路從 highway network –> skip layer resent –> resnext 的架構演變, 以及為何效果這麼好. 可以參考 “深度神经网络中深度究竟带来了什么?” 很精彩的解釋, 或是 MSR 2017 這篇論文 Deep Convolutional Neural Networks with Merge-and-Run Mappings

筆記內容如下:

閱讀全文 »

TF Notes (5), GRU in Tensorflow

發表於 2018-07-30 | 分類於 ML

小筆記. Tensorflow 裡實作的 GRU 跟 Colah’s blog 描述的 GRU 有些不太一樣. 所以做了一下 TF 的 GRU 結構. 圖比較醜, 我盡力了… XD

TF 的 GRU 結構

u 可以想成是原來 LSTM 的 forget gate, 而 c 表示要在 memory cell 中需要記住的內容. 這個要記住的內容簡單講是用一個 gate (r) 來控制之前的 state 有多少比例保留, concate input 後做 activation transform 後得到. 可以對照下面 tf source codes.

閱讀全文 »

(what is) Probabilistic Graphical Models

發表於 2018-06-16 | 分類於 ML

本篇主要介紹什麼是 PGM, 以及一個很重要的應用 Part-of-Speech tagging. PGM 的部分主要圍繞在 “它是什麼?” 也就是 Koller 課程的 Representation. Inference 不討論, 因為自己也沒讀很深入 (汗), 而 Learning 就相當於 ML 裡的 training, 會在介紹 POS 時推導一下.

文章結構如下:

  • What is Probabilistic Graphical Model (PGM)?
  • What is Bayesian Network (BN)?
  • What is Markov Network (MN)? (or Markov Random Field)
  • What is Conditional Random Field (CRF)?
  • Part-of-Speech (POS) Tagging
  • References

文長…

閱讀全文 »
1…789…11
Chih-Sheng Chen

Chih-Sheng Chen

110 文章
5 分類
229 標籤
© 2025 Chih-Sheng Chen
由 Hexo 強力驅動
主題 - NexT.Mist
[object Object] [object Object]