伊人久久大香线蕉综合BD高清,变态另类天堂无码,大又大又粗又硬又爽少妇毛片,中文字幕有码一区二区三区

  • 服務(wù)熱線:13728883399
  • wangyp@shangeai.com

如何在Excel中搭建人臉識(shí)別的CNN神經(jīng)網(wǎng)絡(luò)?

時(shí)間:2018-08-12 08:36:41點(diǎn)擊:417次

人臉識(shí)別技術(shù)已經(jīng)有了非常廣泛的應(yīng)用,國(guó)內(nèi)大規(guī)模監(jiān)控系統(tǒng)背后運(yùn)用的技術(shù)就是人臉識(shí)別。

與大家常規(guī)見(jiàn)到的搭建人臉識(shí)別的神經(jīng)網(wǎng)絡(luò)方法不同,本文作者 Dave Smith 走了一次不同尋常路,他在 Excel 中用 9 步就搭建了一個(gè)人臉識(shí)別的CNN 神經(jīng)網(wǎng)絡(luò),讓神探 Sherlock 識(shí)別出世界的終結(jié)者“Elon”!在這篇文章中,作者試圖以直觀的可視化方式呈現(xiàn)出代碼背后發(fā)生的事情,希望可以幫助大家消除學(xué)習(xí)過(guò)程中的一些疑慮,

本文的目標(biāo)就是為您提供一個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)入門,將涵蓋下圖所示的 9 個(gè)步驟。

補(bǔ)充工具:幫助大家了解如何在 30 秒左右的時(shí)間將任意一張圖片轉(zhuǎn)換為有條件格式的Excel 文件

http://think-maths.co.uk/spreadsheet

終結(jié)者視角—在電子表格中創(chuàng)建卷積神經(jīng)網(wǎng)絡(luò)

背景

我們首先假設(shè),在終結(jié)者的大腦中有一個(gè)名叫'Sherlock Convolution Holmes'的特殊偵探。他的工作就是仔細(xì)查看證據(jù)(輸入圖像)并使用敏銳的眼睛和推演能力(特征檢測(cè)),預(yù)測(cè)圖片中的人物是誰(shuí)以此來(lái)破案(正確分類圖像)。

注:為了減少大家對(duì)后面內(nèi)容的疑惑,首先劇透一點(diǎn),這篇文章的“男主”其實(shí)是 Sherlock Convolution Holmes 。作者可能是神探夏洛克的粉絲,整篇文章都是圍繞 Sherlock 是如何破案來(lái)展開(kāi)的。

我們將用電子表格模型來(lái)查看圖片,分析像素值,并預(yù)測(cè)它是否是 Elon Musk,Jeff Bezos 或者 Jon Snow,顯然這三個(gè)人是 Skynet 最大的威脅。用圖像化來(lái)比喻,CNN就像 Sherlock Holmes。這個(gè)過(guò)程中會(huì)使用到一些數(shù)學(xué)公式,我們?cè)谶@里給出了參考鏈接,方便大家學(xué)習(xí)。

參考鏈接:

https://drive.google.com/open?id=1TJXPPQ6Cz-4kVRXTSrbj4u4orcaamtpGvY58yuJbzHk

以下9個(gè)步驟中的每個(gè)步驟都是這個(gè)圖像化比喻的一部分。

卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)

第一步

▌?shì)斎?一張圖片就像是成千上萬(wàn)的數(shù)字

下面是我們的輸入圖片,我們是如何對(duì)這張照片進(jìn)行操作的呢?

將數(shù)碼照片看作3個(gè)電子表格(1個(gè)紅色,1個(gè)綠色,1個(gè)藍(lán)色)堆疊在一起,每個(gè)電子表格都是一個(gè)數(shù)字矩陣。拍攝照片時(shí),相機(jī)會(huì)測(cè)量每個(gè)像素的紅色,綠色和藍(lán)色光量。然后,按 0-255 的等級(jí)對(duì)每個(gè)像素進(jìn)行排名,并將它們記錄在電子表格中:

在上面的 28x28 圖像中,每個(gè)像素由 3 行(1個(gè)紅色,1個(gè)藍(lán)色和1個(gè)綠色)表示,其值為 0-255。其中像素已根據(jù)其值進(jìn)行了格式化。

沒(méi)有看到真實(shí)的眼睛,看到的只是一堆數(shù)字

如果我們將每種顏色分成單獨(dú)的矩陣,就會(huì)得到 3 個(gè) 28x28 矩陣,而每個(gè)矩陣都是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的輸入:

模型輸入

▌?dòng)?xùn)練概述

在你剛出生的時(shí)候并不認(rèn)識(shí)什么是狗。但在你成長(zhǎng)的過(guò)程中,你的父母會(huì)在書中,動(dòng)畫片,現(xiàn)實(shí)生活中向你展示狗的照片,最終你可以指著那些四條腿毛茸茸的動(dòng)物說(shuō)“這是只狗”。這是由于大腦中數(shù)十億神經(jīng)元之間的聯(lián)系變得足夠強(qiáng)大,讓你可以識(shí)別狗。

終結(jié)者也是以同樣的方式學(xué)會(huì)誰(shuí)是 Elon。通過(guò)一個(gè)監(jiān)督訓(xùn)練的過(guò)程,我們給它展示成千上萬(wàn)張 Elon Musk,Jeff Bezos 和 Jon Snow 的照片。起初,它有三分之一的機(jī)會(huì)猜中,但就像一個(gè)小孩,隨著時(shí)間的推移這個(gè)幾率會(huì)提高。網(wǎng)絡(luò)的連接或“權(quán)重/偏差”就會(huì)隨著時(shí)間更新,使得它可以基于像素級(jí)的輸入去預(yù)測(cè)圖片輸出。

那么是什么使卷積神經(jīng)網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)不同呢?

5個(gè)字:平移不變性。讓我們來(lái)簡(jiǎn)單解析它一下:

平移 = 從一個(gè)地方移動(dòng)到另一個(gè)地方

不變性 = 保持不變

對(duì)于計(jì)算機(jī)視覺(jué),這意味著無(wú)論我們把目標(biāo)移動(dòng)到哪個(gè)位置(平移),它都不會(huì)改變目標(biāo)的內(nèi)容(不變性)。

平移不變性(還可加上尺度不變性)

無(wú)論他在圖像中什么位置(平移),什么大小(尺度不變),卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練都能識(shí)別到 Elon 的特征。CNN 擅長(zhǎng)識(shí)別圖像任何部分的模式,然后將這些模式疊加在一起,以構(gòu)建更復(fù)雜的模式,就像人類一樣。

在普通神經(jīng)網(wǎng)絡(luò)中,我們將每個(gè)單獨(dú)的像素視為我們模型的輸入(而不是3個(gè)矩陣),但這忽略了相鄰像素是具有特殊的意義和結(jié)構(gòu)。對(duì)于 CNN,我們關(guān)注彼此相鄰的像素組,這允許模型學(xué)習(xí)像形狀,線條等的局部模式。例如,如果 CNN 在黑色圓圈周圍看到許多白色像素,它會(huì)將此模式識(shí)別為眼睛。

為了讓 CNN 實(shí)現(xiàn) translation variance,他們必須依靠特征檢測(cè),也就是Sherlock Convolution Holmes 。

第二步

▌特征檢測(cè):遇見(jiàn) Sherlock Convolution Holmes

Sherlock 使用放大鏡,仔仔細(xì)細(xì)地檢查每一張圖像,找到該圖像的重要特征或“線索”。然后將這些簡(jiǎn)單的線條和形狀特征堆疊在一起,就可以開(kāi)始看到像眼睛或鼻子這樣的面部特征。

每個(gè)卷積層都會(huì)包含一堆特征圖或相互構(gòu)建的“線索”。在所有卷積完成過(guò)后,他將所有這些線索放在一起,就破解了案件并正確識(shí)別出目標(biāo)。

每個(gè)特征圖都像是另一個(gè)“線索”

網(wǎng)絡(luò)的每個(gè)卷積層都有一組特征圖,這些特征圖使用分層方式來(lái)識(shí)別越來(lái)越復(fù)雜的圖案/形狀。CNN 使用數(shù)字模式識(shí)別來(lái)確定圖像最重要的特征。它使用更多的層將這些模式堆疊在一起,因此可以構(gòu)建非常復(fù)雜的特征圖。

卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)特征

讓人吃驚的是,CNN 他們可以自己學(xué)習(xí)到這些特征,而不需要工程師編寫代碼教他學(xué)習(xí)什么是2只眼睛,1個(gè)鼻子,嘴巴等等。

在這種方式下,工程師更像是建筑師。他們告訴 Sherlock,“我給你 2 個(gè)空白特征圖(“線索”)的堆棧(“卷積層”),你的工作是分析圖片并找到最重要的線索。第一個(gè)堆棧包含 16 個(gè)特征圖(“線索”),第二個(gè)堆棧包含 64 個(gè)特征圖.。接下來(lái)就可以利用這些偵探技巧去解決問(wèn)題吧!”

第三步:

為了讓 Sherlock 找到案件中的“線索”(即“計(jì)算一張?zhí)卣鲌D”),他需要使用幾個(gè)工具,我們將一一介紹:

濾波器——sherlock 的放大鏡

卷積數(shù)學(xué)——濾波器的權(quán)重x輸入圖像的像素

步長(zhǎng)——在輸入圖像上移動(dòng)濾波器

填充——像“犯罪現(xiàn)場(chǎng)的警戒線”,用來(lái)保護(hù)線索

▌Sherlock 的放大鏡(濾波器)

Sherlock 毫無(wú)疑問(wèn)非常敏銳且具有極高的洞察能力。但如果沒(méi)有他的特殊放大鏡或“濾波器”,他就無(wú)法完成他的工作。因此他使用不同的放大鏡來(lái)幫助他填充每個(gè)空白特征圖的細(xì)節(jié)。 所以,如果他有 16 張?zhí)卣鲌D,他就會(huì)用 16 個(gè)放大鏡。

每個(gè)放大鏡由多層玻璃組成,每層玻璃重量不同。玻璃層的數(shù)量,也就是我們的“濾波器深度”,總是與觀察的神經(jīng)網(wǎng)絡(luò)層的深度相匹配。

一開(kāi)始,Sherlock查 看的輸入圖像,它有3層,紅色,綠色和藍(lán)色。所以,我們的放大鏡也有 3 層。當(dāng)我們構(gòu)建 CNN時(shí),隨著層深度增加,我們的放大鏡也會(huì)變得更厚。

為了建立 1 個(gè)特征圖或“線索”,Sherlock 首先取出 1 個(gè)放大鏡并將其放在輸入圖像的左上部分。紅色玻璃層只能看到紅色輸入圖像,綠色玻璃看到綠色圖像,而藍(lán)色玻璃看到的是藍(lán)色圖像。

接下來(lái)是進(jìn)行數(shù)學(xué)計(jì)算。

▌卷積數(shù)學(xué)

我們特征圖中的每個(gè)像素都是線索的一部分。為了計(jì)算每個(gè)像素,Sherlock 必須運(yùn)用一些基本的乘法和加法。

在下面的例子中,我們將使用 5x5x3 的輸入圖像和 3x3x3 的濾波器,每個(gè)像素點(diǎn)需要 27 次乘法:

3 層 x 每層 9 次卷積= 27

將 27 個(gè)數(shù)字加在一起。

將 27 個(gè)計(jì)算結(jié)果加在一起之后,我們?cè)偌由?個(gè)數(shù)字—也就是偏置(bias)。

卷積計(jì)算——建立特征地圖

讓我們放大來(lái)看。一個(gè)像素由27次乘法組成,下面圖片顯示了 27次 乘法中的 9 次:

就偏置而言,您可以將其視為每個(gè)放大鏡的手柄。與權(quán)重一樣,它是模型的另一個(gè)參數(shù),每次訓(xùn)練都會(huì)調(diào)整這些參數(shù)以提高模型的準(zhǔn)確性并更新特征圖。

濾波器權(quán)重——在上面的例子中,將權(quán)重保持在1 和 0 是為了計(jì)算更方便; 但是,在正常神經(jīng)網(wǎng)絡(luò)中,可以使用隨機(jī)較低的值來(lái)初始化權(quán)重,如使用(0.01)和(0.1)之間的鐘形曲線或正態(tài)分布類型方法。

元素乘法—用來(lái)計(jì)算1條線索

▌步長(zhǎng):移動(dòng)放大鏡

在計(jì)算了特征圖中的第一個(gè)像素后,Sherlock 會(huì)怎樣移動(dòng)他的放大鏡?

答案就是步長(zhǎng)參數(shù)。作為神經(jīng)網(wǎng)絡(luò)的建筑師/工程師,在 Sherlock 計(jì)算特征圖下一個(gè)像素之前,我們必須告訴他應(yīng)該向右移動(dòng)多少像素。在實(shí)踐中,2 或 3 的步長(zhǎng)是最常見(jiàn)的,為了便于計(jì)算我們這里設(shè)置步長(zhǎng)為 1。這意味著 Sherlock 將他的放大鏡向右移動(dòng) 1 個(gè)像素,然后再執(zhí)行與之前相同的卷積計(jì)算。

當(dāng)放大鏡到達(dá)輸入圖像的最右邊時(shí),他會(huì)將放大鏡向下 1 個(gè)像素并移動(dòng)到最左邊。

▌為什么步長(zhǎng)會(huì)超過(guò) 1?

優(yōu)點(diǎn):通過(guò)減少計(jì)算和緩存,使模型訓(xùn)練速度更快。

缺點(diǎn):步長(zhǎng)大于 1 時(shí),你會(huì)因?yàn)樘^(guò)一些像素從而導(dǎo)致丟失圖片的信息,并可能錯(cuò)過(guò)一些學(xué)習(xí)模式。

但是設(shè)置步幅為 2 或 3 也是合理的,因?yàn)榫o鄰的像素通常具有相似的值,但是如果它們相距 2-3 個(gè)像素,則更有可能是對(duì)于特征圖/模式更重要的像素值變化。

▌如何防止信息丟失(丟失線索)

為了破解這個(gè)案子,Sherlock 在一開(kāi)始的時(shí)候就需要很多線索。在上面的例子中,我們采用了一張 5x5x3 圖像,也就是 75 位像素的信息(75 = 5 x 5 x 3)。在第一個(gè)卷積層后,我們只得到了一個(gè) 3x3x2 圖像,也就是 18 位像素(18 = 3 x 3 x 2)。這意味著我們丟失了部分證據(jù),這將會(huì)讓他的搭檔John Watson 非常生氣。

在 CNN 的前幾層中,Sherlock 會(huì)看到很多細(xì)微的模式,這是一個(gè)增加線索的過(guò)程。而在后面的層中,可以通過(guò)“下采樣”的方法來(lái)減少線索,Sherlock會(huì)將細(xì)微的線索堆積起來(lái)以便查看更清晰的模式。

▌那么我們?nèi)绾畏乐剐畔G失呢?

1:填充:我們必須在圖像周圍進(jìn)行“填充”來(lái)保護(hù)犯罪現(xiàn)場(chǎng)。

在我們的例子中,在到達(dá)右邊緣之前需要移動(dòng)濾波器 3 次,從上到下都是一樣的。這意味著我們得到的輸出高度/寬度為 3x3,那我們從左到右時(shí)丟失了2 個(gè)像素,而從上到下移動(dòng)時(shí)我們又損失了 2 個(gè)像素。

為了防止這種信息丟失,通常用零填充原始圖像(稱為“零填充”或“相同填充”),就像犯罪現(xiàn)場(chǎng)布置的警戒線一樣,來(lái)保證沒(méi)有人篡改線索。

在填充之后,如果 Sherlock 再次使用相同的放大鏡,那他的 2 個(gè)特征圖將是 5x5 而不是 3x3。這意味著我們將留下 50 個(gè)像素的信息,因?yàn)檫@個(gè)卷積的新輸出是 5x5x2 = 50。50 像素比 18 像素要好。但是,我們是從 75 像素開(kāi)始的,所以我們?nèi)匀粊G失了一些線索。

除此之外我們還能做些什么呢?

2:使用更多的濾波器—通過(guò)在卷積層中添加至少 1 個(gè)特征圖,為 Sherlock提供更多線索

我們模型的特征圖或“線索”數(shù)量是沒(méi)有限制,這是一個(gè)可以控制的參數(shù)。

如果我們將特征圖從 2 增加到 3(5x5x2 到 5x5x3),那么總輸出像素(75)與輸入像素(75)剛好匹配,可以確保沒(méi)有信息丟失。如果我們將特征圖增加到 10,那么就會(huì)有更多的信息(250像素= 5 x 5 x 10)讓Sherlock 篩選以找到線索。

總之,前幾層中的總像素信息通常高于輸入圖像,是因?yàn)槲覀兿M麨镾herlock 提供盡可能多的線索/模式。在我們網(wǎng)絡(luò)的最后幾層中,通常做法是下采樣得到少量的特征。因?yàn)檫@些層是用來(lái)識(shí)別圖像更明確的模式。

第四步

▌ReLU:非線性模式識(shí)別

給 Sherlock 提供充足的信息是非常重要的,但現(xiàn)在是時(shí)候進(jìn)行真正的偵探工作了——非線性模式識(shí)別!像識(shí)別耳廓或鼻孔等。

到目前為止,Sherlock 已經(jīng)做了一堆數(shù)學(xué)來(lái)構(gòu)建特征圖,但每個(gè)計(jì)算都是線性的(取輸入像素并對(duì)每個(gè)像素執(zhí)行相同的乘法/加法),因此,他只能識(shí)別像素的線性模式。

為了在 CNN 中引入非線性,我們使用稱為 Relu 的激活函數(shù)。從第一個(gè)卷積計(jì)算我們的特征圖之后,激活函數(shù)會(huì)檢查每個(gè)值來(lái)確認(rèn)激活狀態(tài)。如果輸入值為負(fù),則輸出變?yōu)榱?。如果輸入為?則輸出值保持不變。ReLU 的作用類似于開(kāi)/關(guān),每個(gè)特征圖的像素值經(jīng)過(guò) Relu 后,就得到了非線性的模式識(shí)別。

回到我們最初的 CNN 示例,我們將在卷積后立即應(yīng)用 ReLU:

雖然有許多非線性激活函數(shù)可用于將非線性引入神經(jīng)網(wǎng)絡(luò)(比如 sigmoids,tanh,leakyReLU 等),但 ReLU 是 CNN 中最常用的,因?yàn)樗鼈冇?jì)算效率高,并可以加速訓(xùn)練過(guò)程。

第五步

▌Max Pooling:保留關(guān)鍵的少數(shù)信息在大腦中

現(xiàn)在,Sherlock 已經(jīng)有了一些特征圖或“線索”,那么他如何確定哪些信息是不相關(guān)的細(xì)節(jié),哪些是重要的?答案就是最大池化!

Sherlock 認(rèn)為人腦就像一個(gè)記憶宮殿。傻瓜會(huì)存儲(chǔ)各種各樣的信息,最終有用的信息卻在雜亂無(wú)章中丟失了。而聰明人只存儲(chǔ)最重要的信息,這些信息可以幫助他們迅速做出決定。Sherlock 采取的方法就是 Max Pooling,使他只保留最重要的信息,從而可以快速做出決定。

最大池化就像Sherlock Holmes 記憶宮殿

通過(guò)最大池化,他可以查看像素的鄰域并僅保留“最大”值或“最重要”的證據(jù)。

例如,如果他正在觀察 2x2 的區(qū)域(4個(gè)像素),那只保留最高值的像素并丟掉其他 3 個(gè)。這種技術(shù)使他能夠快速學(xué)習(xí)還有助于歸納出可以存儲(chǔ)和記憶未來(lái)圖像中的線索。

與之前的放大鏡濾波器類似,我們還可以控制最大池化的步長(zhǎng)和池的大小。在下面的示例中,我們假設(shè)步長(zhǎng)為 1,最大池化為 2x2:

最大池化—在定義的值鄰域中選擇“最大”值

在最大池化做完之后,我們就完成了 1 輪卷積 / ReLU / 最大池化的過(guò)程。

在典型的CNN中,進(jìn)入分類器之前,我們一般會(huì)有幾輪卷積 / ReLU / 池的過(guò)程。每一輪,我們都會(huì)在增加深度的同時(shí)擠壓高度/寬度,這樣我們就不會(huì)丟失一些證據(jù)。

前面的這 1-5 步,重點(diǎn)就是收集證據(jù),接下來(lái)就是 Sherlock 查看所有線索并破案的時(shí)候了:

第六步

當(dāng) Sherlock訓(xùn)練循環(huán)結(jié)束時(shí),他有很多零散的線索,然后他需要一個(gè)方法可以同時(shí)看到全部的線索。其實(shí)每條線索都對(duì)應(yīng)一個(gè)簡(jiǎn)單的二維矩陣,但是有成千上萬(wàn)條這樣的線索堆積在一起。

現(xiàn)在他必須獲得的全部線索都收集并組織起來(lái),以便在法庭上展示給陪審團(tuán)。

拉平前的特征圖

他采用了 Flatten Layer 來(lái)完成這項(xiàng)工作(Flatten Layer 常用在從卷積層到全連接層的過(guò)渡),簡(jiǎn)單來(lái)說(shuō)這個(gè)技術(shù)的做法就是:

每個(gè) 2 維像素矩陣變成 1列像素

將 2 維矩陣進(jìn)行疊加

下圖展示了人眼識(shí)別的示例:

回到我們的例子,下面是計(jì)算機(jī)看到的

現(xiàn)在 Sherlock 已經(jīng)組織完了他的證據(jù),接下來(lái)他需要讓陪審團(tuán)相信他的證據(jù)最終都指向同一個(gè)嫌疑人。

第七步

在全連接層中,我們將證據(jù)與每個(gè)嫌疑人相連。換句話說(shuō)就是我們?cè)谡故咀C據(jù)與每個(gè)嫌疑人之間的聯(lián)系。

全連接層—連接證據(jù)與每個(gè)嫌疑人

以下是計(jì)算機(jī)看到的內(nèi)容:

全連接層

在 Flatten Layer 和 3 個(gè)輸出的每個(gè)證據(jù)之間是權(quán)重和偏差。與網(wǎng)絡(luò)中的其他權(quán)重一樣,當(dāng)我們首次開(kāi)始訓(xùn)練 CNN 時(shí),這些權(quán)重將以隨機(jī)值初始化,并且隨著時(shí)間的推移,CNN 會(huì)“學(xué)習(xí)”如何調(diào)整這些權(quán)重/偏差來(lái)得到越來(lái)越準(zhǔn)確的預(yù)測(cè)結(jié)果。

現(xiàn)在是 Sherlock 破解案件的時(shí)候了!

第八步

在 CNN 的圖像分類器階段,模型的預(yù)測(cè)結(jié)果就是最高分?jǐn)?shù)的輸出。

這個(gè)評(píng)分函數(shù)有兩部分:

Logit Score:原始分?jǐn)?shù)

Softmax:每個(gè)輸出的概率在 0-1 之間。所有分?jǐn)?shù)的總和等于 1。

▌第1部分:Logits ——邏輯分?jǐn)?shù)

每個(gè)輸出的 logit 分?jǐn)?shù)是基本的線性函數(shù):

Logit分?jǐn)?shù) =(證據(jù)x權(quán)重)+ 偏差

每一個(gè)證據(jù)乘以連接證據(jù)與輸出的權(quán)重。所有這些乘法都加在一起,然后在末尾添加一個(gè)偏差項(xiàng),得到的最高分就是模型的猜測(cè)。

Logit 分?jǐn)?shù)計(jì)算

為什么得到了最高分?jǐn)?shù)卻不是最終結(jié)果? 有 2 個(gè)直觀的原因:

Sherlock 的置信水平:我們想知道 Sherlock 有多么自信。當(dāng)他很自信并且結(jié)果是對(duì)的時(shí)候,我們可以對(duì)他進(jìn)行獎(jiǎng)勵(lì);但當(dāng)信他很自信,結(jié)果卻是錯(cuò)誤的時(shí)候,我們要對(duì)他進(jìn)行懲罰。當(dāng)我們?cè)谧詈笥?jì)算損失(“Sherlock的準(zhǔn)確性”)時(shí),Sherlock 會(huì)獲得相應(yīng)的獎(jiǎng)勵(lì)/懲罰。

Sherlock 的置信加權(quán)概率:我們希望用一種簡(jiǎn)單的方法,通過(guò) 0 到 1 之間的概率來(lái)描述這些結(jié)果,并得到與實(shí)際輸出(0或1)相同的預(yù)測(cè)分?jǐn)?shù)。正確匹配的圖像(Elon)為 1,其他不正確的圖像(Jeff和Jon)為 0。將正確輸出轉(zhuǎn)換為 1 并將錯(cuò)誤輸出轉(zhuǎn)換為 0 的過(guò)程稱為獨(dú)熱編碼。

Sherlock 的目標(biāo)是讓他的預(yù)測(cè)盡可能接近 1,以此獲得正確的輸出。

▌第2部分:Softmax——Sherlock 的置信度加權(quán)概率分?jǐn)?shù)

2.1.Sherlock 的置信水平:

為了找到 Sherlock 的置信水平,我們?nèi)∽帜?e(等于2.71828)為底,并計(jì)算 logit 得分做冪運(yùn)算。讓高分值越高,而低分值越低。

在進(jìn)行冪運(yùn)算中還保證了沒(méi)有負(fù)分?jǐn)?shù)。由于 logit 分?jǐn)?shù)“可能”為負(fù)數(shù),所以下圖是置信度曲線:

置信度曲線

2.2. Sherlock 的置信加權(quán)概率:

為了找到置信加權(quán)概率,我們將每個(gè)輸出的置信度量除以所有置信度得分的總和,就可以得到每個(gè)輸出圖像的概率,所有這些加起來(lái)為 1。用 Excel 示例如下:

Softmax

這個(gè) softmax 分類器非常直觀。Sherlock 認(rèn)為,終結(jié)者看到的照片是 Elon Musk 的機(jī)率是97%(置信度加權(quán))。我們模型的最后一步是計(jì)算損失。損失值告訴我們偵探 Sherlock 的辨識(shí)能力究竟有多好(或者多差)。

第九步

損失函數(shù)

每個(gè)神經(jīng)網(wǎng)絡(luò)都有一個(gè)損失函數(shù),我們將預(yù)測(cè)結(jié)果與實(shí)際情況進(jìn)行比較。當(dāng)訓(xùn)練 CNN 時(shí),隨著網(wǎng)絡(luò)權(quán)重/偏差的調(diào)整,我們的預(yù)測(cè)結(jié)果會(huì)得到改善(Sherlock的偵探技能變得更好)。

CNN 最常用的損失函數(shù)是交叉熵?fù)p失函數(shù)。在 Google 上搜索交叉熵會(huì)出現(xiàn)很多希臘字母的解釋,很容易混淆。盡管描述各不相同,但它們?cè)跈C(jī)器學(xué)習(xí)的背景下都是相同的,我們將覆蓋下面最常見(jiàn)的3個(gè)。

比較正確類(Elon,1.00)的概率與 CNN 預(yù)測(cè) Elon (his softmax score,0.97)的概率

當(dāng)CNN的預(yù)測(cè)接近1時(shí),獎(jiǎng)勵(lì) Sherlock

當(dāng)CNN的預(yù)測(cè)接近0時(shí),懲罰 Sherlock

以上得到的答案都相同!存在 3 種不同的解釋

▌解釋 1:實(shí)際概率與預(yù)測(cè)概率之間距離的度量

直覺(jué)是,如果我們的預(yù)測(cè)概率接近 1,則我們的損失接近 0。如果我們的預(yù)測(cè)接近于 0,那么將受到嚴(yán)厲的懲罰。目標(biāo)是最小化預(yù)測(cè)結(jié)果(Elon,0.97)與實(shí)際概率(1.00)之間的“距離”。

交叉熵 1.距離解釋

▌解釋 2:最大化對(duì)數(shù)似然或最小化負(fù)對(duì)數(shù)似然

在 CNN 中,“l(fā)og” 實(shí)際上意味著“自然對(duì)數(shù)(ln)”,它是在 softmax 的步驟1中完成的“指數(shù)/置信度”的倒數(shù)。

我們不是用實(shí)際概率(1.00)減去預(yù)測(cè)概率(0.97)來(lái)計(jì)算損失,而是通過(guò)log 來(lái)計(jì)算損失,當(dāng) Sherlook 的預(yù)測(cè)結(jié)果離 1 越遠(yuǎn)的時(shí)候,損失是指數(shù)級(jí)增長(zhǎng)的。

交叉熵 2.對(duì)數(shù)損失解釋

▌解釋 3:KL 散度(Kullback–Leibler divergence)

KL 散度是用來(lái)衡量預(yù)測(cè)概率(softmax得分)與實(shí)際概率的差異程度。

該公式分為兩部分:

實(shí)際概率不確定的數(shù)量。在監(jiān)督學(xué)習(xí)的不確定量始終為零。我們 100% 肯定訓(xùn)練圖像是 Elon Musk。

如果我們使用預(yù)測(cè)概率,會(huì)損失多少的“信息”。

交叉熵 3.KL散度解釋

總結(jié)

在偵探 Sherlock Holmes 的幫助下,我們給了終結(jié)者一雙眼睛,所以他現(xiàn)在有能力尋找并摧毀自由世界的保護(hù)者 Elon Musk。(Sorry Elon!)

雖然,我們只訓(xùn)練終結(jié)者來(lái)辨別 Elon,Jeff 和 Jon,但是 Skynet 擁有無(wú)限多的資源和訓(xùn)練圖像,它可以利用我們構(gòu)建的網(wǎng)絡(luò)去訓(xùn)練終結(jié)者來(lái)識(shí)別世間萬(wàn)物!

原文標(biāo)題:神探Sherlock如何用AI破案?教你在Excel中搭建一個(gè)人臉識(shí)別CNN網(wǎng)絡(luò)

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):AI科技大本營(yíng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

  • 標(biāo)簽: