十分鐘學會10個AI(人工智能)術語
by 高煥堂
從一個假設性的例子,也就是一個最簡單的AI模型說起:
在古代有一個國家(名為M),只有一位國民,假設他的收入是$1元。而 $1 * 稅率 = 政府稅收。如果第一年的稅率TR = 0.25。
經過一年,M政府發現需要$0.5的年度總經費才夠。
於是,M政府負債$0.25。於是,政府開始想到調整稅率。因為M政府很愛民,所以政府並不期望稅收愈多愈好,只期望負債逐漸下降到為$0。這個<逐步下降>就是英文字"Descent"的意思。M政府有一個會計公式(函數)可以計算出其負債金額,這個計算函數,通稱為:Loss Function,或稱:Cost Function。於是,政府的會計師就必須去想如何從負債金額的大小,來逆向推算出,該稅率該調整多大的幅度。這個<逆向推算>,就是英文的:Back- Propagation (反向傳播):
從Loss(負債)值,逆推出來Delta值(稅率調整幅度)。例如,計算出來調整幅度是:0.05。於是,第二年的稅率,就調整為:0.3了。
剛才從左邊的Loss值,向右推算出Delta值,稱為:反向傳播。現在,從右邊的新稅率,向左邊推算出新年度的稅收和負債金額。稱為:正向推演(Feed-Forward):
執行一趟<正向推演 + 反向傳播>,就稱為一次迭代(Iteration)。如果有10000筆訓練資料,可以分批(Batch),整批進行一趟<正向推演 + 反向傳播>,就稱為一次迭代(Iteration)。例如,500筆一批,此時我們稱:批量(Batch Size) = 500。總共有20批,第0批做一趟<正向推演 + 反向傳播>,就換第1批做一趟<正向推演 + 反向傳播>,依序做完20批;這稱為一回合( Epoch )。所以這個例子,一回合(epoch) = 20次迭代(iterations):
在這個簡單的假設性範例裡,只有一筆資料。其Batch Size = 1,而1 iteration = 1 epoch。 總共做了4 Epochs;做了4次的修正稅率。終於達成願望:政府零負債。剛才提到兩個關鍵性名詞:<正向推演>與<反向傳播>。正向推演計算出政府的稅收金額。
反向傳播計算出稅率(TR)的調整<方向>和<幅度>。
從這例子,可以看出來,如果負債(Loss值)愈高,其稅率(TR值)一定愈低。這就指出了TR的調整方向:Loss逐漸上升方向,就是TR值逐漸下降方向。這個方向,就稱為:梯度(Gradient )。梯度指引的方向,就是Loss值上升的方向,也就是TR逐漸降低的方向。
然而,從M政府的立場而言,它的期望是:負債(Loss)逐漸降低,且趨向於0。所以,要化解政府的問題,就得依循與<梯度所指引的方向>的相反方向發展,依據這<相反方向>去逐步調整稅率(TR)。根據這個(梯度的反方向)就會讓負債(Loss值)逐步下降。於是知道了TR的調整方向了。這通稱為:梯度逐步下降(Gradient Descent)法,簡稱:梯度下降法。
找到了TR的調整方向了,就可以選擇每年的調整幅度了。這個調整幅度,就稱為:學習率(Learning Rate)。以上,講完了AI的10基本術語。
~ ~ End ~~
==> 返回首頁