Re: [閒聊] 類神經網路應用

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間16年前 (2009/05/15 00:13), 編輯推噓0(000)
留言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)
文章代碼(AID): #1A34CKD2 (mud_sanc)
文章代碼(AID): #1A34CKD2 (mud_sanc)