Java软件研发工程师转行之深度学习(Deep Learning)进阶:手写数字识别+人脸识别+图像中物体分类+视频分类+图像与文字特征+猫狗分类
生活随笔
收集整理的這篇文章主要介紹了
Java软件研发工程师转行之深度学习(Deep Learning)进阶:手写数字识别+人脸识别+图像中物体分类+视频分类+图像与文字特征+猫狗分类
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本文適合于對(duì)機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘有所了解,想深入研究深度學(xué)習(xí)的讀者
1.對(duì)概率基本概率有所了解
2.具有微積分和線(xiàn)性代數(shù)的基本知識(shí)
3.有一定的編程基礎(chǔ)(Python)
Java軟件研發(fā)工程師轉(zhuǎn)行之深度學(xué)習(xí)進(jìn)階:算法與應(yīng)用
- 1 緒論
- 2 監(jiān)督學(xué)習(xí)(Supervised Learning)-分類(lèi)(Classification)
- 2.1 基本概念(Basic Concepts)
- 2.1.1 什么是深度學(xué)習(xí)?
- 2.1.2 深度學(xué)習(xí)是什么時(shí)間段發(fā)展起來(lái)的?
- 2.1.3 深度學(xué)習(xí)能用來(lái)干什么?
- 2.1.4 深度學(xué)習(xí)目前有哪些代表性的研究機(jī)構(gòu)?
- 2.1.5 深度學(xué)習(xí)范疇
- 2.2 神經(jīng)網(wǎng)絡(luò)算法(Neural Network)
- 2.2.1 人腦識(shí)別圖像
- 2.2.2 手寫(xiě)數(shù)字識(shí)別
- 2.2.3 隨機(jī)梯度下降算法
- 2.2.4 神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)數(shù)字
- 2.2.5 基于機(jī)器學(xué)習(xí)手寫(xiě)數(shù)字識(shí)別
- 第一種 基于灰度值手寫(xiě)數(shù)字識(shí)別
- 第二種 基于SVM手寫(xiě)數(shù)字識(shí)別
- 2.2.6 Backpropagation算法
- 2.3 梯度下降(Gradient Descent)
- 2.4 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)
- 人臉識(shí)別
- 2.5 深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network)
- 視頻分類(lèi)
- 3 非監(jiān)督學(xué)習(xí)(Unsupervised Learning)
- 3.1 限制波爾茲曼機(jī)(Restricted Boltzman Machine)
- 圖像與文字特征合并應(yīng)用對(duì)圖像分類(lèi)
- 3.2 自動(dòng)編碼(Autoencoder)
- 圖像中的物體識(shí)別
- 3.3 深度信念網(wǎng)絡(luò)(Deep Belief Network)
- 貓狗分類(lèi)
- 4 小結(jié)
1 緒論
2 監(jiān)督學(xué)習(xí)(Supervised Learning)-分類(lèi)(Classification)
2.1 基本概念(Basic Concepts)
2.1.1 什么是深度學(xué)習(xí)?
- 深度學(xué)習(xí)是基于機(jī)器學(xué)習(xí)延申出來(lái)的一個(gè)新的領(lǐng)域,以人腦結(jié)構(gòu)為啟發(fā)的神經(jīng)網(wǎng)絡(luò)算法為起源,加之模型結(jié)構(gòu)深度的增加發(fā)展,并伴隨著大數(shù)據(jù)和計(jì)算能力的提高而產(chǎn)生的一系列算法。
2.1.2 深度學(xué)習(xí)是什么時(shí)間段發(fā)展起來(lái)的?
- 由著名科學(xué)家Hinton等人在2006年和2007年于《Sciences》發(fā)表的文章被提出。
2.1.3 深度學(xué)習(xí)能用來(lái)干什么?
- 深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)延申出來(lái)的一個(gè)領(lǐng)域,被應(yīng)用在圖像處理與計(jì)算機(jī)視覺(jué),自然語(yǔ)言處理及語(yǔ)音識(shí)別等領(lǐng)域
- 自2006年至今,學(xué)術(shù)界與工業(yè)界在深度學(xué)習(xí)方面的研究與應(yīng)用,在以上領(lǐng)域取得了突破性進(jìn)展。
- 以ImageNet為數(shù)據(jù)庫(kù)的經(jīng)典圖像中的物體識(shí)別競(jìng)賽為例,擊敗了所有傳統(tǒng)算法,取得了前所未有的精確度。
2.1.4 深度學(xué)習(xí)目前有哪些代表性的研究機(jī)構(gòu)?
- 學(xué)術(shù)機(jī)構(gòu)以多倫多大學(xué)、紐約大學(xué)、斯坦福大學(xué)為代表,工業(yè)界以Google、FaceBook、百度為代表走在深度學(xué)習(xí)研究與應(yīng)用的前沿。
2.1.5 深度學(xué)習(xí)范疇
- 深度學(xué)習(xí)的基本模型
- 深度學(xué)習(xí)與機(jī)器學(xué)習(xí)
2.2 神經(jīng)網(wǎng)絡(luò)算法(Neural Network)
2.2.1 人腦識(shí)別圖像
- 深度學(xué)習(xí)識(shí)別圖像
- 計(jì)算機(jī)識(shí)別圖像
- 神經(jīng)元
- 實(shí)際模型更加復(fù)雜
- 與非門(mén)可以模擬任何方程
- Sigmoid神經(jīng)元
- 為了模擬更細(xì)微的變化,輸入和輸出值從0和1,到0,1之間任何數(shù)
2.2.2 手寫(xiě)數(shù)字識(shí)別
- 假設(shè)識(shí)別一個(gè)手寫(xiě)數(shù)字圖片
- 如果圖片是64*64,輸入層總共有64*64=4096個(gè)神經(jīng)元
- 如果圖片是28*28,輸入層總共有28*28=784個(gè)神經(jīng)元
- 如果輸出層只有一個(gè)神經(jīng)元,大于0.9說(shuō)明是9,小于0.5說(shuō)明不是9
- FeedForward Network:神經(jīng)網(wǎng)絡(luò)中沒(méi)有環(huán),信息單向前傳遞
- 輸入層:28*28=784個(gè)神經(jīng)元
- 每個(gè)神經(jīng)元代表一個(gè)像素:0.0表示全白,1.0表示全黑
- 一個(gè)隱藏層:n個(gè)神經(jīng)元,圖中有15個(gè)
- 輸出層:10個(gè)神經(jīng)元。分別代表手寫(xiě)數(shù)字識(shí)別可能的0-9數(shù)字。例如,第一個(gè)神經(jīng)元(代表0)的輸出值為1,其他的小于1,數(shù)字被識(shí)別為0
- 訓(xùn)練集:6000張圖片,用來(lái)訓(xùn)練
- 測(cè)試集:1000張圖片,用來(lái)測(cè)試準(zhǔn)確率
- x:訓(xùn)練輸入,28*28=784d向量,每個(gè)值代表灰度圖像的像素值
- y=y(x):10d圖像
- 如果輸入的某個(gè)圖片是數(shù)字6,理想的輸出:y(x)=(0,0,0,0,0,0,1,0,0,0)
- 目標(biāo)函數(shù)
- 最小化問(wèn)題可以用梯度下降解決(gradient descent)
- C(v)中v有兩個(gè)變量v1,v2
- 通常可以用微積分解決,如果為v包含的變量過(guò)多,則無(wú)法用微積分解決
- 一個(gè)變量的情況
2.2.3 隨機(jī)梯度下降算法
- 目標(biāo)函數(shù)
- 變化量
- 以上三個(gè)公式推出
- 設(shè)定
- 所以C不斷減小
- 回顧目標(biāo)函數(shù)
- 權(quán)重和偏向更新方程
- 一層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 兩層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):MLP,MultiLayer Perceptions
2.2.4 神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)數(shù)字
neural network and deep learning
- 源代碼地址:https://github.com/mnielsen/neural-networks-and-deep-learning
- 兩層神經(jīng)網(wǎng)絡(luò)核心代碼
- Demo Application
- 結(jié)果
- 隨著每一輪的迭代,手寫(xiě)數(shù)字識(shí)別的準(zhǔn)確率大概在94.76%
2.2.5 基于機(jī)器學(xué)習(xí)手寫(xiě)數(shù)字識(shí)別
第一種 基于灰度值手寫(xiě)數(shù)字識(shí)別
- 核心代碼
- 識(shí)別的準(zhǔn)確率只有22.5%
第二種 基于SVM手寫(xiě)數(shù)字識(shí)別
- 核心代碼
- 識(shí)別的準(zhǔn)確率只有32.5%
2.2.6 Backpropagation算法
- 輸入:數(shù)據(jù)集,學(xué)習(xí)率(Learning Rate),一個(gè)多層前向神經(jīng)網(wǎng)絡(luò)
- 輸出:一個(gè)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)(a trained neural network)
- 初始化權(quán)重(weights)和偏向(bias):隨機(jī)初始化到-1或者1之間,或者-0.5到0.5之間,每個(gè)單元都有一個(gè)偏向
- 對(duì)于每一個(gè)訓(xùn)練實(shí)例X,執(zhí)行以下步驟:
- 根據(jù)誤差反向傳送
- 終止條件:權(quán)重的更新低于某個(gè)閾值 或 預(yù)測(cè)的錯(cuò)誤率低于某個(gè)閾值 或 達(dá)到一定的循環(huán)次數(shù)
- Overfitting:在訓(xùn)練集上表現(xiàn)好,但是不能泛化到測(cè)試集,測(cè)試集表現(xiàn)差
2.3 梯度下降(Gradient Descent)
2.4 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)
人臉識(shí)別
2.5 深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network)
視頻分類(lèi)
3 非監(jiān)督學(xué)習(xí)(Unsupervised Learning)
3.1 限制波爾茲曼機(jī)(Restricted Boltzman Machine)
圖像與文字特征合并應(yīng)用對(duì)圖像分類(lèi)
3.2 自動(dòng)編碼(Autoencoder)
圖像中的物體識(shí)別
3.3 深度信念網(wǎng)絡(luò)(Deep Belief Network)
貓狗分類(lèi)
4 小結(jié)
持續(xù)更新中. . .
總結(jié)
以上是生活随笔為你收集整理的Java软件研发工程师转行之深度学习(Deep Learning)进阶:手写数字识别+人脸识别+图像中物体分类+视频分类+图像与文字特征+猫狗分类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 人工智能:物体检测之Faster RCN
- 下一篇: Java软件开发:自定义MyBatis持