A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||||||||||||
2 | (a) | 我 | 其 | 實 | 並 | 不 | 認 | 識 | 這 | 個 | 人 | |||||||||||||||
3 | (b) | 我 | 其 | 實 | 並 | 不 | 認 | 識 | 那 | 個 | 人 | |||||||||||||||
4 | ||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||
6 | One-cold encoding | |||||||||||||||||||||||||
7 | 一維 | 二維 | 三維 | 四維 | 五維 | 六維 | 七維 | 八維 | 九維 | 十維 | 十一維 | |||||||||||||||
8 | 我 | 其 | 實 | 並 | 不 | 認 | 識 | 這 | 那 | 個 | 人 | |||||||||||||||
9 | (a) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | ||||||||||||||
10 | (b) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | ||||||||||||||
11 | ||||||||||||||||||||||||||
12 | 第 1 講 | |||||||||||||||||||||||||
13 | need to do: | 我們找個方法來表示 (a) 和 (b) 的不同吧! | ||||||||||||||||||||||||
14 | Idea two: | 把這些 {1, 0} 按順序記下來吧。 | ||||||||||||||||||||||||
15 | (a) | [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1] | ||||||||||||||||||||||||
16 | (b) | [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1] | ||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||
18 | problem: | 這個表示法儲存起來很不經濟,而且遇到「人類的沒有最長的句子」時,會寫不完。 | ||||||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | 第 2 講 | |||||||||||||||||||||||||
22 | need to do: | 我們找另一個方法來表示 (a) 和 (b) 的不同吧! | ||||||||||||||||||||||||
23 | idea two: | 把這些數字連乘,或是連加起來,是不是就能呈現「不同長度」的句子了? | ||||||||||||||||||||||||
24 | (a) | 連加: (a) = 10 | 連乘: (a) = 0 | |||||||||||||||||||||||
25 | (b) | 連加: (b) = 10 | 連乘: (b) = 0 | |||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | problem: | 都是 1 和 0 這樣分不出來。 | ||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||
30 | 第 3 講 | |||||||||||||||||||||||||
31 | need to do: | 我們再找另一個方法來表示 (a) 和 (b) 的不同吧! | ||||||||||||||||||||||||
32 | idea three: | 如果把每個 {1, 0} 都變成一個小數,而且每個位置的小數都能呈現:(1) 它的位置;(2) 它是 1 還是 0 ,那麼就能凸顯 (a) 和 (b) 的不同了。 | ||||||||||||||||||||||||
33 | (a) | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0 | 1 | 1.1 | 總合為: | 5.7 | ||||||||||||
34 | (b) | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0 | 0.9 | 1 | 1.1 | 總合為: | 5.8 | ||||||||||||
35 | ||||||||||||||||||||||||||
36 | findings: | 於是,我們得到了「(a) 和 (b) 的句子,各有一個小數代表它的意義」的結論。 | ||||||||||||||||||||||||
37 | 可以想像,4.6 和 4.7 只差 0.1,如果有其它的句子,和 4.6 或 4.7 相差更遠的話,那表示它和這兩個句子的意義差得更大! | |||||||||||||||||||||||||
38 | * | 於是,我們可以推論「這」和「那」在語言中的意義,只差了一點點! | ||||||||||||||||||||||||
39 | * | 原來!模型學會了什麼是「限定詞 (determiner)」的概念! | ||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | 我不認識這個人 | 0.1 | 我不認識那個人 | 0 | 那個人不認識我 | |||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | 第 4 講 | |||||||||||||||||||||||||
44 | need to do: | 但我們永遠不知道兩個字最遠可以差多遠,因為我們還沒解決「句子愈長,那麼它的值就可能愈大」的問題! | ||||||||||||||||||||||||
45 | idea four: | 如果我們有一個特別的函數,可以像 idea three 一樣,把每個 {1, 0} 都變成一個小數,而且是介於 0 ~ 1 之間,這樣就不會有「句子愈長,它的值就可能愈大」的問題了!因為無論如何,它都會介於 0~1 之間! | ||||||||||||||||||||||||
46 | 出門時遇到雨天的統計 = 出門時遇到下雨的次數 / (所有出門次數的總合);這個「統計」結果,因為剛好是介於 0 ~ 1 之間,所以以下 47行、48 行就拿來當做機率使用。 | |||||||||||||||||||||||||
47 | (a) | 0.09645173882 | 0.1759343077 | 0.2425638133 | 0.2992247213 | 0.3479984656 | 0.3904247182 | 0.4276668841 | 0.4606204245 | 0.2487368433 | 0.516318786 | 0.5400660403 | 總合為: | 3.746006743 | ||||||||||||
48 | (b) | 0.09645173882 | 0.1759343077 | 0.2425638133 | 0.2992247213 | 0.3479984656 | 0.3904247182 | 0.4276668841 | 0.2273837171 | 0.4899857944 | 0.516318786 | 0.5400660403 | 總合為: | 3.754018987 | ||||||||||||
49 | ||||||||||||||||||||||||||
50 | findings: | 我們解決了在 idea three 裡的問題!現在還可以用更簡單的方式來呈現「這」和「那」的向量。 | ||||||||||||||||||||||||
51 | * | 假設每個字的意義,都是由它的上下文決定的,那麼我們先直觀地以「前二後二」來表示一個字的意義。 | ||||||||||||||||||||||||
52 | * | 那麼「這」的意義就會是:這 = [0.4276668841, 0.4606204245, 0.516318786, 0.5400660403] | ||||||||||||||||||||||||
53 | * | 同理「那」的意義就會是:那 = [0.3904247182, 0.4276668841, 0.4899857944, 0.516318786] | ||||||||||||||||||||||||
54 | * | 我們就能得到「這」和「那」的向量真的非常非常接近,可見「這」的語意和「那」一定具有某種相似性。 | ||||||||||||||||||||||||
55 | * | 可見,詞向量可以表達語意,而且詞向量內含上下文的關係,因此它也懂了語言的結構,就是句法! | ||||||||||||||||||||||||
56 | * | 看來!詞向量既懂了語意,也懂了句法!詞向量就是語言的終極答案! | ||||||||||||||||||||||||
57 | *把idea two的每個 {1, 0} 都變成介於0~1的小數 | |||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | 注意!紅色字體,表示過度推論的幻想! | |||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | Peter Comments: 一般常見的 word2vec 的說明,其實就是第 4 講的內容。這個講義從第 1 講開始一路推演思考,是要凸顯三個重點: | |||||||||||||||||||||||||
63 | [1] | word2vec 的公式並不是絕對的,exp() 並不是什麼高大上的東西,它只是一個可以保證得出的值是『正數』的函式而已。只要可以滿足「保存順序資訊」和「凸顯差異字符/詞彙」的目標,其實什麼函式都可以用。只是因為我們最後要在第 4 講裡計算機率。 | ||||||||||||||||||||||||
64 | [2] | 這整個「數字遊戲」搞得像是某種人為制定規則的桌遊一樣,最後其實也並沒有抓到什麼是語意,什麼是句法,它只是把「一開始無法解釋那個字符/詞彙是什麼意思」,改為「用一組數字來代表」而已。 | ||||||||||||||||||||||||
65 | [3] | 這一組數字,好像賦予了它「可以被計算」的特性,但這組數字真正代表的,只是那個「字符/詞彙」在訓練資料中的「分佈情形」,如此而已。 | ||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | *我知道exp()這裡指的是期待函數,也就是算出來的機率,但是突然寫到這個,我怕大家會不懂。 | |||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |