策略梯度強化學(xué)習(xí)算法實現(xiàn)A/B優(yōu)化?_世界熱頭條
本文將以可視化方式向您一步一步解釋使用策略梯度方法實現(xiàn)A/B優(yōu)化。
(資料圖片)
譯者 | 朱先忠
審校 | 重樓
在本文中,我們將探討如何將策略梯度強化學(xué)習(xí)應(yīng)用于A/B優(yōu)化。本文將給出一個觀察策略梯度方法的簡單演示;其中,我們將深入了解有關(guān)潛在的機制,并逐步可視化學(xué)習(xí)過程。
簡介
與監(jiān)督、自監(jiān)督和無監(jiān)督學(xué)習(xí)一樣,強化學(xué)習(xí)是機器學(xué)習(xí)的一個基本概念。在強化學(xué)習(xí)中,主體試圖在環(huán)境中找到一組最佳的動作,以最大限度地獲得獎勵。強化學(xué)習(xí)作為一種可以在圍棋和國際象棋中擊敗最優(yōu)秀棋手的方法,與神經(jīng)網(wǎng)絡(luò)作為高度靈活的代理相結(jié)合,已經(jīng)廣為人知。
其中,用作代理的神經(jīng)網(wǎng)絡(luò)能夠通過使獲得的獎勵最大化來逐步學(xué)習(xí)優(yōu)化策略。目前,人們已經(jīng)開發(fā)了幾種策略來更新神經(jīng)網(wǎng)絡(luò)的參數(shù),例如策略梯度、q學(xué)習(xí)或ActorCritic(演員-評判家)學(xué)習(xí)。其中,策略梯度方法最接近反向傳播,它通常用于神經(jīng)網(wǎng)絡(luò)的監(jiān)督和自監(jiān)督學(xué)習(xí)。然而,在強化學(xué)習(xí)中,我們并不像在監(jiān)督學(xué)習(xí)中那樣直接評估每個動作,而是試圖最大化總回報,并讓神經(jīng)網(wǎng)絡(luò)決定要采取的個人動作。這個動作是從概率分布中選擇的,這為進一步探索提供了高度的靈活性。在優(yōu)化開始時,操作是隨機選擇的,代理探索不同的策略。隨著時間的推移,一些行動被證明比其他行動更有用,概率分布最終表現(xiàn)為明確的決策。與其他強化學(xué)習(xí)方法不同,用戶不必控制探索和開發(fā)之間的這種平衡,最佳平衡是由梯度策略方法本身找到的。
通常,使回報最大化的最佳策略是通過一系列行動來實現(xiàn)的,其中每個行動都會導(dǎo)致環(huán)境的新狀態(tài)。然而,梯度策略方法也可以用來尋找在統(tǒng)計上給予最高獎勵的最佳行動。在執(zhí)行A/B優(yōu)化時經(jīng)常會發(fā)現(xiàn)這種情況,這是一種非常常見的從兩個選項中選擇其一的更好的技術(shù)。例如,在市場營銷中,A/B測試用于選擇能帶來更高銷售額的廣告方案。你更愿意點擊哪個廣告?選項A:“充分利用您的數(shù)據(jù):我是一名專業(yè)的數(shù)據(jù)科學(xué)家,我可以幫助您分析您的數(shù)據(jù)”或選項B“與您的數(shù)據(jù)作斗爭?專業(yè)數(shù)據(jù)分析師可以免費幫助您自動化數(shù)據(jù)分析”?
兩個廣告創(chuàng)意選項。你更愿意點擊哪一個?(圖片由作者創(chuàng)作)
A/B優(yōu)化的困難在于點擊率是可變的。例如,在網(wǎng)站上看到廣告后,每個用戶可能有不同的偏好,處于不同的情緒中,因此反應(yīng)也不同。由于這種可變性,我們需要統(tǒng)計技術(shù)來選擇更好的廣告方案。比較選項A和B的常用方法是假設(shè)檢驗,如t檢驗。要進行t檢驗,廣告的兩個潛在版本必須顯示一段時間,以收集用戶的點擊率。為了對優(yōu)選的廣告方案進行顯著的評估,需要相當長的探索時間,其缺點是潛在的收入損失,因為在探索過程中,更好和更差的廣告同樣頻繁地隨機顯示。通過盡快更頻繁地顯示更好的廣告來最大限度地提高點擊率是有利的。通過使用梯度策略方法執(zhí)行A/B優(yōu)化,代理將首先隨機探索變體A和變體B,那個將獲得更高的廣告獎勵,從而導(dǎo)致更高的點擊率,因此代理將很快學(xué)會更頻繁地向用戶展示更好的廣告,并最大化點擊率和收入。
實例展示
在我們的例子中,我們有兩個廣告創(chuàng)意選項,其中我們假設(shè)選項A的點擊概率為30%,選項B的點擊概率是40%。我們開展了一場廣告活動,有1000個廣告印象。如果我們只進行探索,并且同樣頻繁地顯示這兩個選項,我們可以預(yù)期平均點擊率為35%,總共平均點擊350次。如果我們知道B會被更多地點擊,我們只會顯示B,平均點擊400次。然而,如果我們運氣不好,選擇只顯示A,我們平均只能獲得300次點擊。我們稍后將更詳細地探討策略梯度方法,我們可以實現(xiàn)平均391次點擊,這清楚地表明,快速應(yīng)用學(xué)習(xí)到的策略會導(dǎo)致點擊次數(shù)幾乎與我們最初選擇更好的選項B一樣高。
運行機制解析
我們使用TensorFlow庫在小型神經(jīng)網(wǎng)絡(luò)上使用梯度策略方法運行A/B優(yōu)化。首先,我們需要導(dǎo)入一些第三方庫。
import matplotlib.pyplot as pltimport numpy as npimport tensorflow as tf
神經(jīng)網(wǎng)絡(luò)只包含一層,由一個神經(jīng)元決定播放哪一則廣告。由于我們沒有關(guān)于用戶偏好、位置、時間或其他任何信息,因此決策是基于對神經(jīng)網(wǎng)絡(luò)的零輸入,并且我們不需要使用大型神經(jīng)網(wǎng)絡(luò)所實現(xiàn)的非線性。訓(xùn)練是通過調(diào)整這個神經(jīng)元的偏置來實現(xiàn)的。
model = tf.keras.models.Sequential()model.add(tf.keras.layers.Dense(1, activatinotallow="sigmoid", input_shape=(1,)))model.summary()
我們編寫了一個函數(shù),它用于使用神經(jīng)網(wǎng)絡(luò)選擇動作,顯示選項A或選項B。該函數(shù)使用tf.function()進行修飾,它創(chuàng)建了一個靜態(tài)計算圖,使其運行速度比在Eager模式(走一步看一步,能夠立即輸出結(jié)果)下快得多。通過使用TensorFlow的GradientTape函數(shù),我們在廣告選擇過程中收集梯度。每次用戶進入網(wǎng)站時,神經(jīng)網(wǎng)絡(luò)都會產(chǎn)生一個輸出,該輸出被視為選擇要呈現(xiàn)給用戶的廣告變體A或變體B的概率。
由于我們只有一個神經(jīng)元具有S形激活,因此輸出是0到1之間的單個數(shù)字。如果輸出為0.5,則有50%的機會顯示廣告B,并且有50%的可能性顯示廣告A。如果輸出為0.8,則顯示廣告B的可能性為80%,顯示廣告A的可能性為20%。通過將神經(jīng)網(wǎng)絡(luò)的輸出與0和1之間的均勻分布的隨機數(shù)進行比較來選擇動作。如果隨機數(shù)小于輸出,則動作為True(1),并且選擇廣告B;如果隨機數(shù)大于輸出,則操作為False(0),并選擇廣告A。損失值使用binary_crosentropy_loss測量神經(jīng)網(wǎng)絡(luò)的輸出和所選動作之間的差。然后,我們創(chuàng)建相對于模型參數(shù)的損失梯度。
@tf.function()def action_selection(model): with tf.GradientTape() as tape: output = model(np.array([[0.0]])) # [0 ... 1] action = (tf.random.uniform((1, 1)) < output) # [0 or 1] loss = tf.reduce_mean(tf.keras.losses.binary_crossentropy(action, output)) grads = tape.gradient(loss, model.trainable_variables) return output, action, loss, grads
我們進行了超過1000次廣告展示的訓(xùn)練。在每個步驟中,廣告都會出現(xiàn)一次,新用戶有機會點擊廣告。為了評估學(xué)習(xí)過程,我們統(tǒng)計這段時間后的點擊總數(shù)。學(xué)習(xí)率定義為0.5。我們稍后將討論學(xué)習(xí)率對總點擊次數(shù)的影響。
STEPS = 1000LR = 0.5
現(xiàn)在,讓我們來做廣告宣傳。隨著時間的推移,神經(jīng)網(wǎng)絡(luò)將改進其預(yù)測能力。通過強化學(xué)習(xí),訓(xùn)練和應(yīng)用同時發(fā)生。在實踐中,選擇的廣告現(xiàn)在顯示在網(wǎng)站上,我們必須等待,看看用戶是點擊了廣告還是沒有點擊就離開了網(wǎng)站。在代碼中,我們只是模擬用戶是否點擊。如上所述,廣告A被點擊的概率為30%,而廣告B被點擊的概率為40%。點擊可以直接作為訓(xùn)練神經(jīng)網(wǎng)絡(luò)的獎勵來處理。獎勵用于修改梯度。如果用戶點擊了廣告,則該動作的梯度保持不變,但如果用戶沒有點擊廣告,則梯度反轉(zhuǎn)。最后,梯度下降通過給神經(jīng)網(wǎng)絡(luò)分配新的權(quán)重和偏差值來更新神經(jīng)網(wǎng)絡(luò)的參數(shù)。
for step in range(STEPS): output, action, loss, grads = action_selection(model) if action == False: # Action A reward = float(np.random.random() < 0.4) if action == True: # Action B reward = float(np.random.random() < 0.5) grads_adjusted = [] for var_index in range(len(model.trainable_variables)): grads_adjusted.append((reward-0.5)*2 * grads[var_index]) model.trainable_variables[0].assign(model.trainable_variables[0]-LR*grads_adjusted[0]) model.trainable_variables[1].assign(model.trainable_variables[1]-LR*grads_adjusted[1])
下圖總結(jié)了學(xué)習(xí)過程的演變。
使用策略梯度強化學(xué)習(xí)的A/B優(yōu)化學(xué)習(xí)過程的演變。(圖片由作者創(chuàng)作)
總的來說,上圖中顯示的1000個廣告印象的活動總共導(dǎo)致了393次點擊,這相當接近400次——這個數(shù)字等于如果我們只選擇更好的廣告B時我們期望的點擊次數(shù)。
我們首先通過觀察初始步驟=1的所有圖表來回顧學(xué)習(xí)過程。我們觀察到,神經(jīng)網(wǎng)絡(luò)輸出從0.5開始,導(dǎo)致廣告B和廣告A分別以50%的概率隨機選擇廣告。binary_crosentropy_loss測量模型輸出和所采取的行動之間的差異。由于動作要么是0要么是1,因此初始損失值是模型輸出0.5的負對數(shù),約為0.7。由于我們的神經(jīng)網(wǎng)絡(luò)中只有一個神經(jīng)元,因此梯度包含該神經(jīng)元的權(quán)重和偏差的兩個標量值。如果選擇廣告A,則偏置的梯度為正數(shù),如果選擇廣告B,則偏置梯度為負數(shù)。權(quán)重參數(shù)的梯度總是零,因為神經(jīng)網(wǎng)絡(luò)的輸入是零。獎勵是高度隨機的,因為廣告被點擊的幾率只有30%-40%。如果點擊廣告,我們會得到獎勵,梯度不變;否則,我們會反轉(zhuǎn)梯度。將調(diào)整后的梯度乘以學(xué)習(xí)率,并從神經(jīng)網(wǎng)絡(luò)的初始參數(shù)中減去。我們可以看到,偏置值從零開始,當施加正調(diào)整梯度時變得更負,而當施加負調(diào)整梯度時則變得更正。
在廣告活動期間,神經(jīng)網(wǎng)絡(luò)的輸出傾向于1,增加了廣告B被選中的機會。然而,即使模型輸出已經(jīng)接近1,顯示廣告A的機會仍然很小。隨著模型輸出接近1,如果選擇動作B,則損失值很小,并且我們獲得了小的負梯度,但在選擇廣告A的罕見情況下,獲得了更大的損失值——表現(xiàn)為偶爾的峰值和大的正梯度。在收集獎勵之后,可以觀察到這些正峰值中的一些在調(diào)整后的梯度中被反轉(zhuǎn),因為這些動作沒有導(dǎo)致點擊。由于廣告B具有更高的點擊概率,較小的負調(diào)整梯度比源于廣告A上的點擊的正梯度更頻繁地應(yīng)用。因此,模型的偏差值以小的步長增加,并且在廣告A被選擇和點擊的罕見情況下,偏差值減小。模型的輸出由應(yīng)用于模型偏置值的S形函數(shù)提供。
學(xué)習(xí)率的影響
在這個演示中,我們觀察到,神經(jīng)網(wǎng)絡(luò)可以學(xué)會從兩個選項中選擇更好的選項,并更頻繁地應(yīng)用該選項以最大限度地提高回報。在這種設(shè)置下,平均將獲得391次點擊,其中廣告A的點擊概率為30%,廣告B的點擊幾率為40%。在實踐中,這些概率會低得多,它們之間的差異可能更小,這使得神經(jīng)網(wǎng)絡(luò)更難探索更好的選擇。
政策梯度法具有自動調(diào)整勘探與開發(fā)之間平衡的優(yōu)點。然而,這種平衡受到學(xué)習(xí)率的影響。更高的學(xué)習(xí)率將導(dǎo)致更短的探索階段和更快的學(xué)習(xí)策略應(yīng)用,如下圖所示,其中學(xué)習(xí)率從0.01提高到10。在100個個體廣告中平均得到的模型輸出隨著學(xué)習(xí)率的增加而更快地增加,學(xué)習(xí)率高達1。然而,在較高的學(xué)習(xí)率下,存在適應(yīng)錯誤動作的風(fēng)險,只有在短暫的探索期內(nèi),錯誤動作才會表現(xiàn)得更好。在高學(xué)習(xí)率下,模型輸出調(diào)整過快,導(dǎo)致決策不穩(wěn)定。
學(xué)習(xí)率對神經(jīng)網(wǎng)絡(luò)輸出的影響。(圖片由作者創(chuàng)作)
因此,有一個最佳的學(xué)習(xí)率可供選擇,這在實踐中可能很難找到,因為事先對點擊概率一無所知。將學(xué)習(xí)率從0.01變化到10.0表明,對于0.1到2.0之間的學(xué)習(xí)率,獲得了點擊總次數(shù)的最大值。更高的學(xué)習(xí)率顯然會增加標準差,這表明學(xué)習(xí)過程的不穩(wěn)定性,也會導(dǎo)致平均點擊量的減少。
學(xué)習(xí)率對廣告活動期間獲得的總點擊量的影響。(圖片由作者創(chuàng)作)
總結(jié)
本文示例程序演示了如何將強化學(xué)習(xí)用于A/B優(yōu)化。這僅僅是一個簡單的例子,用于說明策略梯度方法的基本過程。然后,我們已經(jīng)了解了神經(jīng)網(wǎng)絡(luò)如何根據(jù)所選廣告是否被點擊來基于調(diào)整后的梯度更新其參數(shù)??焖賾?yīng)用學(xué)習(xí)到的策略可最大限度地提高點擊率。然而,在實踐中,選擇最佳學(xué)習(xí)率可能很困難。
最后,您可以在huggingface.co網(wǎng)站上找到本文示例工程完整的代碼和流媒體演示:https://huggingface.co/spaces/Bernd-Ebenhoch/AB_optimization。
關(guān)鍵詞:
您可能也感興趣:
今日熱點
為您推薦
清代蘇州織造局圖碑相關(guān)內(nèi)容簡介-天天速讀
奔馳發(fā)布了一臺諾基亞-天天快資訊
當前速訊:賣羽絨服的波司登殺進了防曬衣市場
排行
最近更新
- 策略梯度強化學(xué)習(xí)算法實現(xiàn)A/B優(yōu)化?_世界熱頭條
- 狐疑的意思(狐疑)
- 外墻瓷磚規(guī)格尺寸表(瓷磚規(guī)格尺寸表) 當前速遞
- 天天視訊!北京市中關(guān)村外國語學(xué)校高中有哪些優(yōu)勢?
- 個人申請工傷鑒定材料_工傷鑒定需要哪些材料 世界視訊
- springboot~stateless4j實現(xiàn)狀態(tài)機 天天快播報
- 廣西11條河流13個站出現(xiàn)超警洪水 每日報道
- 房子平面圖一掃便知!哈爾濱市不動產(chǎn)登記啟動“一證一碼”
- 最新資訊:孺人是什么意思_孺人
- 中國警方嚴打非法占用耕地犯罪 去年以來收回耕地4000余公頃
- 天天即時看!1—5月我國軟件業(yè)利潤總額4922億元 同比增長12.2%
- 宅男財經(jīng)|楊德龍談A股節(jié)后走勢:短期或承壓,下半年有望企穩(wěn)...
- 天天日報丨美國財長耶倫:今年或有更多銀行尋求合并
- 世界視點!快訊|累計培育高新技術(shù)企業(yè)205家——煙臺高新區(qū)全...
- 均價40元+的貴價咖啡,靠什么“贏過”9.9元的瑞幸?_滾動
- 重慶市涪陵區(qū)市場監(jiān)管局進行燃氣安全隱患大排查大整治專項執(zhí)...
- 【環(huán)球播資訊】端午假期遼寧實現(xiàn)旅游綜合收入51.17億元 同比...
- 北京城市副中心站主站房西區(qū)主體結(jié)構(gòu)封頂
- 漢沽街道開展“減壓賦能,輕松前行”社工減壓賦能主題活動 ...
- 俄媒:5月俄羅斯仍是歐洲唯一出現(xiàn)食品價格下降的國家-全球消息
- 當前熱文:凈月潭的夏日雜敘
- 當前看點!成都一小區(qū)提供“植物寄養(yǎng)”服務(wù) 為居民免費養(yǎng)護盆栽
- 哈市呼蘭警方全力開啟“護考”模式助力考生逐夢中考
- 賞民俗品文化 歡度端午假期 世界快資訊
- 宏發(fā)股份: 宏發(fā)股份:關(guān)于變更保薦代表人的公告
- 人工智能如何應(yīng)對氣候變化-全球快訊
- 特色教育筑牢安全生產(chǎn)第一防線
- 早上起床時需要注意些什么?
- 焦點快看:新金路: 2023年第三次臨時監(jiān)事局會議決議公告
- 動態(tài)焦點:「熱點排名」杭州膚康-專注帶狀皰疹治療
今日要聞
- 當前熱文:凈月潭的夏日雜敘
- 世界觀速訊丨摩爾莊園如何獲得雪獺(摩爾莊園如何獲得拉姆)
- 當前看點!成都一小區(qū)提供“植物寄養(yǎng)”服務(wù) 為居民免費養(yǎng)護盆栽
- 資本積累的真正來源是_資本積累
- 經(jīng)常起夜是怎么回事_經(jīng)常起夜怎么回事 每日訊息
- 2023吉祥文化金銀幣價格表(2023年06月25日)
- 外墻瓷磚規(guī)格尺寸表(瓷磚規(guī)格尺寸表) 當前速遞
- 策略梯度強化學(xué)習(xí)算法實現(xiàn)A/B優(yōu)化?_世界熱頭條
- 薦書如面丨第十期:《高效能人士的七個習(xí)慣》暢銷20多年!管理層人手一本!這本書牛在哪?
- 新消息丨惡魔景和登場的時候,就已經(jīng)確定武神之劍形態(tài),果然伏筆早已埋下