CNN卷積神經網路 #1 卷積層(Convolution layer), Stride, Padding

卷積類神經網路(Convolution Neural Network, CNN)為目前用來進行影像辨識最有效的特徵萃取演算法,這個方法是由學者Yann LeCun於1998年發表的論文『Gradient-Based Learning Applied to Document Recognition』所使用的方法。直至今日,已有許多物體分類(Object classification)與物體偵測(Object detection)的方法就是透過CNN建構。本篇主要介紹CNN演算法中的卷積層運算方式以及相關屬性,其中包括移動步伐(Stride)、補充像素(Padding)和最重要的卷積核(Kernel or Filter)。

Read more

Backpropagation(BP) 倒傳遞法 #3 貓貓分類器-N層類神經網路

本文會以上篇內容(2層類神經網路)為基礎加深難度與實用性,因此這次將會實作可自定層數的類神經網路以及使用倒傳遞法(Back propagation, BP)優化的方法。這次的模型作法也是使用邏輯回歸(Logistic Regression)建立貓貓分類器。當然,你想換成別種圖片也是OK的。

Read more

Backpropagation(BP) 倒傳遞法 #2 貓貓分類器-2層類神經網路

本篇會介紹在機器學習(machine learning)與深度學習(deep learning)領域裡很流行的倒傳遞法(Back Propagation/ Backpropagation, BP)的演算法流程與實作方法:正向傳遞(Forward pass)、反向傳遞(Backward pass)、邏輯回歸(Logistic regression)
除此之外,本篇會用簡易的2層類神經網路建立一個『貓貓分類器』。

Read more

NumPy 1.14 教學 – #09 ix_( )函數、線性代數(Linear Algebra)、重複(Repeat)、堆疊(Stack)

NumPy提供了一個很有趣的函數 ix_ ,一剛開始還有點看不太懂官方文件到底是想表示什麼?
仔細閱讀其他的範例之後發現原來 ix_ 函數的用途應該算是很多樣的。
此外還會介紹np.repeat、np.tile、np.hstack、np.vstack等用法。
本文#09應該算是 NumPy教學系列文的最後一篇。
不過,未來若有碰到什麼奇妙的用法也還是會一併補充上來。 😀

Read more

Apache進階設定(1) – TLSv1.2 TLSv1.1 SSLv2 SSLv3

以CentOS來說,我已經將Apache的SSL設定檔設定完成,也將SSL Certificate安裝完畢,但為何使用Firefox或Chrome去瀏覽網站的時候,卻仍然顯示此網站不安全?像是以下警告訊息:
『Your connection is not secure.』、『你的連線不安全』、『Error code: SEC_ERROR_UNKNOWN_ISSUER』

其原因就是,現今的瀏覽器不在支援舊版的SSL安全協定,像是TLSv1.0、SSLv3已被視為不夠安全的協定!

Read more

Ubuntu 18.04安裝 CUDA Toolkit 遇到錯誤“Can’t locate InstallUtils.pm in @INC”

『Error: cannot find Toolkit in /usr/local/cuda-8.0』
這是在Ubuntu 18.04安裝CUDA Toolkit 8.0的時候跳出來的錯誤訊息。
仔細看一下log便可發現詳細的錯誤訊息為『Can’t locate InstallUtils.pm in @INC』
安裝其他版本的時候也有遇過這樣的錯誤訊息,但解決方法是一樣的。
原因就是有個檔案沒有複製到正確的位置上罷了…但我也不知為何會這樣…

Read more

NumPy 1.14 教學 – #06 簡易指定(Simple Assignments), 檢視(Views), 深度拷貝(Deep Copy)

NumPy提供了簡易指定Simple Assignments、檢視View、深度拷貝Deep Copy等方法,本文就會針對這幾種方法的差異做介紹!
這是因為陣列這類包含大量指標的變數,對於程式語言來說,通常會兩種複製的方法,一種是類似於捷徑的做法,另一種則是以建立完整的內容來達成相同的效果。但兩者在使用上會有不同的效果!在撰寫時也必須要視情況而定!

Read more