解惑
小白和你都很糾結(jié),升級為啥沒有用呢?
你倆決定登門拜訪一次“人工智能人話翻譯官”。
翻譯官家里的客廳中有一塊巨大的白板,他就在這塊白板前,開始了解惑的過程。
有的放矢
首先我們要明確一件事情,我們的模型怎么算好?
還記得在上一個章節(jié)中介紹
P,N 與P',N'之間的關(guān)系嗎?
就是真是情況和預(yù)測值之間的關(guān)系。
還有更以前介紹的模型
輸入 -> 模型 -> 輸出 嗎?
我們先把他們結(jié)合到一起。以上一章的戀愛數(shù)據(jù)為例,把數(shù)據(jù)灌進去就是。
我們一共有一百個人:
X 這個集合中就有(),
代表第一個人,
代表第二個人以此類推。
有三個維度我們用一個向量代表。
=
我們用 代表財富,
代表才華,
代表顏值。
=
Y' 代表輸出
Y' 這個集合中就有(),
代表第一個人是否配對成功的預(yù)測結(jié)果,
代表第二個人是否配對成功的預(yù)測結(jié)果以此類推。Y'有兩種可能,配對成功,或者配對失敗。
Y 代表真實的情況
Y 這個集合中就有(),
代表第一個人是否配對成功的真實情況,
代表第二個人是否配對成功的真實情況以此類推。Y有兩種可能,配對成功,或者配對失敗。
最后他們的關(guān)系就是:
由此我們自然希望Y 與 Y'之間的差距越小越好,最好Y'就是Y。
再來看一下模型:
Y' = XW + threshold
還記得之前的這個W和threshold我們是怎么設(shè)置的嗎?
=
是我們拍腦袋設(shè)置的!這就是造成我們模型不準(zhǔn)確的最大原因。
我們接下來的目的就是如何讓Y與Y'一致來展開,用數(shù)學(xué)公式表示就是
由于:
最終:
在這個公式中X已知,Y已知,不知道的是W和threshold。
學(xué)習(xí)能力
你的算法模型不是孩子了,他應(yīng)該具備學(xué)習(xí)能力。
等等學(xué)習(xí)能力這東西太抽象了,它該如何體現(xiàn)在編程上呢?
學(xué)習(xí)是什么?
我們先來試著給"學(xué)習(xí)"下一個定義。為了不太抽象,我們回憶一下我們在小的時候是怎么認識蘋果的。

你的父母絕對不可能這么對你講:“蘋果(學(xué)名:Malus pumila)是薔薇科蘋果亞科蘋果屬植物,其樹為落葉喬木?!?br> 一般的都是拿過來一個蘋果,告訴你這是蘋果,而你的直覺經(jīng)驗所得就是以后看見“紅色的圓圓的,吃起來甜甜的”就是蘋果,直到有一天你吃到了綠色的蘋果,你會把之前的直覺經(jīng)驗改成“紅色的或則綠色的圓圓的,吃起來甜甜的”就是蘋果。以后看到類似的物體你就可以做出正確的判斷了。
現(xiàn)在我們就可以給學(xué)習(xí)下一個定義了:人通過大量的觀察,積累直覺經(jīng)驗,獲得某項技能。
在剛才的故事中,你就是通過觀察(視覺,味覺)大量的蘋果,積累起來你的直覺經(jīng)驗(紅色的或則綠色的圓圓的,吃起來甜甜的),最后獲得判斷物體是不是蘋果的技能。
這個和之前我們講過的輸入->模型->輸出嗎?
把剛才的學(xué)習(xí)例子帶入:
=
作為輸入
大腦就是模型Y' = XW + threshold,(W與threshold就是大腦內(nèi)部的神經(jīng)元)
經(jīng)過大腦處理得到或者
這就是輸出。
大腦是怎么做到的?
拋開生物學(xué)上的細節(jié),其實我們的大腦就是通過兩個動作的大量訓(xùn)練實現(xiàn)了學(xué)習(xí),掌握了識別蘋果的技能。
這兩個動作就是前向計算與反向傳播:
前向計算:你的大腦接收到X的輸入,利用內(nèi)置的模型,得到Y(jié)'。
Y' = XW + threshold(W與threshold就是大腦內(nèi)部的神經(jīng)元) 如果Y'為正答案就是"蘋果",否則得到"不是蘋果"。
反向傳播:
根據(jù)最有Y’與Y的差距,如果預(yù)測錯了,則修改大腦內(nèi)的神經(jīng)元也就是修改W與threshold。如果預(yù)測對了,則不修改大腦內(nèi)的神經(jīng)元。
這兩個過程一直循環(huán),直到我們的掌握了識別蘋果的技能——比如拿過50個蘋果,50和蘋果相似但不是蘋果的物體,根據(jù)你大腦訓(xùn)練我們能大概率(比如90%)的識別出來。這也就相當(dāng)于你大腦中有了正確的。
這個過程像不像我們在上學(xué)時做的考前模擬?
接下來我們考慮的就是如何讓計算機幫我們實現(xiàn)這個學(xué)習(xí)的過程。
也就是針對 求極值問題,求最優(yōu)解問題。正好在計算機科學(xué)里面有現(xiàn)成的框架可以幫你和小白。
極值
本例中,我們希望Y越接近Y'越好,也就是越接近0越好——求極小值。
最優(yōu)解
本例中,通過前向計算與反向傳播不斷調(diào)整的
,終于在某一時刻,你獲得到一個能幫你獲得極值的參數(shù)組合。它們就是最優(yōu)解。
只有按照這個思路解決才是正道??!
你和小白意識到之前的模型設(shè)計思路有問題,它不能自主學(xué)習(xí)?。≮s緊回去查閱相關(guān)的文檔,讓模型具備自我學(xué)習(xí)能力。
總結(jié)一下今天學(xué)到的名詞:
學(xué)習(xí)
前向計算
反向傳播
極值
最優(yōu)解