1. 程式人生 > >深度學習筆記:稀疏自編碼器(1)——神經元與神經網路

深度學習筆記:稀疏自編碼器(1)——神經元與神經網路

  筆者在很久以前就已經學習過UFLDL深度學習教程中的稀疏自編碼器,近期需要用到的時候發現有些遺忘,溫習了一遍之後決定在這裡做一下筆記,本文不是對神經元與神經網路的介紹,而是筆者學習之後做的歸納和整理,打算分為幾篇記錄。詳細教程請見UFLDL教程,看完教程之後再來看本文可能會更加清晰。

0. 本文中使用的符號一覽及本文中的一些約定

符號 描述
x 輸入值向量,為n
xi i個輸入值
f() 神經元啟用函式,本文中為sigmoid函式,即f(z)=11+e(z)
W(l)ij 神經網路中第l層第j個神經元和第l+1層第i
個神經元連線上的權值
b(l)i l+1層第i個神經元輸入的偏置項
nl 神經網路的總層數
Ll l層,則輸入層為L1,輸出層為Lnl
sl l層的節點數(不包括偏置單元)
ali l層第i單元的啟用值(輸出值),當l=1時,a(1)i=xi
z(l)i l層第i單元輸入加權和(包括偏置單元),有a(l)i=f(z(l)i)
hW,b(x) 輸入值為x,神經網路中權值和偏置項分別為W,b的情況下的輸出值


約定 本文中將函式f()以及偏導數f()進行了針對向量引數的擴充套件,即:
f(

[z1,z2,z3])=[f(z1),f(z2),f(z3)]
f([z1,z2,z3])=[f(z1),f(z2),f(z3)]

1. 神經元

1.1 神經元定義

  神經元是以x為輸入,hW,b為輸出的運算單元,如圖所示:
此處輸入圖片的描述

1.2 啟用函式

  通常在神經元中輸出值為0表示神經元被啟用,輸出為1表示神經元被抑制,而計算輸出值所用的函式則被稱為“啟用函式”。本文中所用的啟用函式為sigmoid函式:f(z)=11+e(z),其定義域為(,+),值域為(0,1)。以上圖神經元為例,假設第i個輸入值與神經元連線上的權重為w1,輸入值偏置項為b1,在單個神經元中,有h

W,b(x)=f(x1w1+x2

相關推薦

深度學習筆記稀疏編碼1——神經元神經網路

  筆者在很久以前就已經學習過UFLDL深度學習教程中的稀疏自編碼器,近期需要用到的時候發現有些遺忘,溫習了一遍之後決定在這裡做一下筆記,本文不是對神經元與神經網路的介紹,而是筆者學習之後做的歸納和整理,打算分為幾篇記錄。詳細教程請見UFLDL教程,看完教程之後

javaEE學習筆記maven下載和安裝1

本文只作學習筆記,僅代表個人觀點,若有雷同,純屬巧合; 工具:編輯器Eclipse,Tomcat7.0(下載地址:https://tomcat.apache.org/) JDK1.8版本 第一步:官網下載地址: http://maven.apache.org/download.cgi

深度學習入門教程UFLDL學習實驗筆記稀疏編碼

UFLDL即(unsupervised feature learning & deep learning)。這是斯坦福網站上的一篇經典教程。顧名思義,你將在這篇這篇文章中學習到無監督特徵學習和深度學習的主要觀點。 UFLDL全文出處在這:http://ufldl.stanford.edu/wiki/

深度學習什麼是編碼Autoencoder

Autoencoderautoencoder是一種無監督的學習演算法,主要用於資料的降維或者特徵的抽取,在深度學習中,autoencoder可用於在訓練階段開始前,確定權重矩陣WW的初始值。神經網路中的權重矩陣WW可看作是對輸入的資料進行特徵轉換,即先將資料編碼為另一種形式,

深度學習之卷積編碼

一、自編碼器 自編碼器(Autoencoder)是一種旨在將它們的輸入複製到的輸出的神經網路。他們通過將輸入壓縮成一種隱藏空間表示(latent-space representation),然後這種重構這種表示的輸出進行工作。這種網路由兩部分組成,如下圖: 編碼器:將輸入壓縮為潛在空間

UFLDL稀疏編碼

吳恩達的 CS294A 是一門很好的深度學習入門課程,打算接下來的學習以這個課程的內容為主。UFLDL Tutorial 是 CS294A 課程的 wiki 頁,包含了課程講義和作業。如果你對 監督學習、邏輯迴歸、梯度下降 等基礎概念並不熟悉,可以先學習 之前的

python學習筆記浮點數計算問題20180920

    python輸出過程:一個十進位制數———以二進位制形式(近似值)儲存到計算機———輸出該二進位制近似值的十進位制近似值 舉例:浮點數0.3的二進位制表示 十進位制小數轉二進位制採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,將積的整數

從零上手變分編碼VAE

閱讀更多,歡迎關注公眾號:論文收割機(paper_reader) Kingma D P, Welling M. Auto-encoding variational bayes[J]. arXiv preprint arXiv:1312.6114, 2013. Rez

深度學習tensorflow實戰筆記1全連線神經網路FCN訓練自己的資料從txt檔案中讀取

      寫在前面的話:離上一次寫部落格已經有些日子了,以前的工程都是在caffe平臺下做的,caffe平臺雖然挺好用的,但是caffe主要用於做CNN,對於其它的網路模型用起來不太方便,所以博主轉戰tensorflow,Google對待tensorflow就想當年對待An

Laravel 學習筆記深入理解控制反轉IoC和依賴注入DI

目的:解耦和減少依賴關係; 控制反轉(IoC):由外部負責其依賴行為; 例如“超人”類不需要在其內部固化它的“超能力”,而是由外部來產生、組裝“超能力”,再通過“超人”的某個介面中植入; 只要“超能力”滿足某個介面,就能被超人所使用; 依賴注入(DI

編碼AutoEncoder入門及TensorFlow實現

自編碼器(Autoencoder,AE),是一種利用反向傳播演算法使得輸出值等於輸入值的神經網路,它先將輸入壓縮成潛在空間表徵,然後通過這種表徵來重構輸出。自編碼器由兩部分組成:編碼器(encoder):這部分能將輸入壓縮成潛在空間表徵,可以用編碼函式h=f(x)表示。解碼器

深度學習筆記之【隨機梯度下降SGD

筆記 優化問題 toc 最終 來看 應用 優化算法 樣本 找到 隨機梯度下降 幾乎所有的深度學習算法都用到了一個非常重要的算法:隨機梯度下降(stochastic gradient descent,SGD) 隨機梯度下降是梯度下降算法的一個擴展 機器學習中一個反復出現的

深度學習小白也能看懂的卷積神經網路

小編在市面看了很多介紹計算機視覺的知識,感覺都非常深奧,難以理解和入門。因此總結出了一套容易理解的教程,希望能夠和大家分享。 一.人工神經網路 人工神經網路是一種模擬人腦構建出來的神經網路,每一個神經元都具有一定的權重和閾值。僅有單個神經元的圖例如下所示:     從中可以看到每一個神

React學習筆記之react進階篇1

ava 不能 success 字符 style 使用 -s 布爾 一次 1.組件的state(狀態) 1.選擇合適的state   state所代表的一個組件UI呈現的完整狀態集又可以分成兩類數據:用作渲染組件時使用到的數據的來源以及用作組件UI展現形式的判斷依據。 示

Java學習筆記之抽象類基本概念1

1、基本概念 抽象類:包含一個抽象方法的類 抽象方法:用abstract關鍵字宣告,且只有方法名沒有方法體的方法。 1.1 抽象類的定義和使用規則 包含了一個抽象方法的類必須是抽象類 抽象類和抽象方法都要用abstract關鍵字宣告 抽象方法只需要宣告不用實現

數字語音訊號處理學習筆記——語音訊號的數字模型1

版權宣告:本文為博主原創文章,未經博主允許不得轉載。    https://blog.csdn.net/u013538664/article/details/25110285 2.1 概述       &n

python爬蟲學習筆記——使用requests庫編寫爬蟲1

       首先感謝http://python.jobbole.com ,我是看了此站的文章之後才有寫此文的想法,本人也是開始學python不久,此文僅僅是記錄一些學習過程中遇到的問題,邊學邊寫,初次寫這樣的博文,差錯在所難免,如有差錯也請指出,感激不盡。       

學習筆記-基礎知識8-集合框架1

集合框架(1) 1.集合類 為了方便對多個物件的操作,就要對物件進行儲存,集合就是儲存物件最常用的一種方式。 陣列和集合類同是容器: 陣列雖然也可以儲存物件,但長度是固定的;集合長度是可變的。 陣列中可以

Coursera吳恩達《卷積神經網路》課程筆記1-- 卷積神經網路基礎

《Convolutional Neural Networks》是Andrw Ng深度學習專項課程中的第四門課。這門課主要介紹卷積神經網路(CNN)的基本概念、模型和具體應用。該門課共有4周課時,所以我將分成4次筆記來總結,這是第一節筆記。 1. Compu

ufldl 深度學習入門 第一發基於BP網路實現稀疏編碼

目的:打算使用深度學習的方式實現人臉關鍵點的檢測,第一步是要學習深度學習。 步驟:第一步在ufldl上面學習深度學習的演算法基礎知識,然後找部落格上基於python呼叫theano庫實現人臉關鍵點檢測的演算法,看懂後基於C++實現,然後用java實現app,呼叫C++實現的