日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

基于深度学习的CTR模型DeepCTR 更新啦!

發布時間:2025/3/8 pytorch 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于深度学习的CTR模型DeepCTR 更新啦! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章來源于淺夢的學習筆記,作者努力學習的淺夢

自deepctr v0.7.0在去年11月底發布后,由于個人的一些原因沒能及時的跟進和解答朋友們在github issue區,DeepCTR交流群以及通過郵件的方式提出的相關問題,這里先說一聲抱歉,希望沒有影響到朋友們的學習和工作。

放假回家在家里躺平放空若干天后,總算有心情打開電腦改改代碼了。這篇文章主要介紹一下在新版本v0.7.1中主要做了哪些改動~

主要功能和改進

WeightedSequenceLayer的參數weight_normalization 在外部沒有暴露API

  • 問題描述

https://github.com/shenweichen/DeepCTR/issues/163

  • 問題分析

這個問題起源于v0.6.3中deepctr支持了帶權重的序列類型特征。

對于權重分數,我們在實現的時候是支持了對權重進行歸一化操作的,而用戶在實際使用的時候無法感知到這個功能,默認使用不進行歸一化的模式,需要用戶自己修改源碼令WeightedSequenceLayer中的weight_normalization=True來實現啟用權重分數歸一化的模式。

  • 解決方案

在VarLenSparseFeat中添加weight_norm參數,用戶在定義帶權序列特征的時候,通過設置weight_norm為True或者False來控制是否進行權重分數歸一化,默認為True。

問題修復

線性特征列中的離散稀疏特征的embedding維度不為1會導致模型失去記憶性

  • 問題描述

https://github.com/shenweichen/DeepCTR/issues/178

  • 問題分析

這個問題是在v0.7.0版本中支持了對不同特征組采用不同的embedding維度引入的。

在v0.7.0以前的版本中,模型支持linear_feature_columns和dnn_feature_columns,分別為代表記憶性的wide側和代表泛化性的deep側。wide側的SparseFeat模型會自動設置其embedding維度為1來模擬onehot的記憶特性,deep側的SparseFeat通過模型的embedding_size參數來控制所有特征組的embedding維度。

在v0.7.0中,特征組的embedding維度需要在定義特征列時使用SparseFeat的embedding_dim參數設置,該參數默認為4。

若用戶沒有指定輸入進linear_feature_columns的SparseFeat的embedding_dim=1,則會導致模型的wide側失去記憶性。這不符合預期。

  • 解決方案

在獲取wide側logit值的方法get_linear_logit中,強制覆蓋SparseFeat的embedding_dim=1。換言之,輸入進linear_feature_columns的SparseFeat的embedding_dim失效,會被模型強制設置為1。

版本檢查中拋出的異常用戶難以理解,影響后續使用

  • 問題描述

https://github.com/shenweichen/DeepCTR/issues/176

  • 問題分析

在一些無法連接網絡或者pip配置有過修改的機器上,deepctr的版本檢查會拋出大段用戶難以理解的異常。

  • 解決方案

版本檢查在出現錯誤時提示用戶訪問deepctr網站進行人工版本檢查,不再輸出異常提示信息。

API變化

deepctr.layers.sequence.WeightedSequenceLayer

WeightedSequenceLayer中的weight_normalization默認值變為True。

  • 舊:deepctr.layers.sequence.WeightedSequenceLayer(weight_normalization=False, supports_masking=False)

  • 新:deepctr.layers.sequence.WeightedSequenceLayer(weight_normalization=True, supports_masking=False)

deepctr.inputs.VarLenSparseFeat

由于VarLenSparseFeat和SparseFeat存在較多相同參數,且很多情況下相同參數的取值也是相同的(如用戶歷史商品點擊序列和待預估商品),故將VarLenSparseFeat的初始化參數更改為由一個SparseFeat的實例和其他序列相關的參數組成。

對用戶而言,只需要理解SparseFeat的參數含義以及一些序列相關的參數含義就可以使用VarLenSparseFeat。

  • 舊:VarLenSparseFeat(name, maxlen, vocabulary_size, embedding_dim=4, combiner="mean", use_hash=False, dtype="float32", length_name=None, weight_name=None, embedding_name=None, group_name=DEFAULT_GROUP_NAME)

  • 新:VarLenSparseFeat(sparsefeat, maxlen, combiner="mean", length_name=None, weight_name=None, weight_norm=True)

以上就是本次更新的說明,快使用命令pip install -U deepctr更新吧!希望朋友們能夠多多支持,多多提意見!謝謝!

備注:公眾號菜單包含了整理了一本AI小抄非常適合在通勤路上用學習

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(第一部分)備注:加入本站微信群或者qq群,請回復“加群”獲取一折本站知識星球優惠券,請回復“知識星球”

喜歡文章,點個在看

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的基于深度学习的CTR模型DeepCTR 更新啦!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。