Re: [閒聊] 類神經網路應用
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間16年前 (2009/05/15 00:13)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
類神經以後用在修改一些公式上會很常用, 我大致講一下.
例如我用 hp, sp, pp 創造了一個暫定的戰鬥力公式 f, 而十個
玩家透過這個公式得到了各自的戰鬥力.
例如公式為: d = 100xhp + 50xsp + 30xpp
結果我們發現, 其中幾個玩家的戰鬥力依上述公式算出來後,其
戰鬥力值「被低估」, 例如 baha 顯示出來的是 500 萬, 但我們
評估後, 認為 baha 的戰鬥力應該要有 600 才合理..
本來透過公式得到的數值 = 500 萬
我們修改這個實際輸出值→ 600 萬
把幾個玩家的戰鬥力依上面的概念調整後,原先的公式就不適用
了,那新的公式應該是什麼?
類神經網路教我們的,就是「不需要去為怎麼修改原公式而傷腦
筋,交給我就對了」,透過監督式學習的類神經網路,很容易就
能得到新的權重值,在這裡我們假設...
初始權重值 W = [100 50 30];
最終權重值 W' = [103 47 32];
我們可以很輕易地解讀為何 baha 的戰鬥力會被原公式低估..
hp 與 pp 所佔的比重(權重)應該要更高(100->103, 30->32)
技能殺傷力的修改也是依同樣的道理,例如火系法術的殺傷力假
設公式與 lv、mag、LEVEL 三個數值有關...
一、我一樣可以定一個暫行公式,再做後續調整
二、或者我不定公式,直接先弄一個對照表如下...
lv mag LEVEL 殺傷值大概會是多少
1 100 20 1000 (新手擊出的傷害)
5 500 60 10000
10 1000 100 50000
15 1500 120 100000
.
.
.
也就是我弄出一些 lv, mag 跟 LEVEL,然後主觀判斷在那
些 lv, mag 及 LEVEL 下產生的殺傷應該是多少,資料夠多
時我就可以拿它們來產生我想要的類神經網路。
網路產生後存起來, 以後我只要去讀取施展者的 lv, mag與
LEVEL,我就能透過網路得到輸出值了。
由類神經網路運算得出的殺傷值,與使用固定公式得出的殺傷值
之不同,就在於後者跑出來的東西是死的,前者跑出來的東西卻
會具有相當高的直覺性。
會這樣的原因就在於它在訓練時所用來調整權重的資料「本身就
具有直覺性」。
那如果還是發生不夠直覺的情況呢?
假設我們用10筆我們覺得符合直覺性的資料,訓練好我們要的網
路了,結果帶入第11筆資料到這個網路時,跑出來的結果卻不符
合直覺性時,該怎麼辦呢?
例如第11筆資料帶 highelf 的資料進去,得出來的戰鬥力 800
萬,我們評估後覺得 highelf 的戰鬥力應該頂多 750 萬....
調整方式:將 highelf 的資料以及 750 萬這個數值, 連同之前
用來訓練的十筆資料,混合起來變成 11 筆資料,然
後把這 11 筆資料「當做訓練資料」,重新訓練出新
的類神經網路。
由上面就可以看出,並不是網路訓練好了就沒事了,後續的持續
修正有時也是必要的,持續的修正才能讓我們的網路可以有更精
準的產生結果。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.100.136
※ 編輯: laechan 來自: 118.170.100.136 (05/15 00:18)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
1
2
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
15
19