吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR
作者 | Peter
編輯 |?AI有道
系列文章:
吳恩達(dá)《Machine Learning》精煉筆記 1:監(jiān)督學(xué)習(xí)與非監(jiān)督學(xué)習(xí)
吳恩達(dá)《Machine Learning》精煉筆記 2:梯度下降與正規(guī)方程
吳恩達(dá)《Machine Learning》精煉筆記 3:回歸問(wèn)題和正則化
吳恩達(dá)《Machine Learning》精煉筆記 4:神經(jīng)網(wǎng)絡(luò)基礎(chǔ)
吳恩達(dá)《Machine Learning》精煉筆記 5:神經(jīng)網(wǎng)絡(luò)
吳恩達(dá)《Machine Learning》精煉筆記 6:關(guān)于機(jī)器學(xué)習(xí)的建議
吳恩達(dá)《Machine Learning》精煉筆記 7:支持向量機(jī) SVM
吳恩達(dá)《Machine Learning》精煉筆記 8:聚類(lèi) KMeans 及其 Python實(shí)現(xiàn)
吳恩達(dá)《Machine Learning》精煉筆記 9:PCA 及其 Python 實(shí)現(xiàn)
吳恩達(dá)《Machine Learning》精煉筆記 10:異常檢測(cè)
吳恩達(dá)《Machine Learning》精煉筆記 11:推薦系統(tǒng)
本周主要是介紹了兩個(gè)方面的內(nèi)容,一個(gè)是如何進(jìn)行大規(guī)模的機(jī)器學(xué)習(xí),另一個(gè)是關(guān)于圖片文字識(shí)別OCR?的案例
大規(guī)模機(jī)器學(xué)習(xí)
圖片文字識(shí)別OCR
大規(guī)模機(jī)器學(xué)習(xí)(Large Scale Machine Learning)
在低方差的模型中,增加數(shù)據(jù)集的規(guī)模可以幫助我們獲取更好的結(jié)果。但是當(dāng)數(shù)據(jù)集增加到100萬(wàn)條的大規(guī)模的時(shí)候,我們需要考慮:大規(guī)模的訓(xùn)練集是否真的有必要。獲取1000個(gè)訓(xùn)練集也可以獲得更好的效果,通過(guò)繪制學(xué)習(xí)曲線來(lái)進(jìn)行判斷。
隨機(jī)梯度下降法Stochastic Gradient Descent
如果需要對(duì)大規(guī)模的數(shù)據(jù)集進(jìn)行訓(xùn)練,可以嘗試使用隨機(jī)梯度下降法來(lái)代替批量梯度下降法。隨機(jī)梯度下降法的代價(jià)函數(shù)是
具體算法的過(guò)程為
先對(duì)訓(xùn)練集進(jìn)行隨機(jī)的洗牌操作,打亂數(shù)據(jù)的順序
重復(fù)如下過(guò)程:
隨機(jī)梯度下降算法是每次計(jì)算之后更新參數(shù)θ,不需要現(xiàn)將所有的訓(xùn)練集求和。
算法可能存在的問(wèn)題
不是每一步都是朝著”正確”的方向邁出的。因此算法雖然會(huì)逐漸走向全 局最小值的位置,但是可能無(wú)法站到那個(gè)最小值的那一點(diǎn),而是在最小值點(diǎn)附近徘徊。
小批量梯度下降 Mini-Batch Gradient Descent
小批量梯度下降算法是介于批量梯度下降算法和梯度下降算法之間的算法。每計(jì)算常數(shù)b次訓(xùn)練實(shí)例,便更新一次參數(shù)θ。參數(shù)b通常在2-100之間。
隨機(jī)梯度下降收斂
隨機(jī)梯度下降算法的調(diào)試和學(xué)習(xí)率α的選取
在批量梯度下降算法中,可以令代價(jià)函數(shù)JJ為迭代次數(shù)的函數(shù),繪制圖表,根據(jù)圖表來(lái) 判斷梯度下降是否收斂;大規(guī)模的訓(xùn)練集情況下,此舉不現(xiàn)實(shí),計(jì)算代價(jià)太大
在隨機(jī)梯度下降中,更新θ之前都計(jì)算一次代價(jià),然后迭代X后求出X對(duì)訓(xùn)練實(shí)例的計(jì)算代價(jià)的平均值,最后繪制次數(shù)X和代價(jià)平均值之間的圖像
隨著不斷地靠近全局最小值,通過(guò)減小學(xué)習(xí)率,迫使算法收斂而非在最小值最近徘徊。
映射化簡(jiǎn)和數(shù)據(jù)并行Map Reduce and Data Parallelism
映射化簡(jiǎn)和數(shù)據(jù)并行對(duì)于大規(guī)模機(jī)器學(xué)習(xí)問(wèn)題而言是非常重要的概念。如果我們能夠?qū)⑽覀兊臄?shù)據(jù)集分配給不多臺(tái) 計(jì)算機(jī),讓每一臺(tái)計(jì)算機(jī)處理數(shù)據(jù)集的一個(gè)子集,然后我們將計(jì)所的結(jié)果匯總在求和。這樣 的方法叫做映射簡(jiǎn)化。
如果任何學(xué)習(xí)算法能夠表達(dá)為對(duì)訓(xùn)練集的函數(shù)求和,那么便能將這個(gè)任務(wù)分配給多臺(tái)計(jì)算機(jī)(或者同臺(tái)計(jì)算機(jī)的不同CPU核心),達(dá)到加速處理的目的。比如400個(gè)訓(xùn)練實(shí)例,分配給4臺(tái)計(jì)算機(jī)進(jìn)行處理:
圖片文字識(shí)別(Application Example: Photo OCR)
問(wèn)題描述和流程圖
圖像文字識(shí)別應(yīng)用所作的事是從一張給定的圖片中識(shí)別文字。
基本步驟包含:
文字偵測(cè)(Text detection)——將圖片上的文字與其他環(huán)境對(duì)象分離開(kāi)來(lái)
字符切分(Character segmentation)——將文字分割成一個(gè)個(gè)單一的字符
字符分類(lèi)(Characterclassification)——確定每一個(gè)字符是什么 可以用任務(wù)流程圖來(lái)表
每項(xiàng)任務(wù)可以有不同的團(tuán)隊(duì)來(lái)負(fù)責(zé)處理。
滑動(dòng)窗口Sliding windows
圖片識(shí)別
滑動(dòng)窗口是一項(xiàng)用來(lái)從圖像中抽取對(duì)象的技術(shù)??匆粋€(gè)栗子:
如果我們需要從上面的圖形中提取出來(lái)行人:
用許多固定尺寸的圖片來(lái)訓(xùn)練一個(gè)能夠準(zhǔn)確識(shí)別行人的模型
用上面訓(xùn)練識(shí)別行人的模型時(shí)所采用的圖片尺寸在我們要進(jìn)行行人識(shí)別的圖片上進(jìn)行剪裁
剪裁得到的切片交給模型,讓模型判斷是否為行人
重復(fù)循環(huán)上述的操作步驟,直至將圖片全部檢測(cè)完。
文字識(shí)別
滑動(dòng)窗口技術(shù)也被用于文字識(shí)別。
首先訓(xùn)練模型能夠區(qū)分字符與非字符
然后運(yùn)用滑動(dòng)窗口技術(shù)識(shí)別字符
完成字符的識(shí)別,將識(shí)別得出的區(qū)域進(jìn)行擴(kuò)展
將重疊的區(qū)域進(jìn)行合并,以寬高比作為過(guò)濾條件,過(guò)濾掉高度比寬度更大的區(qū)域
上述步驟是文字偵察階段,接下來(lái)通過(guò)訓(xùn)練出一個(gè)模型來(lái)講文字分割成一個(gè)個(gè)字符,需要的訓(xùn)練集由單個(gè)字符的圖片和兩個(gè)相連字符之間的圖片來(lái)訓(xùn)練模型。
訓(xùn)練完成之后,可以通過(guò)滑動(dòng)窗口技術(shù)來(lái)進(jìn)行字符識(shí)別。該階段屬于字符切分階段。
最后通過(guò)利用神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、或者邏輯回歸等算法訓(xùn)練出一個(gè)分類(lèi)器,屬于是字符分類(lèi)階段。
獲取大量數(shù)據(jù)和人工數(shù)據(jù)
如果我們的模型是低方差的,那么獲得更多的數(shù)據(jù)用于訓(xùn)練模型,是能夠有更好的效果。
獲取大量數(shù)據(jù)的方法有
人工數(shù)據(jù)合成
手動(dòng)收集、標(biāo)記數(shù)據(jù)
眾包
上限分析Ceiling Analysis
在機(jī)器學(xué)習(xí)的應(yīng)用中,我們通常需要通過(guò)幾個(gè)步驟才能進(jìn)行最終的預(yù)測(cè),我們?nèi)绾文軌?知道哪一部分最值得我們花時(shí)間和精力去改善呢?這個(gè)問(wèn)題可以通過(guò)上限分析來(lái)回答。
回到文字識(shí)別的應(yīng)用中,流程圖如下:
我們發(fā)現(xiàn)每個(gè)部分的輸出都是下個(gè)部分的輸入。在上限分析中,我們選取其中的某個(gè)部分,手工提供100%爭(zhēng)取的輸出結(jié)果,然后看整體的效果提升了多少。
如果提升的比例比較明顯,可以考慮在這個(gè)方向投入更過(guò)的時(shí)間和經(jīng)歷
如果提升的效果微乎其微,意味著某個(gè)部分已經(jīng)做的足夠好了
AI 角:當(dāng)人工遇上100階魔方
總結(jié)
以上是生活随笔為你收集整理的吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 普通小白学会Python到底具体能做什么
- 下一篇: 330+ 个机器学习模型/库探索工具!P