2026年4月12日 星期日

訓練了第一個 AI 模型

2026年4月12日 星期日

小孩看到我一個字一個筆劃的在 iPad 上「造字」,說到「這應該可以讓 AI 來做啊!」。其實有想過,但似乎沒有模型可以幫忙做這件事;幾天過去,那句話就在內心深處發酵了(這個爸爸也真好面子!)。以手動拉國字上的控制點是傷眼又累心的事,完美主義作祟,同一個字,每次看都覺得還可以更好,就又拉了拉、點了點,這樣子是不會有盡頭的,也因此又丟在一旁。上週和  Gemini 討教了訓練 AI 模型的問題,想利用現有已做好的一千多個字帶有筆順的單線體,訓練一個可以給字形資料,預測出其它字的單線體繪圖資料,就這麼開啟了我訓練模型的第一頁。目前已經「煉丹」到了 V6,前面有五次架構大改變,只能「廢爐」重練。因為 Google Colab 未付費版每天只能使用四小時左右,輪流用了四個帳號,總算有了一點點成果。

心得:一輪又輪的練,顧爐顧得很累;AI 真的令人覺得可敬也可怕。有 Gemini 陪練,竟然讓只吃過豬肉,也看過豬走路的人,現在能養豬了!

留下部份成果,及煉丹記錄:

▋ 抽測

[圖1] V6 隨機抽測

▋ 預測結果

[圖2] V6 預測實作 (threshold: 0.6)

[圖2] 為 AI 預測出每個字的控制點後,前端程式以三次貝茲曲線畫出的單線體字(細黑線),為了驗證 AI 預測的點有沒有在目標字內,每個字都有加上字原來的輪廓,灰色輪廓的字為訓練資料之一,綠色輪廓的字為未被訓練過的字,純由 AI 自己推測出來的。由綠色輪廓的看來,模型還很爆衝,煞車系統不好,或是還不夠聰明;[圖3] 將 threshold 由原來的 0.6 提高到 0.9,讓 AI 盡情發揮,特別注意上下兩張圖中的「宜」,是不是長得不一樣了?另外,因為注音符號字形比較大而細,AI 一整個無經驗,像不像剛拿筆塗鴉的人!目前供 AI 訓練的資料尚不足,也較粗糙,訓練的工具已有,接下來,還是先好好的把「老師」造好。

[圖3] 沒學過的字讓 AI 自由發揮 (threshold 0.9 )

▋ 訓練記錄 (V6)

/ 第   1 輪 | 總誤差: 180.7022 | 輔助輪: 1.00
/ 第  10 輪 | 總誤差: 48.0030 | 輔助輪: 0.97
/ 第  20 輪 | 總誤差: 32.2378 | 輔助輪: 0.94
/ 第  30 輪 | 總誤差: 27.4174 | 輔助輪: 0.90
/ 第  40 輪 | 總誤差: 25.3653 | 輔助輪: 0.87
/ 第  50 輪 | 總誤差: 24.4466 | 輔助輪: 0.83
/ 第  60 輪 | 總誤差: 23.9034 | 輔助輪: 0.80
/ 第  70 輪 | 總誤差: 23.3459 | 輔助輪: 0.77
/ 第  80 輪 | 總誤差: 22.8104 | 輔助輪: 0.73
/ 第  90 輪 | 總誤差: 22.2847 | 輔助輪: 0.70
/ 第 100 輪 | 總誤差: 22.4075 | 輔助輪: 0.66
/ 第 110 輪 | 總誤差: 21.7709 | 輔助輪: 0.63
/ 第 120 輪 | 總誤差: 21.0706 | 輔助輪: 0.60
/ 第 130 輪 | 總誤差: 20.8824 | 輔助輪: 0.56
/ 第 140 輪 | 總誤差: 20.0680 | 輔助輪: 0.53
/ 第 150 輪 | 總誤差: 19.5479 | 輔助輪: 0.49
/ 第 160 輪 | 總誤差: 18.9566 | 輔助輪: 0.46
/ 第 170 輪 | 總誤差: 18.6179 | 輔助輪: 0.43
/ 第 180 輪 | 總誤差: 17.0078 | 輔助輪: 0.39
/ 第 190 輪 | 總誤差: 16.0019 | 輔助輪: 0.36
/ 第 200 輪 | 總誤差: 14.7479 | 輔助輪: 0.32
/ 第 210 輪 | 總誤差: 13.0668 | 輔助輪: 0.29
/ 第 220 輪 | 總誤差: 11.8760 | 輔助輪: 0.26
/ 第 230 輪 | 總誤差: 10.6480 | 輔助輪: 0.22
/ 第 240 輪 | 總誤差: 9.3260 | 輔助輪: 0.19
/ 第 250 輪 | 總誤差: 8.1891 | 輔助輪: 0.15
/ 第 260 輪 | 總誤差: 6.9615 | 輔助輪: 0.15
/ 第 270 輪 | 總誤差: 6.5699 | 輔助輪: 0.15
/ 第 280 輪 | 總誤差: 5.4058 | 輔助輪: 0.15
/ 第 290 輪 | 總誤差: 4.6223 | 輔助輪: 0.15
/ 第 300 輪 | 總誤差: 4.7626 | 輔助輪: 0.15
/ 第 310 輪 | 總誤差: 3.7394 | 輔助輪: 0.15

--- continue 使用時間 1小時42分

/ 第 320 輪 | 總誤差: 3.0472 | 輔助輪: 0.00
/ 第 330 輪 | 總誤差: 3.7986 | 輔助輪: 0.00
/ 第 340 輪 | 總誤差: 2.1606 | 輔助輪: 0.00
/ 第 350 輪 | 總誤差: 2.4823 | 輔助輪: 0.00
/ 第 360 輪 | 總誤差: 2.2880 | 輔助輪: 0.00
/ 第 370 輪 | 總誤差: 1.7479 | 輔助輪: 0.00
/ 第 380 輪 | 總誤差: 2.0952 | 輔助輪: 0.00
/ 第 390 輪 | 總誤差: 1.5116 | 輔助輪: 0.00
/ 第 400 輪 | 總誤差: 1.6344 | 輔助輪: 0.00
/ 第 410 輪 | 總誤差: 2.3147 | 輔助輪: 0.00
/ 第 420 輪 | 總誤差: 1.2334 | 輔助輪: 0.00
/ 第 430 輪 | 總誤差: 0.9631 | 輔助輪: 0.00
/ 第 440 輪 | 總誤差: 2.2648 | 輔助輪: 0.00
/ 第 450 輪 | 總誤差: 2.9374 | 輔助輪: 0.00
/ 第 460 輪 | 總誤差: 1.6699 | 輔助輪: 0.00
/ 第 470 輪 | 總誤差: 1.0055 | 輔助輪: 0.00
/ 第 480 輪 | 總誤差: 2.4071 | 輔助輪: 0.00
/ 第 490 輪 | 總誤差: 0.8481 | 輔助輪: 0.00
/ 第 500 輪 | 總誤差: 0.8147 | 輔助輪: 0.00
/ 第 510 輪 | 總誤差: 3.3954 | 輔助輪: 0.00
/ 第 520 輪 | 總誤差: 1.2439 | 輔助輪: 0.00
/ 第 530 輪 | 總誤差: 1.0511 | 輔助輪: 0.00
/ 第 540 輪 | 總誤差: 0.7147 | 輔助輪: 0.00
/ 第 550 輪 | 總誤差: 1.6199 | 輔助輪: 0.00
/ 第 560 輪 | 總誤差: 0.8060 | 輔助輪: 0.00
/ 第 570 輪 | 總誤差: 0.5612 | 輔助輪: 0.00
/ 第 580 輪 | 總誤差: 0.7626 | 輔助輪: 0.00
/ 第 590 輪 | 總誤差: 0.7596 | 輔助輪: 0.00
/ 第 600 輪 | 總誤差: 0.4882 | 輔助輪: 0.00
/ 第 610 輪 | 總誤差: 0.4742 | 輔助輪: 0.00
/ 第 620 輪 | 總誤差: 0.5721 | 輔助輪: 0.00
/ 第 630 輪 | 總誤差: 1.4243 | 輔助輪: 0.00
/ 第 640 輪 | 總誤差: 0.6681 | 輔助輪: 0.00
/ 第 650 輪 | 總誤差: 0.7476 | 輔助輪: 0.00

--- fine tune
/ 第 611 輪 [化境 (V7)] | 總誤差: 0.4409 | LR: 1e-05 | 輔助輪: 0.00
/ 第 620 輪 [化境 (V7)] | 總誤差: 0.2399 | LR: 1e-05 | 輔助輪: 0.00
/ 第 630 輪 [化境 (V7)] | 總誤差: 0.2139 | LR: 1e-05 | 輔助輪: 0.00
/ 第 640 輪 [化境 (V7)] | 總誤差: 0.2006 | LR: 1e-05 | 輔助輪: 0.00
/ 第 650 輪 [化境 (V7)] | 總誤差: 0.1909 | LR: 1e-05 | 輔助輪: 0.00
/ 第 660 輪 [化境 (V7)] | 總誤差: 0.1832 | LR: 1e-05 | 輔助輪: 0.00
/ 第 670 輪 [化境 (V7)] | 總誤差: 0.1772 | LR: 1e-05 | 輔助輪: 0.00
/ 第 680 輪 [化境 (V7)] | 總誤差: 0.1720 | LR: 1e-05 | 輔助輪: 0.00
/ 第 690 輪 [化境 (V7)] | 總誤差: 0.1673 | LR: 1e-05 | 輔助輪: 0.00
/ 第 700 輪 [化境 (V7)] | 總誤差: 0.1632 | LR: 1e-05 | 輔助輪: 0.00
/ 第 710 輪 [化境 (V7)] | 總誤差: 0.1597 | LR: 1e-05 | 輔助輪: 0.00

--- fine tune retrain
/ 第 611 輪 [化境 (V7)] | 總誤差: 0.4401 | LR: 1e-05 | 輔助輪: 0.00
/ 第 620 輪 [化境 (V7)] | 總誤差: 0.2145 | LR: 1e-05 | 輔助輪: 0.00
/ 第 630 輪 [化境 (V7)] | 總誤差: 0.1852 | LR: 1e-05 | 輔助輪: 0.00
/ 第 640 輪 [化境 (V7)] | 總誤差: 0.1706 | LR: 1e-05 | 輔助輪: 0.00
/ 第 650 輪 [化境 (V7)] | 總誤差: 0.1603 | LR: 1e-05 | 輔助輪: 0.00
/ 第 660 輪 [化境 (V7)] | 總誤差: 0.1536 | LR: 1e-05 | 輔助輪: 0.00
/ 第 670 輪 [化境 (V7)] | 總誤差: 0.1480 | LR: 1e-05 | 輔助輪: 0.00
/ 第 680 輪 [化境 (V7)] | 總誤差: 0.1433 | LR: 1e-05 | 輔助輪: 0.00
/ 第 690 輪 [化境 (V7)] | 總誤差: 0.1388 | LR: 1e-05 | 輔助輪: 0.00
/ 第 700 輪 [化境 (V7)] | 總誤差: 0.1349 | LR: 1e-05 | 輔助輪: 0.00
/ 第 710 輪 [化境 (V7)] | 總誤差: 0.1312 | LR: 1e-05 | 輔助輪: 0.00


沒有留言:

張貼留言

 
雄::gsyan © 2009. Design by Pocket