计划等啥时候能战胜皮卡鱼了,和其他几个相关功能一起,建个 mini 群,我先闹,下班回家再试着调几次,论证想法。
之前有老哥说五子棋先手必胜、规则简单,适合入门。听劝,五子棋跑通后,我继续尝试让循环 transformer 模型挑战中国象棋。
对战
目前模型迭代到了 v18 (从 v11 开始,v1~7 是五子棋)。模型文件 7.5M 比五子棋大了 10 倍,60w 参数量了(我 cpu 训练,再大就撑不住了),在线上实测和人类对战时,表现像极了一个刚学会下棋的新手
- 过度防守: 警惕性过高,“老帅”被稍微一吓(甚至不是绝杀)就急着满场跑,像极了我打王者被举报到封号这件事。
- 重度贪吃: 极其喜欢吃子,可能是我在静态评估函数里给“吃子/子力价值”的评分权重设高了,导致模型为了眼前的利益频繁放弃战略卡位。
实测
我让 v18 对战 Pikafish depth 1 (皮卡鱼 1 层深度),喜提 0 胜 10 负,胜率 0%:
• 选取 5 个不同起点交换先后手,执红输 5 局,执黑输 5 局。
• 无一和棋,全部被推平将死 ╰(艹皿艹 )。
• 平均坚持 37.1 个半招(最短的一局 9 个半招就暴毙了,最长坚持到了 76 个半招)。
附上一张当前的对局切片(我不会发图):
你执红 · 模型评分 · 已走 26 半招
A B C D E F G H I
9 車────馬────象────士────· ────士────象────· ────·
│ │ │ │ │ │ │ │ │
8 · ────· ────· ────· ────將────· ────· ────· ────·
│ │ │ │ │ │ │ │ │
7 · ────· ────砲────· ────車────· ────· ────· ────·
│ │ │ │ │ │ │ │ │
6 卒────· ────卒────· ────· ────· ────卒────· ────卒
│ │ │ │ │ │ │ │ │
5 · ────· ────· ────· ────车────· ────· ────· ────·
楚 河 汉 界
4 · ────· ────· ────· ────炮────· ────· ────· ────·
│ │ │ │ │ │ │ │ │
3 兵────· ────兵────· ────兵────· ────兵────· ────兵
│ │ │ │ │ │ │ │ │
2 · ────· ────· ────· ────· ────· ────· ────· ────·
│ │ │ │ │ │ │ │ │
1 车────· ────· ────· ────· ────· ────砲────· ────·
│ │ │ │ │ │ │ │ │
0 · ────马────相────仕────帅────仕────· ────· ────·
点击棋子 → 点击落点 · 绿色为可落点
感觉,至少要能战胜皮卡鱼,下班回来继续大战皮卡鱼。