1. 程式人生 > >02 神經網路主要知識點

02 神經網路主要知識點

02 - 神經網路主要知識點

神經網路就是模擬人的神經元進行訊號(資訊)收集、傳遞、處理的過程。

以人體對於溫度的感知為例:

簡單神經網路

感知機

  1. 定義: 有n個輸入資料,通過權重與個數據之間的計算和,比較啟用函式結果,得出輸出。
    • sum = w1x1+w2x2+w3x3+......
  2. 應用: 容易解決與、或問題, 分類問題。
  • 與問題: 所有輸入為1,則為1
  • 或問題: 只要有一個為1,則為1
  • 亦或問題:相同為0,不同為1 (使用2條直線來劃分,即2個感知機)
  1. 感知機與邏輯迴歸的對比
  • 感知機是求和以後進行一個簡單的閾值判斷,而邏輯迴歸是通過一個sigmoid啟用函式函式轉化為[0,1]的值。

神經網路定義

當一個感知機不能解決問題的時候,會用多個感知機來構成網路。
感知機 --> 神經元
多個神經元構成的網路 --> 神經網路
神經網路是一個多分類問題,得出屬於全部類別的每一個概率,誰的概率大,就是誰。

神經網路特點

  • 由輸入層(1個)、隱藏層(n個)、輸出層組成(1個)
  • 輸入向量的維度和輸入神經元的個數相同 (不是個數)
  • 同一層的神經元之間沒有連線
  • 每個連線都有權重 (類似於線性迴歸)
  • 第N層與N-1層的所有神經元全連線(最後一層全連線)

神經網路結構

  1. 結構: 權重、神經元等
  2. 啟用函式: 增強網路的非線性,簡單理解,沒有啟用函式,只能畫直線分割資料點;增加啟用函式,可以用曲線來劃分。
  • ReLu, Tanh, sigmoid等
  1. 學習規則: 網路中的權重,如何隨著時間(或者說是迭代)來進行自我調整。 包括正向傳播和反向傳播。
  • 正向傳播(前向傳播): 輸入經過一層層計算,(w1x1+w2x2+...) 得出輸出結果
  • 反向傳播:總誤差是由不同的權重產生的,將誤差按權重的比例進行分割,向後傳遞,例如某個節點的總誤差是0.5,它是由上2個節點傳播而來,對應的權重比例為1:4, 則這兩個節點分攤誤差為0.1和0.4,依次向前傳遞。最終通過誤差值來調整各節點的權重。

神經網路的判定 (softmax)

  1. 為什麼需要softmax?
  • 神經網路是解決多分類問題,但是它的輸出僅僅就是一個值,使用一個函式來劃分出概率,對目標類別都會輸出一個概率,而目標特徵一般都使用one-hot編碼,通過對比不同類別的概率得出結果。
  1. softmax表示式

神經網路演算法的優化

【不同演算法的對比】

損失衡量策略:交叉熵損失(對數似然損失的推廣)

深度神經網路

深度神經網路與單一隱藏層神經網路的區別在於深度,隨著神經網路深度增加,節點所能識別的特徵也越來越複雜。

卷積神經網路

什麼是卷積神經網路

  1. 卷積神經網路是深度神經網路的一種型別,如AlexNex, VGG, GoogLeNet, ResNet, 它是為了解決全連線網路的一些缺點而存在:
  • 引數太多,計算量大
  • 沒有利用畫素之間的位置資訊,(圖片識別每個畫素與周圍畫素關係緊密)
  • 層數限制
  1. 卷積神經網路的特點在於隱藏層分為卷積層和池化層(下采樣層)
  • 卷積層:通過在原始影象上進行平移來提取特徵(帶著權重偏移,乘加運算)
  • 池化層:通過特徵後稀疏引數來減少學習到的引數,降低網路的複雜度。(最大池化,平均池化)

神經網路發展歷史

卷積層 (Convolutions)

  1. 過濾器(filter),是一個帶有權重的觀察視窗,通常為1* 1, 3* 3, 5 *5 的結構,權重與圖片中的數值(RGB)做線性迴歸, (乘加運算),最終得出一個結果。
  2. 步長 (strides):過濾器在圖片上每次平移的畫素點數量
  3. 0填充 (padding): 當過濾器移動至圖片邊緣以外的處理方式
  • same: 越過邊緣取樣,取樣面積與輸入的影象畫素相同
  • valid: 不越過邊緣取樣,取樣的面積小於輸入影象的畫素寬度。

單通道圖片卷積操作(灰度圖片)

注: 當有多個過濾器進行觀察時,過濾器攜帶的權重是不一樣的,但是其步長和零填充方式一致。有多少個過濾器,最終的結果有多少個。

多通道圖片的卷積操作(RGB圖片)

啟用函式

  1. 為什麼要增加啟用函式:
  • 增加網格的非線性分割能力
  • 在進行梯度求導時,沒有非線性,多次求導後,梯度就消失了。
  1. 常見的啟用函式
  • sigmoid = 1/(1+e^(-x)) , 多次求導運算量大, 對於深層次網路,反向傳播時容易出現梯度爆炸。
  • relu: max(0, x)

池化層(Pooling) 也稱為下采樣(Subsampling)

Pooling層的主要作用是特徵提取,通過去掉Feature map中不重要的樣本,進一步減少引數數量。
常見的Max Pooling 取 2*2 , 2步長, 也可以指定padding

Dropout & Inception

  1. dropout : 隨機丟棄一部分資料,防止過擬合,增強泛化能力 (一般用於大型網路)
  2. Inception: 一組特定的卷積結構,可以參考GoogLeNet

全連線層 (Full Connected層)

卷積池化可以理解為做特徵工程,後面的全連線相當於做特徵加權。
全連線層在神經網路中起到了 “分類器”的作用。

【拓展】對神經網路的直觀認識

使用tensorflow的playground演示
http://playground.tensorflow.org

相關推薦

02 神經網路主要知識點

02 - 神經網路主要知識點 神經網路就是模擬人的神經元進行訊號(資訊)收集、傳遞、處理的過程。 以人體對於溫度的感知為例: 簡單神經網路 感知機 定義: 有n個輸入資料,通過權重與個數據之間的計算和,比較啟用函式結果,得出輸出。 sum = w1x1+w2x2+w3x3+...... 應用

TensorFlow入門-02.神經網路主要功能及計算流程

0 基礎 實體:一個實際問題中的具體物件,如一個零件,一個茶杯,一本書等。 特徵向量(feature vector):所有用於描述實體的數字的組合就是一個實體的特徵向量。對應一個空間(1維到n維)中的點。 特徵提取:獲取實體的特徵向量的過程。 1 TensorFlow

02改善深層神經網路-Initialization-第一週程式設計作業1

分別使用 全零:parameters['W' + str(l)] = np.zeros((layers_dims[l], layers_dims[l-1])) 隨機:parameters['W' + str(l)] = np.random.randn(layers_dim

【讀書報告--02神經網路基礎學習

1.線性單元 定義:使用一個可導的線性函式來替代感知器的階躍函式,這種感知器就叫做線性單元 個人理解:感知器還是那個感知器,只是啟用函式變成一個可導的線性函式:如f(x)=x 如下圖:線性單元與前面所學的感知器(使用階躍函式)的對比,只有啟用函式改為”可導的線性函式“ 2.監督學習和無監督學習的概

讀書報告彙總 【讀書報告--01】神經網路基礎學習 【讀書報告--02神經網路基礎學習 【讀書報告--03】神經網路基礎學習 【讀書報告--04】神經網路基礎學習

以下是本人神經網路基礎的學習過程,邊學邊記,包含對已學知識的總結概況和部分個人見解,目前7篇文獻才學習到卷積神經網路和迴圈神經網路的理論基礎上 對於卷積神經網路的訓練還在研究學習中,希望能夠掌握透裡面的知識,學習完後再對基礎的數字識別案例進行實踐,下個星期再放上其餘的讀書報告 【讀書報告--01】神經網路

智慧手機跑大規模神經網路主要策略

計算機具有高儲量的硬碟和強大的CPU和GPU。但是智慧手機卻沒有,為了彌補這個缺陷,我們需要技巧來讓智慧手機高效地執行深度學習應用程式。介紹深度學習是一個令人難以置信的靈活且強大的技術,但執行的神經網路可以在計算方面需要非常大的電力,且對磁碟空間也有要求。這通常不是雲空間能夠

使用tf.estimator建立一個簡單的神經網路(對所用到的所有知識點進行講解)

溫馨提示 所有的知識點在後面的程式碼中都有用到哈,有的知識點在看得時候如果不理解也沒事,看了最後的程式碼就會明白 知識點 下面開始講解知識點 tf.estimator.inputs.numpy_input_fn tf.estimator.inputs.numpy_inp

【深度學習】卷積神經網路CNN基本知識點

卷積神經網路與前面學的常規神經網路很相似,也有輸入、權重、偏差、損失函式、啟用函式、全連線層等概念,之前的一些小的技巧也仍然適用。 與常規神經網路的對比 卷積神經網路(Convolutional Neural Networks,CNNs / ConvNe

深度學習(DL)與卷積神經網路(CNN)學習筆記隨筆-01-CNN基礎知識點

神經認知機。  卷積神經網路是受生物靈感的多層感知機的變體。從Hubel和Wiesel的早期對貓的視覺皮層的研究工作中得出,視覺皮層包含一組複雜的細胞排列。這些細胞會對很小的子區域敏感,稱作

02《卷積神經網路研究綜述》學習總結

一、本篇介紹 篇名:卷積神經網路研究綜述 作者:周飛燕,金林鵬,董軍 作者單位:中國科學院 發表在:計算機學報,2017年6月 二、主要內容 1、神經網路的歷史 1943年,心理學家McCulloch和數理邏輯學家Pitts提出

機器學習——神經網路、深度學習 知識點總結 及 面試題彙總

1、反向傳播思想: 計算出輸出與標籤間的損失函式值,然後計算其相對於每個神經元的梯度,根據梯度方向更新權值。 (1)將訓練集資料輸入到ANN的輸入層,經過隱藏層,最後達到輸出層並輸出結果,這是ANN的前向傳播過程; (2)由於ANN的輸出結果與實際結果有誤差,則計

Coursera | Andrew Ng (02-week2)—改善深層神經網路:優化演算法

在吳恩達深度學習視訊以及大樹先生的部落格提煉筆記基礎上添加個人理解,原大樹先生部落格可檢視該連結地址大樹先生的部落格- ZJ Optimization Algorithms 2.1 Mini-batch Gradient Descent (M

機器學習02之BP神經網路圖解及JAVA實現

package com.fei.bp02; public class Bp { private double[] hide1_x;//// 輸入層即第一層隱含層的輸入;hide1_x[資料的特徵數目+1], hide1_x[0]為1 private

tensorflow17《TensorFlow實戰Google深度學習框架》筆記-08-02 使用迴圈神經網路實現語言模型 code

00 reader.py # Copyright 2015 The TensorFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the

Tensorflow 02: 卷積神經網路-MNIST

前言 tensorflow是一個用於大規模數值計算的庫。其後臺依賴於高效的C++實現。連線後臺的橋樑被稱為session。 該篇博文主要介紹採用卷積神經網路實現MNIST手寫體數字識別。 環境:tensorflow 1.0;  ubuntu 14.04,

[ch05-02] 用神經網路解決多變數線性迴歸問題

系列部落格,原文在筆者所維護的github上:https://aka.ms/beginnerAI, 點選star加星不要吝嗇,星越多筆者越努力 5.2 神經網路解法 與單特徵值的線性迴歸問題類似,多變數(多特徵值)的線性迴歸可以被看做是一種高維空間的線性擬合。以具有兩個特徵的情況為例,這種線性擬合不再是用直

每天一個JS 小demo之原生數組splice方法書寫。主要知識點:鍛煉思維邏輯能力,對於數組方法的理解和各種情況的考量

scrip charset 是否 isn 如果 情況 del 當前 cti <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <titl

每天一個JS 小demo之韓雪冬輪播圖。主要知識點:html,css布局,對於數組和對象的理解和運用

身高 全局 borde ava ebo 空間 use mouseout desc 1 @charset "utf-8"; 2 /* CSS Document */ 3 4 * { padding: 0; margin: 0; } 5 li { list-st

每天一個JS 小demo之個人信息添加。主要知識點:DOM操作中的表格操作,節點操作

mov src i++ blog this tex set elements img 以下是簡易效果: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

每天一個JS 小demo之通過鍵盤方向鍵操作圖片上下左右無縫切換。主要知識點:事件

tco listen add head query ceo defined clas css <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><ti