All language subtitles for 【漫士科普】90分钟深度!一口气看明白人工智能和神经网络#人工智能 #神经网络

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English Download
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,133 --> 00:00:03,933 人工智慧機器學習神經網路 2 00:00:04,133 --> 00:00:06,000 這些聽起來高大上的詞彙 3 00:00:06,000 --> 00:00:07,466 你是否還一知半解 4 00:00:07,800 --> 00:00:10,200 GPT大語言模型生成式AI 5 00:00:10,300 --> 00:00:12,200 這些頻繁出現在商業報道 6 00:00:12,200 --> 00:00:14,433 乃至於日常生活的前沿技術 7 00:00:14,433 --> 00:00:15,600 你是否好奇 8 00:00:15,600 --> 00:00:18,233 它們的發展、淵源和基本原理? 9 00:00:18,533 --> 00:00:20,033 萬物皆可AI的時代 10 00:00:20,033 --> 00:00:22,800 你是否擔心被割韭菜或者被動失業 11 00:00:23,233 --> 00:00:24,666 這期視頻耗時半年 12 00:00:24,666 --> 00:00:26,466 專為零基礎的觀眾打造 13 00:00:26,500 --> 00:00:29,500 將實打實講明白人工智能的來龍去脈 14 00:00:29,600 --> 00:00:30,500 我是漫士 15 00:00:30,533 --> 00:00:31,533 一位畢業於清華 16 00:00:31,533 --> 00:00:33,000 姚班的人工智能博士生 17 00:00:33,000 --> 00:00:34,200 從本科到研究生 18 00:00:34,200 --> 00:00:35,866 所有AI課程全部滿分 19 00:00:35,866 --> 00:00:37,033 排名年級第一 20 00:00:37,333 --> 00:00:39,633 目前正在從事深度學習理論的研究 21 00:00:39,633 --> 00:00:41,200 剛從普林斯頓回國 22 00:00:41,666 --> 00:00:43,000 視頻製作實在不易 23 00:00:43,000 --> 00:00:44,466 還望點贊多多支持 24 00:00:44,466 --> 00:00:46,266 看不完可以收藏或關注我 25 00:00:46,266 --> 00:00:47,266 之後慢慢看 26 00:00:50,400 --> 00:00:51,266 1956年 27 00:00:51,266 --> 00:00:54,366 一群科學家齊聚達特茅斯開了一場會 28 00:00:54,366 --> 00:00:55,966 這場會議持續一個多月 29 00:00:55,966 --> 00:00:57,700 一共只有十來個人參加 30 00:00:57,700 --> 00:00:59,133 但個個都是大佬 31 00:00:59,400 --> 00:01:00,066 他們包括 32 00:01:00,066 --> 00:01:02,366 達特茅斯的數學系教授麥卡錫 33 00:01:02,466 --> 00:01:04,600 哈佛大學數學與神經科學研究員 34 00:01:04,600 --> 00:01:07,133 閔斯基,IBM主管羅徹斯特 35 00:01:07,300 --> 00:01:09,266 信息論發明人香農等人 36 00:01:09,600 --> 00:01:12,100 但就是這樣一場很小小的會議 37 00:01:12,100 --> 00:01:15,000 深刻的改變了幾十年後世界的樣貌 38 00:01:15,466 --> 00:01:17,866 8年前戰勝李世石的AlphaGo 39 00:01:17,933 --> 00:01:20,866 如今能幫我們解決各種日常問題的GPT 40 00:01:21,066 --> 00:01:21,566 本質上 41 00:01:21,566 --> 00:01:24,800 都起源於這場會議所發起的研究 42 00:01:25,200 --> 00:01:27,933 如何製造出一種可以不斷學習 43 00:01:27,966 --> 00:01:30,100 並模擬人類智慧的機器呢 44 00:01:30,766 --> 00:01:33,766 這個領域在2018年拿到圖靈獎之後 45 00:01:33,766 --> 00:01:34,700 又在今年 46 00:01:34,700 --> 00:01:37,500 一舉斬獲了諾貝爾物理獎和化學獎 47 00:01:37,766 --> 00:01:40,533 是的這個領域就叫人工智慧 48 00:01:40,733 --> 00:01:41,866 而這場會議 49 00:01:41,866 --> 00:01:44,566 也被視為開創人工智慧的起點 50 00:01:44,600 --> 00:01:47,766 達特茅斯會議 51 00:01:47,866 --> 00:01:50,500 人工智慧,說白了就是人工搭建起一套智慧 52 00:01:50,733 --> 00:01:52,000 要實現這個目標 53 00:01:52,100 --> 00:01:54,533 首先就要回答一個非常根本的問題 54 00:01:54,800 --> 00:01:55,866 什麼是智能 55 00:01:56,266 --> 00:01:57,000 我們想想 56 00:01:57,000 --> 00:01:58,066 生活裡什麼時候 57 00:01:58,066 --> 00:02:00,300 我們會覺得一個物體有智能呢 58 00:02:07,333 --> 00:02:08,900 比如說我們跟狗說話 59 00:02:08,900 --> 00:02:10,666 讓它坐它就會坐下 60 00:02:10,700 --> 00:02:12,566 讓它叫它就會叫兩聲 61 00:02:12,666 --> 00:02:13,800 你罵它兩句 62 00:02:13,800 --> 00:02:15,800 它就會一臉幽怨的盯著你 63 00:02:16,000 --> 00:02:17,466 此時我們會覺得哎 64 00:02:17,466 --> 00:02:18,900 這隻小狗很聰明 65 00:02:18,900 --> 00:02:20,966 有靈性有靈性 66 00:02:20,966 --> 00:02:22,166 本質上就是說 67 00:02:22,266 --> 00:02:24,500 狗是一種有智能的生物 68 00:02:24,533 --> 00:02:26,066 和石頭什麼的不一樣 69 00:02:26,133 --> 00:02:27,766 你無論怎麼叫一塊石頭 70 00:02:27,766 --> 00:02:28,766 它都無動於衷 71 00:02:28,766 --> 00:02:30,166 所以是一個死物 72 00:02:30,933 --> 00:02:34,000 正因此儘管有關智能的定義千千萬 73 00:02:34,000 --> 00:02:36,366 但他們都逃不開這樣的核心 74 00:02:36,733 --> 00:02:38,200 智能本質上就是通過 75 00:02:38,200 --> 00:02:39,366 收集信息 76 00:02:39,500 --> 00:02:42,766 對於不同的情景作出針對性的反應 77 00:02:43,333 --> 00:02:45,466 中學有一個很有意思的小實驗 78 00:02:45,466 --> 00:02:48,066 那就是觀察草履蟲的應激行為 79 00:02:48,266 --> 00:02:50,066 在另一端滴上肉汁 80 00:02:50,066 --> 00:02:51,666 草履蟲就會跑過去 81 00:02:51,700 --> 00:02:53,100 而加上幾粒鹽 82 00:02:53,100 --> 00:02:54,500 它們就會四散逃跑 83 00:02:55,000 --> 00:02:57,200 正是這種針對環境的變化 84 00:02:57,200 --> 00:02:58,600 趨利避害的運動 85 00:02:58,600 --> 00:02:59,700 讓我們相信 86 00:02:59,766 --> 00:03:01,200 這些水中的小顆粒 87 00:03:01,200 --> 00:03:03,066 是一種有智能的生物 88 00:03:03,066 --> 00:03:05,066 而不是無生命的灰塵 89 00:03:05,600 --> 00:03:07,466 事實上如果你看到有一些草履蟲 90 00:03:07,466 --> 00:03:09,200 沒有了趨利避害的反應 91 00:03:09,200 --> 00:03:12,166 這就說明一個很簡單的道理它們死了 92 00:03:12,266 --> 00:03:13,866 智能隨著生命消失 93 00:03:15,166 --> 00:03:17,966 既然智能說白了就是看情況做事 94 00:03:18,000 --> 00:03:19,766 那麼所謂人工智能 95 00:03:19,766 --> 00:03:21,400 同樣就是搭建起一個 96 00:03:21,400 --> 00:03:23,300 根據不同的環境信息 97 00:03:23,300 --> 00:03:26,166 給出針對性的輸出和回應的系統 98 00:03:26,466 --> 00:03:29,400 這個輸出可以是動作語言 99 00:03:29,400 --> 00:03:31,900 也可以是一種判斷和預測 100 00:03:32,400 --> 00:03:35,866 比如說人臉辨識可以根據不同的人臉 101 00:03:35,933 --> 00:03:38,966 針對性地回饋出不同人的身份資訊 102 00:03:39,333 --> 00:03:40,133 AlphaGo 103 00:03:40,166 --> 00:03:43,200 可以對於各種不同的複雜棋局的情況 104 00:03:43,200 --> 00:03:44,766 給出最佳的下法 105 00:03:44,800 --> 00:03:45,866 爭取勝利 106 00:03:46,100 --> 00:03:47,666 GPT可以根據上文 107 00:03:47,666 --> 00:03:49,800 不同的問題和任務的要求 108 00:03:49,966 --> 00:03:52,800 針對性地跟你說話並解決問題 109 00:03:53,100 --> 00:03:55,200 因此它們都是智能 110 00:03:55,733 --> 00:03:56,533 設想一下 111 00:03:56,566 --> 00:03:57,566 如果人臉識別 112 00:03:57,566 --> 00:04:00,000 把所有的人都認成了張三 113 00:04:00,000 --> 00:04:01,500 AlphaGo在棋盤上到處亂下 114 00:04:01,666 --> 00:04:04,133 GPT的回答牛頭不對馬嘴 115 00:04:04,300 --> 00:04:07,700 那這個AI的全稱應該叫artificial idiot 116 00:04:07,766 --> 00:04:08,700 人工智障 117 00:04:09,866 --> 00:04:10,733 總而言之 118 00:04:10,766 --> 00:04:13,700 智能的本質就是一個不會亂來的黑箱 119 00:04:13,800 --> 00:04:15,866 或者用數學一點的說法 120 00:04:15,966 --> 00:04:18,900 智能就是找到情景信息的輸入 121 00:04:18,900 --> 00:04:21,866 和我們想要的聰明的行為輸出 122 00:04:21,866 --> 00:04:23,900 之間的函數對應關係 123 00:04:24,133 --> 00:04:26,566 這裡給大家聽一段來自美國的 124 00:04:26,566 --> 00:04:29,700 老爺子Thomas Garrity激情四射的演講 125 00:04:29,766 --> 00:04:32,500 相信你會對這個函數有更深的體會 126 00:04:32,733 --> 00:04:33,933 functions 函數 127 00:04:36,633 --> 00:04:38,266 describe 描述了 128 00:04:41,133 --> 00:04:42,433 the wor~~~~ld 世——界——! 129 00:04:44,733 --> 00:04:48,566 everything is described by functions 世間萬物都被函數所描述 130 00:04:48,866 --> 00:04:52,366 the sound of my voice on your eardrum, function 我的聲音傳到你的鼓膜,是函數! 131 00:04:52,433 --> 00:04:53,033 the light 132 00:04:53,033 --> 00:04:55,566 that's kind of hitting your eye balls right now 那些正在照射向你們眼睛的光 133 00:04:55,900 --> 00:04:59,866 function! the entries you put in your random matrices 也是函數!那些你在矩陣中隨機設定的數值 134 00:05:00,133 --> 00:05:02,833 function! it's all~~~ function 還是函數!全——都是函數! 135 00:05:02,933 --> 00:05:04,466 different classes and mathematics 不同的領域different 136 00:05:04,466 --> 00:05:05,900 areas and mathematics study 數學不同方向的研究 137 00:05:05,900 --> 00:05:07,366 different kinds of function 研究不同的函數 138 00:05:07,366 --> 00:05:08,333 high school math studies 高中數學研究 139 00:05:08,333 --> 00:05:10,366 second degree one variable poomials 單變量二次函數 140 00:05:10,366 --> 00:05:11,466 微 積分 141 00:05:11,533 --> 00:05:14,766 functions and it goes on and on 光滑的單變量函數,各種地方都如此 142 00:05:14,866 --> 00:05:18,100 functions describe the world 函數,描述,世界! 143 00:05:20,266 --> 00:05:22,766 你也能更好地理解圖靈測試 144 00:05:22,900 --> 00:05:24,866 因為圖靈測試它就在說 145 00:05:24,900 --> 00:05:28,400 如果人無法區分是在跟人還是AI聊天 146 00:05:28,400 --> 00:05:30,733 那麼這個AI就實現了人的智能 147 00:05:30,800 --> 00:05:32,700 它本質上正是在說 148 00:05:32,766 --> 00:05:36,000 所謂AI本質上就是它所定義的 149 00:05:36,000 --> 00:05:38,933 輸入到輸出的這個黑盒子的函數關係 150 00:05:38,933 --> 00:05:42,133 它跟你回應的話和人沒有任何區別 151 00:05:42,166 --> 00:05:45,066 那麼這就是一個類似於人的智能了 152 00:05:45,400 --> 00:05:46,366 問題來了 153 00:05:46,400 --> 00:05:48,933 該怎麼做出這樣一個聰明的黑箱呢 154 00:05:48,966 --> 00:05:51,566 科學家針對這個問題提出了很多思路 155 00:05:51,900 --> 00:05:52,966 例如有一批人 156 00:05:52,966 --> 00:05:56,200 從數學的形式化推理體系中得到靈感 157 00:05:56,400 --> 00:05:56,866 主張 158 00:05:56,866 --> 00:05:59,933 智能可以用符號的邏輯推理來模擬 159 00:06:00,000 --> 00:06:02,366 這就是符號主義symbolism 160 00:06:02,733 --> 00:06:03,533 舉例 161 00:06:03,566 --> 00:06:04,800 a表示陰天 162 00:06:04,800 --> 00:06:06,966 b表示濕度大於70% 163 00:06:07,100 --> 00:06:08,533 t表示將要下雨 164 00:06:08,666 --> 00:06:10,800 那麼知識是一條邏輯規則 165 00:06:10,966 --> 00:06:12,666 如果a和b是真的 166 00:06:12,666 --> 00:06:14,166 那麼t就是真的 167 00:06:14,566 --> 00:06:15,466 所謂智能 168 00:06:15,466 --> 00:06:17,600 就是看到陰天和濕度很大 169 00:06:17,600 --> 00:06:18,933 明白a和b都對 170 00:06:18,966 --> 00:06:20,666 那麼利用這條規則 171 00:06:20,666 --> 00:06:22,133 推出t是真的 172 00:06:22,133 --> 00:06:24,500 從而預測到可能將要下雨 173 00:06:24,866 --> 00:06:27,100 這些人類的推理和思考 174 00:06:27,166 --> 00:06:30,000 都可以從這些符號和規則當中 175 00:06:30,000 --> 00:06:32,366 像算數一樣計算出來 176 00:06:32,933 --> 00:06:34,933 因此符號主義相信 177 00:06:34,933 --> 00:06:36,500 智能正是一套 178 00:06:36,500 --> 00:06:39,566 像這樣處理符號和規則的計算系統 179 00:06:39,700 --> 00:06:41,666 他把人類的知識和邏輯 180 00:06:41,700 --> 00:06:42,933 用如果a 181 00:06:42,966 --> 00:06:45,566 那麼b這樣的規則存儲下來 182 00:06:45,566 --> 00:06:47,600 然後呢不斷進行符號推演 183 00:06:47,600 --> 00:06:49,766 就可以實現接近人類的智慧 184 00:06:50,366 --> 00:06:52,500 這套思路最成功的典範 185 00:06:52,500 --> 00:06:54,266 就是曾經的專家系統 186 00:06:54,566 --> 00:06:56,800 他諮詢人類的醫學專家 187 00:06:56,800 --> 00:06:59,066 甚麼樣的病可能會有什麼樣的症狀 188 00:06:59,300 --> 00:07:01,700 接著把這些規則全部記錄下來 189 00:07:01,866 --> 00:07:03,533 只要利用這些規則 190 00:07:03,566 --> 00:07:06,300 就可以根據已有的信息給出預測 191 00:07:06,366 --> 00:07:07,966 實現一個智能的黑箱 192 00:07:08,566 --> 00:07:09,366 這套系統 193 00:07:09,366 --> 00:07:12,466 一度在疾病診斷和金融諮詢領域 194 00:07:12,466 --> 00:07:14,100 獲得了很大的成功 195 00:07:14,300 --> 00:07:15,700 但隨著時間推移 196 00:07:15,733 --> 00:07:18,100 它也逐漸暴露出致命的缺陷 197 00:07:18,533 --> 00:07:20,066 首先很多時候 198 00:07:20,066 --> 00:07:22,600 現實世界沒有那麼清晰的規則 199 00:07:22,933 --> 00:07:24,400 即使詢問人類專家 200 00:07:24,400 --> 00:07:25,366 出現某個症狀 201 00:07:25,366 --> 00:07:26,666 是不是得了某個病 202 00:07:26,733 --> 00:07:29,000 或者股票走勢長成這個樣子 203 00:07:29,000 --> 00:07:30,500 應該是買還是賣 204 00:07:30,600 --> 00:07:33,666 他們給出的回答往往都並不一致 205 00:07:33,900 --> 00:07:36,000 那你的系統只能選擇一個 206 00:07:36,200 --> 00:07:37,666 到底該聽誰的呢 207 00:07:38,533 --> 00:07:39,400 更要命的是 208 00:07:39,533 --> 00:07:42,666 這套系統完全是在複製人類經驗 209 00:07:42,866 --> 00:07:46,100 所以他的能力上限就是專家的水平 210 00:07:46,133 --> 00:07:48,066 無法做到比人更好 211 00:07:48,133 --> 00:07:51,500 而且從你設計完成這套系統開始 212 00:07:51,533 --> 00:07:53,933 他就永遠是靜止不變的水平 213 00:07:54,066 --> 00:07:55,466 很難像人一樣 214 00:07:55,533 --> 00:07:57,700 隨著經驗和時間的增長 215 00:07:57,866 --> 00:07:59,600 水平不斷繼續提升 216 00:08:00,300 --> 00:08:03,400 正因此從上世紀70年代開始 217 00:08:03,400 --> 00:08:06,400 另一個人工智能流派開始發揚光大 218 00:08:06,666 --> 00:08:09,533 他不追求一開始就有一個 219 00:08:09,533 --> 00:08:10,700 完美的黑箱 220 00:08:10,733 --> 00:08:13,300 但允許這個黑箱不斷的變化 221 00:08:13,333 --> 00:08:15,500 透過不斷的引導和學習 222 00:08:15,533 --> 00:08:18,566 讓他在某一個任務上表現的越來越好 223 00:08:18,566 --> 00:08:19,366 哎沒錯 224 00:08:19,400 --> 00:08:21,333 也是一種成長型的心態 225 00:08:21,800 --> 00:08:22,700 這種思路啊 226 00:08:22,700 --> 00:08:23,566 就像訓狗 227 00:08:23,800 --> 00:08:25,333 你發出坐的指令 228 00:08:25,466 --> 00:08:26,800 如果他坐下來呢 229 00:08:26,800 --> 00:08:29,366 你就獎勵他狗糧或者摸摸狗頭 230 00:08:29,533 --> 00:08:31,866 如果他沒聽懂或瞪著眼睛 231 00:08:31,866 --> 00:08:33,166 你就給他一逼鬥 232 00:08:33,600 --> 00:08:34,500 久而久之 233 00:08:34,700 --> 00:08:37,166 狗這個黑箱就會越來越明白 234 00:08:37,166 --> 00:08:39,200 你發出坐這個指令 235 00:08:39,333 --> 00:08:41,900 和他需要坐下來的這個行為 236 00:08:41,900 --> 00:08:42,900 之間的關係 237 00:08:43,000 --> 00:08:44,600 就像條件反射一樣 238 00:08:44,866 --> 00:08:48,900 之後只要聽到坐這個命令的輸入場景 239 00:08:49,000 --> 00:08:51,933 他就會給你坐下來這個動作 240 00:08:52,266 --> 00:08:54,933 於是一隻會聽指令的聰明小狗 241 00:08:54,933 --> 00:08:56,300 就訓練完成了 242 00:08:56,866 --> 00:08:59,100 這個流派的名字也很生動 243 00:08:59,100 --> 00:09:01,000 就叫做機器學習 244 00:09:01,366 --> 00:09:02,166 顧名思義 245 00:09:02,266 --> 00:09:06,100 就是把在學習的對象從狗變成了機器 246 00:09:06,333 --> 00:09:09,766 通過給機器以獎勵或者懲罰的方式 247 00:09:09,766 --> 00:09:11,600 讓機器自主調整 248 00:09:11,600 --> 00:09:12,700 不斷學習 249 00:09:12,766 --> 00:09:15,600 從而學會解決某一種任務的智能 250 00:09:15,933 --> 00:09:16,766 這個任務 251 00:09:16,766 --> 00:09:19,133 可能是識別圖片裡的數字和人臉 252 00:09:19,133 --> 00:09:22,333 也可能是下圍棋或者是與人對話 253 00:09:22,333 --> 00:09:23,266 等等等等 254 00:09:24,066 --> 00:09:26,066 機器學習的強大之處在於 255 00:09:26,133 --> 00:09:29,000 它不需要任何專家的專業知識 256 00:09:29,000 --> 00:09:31,766 來人為搭建黑箱內部的結構 257 00:09:31,900 --> 00:09:33,666 它只需要兩樣東西 258 00:09:33,800 --> 00:09:36,566 一個強大且有學習能力的黑箱 259 00:09:36,566 --> 00:09:38,133 以及足夠多的數據 260 00:09:38,600 --> 00:09:39,400 舉個例子 261 00:09:39,400 --> 00:09:39,866 假設 262 00:09:39,866 --> 00:09:43,100 你想要一個能夠識別數字的智能黑箱 263 00:09:43,100 --> 00:09:43,466 那麼 264 00:09:43,466 --> 00:09:46,066 只需要準備一個具有學習能力的機器 265 00:09:46,066 --> 00:09:48,366 然後收集很多數字的圖片人工 266 00:09:48,800 --> 00:09:52,100 標註出每張圖片裡的數字是什麼 267 00:09:52,133 --> 00:09:54,666 接下來你只需要像訓狗一樣 268 00:09:54,666 --> 00:09:57,566 把一張張圖片展示在這個機器面前 269 00:09:57,566 --> 00:09:59,766 讓他預測裡面的數字到底是 270 00:09:59,766 --> 00:10:01,566 什麼如果他預測對了 271 00:10:01,566 --> 00:10:02,766 你就給他獎勵 272 00:10:02,800 --> 00:10:04,533 錯了呢你就給他懲罰 273 00:10:04,800 --> 00:10:07,400 讓這個機器不斷的自我調整 274 00:10:07,733 --> 00:10:10,533 當他見過的圖片越來越多之後 275 00:10:10,533 --> 00:10:12,733 就能夠神奇的做到 276 00:10:12,733 --> 00:10:16,066 正確識別這個圖片裡的數字是什麼了 277 00:10:16,866 --> 00:10:19,466 相信你現在心裡肯定有一個疑問哎 278 00:10:19,466 --> 00:10:21,166 哪來的黑箱這麼神奇 279 00:10:21,166 --> 00:10:23,666 能夠像狗和人一樣越學越機靈 280 00:10:24,000 --> 00:10:27,200 而且給狗獎勵是餵狗糧摸摸頭 281 00:10:27,300 --> 00:10:30,700 給機器獎勵和懲罰又是怎麼一回事呢 282 00:10:30,733 --> 00:10:32,866 難不成是多給點電嗎 283 00:10:33,100 --> 00:10:33,600 而且 284 00:10:33,600 --> 00:10:36,533 狗的條件反射和學習過程那麼複雜 285 00:10:36,700 --> 00:10:39,100 人搭建起來的機器 286 00:10:39,133 --> 00:10:41,800 又是怎麼自我調整和學習的呢 287 00:10:42,300 --> 00:10:43,566 哎問的非常好 288 00:10:43,700 --> 00:10:44,733 這三個問題啊 289 00:10:44,733 --> 00:10:47,600 其實分別對應於機器學習的模型 290 00:10:47,600 --> 00:10:50,466 結構損失函數和訓練過程 291 00:10:50,766 --> 00:10:53,933 接下來的影片就會詳細解答這些問題 292 00:10:54,533 --> 00:10:56,366 讓我們先解決第一個問題 293 00:10:56,366 --> 00:10:57,533 怎麼搭建起一個 294 00:10:57,533 --> 00:10:59,766 有學習能力的黑箱機器呢 295 00:11:00,100 --> 00:11:03,133 有沒有一種萬能的超級強大的黑盒 296 00:11:03,166 --> 00:11:04,966 無論什麼樣的對應關係 297 00:11:04,966 --> 00:11:07,100 它都能表示和學會呢 298 00:11:07,466 --> 00:11:08,000 這裡呢 299 00:11:08,000 --> 00:11:11,300 就值得一提另一派實現人工智能流派 300 00:11:11,333 --> 00:11:12,333 聯結主義 301 00:11:12,766 --> 00:11:13,500 他們認為 302 00:11:13,500 --> 00:11:13,966 大自然 303 00:11:13,966 --> 00:11:16,666 已經給了實現智能的標準答案 304 00:11:16,800 --> 00:11:18,766 那就是人類精妙的大腦 305 00:11:19,166 --> 00:11:21,166 只需要通過仿生的方式 306 00:11:21,166 --> 00:11:23,800 模擬單個神經元的複雜功能 307 00:11:23,800 --> 00:11:26,500 以及神經元之間複雜的連接 308 00:11:26,900 --> 00:11:28,000 那麼我們只需要 309 00:11:28,000 --> 00:11:30,566 像運行一台精密的鐘錶一樣 310 00:11:30,566 --> 00:11:33,100 運行這個人工搭建的神經網絡 311 00:11:33,366 --> 00:11:36,166 人類就可以實現不可思議的智慧 312 00:11:36,500 --> 00:11:40,733 這一派思想被稱作聯結主義connectionism 313 00:11:41,666 --> 00:11:42,933 為了理解聯結主義 314 00:11:42,933 --> 00:11:45,300 我們先考慮一些最簡單的智能 315 00:11:45,333 --> 00:11:47,200 比如這裡有一個蘋果 316 00:11:47,266 --> 00:11:49,800 那為什麼你會覺得它是一個蘋果呢 317 00:11:49,933 --> 00:11:50,966 你可能會說 318 00:11:50,966 --> 00:11:52,766 因為它直徑大約10厘米 319 00:11:52,766 --> 00:11:54,266 外表皮是紅色的 320 00:11:54,266 --> 00:11:55,133 是個球形 321 00:11:55,133 --> 00:11:56,133 氣味香甜 322 00:11:56,700 --> 00:11:58,666 沒錯我們對於很多概念 323 00:11:58,666 --> 00:12:00,066 比如蘋果的理解 324 00:12:00,066 --> 00:12:03,466 是依賴於其他的概念屬性組合而來的 325 00:12:03,600 --> 00:12:05,800 在每個不同的概念屬性上 326 00:12:05,800 --> 00:12:08,333 不同的水果會有各自的特徵 327 00:12:08,500 --> 00:12:09,800 例如大小方面 328 00:12:09,900 --> 00:12:10,966 西瓜是大的 329 00:12:10,966 --> 00:12:12,600 而其他的水果是小的 330 00:12:12,666 --> 00:12:14,800 所以在尺寸大這個特徵上 331 00:12:14,900 --> 00:12:15,766 西瓜符合 332 00:12:15,766 --> 00:12:17,400 而其他的水果不符合 333 00:12:17,766 --> 00:12:18,866 在計算機的世界裡 334 00:12:18,866 --> 00:12:20,966 我們用1來表示符合 335 00:12:20,966 --> 00:12:22,200 0表示不符合 336 00:12:22,566 --> 00:12:25,500 這樣我們就可以列出各種水果 337 00:12:25,500 --> 00:12:29,166 與不同屬性之間的一張關係對應表 338 00:12:29,733 --> 00:12:31,266 當每個水果的特徵 339 00:12:31,266 --> 00:12:33,533 都和蘋果的屬性吻合時 340 00:12:33,533 --> 00:12:36,300 我們就傾向於判斷這是蘋果 341 00:12:36,666 --> 00:12:39,166 如此我們就擁有了一種簡單的 342 00:12:39,166 --> 00:12:40,700 識別水果的智能 343 00:12:41,333 --> 00:12:41,933 因此 344 00:12:41,933 --> 00:12:45,166 有一種最簡單的搭建黑盒的方式 345 00:12:45,300 --> 00:12:47,366 比如說我們想要識別蘋果 346 00:12:47,366 --> 00:12:49,733 那就將一個水果的所有特徵 347 00:12:49,733 --> 00:12:52,966 比如說大小顏色氣味什麼的作為輸入 348 00:12:53,200 --> 00:12:55,700 然後分別考慮它的每個特徵 349 00:12:55,733 --> 00:12:57,466 是否像蘋果 350 00:12:57,700 --> 00:12:58,500 具體來說 351 00:12:58,533 --> 00:12:59,966 就是乘一個係數 352 00:13:00,200 --> 00:13:02,066 比如說尺寸不大 353 00:13:02,266 --> 00:13:03,266 顏色是紅色 354 00:13:03,266 --> 00:13:04,000 味道很甜 355 00:13:04,000 --> 00:13:06,900 這些都表明這個水果符合蘋果的特徵 356 00:13:06,900 --> 00:13:09,000 因此他們對於是蘋果這個判斷 357 00:13:09,000 --> 00:13:10,733 起到正向的促進作用 358 00:13:10,733 --> 00:13:12,666 我們會把它乘以一個正數 359 00:13:12,800 --> 00:13:14,066 而尺寸很大 360 00:13:14,100 --> 00:13:14,866 吃起來酸 361 00:13:14,866 --> 00:13:17,466 這些特徵都表明不太可能是蘋果 362 00:13:17,566 --> 00:13:19,466 所以我們把它乘以負的係數 363 00:13:19,866 --> 00:13:22,066 最後我們只需要將這些特徵 364 00:13:22,066 --> 00:13:24,400 各自乘以它們對應的係數 365 00:13:24,400 --> 00:13:25,766 然後加在一起 366 00:13:25,800 --> 00:13:27,933 就可以得到一個蘋果得分 367 00:13:28,100 --> 00:13:30,133 這個得分越高越像蘋果 368 00:13:30,133 --> 00:13:31,533 越低則越不像 369 00:13:31,766 --> 00:13:34,766 所以 我們就可以再設置一個得分的閾值b 370 00:13:34,866 --> 00:13:36,733 如果最後的得分高於b 371 00:13:36,733 --> 00:13:38,466 那麼這台機器就激活 372 00:13:38,466 --> 00:13:39,533 否則不激活 373 00:13:39,900 --> 00:13:41,566 此時整個這台機器 374 00:13:41,566 --> 00:13:43,733 就變成了一個蘋果識別機 375 00:13:43,966 --> 00:13:46,566 只有你把蘋果拿到它面前的時候 376 00:13:46,566 --> 00:13:47,400 它會激活 377 00:13:47,400 --> 00:13:48,700 亮起右邊的燈泡 378 00:13:48,800 --> 00:13:50,566 而只要你放在前面的水果 379 00:13:50,566 --> 00:13:52,266 不滿足蘋果的特徵 380 00:13:52,300 --> 00:13:53,566 它就不會激活 381 00:13:53,900 --> 00:13:55,266 所以根據我們的定義 382 00:13:55,266 --> 00:13:55,900 整個黑箱 383 00:13:55,900 --> 00:13:58,933 此時就具備了識別蘋果的智能 384 00:13:59,066 --> 00:14:01,266 這個黑箱機器的厲害之處在於 385 00:14:01,333 --> 00:14:03,600 你不僅可以用它來識別蘋果 386 00:14:03,600 --> 00:14:05,666 還可以用來辨識其他的水果 387 00:14:05,900 --> 00:14:08,600 只需要透過調整這些連結的係數 388 00:14:08,600 --> 00:14:10,533 你就可以表示不同的概念 389 00:14:10,966 --> 00:14:13,566 比如說你可以讓他在水果又大 390 00:14:13,566 --> 00:14:15,700 又綠又甜的時候激活 391 00:14:15,800 --> 00:14:18,400 那麼此時這台機器的用途 392 00:14:18,400 --> 00:14:19,900 就是識別出西瓜 393 00:14:20,533 --> 00:14:23,533 或者在又小又紅又酸的時候激活 394 00:14:23,533 --> 00:14:26,133 那麼他就可以特別的篩選出山楂 395 00:14:27,000 --> 00:14:29,566 這裡每一個特徵到輸出之間 396 00:14:29,566 --> 00:14:30,600 連接的係數 397 00:14:30,600 --> 00:14:32,300 就像一個機器的旋鈕 398 00:14:32,566 --> 00:14:34,700 你只需要根據自己的需求 399 00:14:34,700 --> 00:14:36,200 設定這些旋鈕的值 400 00:14:36,300 --> 00:14:37,666 就可以讓整台機器 401 00:14:37,666 --> 00:14:40,500 非常針對性的指對某種水果激活 402 00:14:40,733 --> 00:14:42,866 而這種從輸入數據中 403 00:14:42,933 --> 00:14:45,966 識別不同水果特徵的模式 404 00:14:45,966 --> 00:14:48,733 理解概念的過程就叫做模式識別 405 00:14:49,400 --> 00:14:50,266 而這個玩意兒 406 00:14:50,266 --> 00:14:51,866 就是人類在1956年 407 00:14:51,866 --> 00:14:54,100 最早提出的一種模式識別的算法 408 00:14:54,100 --> 00:14:55,400 模型:感知機 409 00:14:55,933 --> 00:14:57,400 哎有人可能會說了 410 00:14:57,400 --> 00:14:59,066 你這個取各種條件 411 00:14:59,066 --> 00:15:00,766 合在一起判斷的過程 412 00:15:00,766 --> 00:15:02,466 看起來和前面的專家系統 413 00:15:02,466 --> 00:15:04,066 好像也沒啥區別呀 414 00:15:04,333 --> 00:15:05,733 哎你說的很 415 00:15:06,000 --> 00:15:08,333 對這 是一個很多人都不知道的冷知識 416 00:15:08,500 --> 00:15:09,600 大家通常以為 417 00:15:09,600 --> 00:15:11,333 神經網路代表的聯結主義 418 00:15:11,333 --> 00:15:14,100 從一開始就和符號主義水火不容 419 00:15:14,100 --> 00:15:15,133 分道揚鑣 420 00:15:15,266 --> 00:15:18,800 但其實感知機這種最早期的神經網路 421 00:15:18,800 --> 00:15:19,500 它的設計 422 00:15:19,500 --> 00:15:20,533 很大程度上 423 00:15:20,533 --> 00:15:23,333 借鑒甚至是脫胎於邏輯推理 424 00:15:23,600 --> 00:15:27,100 其思路同樣是組合不同的特徵條件 425 00:15:27,100 --> 00:15:28,133 來進行推理 426 00:15:28,166 --> 00:15:29,733 這裡的每個神經元 427 00:15:29,766 --> 00:15:31,133 也就像剛才我們說的 428 00:15:31,133 --> 00:15:33,000 符號邏輯當中的一個 429 00:15:33,000 --> 00:15:34,600 一個命題的字母一樣 430 00:15:35,100 --> 00:15:35,700 只不過 431 00:15:35,700 --> 00:15:38,700 他是用數值計算的方式來模擬邏輯的 432 00:15:38,700 --> 00:15:40,000 而數值計算本身 433 00:15:40,000 --> 00:15:43,466 不局限於有限且明確的符號推理 434 00:15:43,533 --> 00:15:45,400 因而在更廣泛的領域 435 00:15:45,400 --> 00:15:49,133 比如說控制環境感知圖像識別等領域 436 00:15:49,133 --> 00:15:50,900 具有更強大的潛力 437 00:15:51,000 --> 00:15:52,766 這個我們在後面就會看到 438 00:15:53,600 --> 00:15:54,333 巧合的是 439 00:15:54,333 --> 00:15:57,333 這​​種設計同樣和神經科學不謀而合 440 00:15:57,566 --> 00:15:59,100 中學的時候我們學過 441 00:15:59,266 --> 00:16:01,900 神經元通過電信號傳遞信息 442 00:16:01,933 --> 00:16:04,600 其中樹突接收不同神經元的電信號 443 00:16:04,600 --> 00:16:06,533 而軸突則會將自己的訊號 444 00:16:06,533 --> 00:16:08,300 傳遞給其他的神經元 445 00:16:08,700 --> 00:16:09,666 而感知機啊 446 00:16:09,666 --> 00:16:11,400 它也恰似一個神經元 447 00:16:11,533 --> 00:16:13,733 你看呢那些傳入的數字 448 00:16:13,733 --> 00:16:15,900 分別表示它接收到的各種訊號 449 00:16:16,066 --> 00:16:17,800 它們可能會激活 450 00:16:17,800 --> 00:16:20,266 或抑制這個神經元的活動 451 00:16:20,300 --> 00:16:21,400 而這種影響 452 00:16:21,400 --> 00:16:22,166 就體現在 453 00:16:22,166 --> 00:16:25,600 每一條連邊參數w的正負和大小上 454 00:16:26,000 --> 00:16:28,700 神經元直接疊加所有接收的影響 455 00:16:28,700 --> 00:16:30,533 而如果疊加的刺激足夠大 456 00:16:30,533 --> 00:16:31,500 它就會激活 457 00:16:31,500 --> 00:16:32,733 進一步往後傳遞 458 00:16:33,200 --> 00:16:34,000 這一切 459 00:16:34,000 --> 00:16:36,666 都和生物神經元的活動不謀而合 460 00:16:37,100 --> 00:16:39,133 事實上這個數學模型的提出啊 461 00:16:39,133 --> 00:16:40,600 比人工智慧還早 462 00:16:40,733 --> 00:16:42,933 早 在1943年的二戰期間 463 00:16:43,100 --> 00:16:47,066 Pitts和Mcculloch在生物物理學通報上 464 00:16:47,166 --> 00:16:48,300 共同發表了 465 00:16:48,300 --> 00:16:51,466 神經活動中內在思想的邏輯演算 466 00:16:51,466 --> 00:16:53,966 提出了這套神經元的數學模型 467 00:16:54,500 --> 00:16:55,800 你注意看這套名字 468 00:16:56,133 --> 00:16:58,966 神經活動中內在的邏輯演算 469 00:16:59,133 --> 00:17:00,333 這更顯示 470 00:17:00,333 --> 00:17:03,533 聯結主義和符號主義其實是同源的 471 00:17:03,866 --> 00:17:06,300 1957年康乃爾大學的羅森布拉特 472 00:17:06,300 --> 00:17:06,666 造出了 473 00:17:06,666 --> 00:17:09,466 人類第一台有實際應用價值的:感知機 474 00:17:09,600 --> 00:17:12,866 這台感知機將圖片的像素作為輸入 475 00:17:12,866 --> 00:17:14,600 透過演算法調整參數 476 00:17:14,600 --> 00:17:15,666 不斷學習 477 00:17:15,800 --> 00:17:18,800 最終能夠做到判斷出一張圖片裡 478 00:17:18,800 --> 00:17:20,566 是男人還是女人 479 00:17:20,700 --> 00:17:23,366 或者是左箭頭還是右箭頭 480 00:17:23,366 --> 00:17:25,066 一時間轟動世界 481 00:17:25,666 --> 00:17:28,400 雖然在今天看來這可能沒什麼 482 00:17:28,466 --> 00:17:30,466 但讓我換一個角度跟你解釋 483 00:17:30,466 --> 00:17:32,133 你就會知道這有多了不起 484 00:17:32,566 --> 00:17:35,533 計算機和人是兩種非常不同的東西 485 00:17:35,900 --> 00:17:38,000 對於人來說很困難的問題 486 00:17:38,000 --> 00:17:40,366 比如說計算兩個十位數的乘法 487 00:17:40,466 --> 00:17:42,666 對於計算機來說卻很簡單 488 00:17:42,966 --> 00:17:45,400 但對人來說很簡單的事情 489 00:17:45,400 --> 00:17:47,800 對於計算機來說卻非常困難 490 00:17:48,000 --> 00:17:49,966 比如說理解圖片的內容 491 00:17:50,300 --> 00:17:51,933 因為在計算機看來 492 00:17:51,933 --> 00:17:54,800 圖片本質上是一堆像素的數值 493 00:17:54,966 --> 00:17:57,100 所以識別圖片中的內容 494 00:17:57,100 --> 00:17:58,333 在數學本質上 495 00:17:58,333 --> 00:18:00,866 就是給你一大塊數字組成的矩陣 496 00:18:00,866 --> 00:18:01,866 然後問你啊 497 00:18:01,866 --> 00:18:03,566 這裡面畫的到底是一個什麼 498 00:18:03,566 --> 00:18:04,333 或問你 499 00:18:04,333 --> 00:18:06,533 這裡面到底是個男人還是女人 500 00:18:07,000 --> 00:18:08,866 人的長相千姿百態 501 00:18:09,000 --> 00:18:12,200 各種五官光影角度的細微變化 502 00:18:12,200 --> 00:18:14,533 都會呈現出不同的圖片 503 00:18:14,600 --> 00:18:18,000 導致像素的具體數值出現劇烈的變化 504 00:18:18,400 --> 00:18:20,700 而我們要透過純粹的計算 505 00:18:20,966 --> 00:18:23,333 算出來真實照片裡的人 506 00:18:23,333 --> 00:18:24,800 是男性還是女性 507 00:18:25,066 --> 00:18:28,366 現在你還覺得這整個數學問題 508 00:18:28,366 --> 00:18:28,933 也就是說 509 00:18:28,933 --> 00:18:32,300 從圖片中看出是什麼內容很容易嗎 510 00:18:32,500 --> 00:18:33,900 人類的視覺和大腦 511 00:18:33,933 --> 00:18:35,400 是不是很不可思議呢 512 00:18:35,866 --> 00:18:38,333 而這個領域就叫做電腦視覺 513 00:18:39,566 --> 00:18:41,800 正因此在發明感知機之後啊 514 00:18:41,800 --> 00:18:44,733 時年30歲的羅森布拉特意氣風發 515 00:18:44,800 --> 00:18:46,933 迫不及待的召開新聞發布會 516 00:18:46,966 --> 00:18:49,800 暢談自己研究成果的美好未來 517 00:18:49,800 --> 00:18:50,500 吸引了眾 518 00:18:50,500 --> 00:18:52,133 多媒體 的極大關注 519 00:18:52,400 --> 00:18:55,066 比如說大名鼎鼎的紐約時報記者 520 00:18:55,066 --> 00:18:57,466 對感知機的先進性贊不絕口 521 00:18:57,733 --> 00:18:58,466 報道說 522 00:18:58,466 --> 00:19:01,800 這是一個能夠行走擁有視覺能夠寫作 523 00:19:01,800 --> 00:19:02,866 能自我複製 524 00:19:02,866 --> 00:19:06,600 且有自我意識的電子計算機的雛形 525 00:19:06,866 --> 00:19:08,900 他把它稱為電子大腦 526 00:19:08,966 --> 00:19:09,900 電腦這個名字 527 00:19:09,900 --> 00:19:11,733 最早也是從這個時候來的 528 00:19:12,100 --> 00:19:14,600 文章當時還非常樂觀的估計 529 00:19:14,733 --> 00:19:16,333 再花上10萬美元 530 00:19:16,400 --> 00:19:19,400 一年之後上述構想就可以實現 531 00:19:19,533 --> 00:19:22,166 那時感知機將能夠識別出人 532 00:19:22,166 --> 00:19:23,733 並能叫出它們的名字 533 00:19:23,733 --> 00:19:25,533 而且還能把人們演講的內容 534 00:19:25,533 --> 00:19:28,500 及時的翻譯成另一種語言記錄 535 00:19:29,066 --> 00:19:30,866 但經歷過現實的我們知道 536 00:19:30,866 --> 00:19:33,933 這件事直到最近幾年才算真正實現 537 00:19:34,700 --> 00:19:36,266 所以啊真心也好 538 00:19:36,266 --> 00:19:37,700 忽悠投資人也罷 539 00:19:37,933 --> 00:19:40,466 總之人類對於自己不了解的東西 540 00:19:40,466 --> 00:19:41,966 就是很容易浪漫 541 00:19:42,133 --> 00:19:44,500 也很容易對於未來過分樂觀 542 00:19:44,766 --> 00:19:45,566 歷史上 543 00:19:45,600 --> 00:19:48,966 每當人工智慧取得一點點微小的進步 544 00:19:49,066 --> 00:19:52,333 人類就會開始賦予它無限能力的想像 545 00:19:52,466 --> 00:19:54,566 暢想與AI大戰的場景 546 00:19:54,733 --> 00:19:55,700 從來如此 547 00:19:56,733 --> 00:19:58,000 回到一開始的問題 548 00:19:58,133 --> 00:20:00,200 那究竟該怎麼搭建出一個 549 00:20:00,200 --> 00:20:03,733 有學習和進化能力的聰明黑盒子呢 550 00:20:03,933 --> 00:20:06,100 感知機就是一個簡單的例子 551 00:20:06,266 --> 00:20:07,133 專業的說法 552 00:20:07,133 --> 00:20:07,766 這些東西啊 553 00:20:07,766 --> 00:20:08,866 都叫模型 554 00:20:09,466 --> 00:20:12,700 模型本身確定了它輸出的函數形式 555 00:20:12,800 --> 00:20:13,766 比如說這裡 556 00:20:13,766 --> 00:20:16,900 就是先用wi加權組合所有的輸入 557 00:20:16,933 --> 00:20:18,366 然後減去閾值b 558 00:20:18,366 --> 00:20:20,966 再激活就是它整個模型的輸出 559 00:20:20,966 --> 00:20:22,600 這有一套函數形式 560 00:20:22,966 --> 00:20:24,166 但與此同時 561 00:20:24,166 --> 00:20:26,566 它又沒有完全確定整個函數 562 00:20:26,700 --> 00:20:27,566 依然有一系列 563 00:20:27,566 --> 00:20:29,666 你需要調節和設定的數值 564 00:20:29,666 --> 00:20:31,600 比如說這裡的每個wi和b 565 00:20:31,933 --> 00:20:33,466 它們呢叫做參數 566 00:20:33,933 --> 00:20:34,466 我們只需 567 00:20:34,466 --> 00:20:37,666 要 在設計模型的時候讓它足夠強大 568 00:20:37,900 --> 00:20:40,100 任何你想要它實現的功能 569 00:20:40,133 --> 00:20:43,333 本質上都可以透過設定模套參數實現 570 00:20:43,400 --> 00:20:45,333 那麼我們只需要讓這個模型 571 00:20:45,333 --> 00:20:47,266 不斷調整自己的參數 572 00:20:47,300 --> 00:20:48,900 不斷向著越來越有用 573 00:20:48,900 --> 00:20:51,800 符合我們需要的這種輸出的模式變化 574 00:20:51,866 --> 00:20:54,733 可以讓它最終實現強大的智能 575 00:20:55,500 --> 00:20:57,300 這就是聯結主義的信念 576 00:20:58,266 --> 00:21:00,866 這套故事在一開始提出的時候 577 00:21:00,866 --> 00:21:01,800 野心勃勃 578 00:21:01,800 --> 00:21:04,466 而且實現了感知機這樣了不起的成就 579 00:21:04,600 --> 00:21:07,300 但聯結主義一度陷入寒冬 580 00:21:07,400 --> 00:21:10,066 甚至被整個世界斥為騙子 581 00:21:10,400 --> 00:21:11,600 在最一開始的時候 582 00:21:11,600 --> 00:21:13,933 就有很多學者反對聯結主義 583 00:21:14,133 --> 00:21:14,666 他們覺得 584 00:21:14,666 --> 00:21:17,766 這只是機械的模擬了生物的構造 585 00:21:17,766 --> 00:21:20,533 而且神經元建模的也太簡單了 586 00:21:20,766 --> 00:21:22,300 而且他們覺得 587 00:21:22,300 --> 00:21:25,100 聯結主義期待在一通亂聯當中 588 00:21:25,100 --> 00:21:26,200 發生魔法 589 00:21:26,566 --> 00:21:27,666 1969年 590 00:21:27,866 --> 00:21:30,900 馬文閔斯基寫了一本叫做感知機的書 591 00:21:31,333 --> 00:21:34,133 正如給你伸大拇指的人不一定是誇你 592 00:21:34,133 --> 00:21:35,733 也可能是想拿砲打你 593 00:21:35,733 --> 00:21:37,966 他這本書可不是要推廣感知機 594 00:21:37,966 --> 00:21:39,666 而是要給感知機下死刑 595 00:21:39,666 --> 00:21:41,566 把棺材板上的釘子釘死 596 00:21:42,000 --> 00:21:44,400 閔斯基在書中指出了這樣一個事實 597 00:21:44,533 --> 00:21:47,100 有一個邏輯電路裡非常基本的操作 598 00:21:47,100 --> 00:21:49,200 叫做異或XOR 599 00:21:49,366 --> 00:21:50,266 簡單來說 600 00:21:50,266 --> 00:21:52,933 就是當輸入的兩個特徵一樣的時候 601 00:21:52,933 --> 00:21:53,800 輸出是0 602 00:21:53,866 --> 00:21:55,666 而輸入的不一樣的時候 603 00:21:55,666 --> 00:21:56,500 輸出是1 604 00:21:56,900 --> 00:21:59,800 就是這麼一個非常簡單的對應關係 605 00:21:59,800 --> 00:22:01,866 感知機卻無法完成 606 00:22:02,566 --> 00:22:03,733 為什麼會這樣呢 607 00:22:03,766 --> 00:22:05,933 我們仔細看感知機的函數形式 608 00:22:05,933 --> 00:22:06,733 就會發現 609 00:22:06,766 --> 00:22:07,533 它本質上 610 00:22:07,533 --> 00:22:11,733 是在計算W1x加w2y減b的符號 611 00:22:12,133 --> 00:22:14,600 假如我們把所有的這樣的x,y輸入 612 00:22:14,600 --> 00:22:16,600 畫在二維平面的座標系上 613 00:22:16,700 --> 00:22:19,100 那麼能夠讓感知機激 614 00:22:19,100 --> 00:22:23,900 活 的所有輸入滿足w1x加w2y減b大於0 615 00:22:24,333 --> 00:22:26,533 中學的小伙伴可能會很熟悉 616 00:22:26,700 --> 00:22:27,366 這其實啊 617 00:22:27,366 --> 00:22:28,866 就是一個線性規劃 618 00:22:29,066 --> 00:22:30,900 所以說能夠激活的 619 00:22:30,900 --> 00:22:33,100 滿足條件的輸入和不激活的 620 00:22:33,100 --> 00:22:35,566 分界線永遠是一條直線 621 00:22:35,966 --> 00:22:37,500 然而對於異或問題 622 00:22:37,500 --> 00:22:38,400 你會發現 623 00:22:38,500 --> 00:22:40,133 需要啟動的這兩個點 624 00:22:40,133 --> 00:22:41,933 和不啟動的這兩點 625 00:22:41,933 --> 00:22:43,333 是這樣分佈的 626 00:22:43,333 --> 00:22:45,533 你永遠沒法用一條直線 627 00:22:45,566 --> 00:22:48,733 將這兩種點恰好分在直線的兩邊 628 00:22:48,966 --> 00:22:51,500 所以呢就不存在一台感知機 629 00:22:51,500 --> 00:22:54,800 能夠直接實現這個簡單的異或運算 630 00:22:55,766 --> 00:22:58,466 閔斯基在這本書裡直接毫不客氣地說 631 00:22:58,733 --> 00:23:01,600 羅森布拉特的論文沒有什麼科學價值 632 00:23:01,800 --> 00:23:04,133 他自己在同年獲得圖靈獎 633 00:23:04,266 --> 00:23:04,866 這本書 634 00:23:04,866 --> 00:23:08,066 也因此將整個聯結主義打入冷宮 635 00:23:08,333 --> 00:23:10,066 在之後的二三十年間 636 00:23:10,266 --> 00:23:11,866 神經網絡這個名字 637 00:23:11,866 --> 00:23:13,766 彷彿就是騙子的代名詞 638 00:23:13,866 --> 00:23:16,333 是連疑惑這個操作都做不好的 639 00:23:16,333 --> 00:23:17,633 無用的玩物 640 00:23:18,000 --> 00:23:21,066 在當時圖靈獎得主的帶頭唱衰下 641 00:23:21,266 --> 00:23:23,933 神經網絡一度陷入了極度的寒冬 642 00:23:23,933 --> 00:23:26,300 所有人都認為他是垃圾和騙子 643 00:23:26,333 --> 00:23:28,133 基金資助大為減少 644 00:23:28,166 --> 00:23:29,866 研究者紛紛轉行 645 00:23:30,100 --> 00:23:33,700 AI研究也因此陷入長達數十年的寒冬 646 00:23:34,166 --> 00:23:36,800 你看人類又是這麼容易悲觀 647 00:23:36,900 --> 00:23:39,400 一個小小的反例就自暴自棄 648 00:23:39,500 --> 00:23:42,166 放棄了充滿潛力的研究方向 649 00:23:42,733 --> 00:23:44,266 但與此同時 650 00:23:44,400 --> 00:23:46,900 依然有一批研究者在堅持 651 00:23:46,900 --> 00:23:49,500 他們最後守得雲開見月明 652 00:23:49,566 --> 00:23:51,866 成為了後來深度學習的奠基人 653 00:23:51,866 --> 00:23:53,200 並獲得圖靈獎 654 00:23:53,566 --> 00:23:54,566 我們可以聽聽 655 00:23:54,566 --> 00:23:57,033 圖靈獎和諾貝爾獎雙料得主辛頓 656 00:23:57,033 --> 00:23:58,800 當年在UCD大學 657 00:23:58,800 --> 00:24:00,833 接受採訪的時候的一段表達 658 00:24:02,366 --> 00:24:03,966 looking back at your career 回望你的整個學術生涯 659 00:24:05,366 --> 00:24:09,066 what aspects of it are you most proud of 你對其中的哪個方面最為自豪? 660 00:24:09,066 --> 00:24:12,666 i'm not necessarily just thinking about your discoveries 我並不僅僅在說您的科學發現 661 00:24:12,866 --> 00:24:15,066 but maybe other aspects of your career as well 而包括您更大的整個生涯 662 00:24:15,066 --> 00:24:17,633 the people who worked with the teams that you've built 那些與你合作的人,你建立的團隊 663 00:24:17,966 --> 00:24:20,700 i guess i'm proud of the fact that i stuck with neural networks 我想我最驕傲的是我當年堅持了神經網絡 664 00:24:20,700 --> 00:24:22,400 even when people said they were rubbish 儘管當時人們都說這是垃圾 665 00:24:22,866 --> 00:24:25,000 which was for about the first 40 years 而且說了整整40年 666 00:24:27,766 --> 00:24:30,166 but the intellectual achievement 在智力上的學術成就 667 00:24:30,166 --> 00:24:32,366 i'm most proud of is boltz machines 我最自豪的是玻爾茲曼機 668 00:24:32,466 --> 00:24:34,633 which were an alternative to back propagation它是反向傳播之外的另一種可能 669 00:24:35,633 --> 00:24:37,800 他們是怎麼拯救神經網路的呢 670 00:24:38,100 --> 00:24:39,733 回到剛才異或的例子 671 00:24:39,833 --> 00:24:42,800 他們想既然一個神經元不行 672 00:24:42,800 --> 00:24:44,833 那麼多來幾個可不可以呢 673 00:24:45,200 --> 00:24:48,866 比如說我們將這些感知機的輸出啊 674 00:24:48,866 --> 00:24:50,300 一個一個的拿出來 675 00:24:50,300 --> 00:24:50,666 然後 676 00:24:50,666 --> 00:24:53,533 在後面再嵌套接一層感知機 677 00:24:53,533 --> 00:24:55,733 作為他們下一個感知機的輸入 678 00:24:56,066 --> 00:24:57,666 我們一套娃,套娃 679 00:24:57,666 --> 00:25:00,500 一層又一層出來一個新的感知機 680 00:25:00,733 --> 00:25:01,100 這樣 681 00:25:01,100 --> 00:25:04,033 我們就可以讓中間一層的兩個神經元 682 00:25:04,133 --> 00:25:07,000 分別只被0,1和1,0激活 683 00:25:07,300 --> 00:25:08,733 比如說第一個神經元 684 00:25:08,733 --> 00:25:10,633 它的組合係數是1,-1 685 00:25:10,800 --> 00:25:11,333 此時呢 686 00:25:11,333 --> 00:25:14,200 就只有1,0這個輸入能給它最強的刺激 687 00:25:14,200 --> 00:25:14,900 大小為1 688 00:25:14,900 --> 00:25:16,266 其他的都不超過0 689 00:25:16,500 --> 00:25:19,000 所以我們如果再設定一個1/2的閾值 690 00:25:19,000 --> 00:25:21,900 就可以 讓它只在1,0這個輸入的時候激活 691 00:25:22,400 --> 00:25:25,800 同理呢我們也可以對另一個神經元 692 00:25:25,800 --> 00:25:28,433 在0,1的情況下才會啟動 693 00:25:28,666 --> 00:25:32,000 設定方式呢是係數-1, 1 694 00:25:32,533 --> 00:25:33,200 這樣的話 695 00:25:33,200 --> 00:25:34,466 兩個中間的神經元 696 00:25:34,466 --> 00:25:36,200 就可以分別關注 697 00:25:36,200 --> 00:25:38,466 兩個我們想要激活的位置 698 00:25:38,533 --> 00:25:41,433 接著我們再把這兩個神經元的輸出 699 00:25:41,433 --> 00:25:43,033 直接加在一起 700 00:25:43,300 --> 00:25:45,633 大於0的時候給出最終的激活 701 00:25:45,900 --> 00:25:47,066 這樣整個模型 702 00:25:47,066 --> 00:25:50,200 就可以剛好在1,0和0,1的時候激活 703 00:25:50,200 --> 00:25:52,800 而在0,0和1,1的時候不激活 704 00:25:52,900 --> 00:25:54,733 從而實現異或功能 705 00:25:55,400 --> 00:25:56,100 而這 706 00:25:56,100 --> 00:26:00,666 就是後來大名鼎鼎的MLP Multilayer Perceptron 707 00:26:00,666 --> 00:26:02,433 全名多層感知機 708 00:26:02,900 --> 00:26:06,233 這裡中間層當然可以不止兩個神經元 709 00:26:06,466 --> 00:26:08,400 層數也可以不止兩層 710 00:26:08,666 --> 00:26:11,466 當這些神經元層層疊疊的時候 711 00:26:11,466 --> 00:26:14,133 就是大名鼎鼎的神經網絡 712 00:26:14,600 --> 00:26:16,500 這裡的每一根連線 713 00:26:16,500 --> 00:26:19,800 都標誌著兩個神經元之間的連接強度 714 00:26:19,800 --> 00:26:21,966 是一個可以調節的參數係數 715 00:26:22,200 --> 00:26:23,666 計算機科學家證明 716 00:26:23,733 --> 00:26:26,000 只要這個神經網絡的深度和寬度 717 00:26:26,000 --> 00:26:27,033 都足夠大 718 00:26:27,066 --> 00:26:30,433 那麼理論上它可以擬合任何一種函數 719 00:26:30,466 --> 00:26:32,733 表達任何一種智能所需要的 720 00:26:32,733 --> 00:26:34,800 輸入到輸出之間的對應關係 721 00:26:35,266 --> 00:26:37,866 換言之只要你有一個超大的神 722 00:26:37,866 --> 00:26:38,866 經 網路那麼 723 00:26:38,866 --> 00:26:41,533 任何一個你想要的智慧黑箱的功能 724 00:26:41,533 --> 00:26:44,733 都一定可以透過設定一套參數實現 725 00:26:44,833 --> 00:26:45,666 該怎麼理解 726 00:26:45,666 --> 00:26:47,666 神經網路這種強大的能力呢 727 00:26:47,666 --> 00:26:49,066 還記得我們前面說過嗎 728 00:26:49,066 --> 00:26:52,333 我們用不同的屬性概念組合再激活 729 00:26:52,333 --> 00:26:55,033 就得到了一個可以識別蘋果的感知機 730 00:26:55,033 --> 00:26:55,833 的智能 731 00:26:56,100 --> 00:26:58,633 而如果我們在感知機上繼續套娃 732 00:26:58,733 --> 00:27:01,900 就可以不斷地把原本簡單基礎的概念 733 00:27:01,900 --> 00:27:04,066 組合成更複雜的概念 734 00:27:04,633 --> 00:27:07,700 例如在數字識別的這個神經網絡中啊 735 00:27:07,900 --> 00:27:09,300 最前面的神經元啊 736 00:27:09,300 --> 00:27:12,033 就負責識別一些非常基礎的筆畫 737 00:27:12,033 --> 00:27:15,200 和邊緣而往後層的神經元呢 738 00:27:15,200 --> 00:27:18,000 就負責將這些基礎的特徵組合 739 00:27:18,133 --> 00:27:20,233 識別出一些更複雜的概念 740 00:27:20,233 --> 00:27:23,800 比如說圓形橫線豎線折線等等 741 00:27:24,200 --> 00:27:24,733 接著 742 00:27:24,733 --> 00:27:28,000 更深的神經元可以組合這些線條圖形 743 00:27:28,033 --> 00:27:29,533 識別出複雜的數字 744 00:27:29,633 --> 00:27:31,833 比如說9就是一個環形 745 00:27:31,833 --> 00:27:33,266 加上右下角的尾巴 746 00:27:33,866 --> 00:27:35,066 隨著層次的加深 747 00:27:35,133 --> 00:27:37,833 神經網路逐漸從簡單的這些特徵 748 00:27:37,833 --> 00:27:39,733 推導出複雜的整體形態 749 00:27:39,733 --> 00:27:42,533 最終準確地識別一個複雜的概念 750 00:27:42,666 --> 00:27:44,200 而整個這個過程 751 00:27:44,200 --> 00:27:46,900 不需要任何人類專家知識的介入 752 00:27:46,900 --> 00:27:48,400 是他自動完成的 753 00:27:48,433 --> 00:27:51,400 而這正是神經網路的強大之處 754 00:27:51,533 --> 00:27:52,800 隨著時間的推移 755 00:27:52,900 --> 00:27:55,100 神經網路的技術不斷的進步 756 00:27:55,333 --> 00:27:57,000 前面我們看到的多層感知機 757 00:27:57,000 --> 00:27:59,266 只是最經典最基礎的一種 758 00:27:59,466 --> 00:28:02,500 如何設計更好更強大的模型結構 759 00:28:02,533 --> 00:28:04,900 一直是深度學習的重要課題 760 00:28:05,600 --> 00:28:08,033 比如真實世界裡動物的視覺 761 00:28:08,033 --> 00:28:09,500 神經系統的神經元吶 762 00:28:09,500 --> 00:28:12,200 不需要和前一層的所有神經元 763 00:28:12,200 --> 00:28:13,833 全都稠密的連接 764 00:28:13,933 --> 00:28:16,433 而只需要和局部的幾個神經元連接 765 00:28:16,433 --> 00:28:17,100 就行 766 00:28:17,100 --> 00:28:20,133 而且每個神經元和前一層連接的參數 767 00:28:20,133 --> 00:28:21,833 結構又都是類似的 768 00:28:22,266 --> 00:28:24,233 那麼我們設計神經網路的時候 769 00:28:24,233 --> 00:28:25,800 也可以藉鑑這一點 770 00:28:25,866 --> 00:28:27,866 從而減少參數和運算量 771 00:28:27,866 --> 00:28:29,700 提升神經網路的性能 772 00:28:30,033 --> 00:28:33,700 這就是大名鼎鼎的捲積神經網路CNN 773 00:28:34,266 --> 00:28:35,466 後來研究人員發現 774 00:28:35,466 --> 00:28:36,533 卷積層堆的多了 775 00:28:36,533 --> 00:28:37,800 訓練起來有困難 776 00:28:37,833 --> 00:28:40,066 又增加了一種跳躍式的連接 777 00:28:40,066 --> 00:28:42,400 這就是殘差網絡Resnet 778 00:28:42,733 --> 00:28:43,233 或者 779 00:28:43,233 --> 00:28:46,066 你可以把任何兩層都跳躍連接起來 780 00:28:46,066 --> 00:28:47,866 這就是denset 781 00:28:48,266 --> 00:28:51,000 再到今天GPT的基礎框架Transformer 782 00:28:51,000 --> 00:28:52,300 也就是attention 783 00:28:52,400 --> 00:28:53,133 它們本質上 784 00:28:53,133 --> 00:28:56,000 都是某種網絡的基礎框架結構 785 00:28:56,100 --> 00:28:58,633 然後有大量的參數需要去決定 786 00:28:59,066 --> 00:29:01,666 一個好的結構可以讓黑盒學的更快 787 00:29:01,733 --> 00:29:03,033 需要的數據更少 788 00:29:03,100 --> 00:29:04,600 而這就是深度學習 789 00:29:04,600 --> 00:29:06,633 曾經一個非常重要的領域 790 00:29:06,666 --> 00:29:08,400 神經網路結構設計 791 00:29:09,033 --> 00:29:09,833 你肯定會問 792 00:29:09,833 --> 00:29:11,233 神經網路這麼強大 793 00:29:11,233 --> 00:29:13,700 可以自主地發現資料中蘊藏的結構 794 00:29:13,700 --> 00:29:14,633 理解概念 795 00:29:14,700 --> 00:29:17,066 他究竟是怎麼做到這一點的呢 796 00:29:17,133 --> 00:29:19,133 答案就是用資料訓練 797 00:29:19,533 --> 00:29:20,733 透過獎勵和懲罰 798 00:29:20,733 --> 00:29:22,633 來引導神經網路形成智能 799 00:29:22,833 --> 00:29:24,933 但我們應該究竟怎麼獎勵 800 00:29:24,933 --> 00:29:26,900 懲罰一個神經網路呢 801 00:29:27,266 --> 00:29:29,800 其實從GPT到Alphafold 802 00:29:29,833 --> 00:29:32,333 再到Midjourney和各種強化學習 803 00:29:32,700 --> 00:29:35,100 各種複雜又先進的人工智慧模型 804 00:29:35,100 --> 00:29:36,833 幾乎無一例外的 805 00:29:36,833 --> 00:29:38,700 都在使用著同一種演算法 806 00:29:38,700 --> 00:29:41,133 來訓練網路找到最好的參數 807 00:29:41,200 --> 00:29:43,700 而這個演算法就叫做梯度下降 808 00:29:44,200 --> 00:29:45,133 特此說明啊 809 00:29:45,200 --> 00:29:47,400 這部分內容的數學知識很多 810 00:29:47,400 --> 00:29:48,833 而且技術性很強 811 00:29:49,033 --> 00:29:50,666 但因為它實在是太重要了 812 00:29:50,666 --> 00:29:51,866 所以我們必須要講 813 00:29:51,933 --> 00:29:54,333 因此呢你實在聽不懂也沒有關係 814 00:29:54,700 --> 00:29:56,600 具體的我將沿用油管博主 815 00:29:56,600 --> 00:29:58,800 Artem Kirsanov的影片和思路 816 00:29:58,800 --> 00:29:59,700 為大家講解 817 00:30:00,433 --> 00:30:01,200 在講解梯 818 00:30:01,200 --> 00:30:02,100 度 下降之前 819 00:30:02,100 --> 00:30:04,400 先讓我們簡單回顧一下前面的內容 820 00:30:04,466 --> 00:30:05,733 我們首先提到 821 00:30:05,733 --> 00:30:07,666 智能的本質是一個黑箱 822 00:30:07,866 --> 00:30:08,533 這個黑箱 823 00:30:08,533 --> 00:30:09,700 能夠從數據中 824 00:30:09,700 --> 00:30:12,400 找到輸入和輸出之間的對應關係 825 00:30:12,800 --> 00:30:15,600 換言之,在數據驅動的機器學習 826 00:30:15,600 --> 00:30:17,133 和統計學習眼裡 827 00:30:17,200 --> 00:30:18,333 所謂的智能 828 00:30:18,400 --> 00:30:20,266 本質上就是給你一堆點 829 00:30:20,266 --> 00:30:21,500 然後用一個函數 830 00:30:21,500 --> 00:30:23,500 你和他們之間的關係罷了 831 00:30:23,900 --> 00:30:25,500 這裡的x和y 832 00:30:25,533 --> 00:30:27,800 可以是任何你關心的兩個量 833 00:30:28,100 --> 00:30:29,200 只要學會了一個 834 00:30:29,200 --> 00:30:31,700 可以刻畫這些點趨勢的函數 835 00:30:31,700 --> 00:30:34,100 我們就可以獲得任何一個輸入 836 00:30:34,100 --> 00:30:35,600 對應的合理輸出 837 00:30:35,666 --> 00:30:37,533 換言之實現了智能 838 00:30:38,433 --> 00:30:40,100 該怎麼找到這些數據點 839 00:30:40,100 --> 00:30:42,066 所勾勒出的底層規律呢 840 00:30:42,400 --> 00:30:43,533 根據前面的內容 841 00:30:43,533 --> 00:30:45,033 你可能會想到神經網絡 842 00:30:45,066 --> 00:30:46,400 這當然是一個辦法 843 00:30:46,500 --> 00:30:47,200 不過這裡呢 844 00:30:47,200 --> 00:30:48,533 為了理解梯度下降 845 00:30:48,533 --> 00:30:50,600 我們先用一個簡單一點的方法 846 00:30:50,600 --> 00:30:51,633 找到這個函數 847 00:30:52,000 --> 00:30:56,200 比如說我們線性組合常數x 848 00:30:56,400 --> 00:30:58,133 x平方,x3次方 849 00:30:58,133 --> 00:30:58,900 X4次方 850 00:30:58,900 --> 00:31:02,600 X5次方這幾個簡單的單項式模組 851 00:31:02,866 --> 00:31:03,633 換言之 852 00:31:03,633 --> 00:31:05,700 我們想要找到一個五次多項式 853 00:31:05,700 --> 00:31:07,900 來刻畫這些數據變化的規律 854 00:31:08,000 --> 00:31:10,266 我們需要找到K0到K5 855 00:31:10,266 --> 00:31:12,866 這六個參數最好的組合 856 00:31:13,533 --> 00:31:16,266 那什麼樣的參數是一個好的組合呢 857 00:31:16,266 --> 00:31:18,100 我們需要一種定量的方式 858 00:31:18,100 --> 00:31:21,333 來度量一組係數所對應的多項式 859 00:31:21,433 --> 00:31:22,933 到底擬合的好不好 860 00:31:23,100 --> 00:31:25,466 而這就是損失函數 861 00:31:25,833 --> 00:31:28,100 其實大家早就見過損失函數了 862 00:31:28,266 --> 00:31:29,933 中學學過最小平方法 863 00:31:29,933 --> 00:31:32,200 其實就是用一個簡單的y等於k 864 00:31:32,200 --> 00:31:35,033 x加b的線性函數來搭建黑箱 865 00:31:35,333 --> 00:31:36,500 對每個數據點 866 00:31:36,666 --> 00:31:38,533 線性函數的預測和實際結果 867 00:31:38,533 --> 00:31:39,533 都會有偏差 868 00:31:39,533 --> 00:31:41,133 我們把這些偏差的平方 869 00:31:41,133 --> 00:31:42,066 加在一起 870 00:31:42,066 --> 00:31:44,600 就得到了這根直線的損失函數 871 00:31:45,033 --> 00:31:46,533 在復雜的非線性裡 872 00:31:46,633 --> 00:31:48,600 損失函數也是一樣的道理 873 00:31:48,600 --> 00:31:49,433 我們同樣 874 00:31:49,433 --> 00:31:51,266 把函數預測的數值 875 00:31:51,300 --> 00:31:54,333 和實際資料點的數值誤差平方 876 00:31:54,333 --> 00:31:55,233 加在一起 877 00:31:55,266 --> 00:31:58,000 就得到了這個函數的損失函數 878 00:31:58,333 --> 00:31:59,300 你可以看到 879 00:31:59,333 --> 00:32:00,500 當這個函數的預測 880 00:32:00,500 --> 00:32:03,133 越是貼合這些數據點的趨勢時 881 00:32:03,266 --> 00:32:05,733 損失函數加在一塊就會比較小 882 00:32:05,866 --> 00:32:07,066 而反之呢 883 00:32:07,200 --> 00:32:08,700 損失函數就會比較大 884 00:32:09,233 --> 00:32:10,066 大體來說 885 00:32:10,066 --> 00:32:10,800 損失函數 886 00:32:10,800 --> 00:32:13,133 就是在衡量一個模型預測的 887 00:32:13,133 --> 00:32:15,733 和真實的結果之間的偏差程度 888 00:32:16,033 --> 00:32:18,100 只要記住,掌握規律 889 00:32:18,100 --> 00:32:20,900 就等於損失函數很小,就可以了 890 00:32:21,400 --> 00:32:23,866 請注意這裡出現了兩種函數 891 00:32:23,866 --> 00:32:25,066 大家不要混淆 892 00:32:25,333 --> 00:32:25,900 第一種 893 00:32:25,900 --> 00:32:28,533 是我們用來擬合數據點的這根曲線 894 00:32:28,533 --> 00:32:30,400 我們叫它擬合函數 895 00:32:30,533 --> 00:32:32,433 也就是那個五次多項式 896 00:32:32,666 --> 00:32:34,200 它的輸入是x 897 00:32:34,266 --> 00:32:35,200 輸出是y 898 00:32:35,200 --> 00:32:36,333 我們要決定 899 00:32:36,333 --> 00:32:37,400 這6個參數 900 00:32:37,700 --> 00:32:40,266 輸入到輸出的可能函數有無窮多個 901 00:32:40,266 --> 00:32:42,466 我們想要找到最好的那一個 902 00:32:42,900 --> 00:32:44,833 而什麼叫最好呢哎 903 00:32:44,833 --> 00:32:47,400 為此我們提出了損失函數 904 00:32:47,433 --> 00:32:50,700 它衡量一個擬合函數到底好不好 905 00:32:50,700 --> 00:32:52,066 是一個打分機器 906 00:32:52,433 --> 00:32:55,233 它的輸入是多項式的這6個係數 907 00:32:55,500 --> 00:32:57,233 接受到這些係數之後呢 908 00:32:57,233 --> 00:33:00,633 它會先建構出這個擬合的曲線函數 909 00:33:00,800 --> 00:33:01,466 然後呢 910 00:33:01,466 --> 00:33:04,900 逐以比對計算在所有數據點上的偏差 911 00:33:05,033 --> 00:33:07,100 將它們平方加在一起之後 912 00:33:07,100 --> 00:33:10,200 就會得到最終的損失函數的輸出了 913 00:33:10,600 --> 00:33:12,000 我們只需要找到 914 00:33:12,000 --> 00:33:15,500 使得這個損失函數很低的輸入參數 915 00:33:15,500 --> 00:33:17,733 組合K0到K5 916 00:33:17,733 --> 00:33:20,700 我們就可以找到一個優秀的擬合函數 917 00:33:20,733 --> 00:33:23,000 而有了這個擬合函數之後 918 00:33:23,000 --> 00:33:24,466 我們就可以把這個擬合函數 919 00:33:24,466 --> 00:33:25,533 機器拿過來 920 00:33:25,533 --> 00:33:26,466 輸入任何一 921 00:33:26,466 --> 00:33:27,800 個 我們關心的x 922 00:33:28,033 --> 00:33:31,200 得到一個符合數據規律的合理的y 923 00:33:32,200 --> 00:33:34,900 你可以理解為我們在玩這樣一個遊戲 924 00:33:35,266 --> 00:33:37,833 每一個參數k啊是一個旋鈕 925 00:33:38,033 --> 00:33:39,700 它們通過設置這個係數 926 00:33:39,700 --> 00:33:42,066 會產生一個不同的多項式曲線 927 00:33:42,333 --> 00:33:45,233 而你的目標就是調節這些旋鈕 928 00:33:45,300 --> 00:33:47,300 讓這跟擬合函數的曲線 929 00:33:47,300 --> 00:33:48,900 和數據點比較貼合 930 00:33:49,400 --> 00:33:51,266 事實上神經網路幹的事情 931 00:33:51,266 --> 00:33:53,233 本質上也是完全一樣的 932 00:33:53,300 --> 00:33:54,400 只要把這裡的k 933 00:33:54,400 --> 00:33:58,000 改成神經元之間的連接係數和閾值b 934 00:33:58,133 --> 00:33:59,833 那麼訓練神經網路 935 00:33:59,833 --> 00:34:02,666 同樣也是一個調節參數旋鈕 936 00:34:02,666 --> 00:34:05,066 來降低損失函數的遊戲 937 00:34:06,033 --> 00:34:07,866 這個遊戲難點在於 938 00:34:07,866 --> 00:34:10,700 旋鈕實在是太多太多太多 939 00:34:10,700 --> 00:34:14,300 你看這個5次多樣式有6個參數旋鈕 940 00:34:14,300 --> 00:34:16,066 已經讓人非常頭大 941 00:34:16,133 --> 00:34:19,400 而神經網路的參數個數更是多到離譜 942 00:34:19,400 --> 00:34:20,066 舉個例子 943 00:34:20,066 --> 00:34:23,400 GPT3一共有1,750億個參數 944 00:34:23,633 --> 00:34:27,400 換言之你要同時調好1,000多億個旋鈕 945 00:34:27,500 --> 00:34:30,000 並且讓這些旋鈕組合起來的設定 946 00:34:30,000 --> 00:34:31,500 可以有很好的性能 947 00:34:31,533 --> 00:34:33,800 能夠跟你對話解決問題 948 00:34:33,933 --> 00:34:35,833 是不是聽起來很不可思議呢 949 00:34:35,833 --> 00:34:38,133 這幾乎是一件不可能的事情 950 00:34:38,300 --> 00:34:39,300 在數學上 951 00:34:39,300 --> 00:34:41,933 這個問題叫做非凸優化解 952 00:34:41,933 --> 00:34:44,700 它的難度是臭名昭著的大 953 00:34:45,733 --> 00:34:46,333 這個問題啊 954 00:34:46,333 --> 00:34:49,533 也一度困擾著聯結主義的研究者們 955 00:34:49,633 --> 00:34:51,300 也是神經網路這一派研究 956 00:34:51,300 --> 00:34:53,233 一直沒有真正發展起來 957 00:34:53,233 --> 00:34:54,700 非常重要的原因 958 00:34:54,800 --> 00:34:57,400 因為一旦你的模型做大做複雜 959 00:34:57,533 --> 00:34:59,066 你雖然覺得它很強大 960 00:34:59,066 --> 00:35:00,800 但是你找不到好的參數 961 00:35:00,800 --> 00:35:02,466 讓它實現這種強大 962 00:35:03,033 --> 00:35:03,800 直到後來 963 00:35:03,800 --> 00:35:04,800 1976年 964 00:35:04,800 --> 00:35:08,100 由Seppo Linnainmaa提出了一個巧妙的演算法 965 00:35:08,100 --> 00:35:09,000 梯度下降 966 00:35:09,100 --> 00:35:12,133 並在1986年由David Rumelhart 967 00:35:12,300 --> 00:35:14,633 Geoffrey Hinton和Ronald Williams共 968 00:35:14,633 --> 00:35:16,533 同 提出了反向傳播演算法 969 00:35:16,600 --> 00:35:18,533 才算真正解決了這個問題 970 00:35:18,900 --> 00:35:20,900 讓我們先從最簡單的地方開始 971 00:35:20,900 --> 00:35:23,800 假設這裡除了K1之外的五個旋鈕 972 00:35:23,800 --> 00:35:25,100 都已經被固定好了 973 00:35:25,100 --> 00:35:25,733 我告訴你 974 00:35:25,733 --> 00:35:28,633 已經有人把它設置在了最好的位置上 975 00:35:28,800 --> 00:35:29,333 現在 976 00:35:29,333 --> 00:35:32,666 你只需要去考慮把K1這個旋鈕調好 977 00:35:32,666 --> 00:35:34,333 那麼到底該怎麼辦呢 978 00:35:34,500 --> 00:35:36,200 哎我們可以調節它 979 00:35:36,266 --> 00:35:38,300 觀察這個損失函數的變化 980 00:35:38,833 --> 00:35:39,866 此時你會發現 981 00:35:39,900 --> 00:35:42,466 損失函數就從原來的6個輸入變量 982 00:35:42,466 --> 00:35:44,400 變成只有一個變數K1 983 00:35:44,466 --> 00:35:46,800 哎這是一個一對一變化的函數 984 00:35:46,800 --> 00:35:48,100 我們很容易做圖 985 00:35:48,300 --> 00:35:50,266 做出來的圖大概長這樣 986 00:35:50,300 --> 00:35:53,100 我們的目標就是找到它的最低點 987 00:35:53,800 --> 00:35:55,700 不過不要被這裡的圖誤導了 988 00:35:55,700 --> 00:35:57,433 我們是解釋方便 989 00:35:57,466 --> 00:35:59,733 所以直接把這個圖像畫出來 990 00:35:59,733 --> 00:36:02,833 但實際上我們並不知道這個整個圖像 991 00:36:02,900 --> 00:36:06,100 我們知道的只是某一個具體的K1 992 00:36:06,100 --> 00:36:08,400 下這個擬合函數長什麼樣 993 00:36:08,400 --> 00:36:09,200 然後算出來 994 00:36:09,200 --> 00:36:11,900 這個K1對應的損失函數有多大 995 00:36:12,233 --> 00:36:14,500 所以說 我們只能得到一系列離散的點 996 00:36:14,500 --> 00:36:15,800 對於每一個輸入點 997 00:36:15,800 --> 00:36:17,233 知道函數值是多少 998 00:36:17,233 --> 00:36:19,200 而在這些點中間的位置 999 00:36:19,200 --> 00:36:21,266 損失函數到底是怎麼變化的 1000 00:36:21,266 --> 00:36:22,833 我們是全然不知的 1001 00:36:23,266 --> 00:36:24,066 你會發現 1002 00:36:24,100 --> 00:36:25,333 優化神經網路 1003 00:36:25,333 --> 00:36:28,333 甚至比求損失函數的最小值更複雜 1004 00:36:28,466 --> 00:36:28,833 因為 1005 00:36:28,833 --> 00:36:32,266 你沒有辦法看到整個損失函數的全貌 1006 00:36:32,533 --> 00:36:33,300 這就好比 1007 00:36:33,300 --> 00:36:35,933 把你放到了一片地形高低起伏 1008 00:36:35,933 --> 00:36:37,700 極其複雜的山地上 1009 00:36:37,900 --> 00:36:40,666 每個參數的數值就好比是經緯度 1010 00:36:40,666 --> 00:36:43,133 而海拔高度是損失函數的大小 1011 00:36:43,500 --> 00:36:44,600 周圍大霧瀰漫 1012 00:36:44,600 --> 00:36:47,000 你只能看到自己腳下的地形 1013 00:36:47,000 --> 00:36:48,300 你該如何下山 1014 00:36:48,300 --> 00:36:50,600 走到一個海拔比較低的地方呢 1015 00:36:51,266 --> 00:36:52,833 還是用這個K1的例子 1016 00:36:53,300 --> 00:36:53,866 剛才呢 1017 00:36:53,866 --> 00:36:56,033 我們有一句話說的其實不是很對 1018 00:36:56,233 --> 00:36:57,733 那就是我們知道的資訊 1019 00:36:57,733 --> 00:37:00,266 其實還是比純粹的損失函數大小 1020 00:37:00,266 --> 00:37:01,133 要多一點 1021 00:37:01,300 --> 00:37:02,033 具體來說 1022 00:37:02,033 --> 00:37:05,133 我們還可以知道在某一個位置下 1023 00:37:05,200 --> 00:37:07,500 損失函數到底隨著K1的增大 1024 00:37:07,533 --> 00:37:09,533 是增大還是減小 1025 00:37:09,800 --> 00:37:11,800 用數學一點的說法就是 1026 00:37:11,800 --> 00:37:12,866 我們可以獲得 1027 00:37:12,866 --> 00:37:15,733 損失函數在這一點切線的斜率 1028 00:37:15,833 --> 00:37:18,066 更專業的說法是導數 1029 00:37:18,700 --> 00:37:19,533 這個方法呀 1030 00:37:19,533 --> 00:37:21,733 大家調洗澡水和收音機的時候 1031 00:37:21,733 --> 00:37:22,733 其實都用過 1032 00:37:22,900 --> 00:37:23,500 那就是 1033 00:37:23,500 --> 00:37:25,866 你可以把旋鈕先往某一個方向 1034 00:37:25,866 --> 00:37:26,633 轉一點點 1035 00:37:26,633 --> 00:37:29,800 Delta x看看是更好還是更差 1036 00:37:30,066 --> 00:37:30,666 比如說這裡 1037 00:37:30,666 --> 00:37:32,600 我們初始在X0的位置 1038 00:37:32,600 --> 00:37:33,866 損失函數是Y0 1039 00:37:34,033 --> 00:37:35,900 然後增加了Delta x 1040 00:37:35,900 --> 00:37:37,266 到了X1的位置之後 1041 00:37:37,266 --> 00:37:40,000 我們再看看損失函數變成了Y1(口誤) 1042 00:37:40,066 --> 00:37:41,100 所以我們就會發現 1043 00:37:41,100 --> 00:37:43,133 損失函數增加了一個Delta y 1044 00:37:43,133 --> 00:37:44,466 也就是說它變差了 1045 00:37:44,466 --> 00:37:46,100 那這個時候你就知道 1046 00:37:46,100 --> 00:37:48,400 洗澡水應該往反方向調 1047 00:37:48,866 --> 00:37:51,000 所以當我們的調節變化量 1048 00:37:51,000 --> 00:37:53,133 Delta x無限小的時候 1049 00:37:53,300 --> 00:37:55,800 Delta y和Delta x變化量的比值 1050 00:37:55,800 --> 00:37:57,333 會接近於一個定值 1051 00:37:57,466 --> 00:37:58,300 那就是 1052 00:37:58,300 --> 00:38:01,200 損失函數在這一個點切線的斜率 1053 00:38:01,200 --> 00:38:03,466 而這就是函數在這一點的導數 1054 00:38:03,700 --> 00:38:05,600 在變化很小的時候 1055 00:38:05,633 --> 00:38:08,700 函數值y的變化量正比於x的變化量 1056 00:38:08,700 --> 00:38:10,666 而這個比值就是導數 1057 00:38:11,300 --> 00:38:14,033 所以我們就用一句話來概括一下 1058 00:38:14,033 --> 00:38:15,200 梯度下降的精神 1059 00:38:15,200 --> 00:38:17,633 那就是每次減小一點點 1060 00:38:17,633 --> 00:38:20,333 我們每次看看要減少損失函數 1061 00:38:20,333 --> 00:38:22,900 我們現在的這個位置應該往哪邊走 1062 00:38:23,033 --> 00:38:23,533 然後呢 1063 00:38:23,533 --> 00:38:26,433 就往這個方向走一個很小的距離 1064 00:38:26,600 --> 00:38:28,433 接著呢再看導數再走 1065 00:38:28,833 --> 00:38:30,700 不斷重複上述流程 1066 00:38:30,700 --> 00:38:31,133 這樣我們 1067 00:38:31,133 --> 00:38:33,000 就可以不斷地縮小損失函數 1068 00:38:33,000 --> 00:38:34,733 直到最後停在底部 1069 00:38:34,733 --> 00:38:36,200 參數基本上不再變化 1070 00:38:36,433 --> 00:38:38,666 此時我們就成功地將損失函數 1071 00:38:38,666 --> 00:38:40,500 減少到一個很低的程度 1072 00:38:41,900 --> 00:38:42,233 現在 1073 00:38:42,233 --> 00:38:44,666 我們已經清楚了怎麼調節一個旋鈕 1074 00:38:44,833 --> 00:38:47,500 但這有一個非常不現實的前提 1075 00:38:47,500 --> 00:38:49,033 那就是其他5個旋鈕 1076 00:38:49,033 --> 00:38:50,733 已經調到了最優的狀態 1077 00:38:50,733 --> 00:38:51,866 並被固定住 1078 00:38:52,333 --> 00:38:55,233 現實中你要同時調節好多旋鈕 1079 00:38:55,233 --> 00:38:57,266 而且所有的旋鈕都沒調好 1080 00:38:57,400 --> 00:38:59,033 這個方法有什麼用呢 1081 00:38:59,066 --> 00:39:00,300 哎有用 1082 00:39:00,633 --> 00:39:02,666 事實上剛才我們的這個方法 1083 00:39:02,666 --> 00:39:05,300 可以非常容易的拓展到更一般 1084 00:39:05,300 --> 00:39:06,533 更複雜的情況 1085 00:39:06,900 --> 00:39:07,700 比如說假設 1086 00:39:07,700 --> 00:39:11,133 你現在要同時調節K1和K2兩個旋鈕 1087 00:39:11,433 --> 00:39:12,200 此時 1088 00:39:12,200 --> 00:39:15,133 損失函數變成一個輸入是兩個實數 1089 00:39:15,233 --> 00:39:17,600 輸出是一個實數的二元函數 1090 00:39:17,833 --> 00:39:20,433 它可以表示成一個二維的曲面 1091 00:39:20,800 --> 00:39:21,233 哎 1092 00:39:21,233 --> 00:39:24,100 這就是很多人經常聽到的損失曲面 1093 00:39:24,266 --> 00:39:24,733 這裡 1094 00:39:24,733 --> 00:39:27,400 K1 K2的損失曲面看起來就像一個碗 1095 00:39:28,266 --> 00:39:31,700 且慢二元函數的導數是個啥呢 1096 00:39:31,800 --> 00:39:33,200 現在有兩個旋鈕 1097 00:39:33,200 --> 00:39:35,266 所以調節的方向出現了奇異 1098 00:39:35,600 --> 00:39:37,233 到底是只調K1 1099 00:39:37,233 --> 00:39:38,533 還是只調K2 1100 00:39:38,533 --> 00:39:39,700 還是都調呢 1101 00:39:40,100 --> 00:39:42,533 這裡就涉及到偏導數的概念 1102 00:39:42,600 --> 00:39:44,033 我們可以固定K2 1103 00:39:44,033 --> 00:39:45,633 只而只變化K1 1104 00:39:45,666 --> 00:39:46,033 此時 1105 00:39:46,033 --> 00:39:48,833 我們就得到了損失函數對K1的偏導數 1106 00:39:49,333 --> 00:39:50,833 反過來固定K1 1107 00:39:50,833 --> 00:39:52,100 只變化K2 1108 00:39:52,233 --> 00:39:54,700 此時就得到了對K2的偏導數 1109 00:39:54,700 --> 00:39:55,433 它對應於 1110 00:39:55,433 --> 00:39:58,433 我們固定K2或者K1當中的一個 1111 00:39:58,433 --> 00:40:01,133 然後單獨的調節另一個旋鈕時 1112 00:40:01,133 --> 00:40:03,233 對損失函數輸出的影響 1113 00:40:03,500 --> 00:40:04,466 幾何意義上 1114 00:40:04,500 --> 00:40:05,133 這意味著 1115 00:40:05,133 --> 00:40:07,433 我們用兩個垂直於坐標軸的截面 1116 00:40:07,433 --> 00:40:08,600 和曲面相交 1117 00:40:08,866 --> 00:40:10,833 截面會切出一根曲線來 1118 00:40:10,833 --> 00:40:13,433 然後我們再求這根曲線的導數 1119 00:40:13,700 --> 00:40:15,000 將這兩個導數拼 1120 00:40:15,000 --> 00:40:15,733 在一起 1121 00:40:15,733 --> 00:40:18,100 我們就得到了那個你經常聽說 1122 00:40:18,100 --> 00:40:20,800 但可能不知道是什麼的東西梯度 1123 00:40:21,400 --> 00:40:22,266 梯度說白了 1124 00:40:22,266 --> 00:40:24,066 就是在某個給定位置 1125 00:40:24,066 --> 00:40:26,133 函數值變化最快的方向 1126 00:40:26,133 --> 00:40:29,133 也是曲面在局部最陡峭的方向 1127 00:40:29,233 --> 00:40:31,133 是一個二維版本的求導 1128 00:40:31,500 --> 00:40:34,133 有了它我們就可以重複剛才的流程 1129 00:40:34,233 --> 00:40:35,266 每次向著局部 1130 00:40:35,266 --> 00:40:37,866 損失函數下降最快的方向前進 1131 00:40:37,900 --> 00:40:40,266 我們完全就可以用剛才類似的方法 1132 00:40:40,266 --> 00:40:42,700 愉快的同時調節兩個旋鈕了 1133 00:40:42,866 --> 00:40:46,333 這個方法就是大名鼎鼎的梯度下降 1134 00:40:47,433 --> 00:40:49,633 你想既然兩個可以 1135 00:40:49,633 --> 00:40:50,533 那麼這套方法 1136 00:40:50,533 --> 00:40:52,700 就可以應用到任意多個旋鈕 1137 00:40:53,033 --> 00:40:54,000 這個問題裡 1138 00:40:54,033 --> 00:40:55,300 完整的損失函數 1139 00:40:55,300 --> 00:40:57,233 是一個複雜的六維曲面 1140 00:40:57,600 --> 00:40:59,466 那我們還是可以如法炮製 1141 00:40:59,600 --> 00:41:00,633 對每一個旋鈕 1142 00:41:00,633 --> 00:41:02,666 我們都固定其他的旋鈕 1143 00:41:02,666 --> 00:41:05,633 然後單獨看這個旋鈕和損失函數之間 1144 00:41:05,733 --> 00:41:07,666 它的變化關係是什麼樣的 1145 00:41:07,666 --> 00:41:10,000 增加它損失函數是增加還是減少 1146 00:41:10,266 --> 00:41:12,633 這樣我們就能得到每個旋鈕的偏導數 1147 00:41:12,733 --> 00:41:13,666 拼在一起 1148 00:41:13,666 --> 00:41:15,233 得到了一個6維的梯度 1149 00:41:15,333 --> 00:41:17,800 接下來我們只需要讓每個旋鈕 1150 00:41:17,800 --> 00:41:19,333 都向著對應的方向 1151 00:41:19,333 --> 00:41:21,933 不斷迭代去減小損失函數 1152 00:41:22,000 --> 00:41:25,233 從而擬合出這些資料底層的規律了 1153 00:41:25,333 --> 00:41:26,300 現在我們知道 1154 00:41:26,300 --> 00:41:28,133 梯度下降法可以優化網路 1155 00:41:28,133 --> 00:41:30,066 找到損失函數比較低的參數 1156 00:41:30,433 --> 00:41:32,500 可是面對一個層層堆疊的 1157 00:41:32,500 --> 00:41:34,200 非常複雜的神經網路 1158 00:41:34,333 --> 00:41:37,000 我們怎麼計算出這個梯度呢 1159 00:41:37,266 --> 00:41:38,066 這個問題啊 1160 00:41:38,066 --> 00:41:39,233 非常專業 1161 00:41:39,333 --> 00:41:42,100 答案是反向傳播back propagation 1162 00:41:42,533 --> 00:41:44,033 這是一個專門用於計算 1163 00:41:44,033 --> 00:41:46,100 複雜的神經網路梯度的演算法 1164 00:41:46,100 --> 00:41:48,000 也是很多人學習深度學習 1165 00:41:48,000 --> 00:41:49,466 被勸退的第一步 1166 00:41:49,733 --> 00:41:50,100 這裡 1167 00:41:50,100 --> 00:41:53,000 我們不詳細展開反向傳播具體的細節 1168 00:41:53,000 --> 00:41:54,300 只告訴你它最精髓 1169 00:41:54,300 --> 00:41:55,100 的思想 1170 00:41:55,600 --> 00:41:56,733 不管是神經網路 1171 00:41:56,733 --> 00:41:58,900 還是剛才我們的多項式擬合 1172 00:41:59,066 --> 00:41:59,700 本質上 1173 00:41:59,700 --> 00:42:02,900 我們都是用一些非常簡單的基礎運算 1174 00:42:02,900 --> 00:42:04,800 比如說加減乘除啊 1175 00:42:04,800 --> 00:42:06,666 平方啊指數啊之類的 1176 00:42:06,666 --> 00:42:08,933 不斷的組合複合迭代 1177 00:42:09,066 --> 00:42:12,100 形成了一個超大的複雜的函數 1178 00:42:12,233 --> 00:42:14,800 它們 就像我們用一個個基礎的積木一樣 1179 00:42:14,800 --> 00:42:17,066 拼接成一個龐大的機器 1180 00:42:17,533 --> 00:42:18,666 我們關心的 1181 00:42:18,666 --> 00:42:21,333 無非是每個旋鈕參數的梯度 1182 00:42:21,400 --> 00:42:22,933 用最直白的話說 1183 00:42:22,933 --> 00:42:25,533 我們關心每個旋鈕動一點點 1184 00:42:25,800 --> 00:42:29,133 最後面的損失函數隨之變化的關係 1185 00:42:29,266 --> 00:42:32,233 而這個訊息是可以由後到前 1186 00:42:32,233 --> 00:42:33,433 層層傳遞的 1187 00:42:33,866 --> 00:42:34,466 為什麼呢 1188 00:42:34,466 --> 00:42:37,266 因為每個基本的這個積木的求導 1189 00:42:37,266 --> 00:42:38,633 我們都很清楚 1190 00:42:38,700 --> 00:42:40,900 而積木在組合過程當中 1191 00:42:40,933 --> 00:42:43,600 梯度是怎麼樣組合變化傳遞的 1192 00:42:43,600 --> 00:42:44,800 我們也很清楚 1193 00:42:44,933 --> 00:42:46,666 你看中學我們就學過了 1194 00:42:46,666 --> 00:42:48,133 求導的基礎法則 1195 00:42:48,300 --> 00:42:49,600 加在一起求導 1196 00:42:49,600 --> 00:42:51,500 等於各自的導數相加 1197 00:42:51,600 --> 00:42:52,933 乘在一起求導呢 1198 00:42:52,933 --> 00:42:54,033 則是這個結果 1199 00:42:54,400 --> 00:42:56,333 除了上面說的相加和相乘 1200 00:42:56,333 --> 00:42:58,100 還有一個最重要的性質 1201 00:42:58,100 --> 00:42:59,600 那就是鍊式法則 1202 00:42:59,833 --> 00:43:01,700 如果我們先把一個x 1203 00:43:01,733 --> 00:43:03,100 送入了一個函數g 1204 00:43:03,333 --> 00:43:05,800 再把g(x)這個輸出當成輸入 1205 00:43:05,800 --> 00:43:07,000 送入函數f 1206 00:43:07,133 --> 00:43:09,400 那麼這整個過程合在一塊 1207 00:43:09,400 --> 00:43:10,900 依然是輸入一個x 1208 00:43:10,900 --> 00:43:12,033 輸出一個數值 1209 00:43:12,200 --> 00:43:13,333 它也是一個函數 1210 00:43:13,333 --> 00:43:16,333 是f (g(x))比如說在這裡 1211 00:43:16,333 --> 00:43:17,633 如果一個是正弦 1212 00:43:17,633 --> 00:43:18,500 一個是log 1213 00:43:18,500 --> 00:43:20,933 那麼它的圖像大概長成這個樣子 1214 00:43:21,266 --> 00:43:22,066 問題來了 1215 00:43:22,066 --> 00:43:24,533 我們知道f和g各自的形式 1216 00:43:24,533 --> 00:43:25,733 和各自的導數 1217 00:43:25,733 --> 00:43:27,000 應該怎麼求它 1218 00:43:27,000 --> 00:43:29,900 這個合體的函數對於x的導數呢 1219 00:43:30,033 --> 00:43:30,600 現在 1220 00:43:30,600 --> 00:43:33,533 假設我們把輸入x變化一個Delta 1221 00:43:33,866 --> 00:43:34,900 根據導數的定義 1222 00:43:34,900 --> 00:43:35,533 我們知道 1223 00:43:35,533 --> 00:43:38,666 第一個g(x)在輸入變化Delta的時候 1224 00:43:38,666 --> 00:43:41,900 它的輸出會變化的比例是g'(x) 1225 00:43:42,033 --> 00:43:42,833 所以你就知道 1226 00:43:42,833 --> 00:43:45,033 這個中間的這個輸出g( x) 1227 00:43:45,233 --> 00:43:48,733 此時會增加g'(x )乘以Delta 1228 00:43:49,133 --> 00:43:50,200 那麼進一步呢 1229 00:43:50,200 --> 00:43:52,200 對於後面的這個FX來說 1230 00:43:52,300 --> 00:43:55,300 注意到它的導數是f'(g(x)) 1231 00:43:55,466 --> 00:43:56,866 所以說當它的輸入 1232 00:43:56,866 --> 00:43:58,866 變化了中間這麼大的數值的時候 1233 00:43:58,866 --> 00:44:01,433 它的輸出就會在中間這個變化量上 1234 00:44:01,433 --> 00:44:03,900 進一步乘以f'(g(x )) 1235 00:44:04,100 --> 00:44:05,333 也就是這麼大 1236 00:44:05,666 --> 00:44:07,633 當我們把右邊的這整個 1237 00:44:07,633 --> 00:44:09,933 除以x的變化量Delta的時候 1238 00:44:09,933 --> 00:44:12,533 就可以得到鍊式求導的法則 1239 00:44:12,600 --> 00:44:14,533 也就是說先做g(x) 1240 00:44:14,533 --> 00:44:16,733 再做f(x)一起求導 1241 00:44:16,733 --> 00:44:20,900 得到的結果是g'(x)乘以f'(g(x)) 1242 00:44:21,700 --> 00:44:23,433 這就是複合函數的求導 1243 00:44:23,733 --> 00:44:25,700 如果用前面積木的比喻 1244 00:44:25,700 --> 00:44:29,066 你可以想像有三個齒輪互相咬合 1245 00:44:29,300 --> 00:44:31,133 它們轉過的角度啊 1246 00:44:31,133 --> 00:44:34,033 就分別代表x,g(x)和f(g(x)) 1247 00:44:34,033 --> 00:44:36,000 而導數g'(x)呢 1248 00:44:36,000 --> 00:44:38,266 表示第二個齒輪g(x) 1249 00:44:38,266 --> 00:44:39,866 相較於第一個齒輪x 1250 00:44:40,100 --> 00:44:41,633 傳動的速度之比 1251 00:44:41,900 --> 00:44:43,033 那f'(g(x))呢 1252 00:44:43,033 --> 00:44:44,033 就是第三個齒輪 1253 00:44:44,033 --> 00:44:46,833 相當於第二個齒輪g(x)傳動的速度之比 1254 00:44:46,933 --> 00:44:49,100 如果我們想要知道變動一點點 1255 00:44:49,100 --> 00:44:49,933 第一個齒輪x 1256 00:44:49,933 --> 00:44:52,666 第三個齒輪到底變化的速度會有多快 1257 00:44:52,666 --> 00:44:54,933 我們只需要把這兩個齒輪的傳動比 1258 00:44:54,933 --> 00:44:56,266 乘在一起就可以了 1259 00:44:56,266 --> 00:44:57,500 這就是鍊式法則 1260 00:44:57,533 --> 00:44:58,666 有了鍊式法則 1261 00:44:58,666 --> 00:45:01,333 我們就可以從後往前一步步拆解 1262 00:45:01,400 --> 00:45:03,100 得到每一個參數的導數 1263 00:45:03,433 --> 00:45:05,466 這是因為任何一個參數 1264 00:45:05,466 --> 00:45:07,100 從它到損失函數 1265 00:45:07,100 --> 00:45:09,466 一定是經過了一系列函數的複合 1266 00:45:09,666 --> 00:45:12,700 到最後一層輸出就是模型預測本身了 1267 00:45:12,700 --> 00:45:13,500 我們可以直接 1268 00:45:13,500 --> 00:45:16,000 計算損失函數以及它的導數 1269 00:45:16,433 --> 00:45:18,866 接著我們就可以用剛才的鍊式法則 1270 00:45:18,866 --> 00:45:21,433 一層一層從後往前的 1271 00:45:21,433 --> 00:45:24,300 把每一層嵌套這個傳導的導函數 1272 00:45:24,300 --> 00:45:25,933 一步一步的乘在一起 1273 00:45:26,200 --> 00:45:29,200 當我們回到最開始K1的位置的時候 1274 00:45:29,200 --> 00:45:32,433 就得到了K1相較於整個輸出 1275 00:45:32,433 --> 00:45:34,033 損失函數的梯度 1276 00:45:34,066 --> 00:45:35,233 而這個演算法 1277 00:45:35,233 --> 00:45:38,300 就叫做反向傳播back propagation 1278 00:45:39,300 --> 00:45:41,133 所以我們最後總結一下 1279 00:45:41,200 --> 00:45:42,933 找到這個幾百萬個旋鈕 1280 00:45:42,933 --> 00:45:44,933 機器最好參數設定的方法 1281 00:45:44,933 --> 00:45:47,266 就是用反向傳播演算法 1282 00:45:47,266 --> 00:45:49,133 計算出每個參數的導數 1283 00:45:49,333 --> 00:45:51,266 接著呢用梯度下降法 1284 00:45:51,300 --> 00:45:53,466 每次讓這些參數變化一點點 1285 00:45:53,466 --> 00:45:56,533 不斷地朝著更好的參數演化和移動 1286 00:45:56,933 --> 00:45:59,900 最後整個神經網路就會神奇的理解 1287 00:45:59,900 --> 00:46:01,533 掌握資料中的規律 1288 00:46:01,533 --> 00:46:02,733 學會底層函數 1289 00:46:02,733 --> 00:46:05,433 並獲得這種我們想要的智能 1290 00:46:05,833 --> 00:46:06,866 在前面的內容中 1291 00:46:06,866 --> 00:46:10,000 我們詳細講解了智能就是搭建黑箱 1292 00:46:10,033 --> 00:46:11,000 以及神經網絡 1293 00:46:11,000 --> 00:46:11,700 這個強大 1294 00:46:11,700 --> 00:46:14,400 通用的黑箱的構造和由來是什麼 1295 00:46:14,400 --> 00:46:16,600 還有如何訓練一個神經網路 1296 00:46:17,133 --> 00:46:19,600 不過這裡還有一個很重要的問題 1297 00:46:19,900 --> 00:46:21,433 這個神經網路的黑盒子 1298 00:46:21,433 --> 00:46:23,400 是怎麼舉一反三的呢 1299 00:46:23,400 --> 00:46:26,500 你看呢我們只是收集了一些數據 1300 00:46:26,500 --> 00:46:27,533 然後訓練它 1301 00:46:27,533 --> 00:46:29,400 在我們收集的數據中 1302 00:46:29,400 --> 00:46:30,833 對於見過的輸入 1303 00:46:30,933 --> 00:46:32,466 比如說這張數字圖片 1304 00:46:32,600 --> 00:46:35,133 它要輸出成我們想要的輸出6 1305 00:46:35,433 --> 00:46:37,266 那他見過這些東西 1306 00:46:37,300 --> 00:46:39,933 能夠把它正確識別成6並不奇怪 1307 00:46:40,333 --> 00:46:43,600 但是對於從未見過的其他圖片 1308 00:46:43,800 --> 00:46:45,066 訓練好的網絡 1309 00:46:45,066 --> 00:46:48,433 是怎麼能夠同時認出其他的數字的呢 1310 00:46:48,866 --> 00:46:51,600 這就好比你給一個人做了很多題 1311 00:46:51,666 --> 00:46:54,666 他能夠把你給他的練習冊的題做對 1312 00:46:54,666 --> 00:46:55,466 不奇怪 1313 00:46:55,500 --> 00:46:59,000 但是他是怎麼樣學會這些解題的方法 1314 00:46:59,000 --> 00:47:01,733 在新的題上考試也能考好的呢 1315 00:47:02,466 --> 00:47:04,533 這個問題其實很深刻 1316 00:47:04,800 --> 00:47:05,466 它牽涉到 1317 00:47:05,466 --> 00:47:06,900 機器學習能夠成立的 1318 00:47:06,900 --> 00:47:08,800 一個非常重要的問題 1319 00:47:08,933 --> 00:47:11,100 泛化general ization 1320 00:47:11,433 --> 00:47:13,100 這個名詞看起來很高端 1321 00:47:13,133 --> 00:47:14,633 但正如我們剛才所說的 1322 00:47:14,633 --> 00:47:16,233 它的本意就是推廣 1323 00:47:16,266 --> 00:47:17,233 舉一反三 1324 00:47:17,266 --> 00:47:18,333 活學活用 1325 00:47:19,266 --> 00:47:22,266 我們還是從前面的最小2乘說起 1326 00:47:22,266 --> 00:47:25,100 以及曲線擬合思考這樣一個問題 1327 00:47:25,400 --> 00:47:28,000 對於中間這個位置輸入的x 1328 00:47:28,000 --> 00:47:30,100 我們沒有任何y的數據 1329 00:47:30,300 --> 00:47:32,266 但你還是會覺得 1330 00:47:32,266 --> 00:47:34,800 它應該就在這個範圍裡 1331 00:47:35,033 --> 00:47:35,933 為什麼呢 1332 00:47:36,333 --> 00:47:38,866 沒錯因為這些零散的數據點 1333 00:47:38,866 --> 00:47:40,800 勾勒出了一種趨勢 1334 00:47:41,233 --> 00:47:44,400 當我們用這樣的一個連續平滑的函數 1335 00:47:44,400 --> 00:47:46,833 準確地刻畫出這種趨勢之後 1336 00:47:46,866 --> 00:47:48,666 就可以利用這個函數 1337 00:47:48,733 --> 00:47:49,233 推測 1338 00:47:49,233 --> 00:47:52,333 數據中我們沒有見過的某一個輸入下 1339 00:47:52,500 --> 00:47:55,800 對應的合理的輸出大概應該是多少 1340 00:47:56,200 --> 00:47:58,633 這其實就是一種最簡單的泛化 1341 00:47:58,633 --> 00:48:01,700 我們將這種關聯的趨勢理解 1342 00:48:01,700 --> 00:48:02,733 並且推廣到 1343 00:48:02,733 --> 00:48:05,233 我們沒有見過的一些輸入數值 1344 00:48:05,266 --> 00:48:06,700 通過理解底層規律 1345 00:48:06,700 --> 00:48:09,833 在未知情境下給出合理的預測和輸出 1346 00:48:10,666 --> 00:48:11,633 那同樣的 1347 00:48:11,666 --> 00:48:14,266 神經網絡也有泛化能力 1348 00:48:14,266 --> 00:48:17,033 而且是很強的泛化能力 1349 00:48:17,266 --> 00:48:18,833 雖然在訓練資料中 1350 00:48:18,833 --> 00:48:21,333 他沒有看過一模一樣的圖片 1351 00:48:21,500 --> 00:48:23,933 但是呢他可以在訓練過程中 1352 00:48:23,933 --> 00:48:24,533 發現 1353 00:48:24,533 --> 00:48:28,266 這些輸入的圖片和標籤之間的趨勢 1354 00:48:28,266 --> 00:48:30,600 和這種微妙的關聯性 1355 00:48:31,033 --> 00:48:32,000 這種關聯啊 1356 00:48:32,000 --> 00:48:34,733 就跟我們前面的曲線擬合的時候 1357 00:48:34,800 --> 00:48:36,533 中間斷開的那一部分 1358 00:48:36,533 --> 00:48:38,533 看起來應該要這樣連線 1359 00:48:38,600 --> 00:48:41,600 所以你可以預測那其中的函數值一樣 1360 00:48:42,066 --> 00:48:44,133 只不過在我們現實的數據裡 1361 00:48:44,133 --> 00:48:46,533 這個趨勢可能非常抽像 1362 00:48:46,533 --> 00:48:48,933 不如剛才的曲線擬合這麼直觀 1363 00:48:49,200 --> 00:48:50,433 而這正是神 1364 00:48:50,433 --> 00:48:52,033 經 網路強大的地方 1365 00:48:52,133 --> 00:48:53,833 你只需要提供數據 1366 00:48:53,833 --> 00:48:56,400 那麼底層抽象的趨勢和規律 1367 00:48:56,466 --> 00:48:58,033 只需要交給神經網路 1368 00:48:58,033 --> 00:49:00,200 他自己學就可以學明白了 1369 00:49:00,666 --> 00:49:01,833 很多行業和學科 1370 00:49:01,833 --> 00:49:03,666 其實都面臨著這類問題 1371 00:49:03,666 --> 00:49:07,066 就是不同的情境裡有一種感覺和規律 1372 00:49:07,066 --> 00:49:08,333 這種感覺和規律 1373 00:49:08,333 --> 00:49:12,500 難以用簡單清晰的數學來計算和描述 1374 00:49:12,666 --> 00:49:14,233 比如說圍棋裡 1375 00:49:14,233 --> 00:49:16,466 這一棋形看起來好不好 1376 00:49:16,500 --> 00:49:17,466 能不能活 1377 00:49:17,500 --> 00:49:20,033 有經驗的棋手一眼能看出來 1378 00:49:20,100 --> 00:49:22,100 行話叫做味道不好 1379 00:49:22,400 --> 00:49:25,033 但是怎麼樣學會這種感覺和味道 1380 00:49:25,033 --> 00:49:26,100 卻非常複雜 1381 00:49:26,733 --> 00:49:29,133 還有在說話這個問題上 1382 00:49:29,133 --> 00:49:31,133 一句話前面的語境下 1383 00:49:31,133 --> 00:49:33,233 後面該接上一個什麼樣的話 1384 00:49:33,333 --> 00:49:35,933 也是一種複雜和微妙的語感 1385 00:49:36,000 --> 00:49:37,200 但是怎麼學呢 1386 00:49:37,200 --> 00:49:40,833 很難說更不用說從氨基酸序列里 1387 00:49:40,833 --> 00:49:42,900 分析出整個蛋白質結構 1388 00:49:43,000 --> 00:49:45,633 這種極為抽象複雜的規律 1389 00:49:46,066 --> 00:49:48,533 曾經我們需要非常專業的知識 1390 00:49:48,533 --> 00:49:50,733 來模仿人類的聰明智慧 1391 00:49:50,733 --> 00:49:52,266 而且模仿的還不好 1392 00:49:52,700 --> 00:49:53,833 而有了深度學習 1393 00:49:53,833 --> 00:49:55,600 你可以不管三七二十一 1394 00:49:55,733 --> 00:49:58,333 隻需要找一個架構合適的神經網絡 1395 00:49:58,433 --> 00:49:59,433 收集數據 1396 00:49:59,600 --> 00:50:01,000 訓練擬合 1397 00:50:01,000 --> 00:50:02,233 然後這個神經網路 1398 00:50:02,233 --> 00:50:03,833 就能領會資料當中 1399 00:50:03,833 --> 00:50:06,866 你所描述的輸入和輸出間微妙的聯繫 1400 00:50:06,933 --> 00:50:08,066 並舉一反三 1401 00:50:08,066 --> 00:50:09,700 應用到任何潛在的 1402 00:50:09,700 --> 00:50:11,833 他沒有見過的情境輸入中 1403 00:50:12,000 --> 00:50:13,866 很多時候做的比人都好 1404 00:50:14,333 --> 00:50:17,500 這種公式一樣的解決方案非常通用 1405 00:50:17,500 --> 00:50:19,400 因而席捲了各個領域 1406 00:50:19,400 --> 00:50:22,033 引發了這些年的人工智能革命 1407 00:50:23,633 --> 00:50:26,833 但是神經網絡和深度學習是萬能的嗎 1408 00:50:27,033 --> 00:50:28,700 答案當然是否定的 1409 00:50:29,033 --> 00:50:30,633 每當有一個很厲害的方法 1410 00:50:30,633 --> 00:50:33,033 可以實現以往不可思議的任務時 1411 00:50:33,100 --> 00:50:35,333 人類就有把它當成魔法的傾向 1412 00:50:35,833 --> 00:50:37,533 儘管深度學習的確模 1413 00:50:37,533 --> 00:50:39,300 仿了 大腦的神經元結構 1414 00:50:39,400 --> 00:50:42,733 但是 它和真正的人類智能還有很大的區別 1415 00:50:42,866 --> 00:50:44,600 我們都見過這樣的梗圖 1416 00:50:44,666 --> 00:50:46,833 該怎麼區分柴犬和麵包 1417 00:50:47,000 --> 00:50:48,933 說它們看起來有很多相似之處 1418 00:50:48,933 --> 00:50:50,433 比如說都是黃色的呀 1419 00:50:50,433 --> 00:50:51,633 長條形的呀什麼 1420 00:50:51,633 --> 00:50:52,666 難以區分 1421 00:50:53,100 --> 00:50:54,833 這原本是一個玩梗 1422 00:50:54,933 --> 00:50:57,666 但對於一切機器學習演算法來說 1423 00:50:57,666 --> 00:51:00,266 這都是一個根本且致命的問題 1424 00:51:00,333 --> 00:51:01,866 因為你看這個模型 1425 00:51:01,866 --> 00:51:05,200 它一直就是透過各種圖像的特徵輸入 1426 00:51:05,266 --> 00:51:07,500 和你要它的這個標籤 1427 00:51:07,500 --> 00:51:09,300 來理解圖片的內容的 1428 00:51:09,466 --> 00:51:13,133 所以它在訓練當中所理解的事情就是 1429 00:51:13,133 --> 00:51:15,533 一個黃色的長條形的物體 1430 00:51:15,633 --> 00:51:17,400 是麵包因此 1431 00:51:17,400 --> 00:51:19,933 當你給它一個在訓練集以外的柴犬 1432 00:51:19,933 --> 00:51:22,600 圖片時它會因為這個柴犬 1433 00:51:22,600 --> 00:51:24,500 符合麵包的各種特徵 1434 00:51:24,500 --> 00:51:26,200 而產生錯誤的判斷 1435 00:51:26,600 --> 00:51:29,633 這本質上是概念之間的相關性 1436 00:51:29,633 --> 00:51:32,500 和因果關係之間微妙的區別 1437 00:51:32,500 --> 00:51:33,500 他沒有把握 1438 00:51:33,700 --> 00:51:34,933 而這個問題 1439 00:51:34,933 --> 00:51:36,066 在收集數據 1440 00:51:36,066 --> 00:51:38,433 訓練模型的這一套方法論中 1441 00:51:38,433 --> 00:51:39,900 永遠無法避免 1442 00:51:40,400 --> 00:51:43,200 這就是為什麼有很多用神經網路啊 1443 00:51:43,200 --> 00:51:43,866 算命 1444 00:51:43,866 --> 00:51:46,933 或預測犯罪機率的應用廣受批評 1445 00:51:47,066 --> 00:51:47,666 因為 1446 00:51:47,666 --> 00:51:51,033 模型會錯誤的把資料集裡的共同出現 1447 00:51:51,066 --> 00:51:52,400 當成必然聯繫 1448 00:51:52,400 --> 00:51:52,800 比如說 1449 00:51:52,800 --> 00:51:55,200 看到黑人就覺得一定會犯罪這個樣子 1450 00:51:55,866 --> 00:51:56,866 更糟糕的是 1451 00:51:56,866 --> 00:51:58,200 你可能永遠不知道 1452 00:51:58,200 --> 00:51:59,700 強大的神經網絡黑盒 1453 00:51:59,700 --> 00:52:01,900 究竟領會了什麼神秘的連結 1454 00:52:02,100 --> 00:52:04,400 因為神經網路太過強大和複雜 1455 00:52:04,400 --> 00:52:06,100 所以我們幾乎無法理解 1456 00:52:06,100 --> 00:52:07,900 它的內部是如何運作 1457 00:52:07,933 --> 00:52:10,000 給出我們想要的合理預測的 1458 00:52:10,066 --> 00:52:12,266 一個典型的例子是對抗樣本 1459 00:52:12,500 --> 00:52:13,666 這是兩張圖片 1460 00:52:13,666 --> 00:52:15,533 你能看出它們有什麼區別嗎 1461 00:52:16,133 --> 00:52:18,066 但如果讓一個準確率非常高的 1462 00:52:18,066 --> 00:52:19,400 最先進的神經網絡 1463 00:52:19,400 --> 00:52:21,033 來看第一張圖片 1464 00:52:21,033 --> 00:52:22,266 他覺得是熊貓 1465 00:52:22,333 --> 00:52:23,733 但第二張圖片 1466 00:52:23,733 --> 00:52:27,200 他以99%的信心認為是一隻烏龜 1467 00:52:27,800 --> 00:52:28,866 仔細看你會發現 1468 00:52:28,866 --> 00:52:30,600 第二張圖片相較於第一張 1469 00:52:30,600 --> 00:52:33,000 添加了一些十分微小的噪聲 1470 00:52:33,100 --> 00:52:35,200 而這些噪聲可不是亂來的 1471 00:52:35,200 --> 00:52:36,933 它經過了特別的設計 1472 00:52:37,033 --> 00:52:38,933 專門用來欺騙神經網路 1473 00:52:39,433 --> 00:52:41,633 這種圖片就叫做對抗樣本 1474 00:52:41,833 --> 00:52:43,333 對它的理解與研究 1475 00:52:43,333 --> 00:52:45,000 直到現在還在進行 1476 00:52:45,000 --> 00:52:47,300 而我們依然沒有徹底理解它 1477 00:52:47,600 --> 00:52:48,900 大家一般認為 1478 00:52:48,900 --> 00:52:49,733 它觸發了 1479 00:52:49,733 --> 00:52:52,066 神經網絡底層某些神奇的開關 1480 00:52:52,300 --> 00:52:55,333 這些在人眼看來雜亂無章的噪聲 1481 00:52:55,400 --> 00:52:56,533 在神經網絡看來 1482 00:52:56,533 --> 00:52:59,400 卻有著強烈的烏龜的特點和相關性 1483 00:52:59,666 --> 00:53:00,466 看到這裡 1484 00:53:00,466 --> 00:53:02,900 你還覺得神經網路無所不能嗎 1485 01:25:34,566 --> 01:25:37,333 有關AI很多人關心的切身問題是 1486 01:25:37,333 --> 01:25:38,666 他會讓我失業嗎 1487 01:25:39,000 --> 01:25:39,800 總的來說 1488 01:25:39,800 --> 01:25:41,133 深度學習和神經網絡 1489 01:25:41,133 --> 01:25:42,966 提供了一套全新的智能思路 1490 01:25:43,166 --> 01:25:44,366 你只要收集數據 1491 01:25:44,366 --> 01:25:45,733 再用梯度下降的方法 1492 01:25:45,733 --> 01:25:47,366 訓練一個好的神經網絡 1493 01:25:47,466 --> 01:25:49,133 就能讓這個超級黑箱 1494 01:25:49,133 --> 01:25:50,533 理解數據中的規律 1495 01:25:50,533 --> 01:25:51,766 從而舉一反三 1496 01:25:51,766 --> 01:25:53,466 對任何未知的情景輸入 1497 01:25:53,466 --> 01:25:54,800 給出智能的預測 1498 01:25:55,133 --> 01:25:56,666 這的確是一場革命 1499 01:25:56,800 --> 01:25:58,000 它讓AI解決了很多 1500 01:25:58,000 --> 01:25:59,933 曾經只有人類才能完成的 1501 01:25:59,933 --> 01:26:03,266 非常微妙複雜數據龐大的任務 1502 01:26:03,700 --> 01:26:04,200 因此 1503 01:26:04,200 --> 01:26:07,733 如果一個工作他數據充足模式固定 1504 01:26:07,800 --> 01:26:10,933 其中機械性按部就班的性質比較強 1505 01:26:11,066 --> 01:26:13,500 那麼你就很容易收集大量的數據 1506 01:26:13,500 --> 01:26:14,366 用於訓練 1507 01:26:14,533 --> 01:26:17,400 AI就可以在基礎的日常使用中 1508 01:26:17,400 --> 01:26:19,400 相當程度上替代人工 1509 01:26:19,866 --> 01:26:21,266 從這個角度上來說 1510 01:26:21,300 --> 01:26:25,400 文秘插畫攝影翻譯財務 1511 01:26:25,533 --> 01:26:27,600 甚至是底層程序員 1512 01:26:27,600 --> 01:26:31,266 這些職業都會在未來面臨極大的衝擊 1513 01:26:31,600 --> 01:26:33,800 然而如前面所提到的那樣 1514 01:26:33,800 --> 01:26:36,000 如今的人工智慧絕非萬能 1515 01:26:36,266 --> 01:26:38,900 相反很多時候它還是人工智障 1516 01:26:46,900 --> 01:26:48,700 即便是現在的大模型 1517 01:26:48,700 --> 01:26:50,466 依然在很多複雜的問題上 1518 01:26:50,466 --> 01:26:51,700 表現的不夠理想 1519 01:26:51,800 --> 01:26:54,866 AI在面對超出訓練數據範圍的 1520 01:26:54,866 --> 01:26:56,300 全新問題時 1521 01:26:56,300 --> 01:26:58,400 往往還是難以做出合理的判斷 1522 01:26:59,133 --> 01:27:00,500 實際上我認為 1523 01:27:00,500 --> 01:27:03,466 AI的發展更有可能改變工作的性質 1524 01:27:03,466 --> 01:27:04,966 而不是完全取代它 1525 01:27:05,266 --> 01:27:06,900 比如說文書工作 1526 01:27:06,900 --> 01:27:09,666 可能會因為AI的介入變得更加高效 1527 01:27:09,966 --> 01:27:13,066 人類將在監督和決策的層面上 1528 01:27:13,066 --> 01:27:13,933 進行管理 1529 01:27:13,933 --> 01:27:17,066 而並非親自處理那些瑣碎的事務 1530 01:27:17,333 --> 01:27:20,133 同樣設計和創意類的工作 1531 01:27:20,133 --> 01:27:21,733 比如說插畫廣 1532 01:27:21,733 --> 01:27:22,866 告 等等領域 1533 01:27:22,900 --> 01:27:23,300 儘管 1534 01:27:23,300 --> 01:27:25,566 AI可以為你生成一些初步的作品 1535 01:27:25,566 --> 01:27:27,100 和基礎的素材 1536 01:27:27,333 --> 01:27:30,400 但真正打動人心的創意和靈感 1537 01:27:30,500 --> 01:27:32,600 目前還是需要人類的參與 1538 01:27:32,866 --> 01:27:33,666 同樣的 1539 01:27:33,666 --> 01:27:36,866 它可以幫助科研人員寫文章改病句 1540 01:27:36,866 --> 01:27:39,500 甚至是進行一些簡單的公式推導 1541 01:27:39,500 --> 01:27:40,733 和程式碼撰寫 1542 01:27:40,933 --> 01:27:41,733 但是 1543 01:27:41,733 --> 01:27:45,100 真正的科學研究的idea還是得自己去想 1544 01:27:45,333 --> 01:27:46,766 AI生成的內容 1545 01:27:46,766 --> 01:27:49,066 往往缺乏人類情感的深度 1546 01:27:49,066 --> 01:27:50,666 模糊和複雜性 1547 01:27:50,900 --> 01:27:52,300 這也是它在某些領域 1548 01:27:52,300 --> 01:27:54,600 難以超越人類的根本原因 1549 01:27:54,900 --> 01:27:55,933 更重要的是 1550 01:27:55,966 --> 01:27:56,800 目前的AI 1551 01:27:56,800 --> 01:27:59,400 還缺少在現實世界中交互的能力 1552 01:27:59,500 --> 01:28:01,666 自動駕駛機器人這些領域 1553 01:28:01,733 --> 01:28:02,966 AI的發展速度 1554 01:28:02,966 --> 01:28:05,466 遠不如大眾想像的那麼樂觀 1555 01:28:06,200 --> 01:28:07,366 所以總而言之 1556 01:28:07,400 --> 01:28:09,733 AI的確會對一些職業造成影響 1557 01:28:09,733 --> 01:28:12,533 尤其是那些重複性高模式固定的領域 1558 01:28:12,666 --> 01:28:15,666 但同時它也會帶來新的機會 1559 01:28:15,933 --> 01:28:17,133 未來的關鍵在於 1560 01:28:17,133 --> 01:28:19,333 如何積極地適應這種變化 1561 01:28:19,366 --> 01:28:20,700 提升自身的技能 1562 01:28:20,700 --> 01:28:22,900 以便更好地與AI協同工作 1563 01:28:22,933 --> 01:28:24,200 而不是被它所取代 1564 01:28:24,766 --> 01:28:27,366 人類的創造力情感和智慧 1565 01:28:27,366 --> 01:28:31,200 依然是AI無法模擬和完全超越的 1566 01:28:31,400 --> 01:28:33,733 你​​也可以投入AI的潮流中 1567 01:28:33,800 --> 01:28:35,366 就以這期影片為起點 1568 01:28:35,366 --> 01:28:36,133 開始學習 1569 01:28:36,133 --> 01:28:36,933 多看幾遍 1570 01:28:36,933 --> 01:28:38,166 打不過就加入嘛 1571 01:28:38,166 --> 01:28:39,933 也不失為一種好的策略 1572 01:28:40,966 --> 01:28:43,066 以上就是這期影片的全部內容 1573 01:28:43,200 --> 01:28:45,000 製作真的很不容易 1574 01:28:45,000 --> 01:28:46,900 還希望大家點讚收藏 1575 01:28:46,900 --> 01:28:47,766 多多支持 1576 01:28:47,866 --> 01:28:48,266 如果 1577 01:28:48,266 --> 01:28:51,166 你以後想看到更多類似的深度科普 1578 01:28:51,166 --> 01:28:52,133 記得關注我 1579 01:28:52,166 --> 01:28:53,000 漫士沉思路 1580 01:28:53,000 --> 01:28:54,133 學海引路不辛苦 1581 01:28:54,133 --> 01:28:55,333 我們下期再會 111183

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.