Allen Tzeng

@allen108108

Joined on Jan 9, 2019

  • :::info ::: 概要 Abstrct 在這篇論文中,作者推出了一個嶄新的物件偵測方式 -- YOLO。原本的物件偵測任務是利用分類器來進行,但在 YOLO 中,作者們將物件偵測視為一個回歸任務,來從空間中分割出邊界框 ( Bounding Box )並且計算出類別機率。僅利用一個神經網路進行一次計算來直接預測邊界框及類別機率,也因為整個偵測過程只有使用單一個神經網路,因此可以視為是一個 End-to-End 的優化過程。 這樣統一的架構的執行速度十分快速,YOLO 執行圖像任務上可以達到即時每秒 45 幀。而另外一個較小型的版本 Fast YOLO 不僅可以達到每秒 155 幀的執行速度,mAP ( Mean Average Precision ) 也是其他即時物件偵測系統的兩倍。 跟其他的物件偵測系統相比,YOLO 雖然有較高的定位誤差,但在背景的預測上不太可能出現 False Positive 的狀況。最後,YOLO 不論在自然圖像或是藝術圖像等領域上,相較於其他的偵測法,如 DPM 及 R-CNN, 可以學習到泛化性更好的物體表示法。
     Like 1 Bookmark
  • [論文] Network In Network === ###### tags: `paper notes` 為了有更整合式的閱讀體驗及筆記整合,全文已搬移至個人 [Github page](https://allen108108.github.io/blog/) 頁面。 此文部落格文章連結 : https://allen108108.github.io/blog/2019/10/07/[%E8%AB%96%E6%96%87]%20Network%20In%20Network/
     Like  Bookmark
  • # 林軒田機器學習基石筆記 - 第三講、第四講 ###### tags: `林軒田` `Maching Learning` `機器學習基石` --- >* **本文為一系列課程之筆記,建議從" [機器學習基石筆記-1](https://hackmd.io/s/ryxzB7LwN) "開始閱讀** >> >* **本文討論內容請參考: 機器學習基石第三講 : Types of Learning 機器學習基石第四講 : Feasibility of Learning** > >* **本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義** > --- ## Types of Learning 在前文中,我們介紹了一種最簡單的機器學習模式 : **簡單二元分類 (Perceptron)** ,但機器學習的型態非常多,以下我們從**輸出空間Output Space、目標標籤Data Lable、處理資料的方式Protocol以及輸入空間Input Space**這幾個面向來討論 ### **Output Space** * ++Binary classificati
     Like 1 Bookmark
  • Unsupervised Learning --- Word Embedding === ###### tags: `李宏毅` `Maching Learning` 在正式進入 Word Embedding 之前,我覺得應該先來談談什麼是 Word Vector。 今天看了幾個 Medium 文章,有技術部落格甚至認為 Word Embedding 就是 Word Vector。這才讓我覺得,似乎要對 Word Embedding 要有更深刻的了解才是。 ## Word Vector 在 Machine Learning 中,資料的特徵表示是整個領域中最核心的部分,不同的特徵表示,可能會訓練出天差地遠的 Model。當然,在 Natural Language Processing ( NLP ) 中亦然。 然而於 NLP 中我們應該要用什麼樣子的方式來表示資料 ? 怎麼樣子的方式才能真正有效的表現文本裡面「字」、「詞」、「句」之間的意義呢 ? 此時便有了 Word Vector 的概念。 ### 1-of-N Encoding ( One-Hot representatio
     Like 2 Bookmark
  • Transfer Learning 遷移學習 === ###### tags: `李宏毅` `Maching Learning` 當我們要進行某一個任務時,或許可能會遇到一個問題 : 「與這個任務直接相關的資料並不多,但與任務不直接相關的資料卻不少」 ( 當然,這是一個比較冠冕堂皇的理由,大多時候我們想問的是,我們能不能從別人已經完成的任務中,借鑒對方的經驗來讓我們的任務能夠更有效率地完成 ) <center> ![](https://i.imgur.com/HMkuJoZ.png =500x) </center> 我們能不能從 Youtube 的中英文語音資料來進行台語的語音辨識 ? 或者從動物的影像辨識模型來進行醫療影響的判讀 ? ....等等。 以下我們以李宏毅老師所整理的架構來一一針對不同的狀況所使用的遷移學習方法做介紹 ![](https://i.imgur.com/0o1uDDK.png) 這裡有幾個名詞解釋與前提必須要先提醒 : * Source Data : 與我們要進行的任務不直接相關的資料 * Target Data : 與我們要進行的任務
     Like 7 Bookmark
  • Gradient Vanishing Problem --- 以 ReLU / Maxout 取代 Sigmoid actvation function === ###### tags: `李宏毅` `Maching Learning` >* 本文內容參考自Hung-yi Lee , [Machine Learning](http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html)(2017) 課程內容 : Tips for Training DNN >* 本文圖片部分來自於課程講義內容 > ## 梯度消失 Gradient Vanish 「類似」於 Sigmoid function 的激勵函數,普遍帶有梯度消失 ( Gradient Vanish ) 的隱憂,那究竟什麼是梯度消失? $Sigmoid\ function=\theta(s)=\displaystyle{\frac{1}{1+e^{-s}}}$ 此函數圖形為 ![](https://i.imgur.com/mlzgQy1.png =450x) (圖片取自
     Like 4 Bookmark
  • 卷積神經網路 (Convolutional Neural , CNN) === ###### tags: `李宏毅` `Maching Learning` --- > >* **本文內容以李宏毅 Machine Learning (2017) 第十講 : Convolutional Neural Network ( CNN ) 為主,搭配參考資料編輯而成。** > >* **本篇圖片部分出自 Machine Learning (2017) 課程內容講義** > --- 當我們剛開始接觸深度學習的時候,最常看到的例子便是使用 MINST 資料庫進行手寫數字的辨識。概念如下圖所示,將所有像素灰階數值壓成一維資料後再丟進全連接層進行學習。 <center> ![](https://i.imgur.com/zVa11Vr.png =400x) (圖片來源 : 3Blue1Brown Youtube : [究竟神經網路是什麼? 第一章 深度學習](https://youtu.be/aircAruvnKk)) </center> 如果在進行一般的圖片辨識時,我們不會使用上面的方式
     Like 32 Bookmark
  • Support Vector Machine ( SVM ) 支撐(持)向量機 === ###### tags: `李宏毅` `Maching Learning` ``` 本文主要以李宏毅老師的 SVM 課程為主,用比較簡單的方式闡述 SVM 我個人認為這算是比較精簡的版本,如果要全盤且正式的理解 SVM, 建議可以參考林軒田老師「機器學習技法」中關於 SVM 的課程 ``` ## Support Vector Machine ( SVM ) 當我們利用 PLA 對於資料做分類時,每一次找出來的解有非常大的機率會不同,而且都不見得會是最佳解。正因為如此,我們接下來會問的問題是 : 「究竟哪一個解 ( Hyperplane ) 會是最佳解 ? 」 假如我們考量到,在未來的資料中,可能或多或少會有隨機分布的 Noise 在資料中,這樣的 Noise 不應該影響到我們的分類,則我們會希望最好的 Hyperplane 應該是能夠與各分類資料距離越大越好,也就是說,能夠有更多的誤差容忍度。( 如下圖左 ) ![](https://i.imgur.com/dPQQBep.png) 相
     Like  Bookmark
  • Unsupervised Learning -- Generation ( 初探 Generative Adversarial Network ( GAN ) ) === ###### tags: `李宏毅` `Maching Learning` ``` 這裡我選擇的標題是 「初探」GAN, 因為在李宏毅的課程中,對於GAN還有許多補充的課程, 在這篇文章就先以一些簡單的基礎概念先讓大家了解什麼是 GAN, 其他的補充資料待後續有時間再進行補充。 ``` GAN 的概念其實就像是獵物與天敵之間的關係,獵物想要經由演化來讓自己可以避免自己被天敵攻擊,而天敵也會因為獵物的演化學會哪些才是他的獵物。 <center> ![](https://i.imgur.com/a8Lk5mK.png =450x) </center> 在 GAN 的系統中,獵物與天敵就相當於 Generator 與 Discriminator 之間的關係。 <center> ![](https://i.imgur.com/fzY6qTh.png =450x) </center> 那麼 Generat
     Like  Bookmark
  • 使用說明書 https://www.download.p4c.philips.com/files/h/hd9641_91/hd9641_91_dfu_zht.pdf 氣炸鍋食譜 === ## 肉 1. 無骨雞腿排 : 醃漬過後,180度15分鐘 2. 松阪豬排 : 整塊放入,180度10分鐘再200度5分鐘,烤完再切片 3. 烤牛排 : 200度預熱5分鐘,烤8分取出,翻面續烤8分鐘即可 4. 骰子牛排 : 180度8分鐘再悶5分鐘 5. 無骨鹽酥雞 : 180度7分鐘,翻一翻,再180度7分鐘,最後200度2分鐘 6. 烤鮭魚 : 170度10分鐘再200度5分鐘 7. 烤鯖魚 : 160度12分左右 / 200度5分鐘 8. 月亮蝦餅 : 150度15分鐘翻面再200度5分 9. 蝦子(大) : 180度6分鐘 10. 冷凍雞塊 : 180度12分鐘再200度3分鐘 11. 冷凍薯條 : 同上 ## 菜 1. 炸南瓜 : 厚度約1.5公分,切好噴少許油,放入氣炸鍋內。160度10分鐘再180度5分鐘 2. 烤玉米 : 160度15分鐘 3. 烤地瓜 : 180度1
     Like  Bookmark
  • Unsupervised Learning -- Neighbor Embedding === ###### tags: `李宏毅` `Maching Learning` ![](https://i.imgur.com/0J9l8ZP.png) 有了前面 Word Embedding 的概念後,我們可以把問題想得更 generalization 一些 : 「面對流形 ( Manifold )或其他 非線性 ( Non-Linear ) 的狀況,我們是否能嵌入 (Embedding) 到更低維度的空間中並且保留其特性呢 ?」 ## Locally Linear Embedding ( LLE ) LLE 的核心概念是這樣 ,原本的資料中,任一筆資料 $x_i$ 假設可由周圍的 資料點 $x_j$ 線性組合而來,其係數 $w_{ij}$ 即為 $x_i$ 與 $x_j$ 之間的關係 (relation)。而我希望 Embedding 後的 $z_i$ 與 $z_j$ 仍保有 $w_{ij}$ 這樣的關係,藉此來找出 $z_i$ 與 $z_j$。 ![](https://i.im
     Like  Bookmark
  • Unsupervised Learning -- AutoEncoder === ###### tags: `李宏毅` `Maching Learning` ## Auto-Encoder Auto-Encoder 也是 Dimension Reduction 的一種應用,當我們資料位處高維度,我們會希望可以將其縮到低維度的空間,當然也希望可以將其還原到原本的維度空間中。而這中間則利用一個 Neural Network Encoder / Decoder 來進行轉換。 <center> ![](https://i.imgur.com/mNDt7Of.png =400x) </center> 既然是 NN 結構,那我們就乾脆把 Encoder/Decoder 串在一起,利用 Backpropagation 一起訓練。 ![](https://i.imgur.com/YlvhSgI.png) 理想的狀態,我們會希望 Encoder 的 weight matrix 與 Decoder 的 weight matrix 互為轉置,但實務上我們基本上不用給這樣子的條件,反正就丟進去
     Like 2 Bookmark
  • Unsupervised Learning -- Principle Component Analysis ( PCA ) === ###### tags: `李宏毅` `Maching Learning` ## 化繁為簡 在 " [Semi-supervised Learning](/Kd3OXHgISduPrtVBqKbamA) " 一文中曾經提到過化繁為簡的概念,簡單來說就是從我們手邊的資料去找出背後的規則、最精要的部分。 <center> ![](https://i.imgur.com/4LVhZdz.png =450x) </center> 我們要問的是,是不是能從複雜、高維度的資料中,找到低維度的決定性因素可以決定這些高維度的表現 ? ![](https://i.imgur.com/mBUx0Ja.png =300x)![](https://i.imgur.com/wFvzbbQ.png =300x) 上圖左,從這3-D流形中我們是否可找出2-D的規則 ? 上圖右,在 MNIST 中,資料都是$28\times 28$ 的灰階圖。但我們知道,在 $28\t
     Like  Bookmark
  • 利用 ImageDataGenerator (資料增強) 加強 CNN 辨識率 === ###### tags: `Practice` `deep learning` :::info 此篇文章主要著重在 ImageDataGenerator 的使用,以及是否能增進 CNN 的辨識率,因此文章內主要的 CNN Architecture 均沿用 " [*卷積神經網路 Convolutional Neural Network ( CNN ) 與 全連接神經網路 Fully Connected Feedforward Network 於 MNIST 上之實作*](/pimMzfA4TNSsbrdnbCGQUQ) " 一文。 ::: ```python= import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from keras.datasets import mnist from keras
     Like 4 Bookmark
  • Adagrad、RMSprop、Momentum and Adam -- 特殊的學習率調整方式 === ###### tags: `李宏毅` `Maching Learning` >* 本文內容節錄自Hung-yi Lee , [Machine Learning](http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html)(2017) 課程內容 : Gradient Descent、Tips for training DNN >* 本文圖片均來自於課程講義內容 > 在深度學習中,我們進行優化的方式大多使用的是 Gradient Descent,其一般化的形式 矩陣型態 : $\boldsymbol{W}^{t+1}\leftarrow\boldsymbol{W}^t-\eta\cdot\nabla L(\boldsymbol{W}^t)$ 我們也可以單看其中一個分量權重 : $w_i^{t+1}\leftarrow w_i^t-\eta\cdot\frac{\partial L}{\partial w_i}$ 我們曾
     Like 13 Bookmark
  • Regularization 方法 : Weight Decay , Early Stopping and Dropout === ###### tags: `李宏毅` `Maching Learning` >* 本文內容節錄自Hung-yi Lee , [Machine Learning](http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html)(2017) 課程內容 : Tips for training DNN >* 本文圖片均來自於課程講義內容 > ## Weight-Decay Weight-Decay 其實就是我們最常說的 L1 / L2 regularization,但是為何加入了 regularizer 就會造成 weight decay ? 我們拿 L2 regularization 為例 $w_i^{t+1}\longleftarrow w_i^t-\eta\cdot \displaystyle{\frac{\partial L'}{\partial w_i}}$,where $L'(\bolds
     Like 1 Bookmark
  • Semi-supervised Learning === ###### tags: `李宏毅` `Maching Learning` --- > >* **本文討論內容請參考: Machine Learning (2017) 第十二講 : Semi-supervised** > >* **本篇所有圖片部分由筆者製作, Machine Learning (2017) 課程內容講義** > --- 剛開始學習機器學習中,我們大多看到的是 Supervised learning : $\left\{(x_r,y_r)\right\}_{r=1}^R$,每一個 $x_r$,都有一個 Label $y_r$,而 Semi-Superviced Learning 便是只有一部分資料有標籤,而另外一部分的資料是沒有標籤的,實務上沒有標籤的資料遠多於已經標籤的資料 : $\left\{(x_r,y_r)\right\}_{r=1}^R$ and $\left\{x_u\right\}_{u=R}^{R+U}$, $U\gg R$。 Semi-Superviced Learning 在實務上
     Like  Bookmark
  • # 林軒田機器學習基石筆記 - 第一講、第二講 ###### tags: `林軒田` `Maching Learning` `機器學習基石` --- >* **本文討論內容請參考: 機器學習基石第一講 : The Learning Problem 機器學習基石第二講 : Learning to Answer Yes/No** > >* **本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義** > --- * **Learning :** 從觀察開始,經由腦內轉化,形成有用的技能。 **Machine Learning :** 利用電腦模擬上述的過程,稱之。 * **Machine Learning 本質 :** 存在潛藏模式可以被學習,但我們無法明確給訂規則及定義,因此利用過往資料讓機器自行學習判斷。 <br> ## Componemts of Machine Learning ![](https://i.imgur.com/MIslz7k.png) * **Perceptron Hypothesis Set** Percept
     Like 3 Bookmark
  • # 林軒田機器學習基石筆記 - 第五講、第六講 ###### tags: `林軒田` `Maching Learning` `機器學習基石` --- >* **本文為一系列課程之筆記,建議從" [機器學習基石筆記-1](https://hackmd.io/s/ryxzB7LwN) "開始閱讀** >> >* **本文討論內容請參考: 機器學習基石第五講 : Training versus Testing 機器學習基石第六講 : Theory of Generalization** > >* **本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義** > --- 回顧上一篇的結論,只要 Hypothesis set $\mathbb{H}$ 是有限集 (#$\mathbb{H}=M$ is finite),且dataset $\mathbb{D}$ 有夠多的資料(#$\mathbb{D}=N$ is large enough),我們就能確定 : $\mathbb{P}(\mid E_{out}(\mathbb{H})-E_{in}(\mathbb{H}) \m
     Like 2 Bookmark
  • # 林軒田機器學習基石筆記 - 第七講 ###### tags: `林軒田` `Maching Learning` `機器學習基石` --- >* **本文為一系列課程之筆記,建議從" [機器學習基石筆記-1](https://hackmd.io/s/ryxzB7LwN) "開始閱讀** >> >* **本文討論內容請參考: 機器學習基石第七講 : The VC Dimension** > >* **本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義** > --- 我們先來看一下上一篇的結論 : 存在 $Break\ point$ ( 好的$\mathbb{H}$ ) 且 $N$ 夠大的情況下 ( 好的$\mathbb{D}$ ),即使 $infinite\ \mathbb{H}$,演算法從$E_{in}$很小的條件下挑出一個 $g$ ( 好的$algorithm$ ),都一定會有一個有限上界可以確保$E_{in}$跟$E_{out}$夠接近。 ## About $\mathbb{H}$ 在我們往下討論這一講的內容前,我覺得我們必須花一點時間了解 $\ma
     Like 1 Bookmark