chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

算法的迭代:從傳統(tǒng)CTR預(yù)估到LTR

Tensorflowers ? 來(lái)源:TensorFlow ? 作者:TensorFlow ? 2020-11-18 17:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

在當(dāng)今互聯(lián)網(wǎng)世界,推薦系統(tǒng)在內(nèi)容分發(fā)領(lǐng)域扮演著至關(guān)重要的角色。如何盡可能的提升推薦系統(tǒng)的推薦效果,是每個(gè)推薦算法同學(xué)工作的核心目標(biāo)。在愛奇藝海外推薦業(yè)務(wù),引入 TensorFlow Ranking (TFR) 框架,并在此基礎(chǔ)上進(jìn)行了研究和改進(jìn),顯著提升了推薦效果。本文將分享 TFR 框架在海外推薦業(yè)務(wù)中的實(shí)踐和應(yīng)用。

01 算法的迭代:從傳統(tǒng) CTR 預(yù)估到 LTR

長(zhǎng)期以來(lái),在推薦系統(tǒng)排序階段廣泛應(yīng)用的 CTR 預(yù)估算法的研究重點(diǎn)在于,如何更加準(zhǔn)確的估計(jì)一個(gè)用戶對(duì)于一個(gè) item 的點(diǎn)擊概率。在這類算法中,我們將一組同時(shí)曝光在用戶面前的 items,當(dāng)做一個(gè)一個(gè)單獨(dú)的個(gè)例看待,將用戶的特征、環(huán)境特征和一個(gè)一個(gè) item 的特征分別組合成為一條條訓(xùn)練數(shù)據(jù),將用戶對(duì)這個(gè) item 的反饋(點(diǎn)擊、未點(diǎn)擊、播放時(shí)長(zhǎng)等)作為訓(xùn)練數(shù)據(jù)的標(biāo)簽。這樣看似合理的問題抽象其實(shí)并不能準(zhǔn)確的表征推薦場(chǎng)景。

嚴(yán)格來(lái)講,排序問題的本質(zhì)(尤其是以瀑布流形式呈現(xiàn)的業(yè)務(wù))并不是研究估計(jì)一個(gè)用戶對(duì)于一個(gè)單獨(dú)的 item 的點(diǎn)擊概率,而是研究在一組 items 同時(shí)曝光的情況下,用戶對(duì)這組 items 中哪個(gè)的點(diǎn)擊概率更大的問題。

Learning-To-Rank (LTR) 算法正是為解決這個(gè)問題而出現(xiàn)的。LTR 算法在訓(xùn)練時(shí)采用 pairwise 或者 listwise 的方式組織訓(xùn)練數(shù)據(jù),將一組同時(shí)曝光在用戶面前的 items,兩兩 (pairwise) 或者多個(gè) (listwise) items 和用戶特征環(huán)境特征共同組成數(shù)據(jù)對(duì),作為一條條的訓(xùn)練數(shù)據(jù)。相應(yīng)的,在評(píng)估模型的指標(biāo)上,LTR 算法更多采用 NDCG、ARP、MAP 等能夠反映 items 順序影響的指標(biāo)。

同時(shí),由于 LTR 算法的這種訓(xùn)練數(shù)據(jù)組織形式,使得這類算法在用戶量相對(duì)不大的場(chǎng)景下,更容易取得比較好的效果。同樣得益于這種數(shù)據(jù)組織形式,也很方便的實(shí)現(xiàn)更好的負(fù)樣本采樣。

注:關(guān)于推薦業(yè)務(wù)中采樣和模型評(píng)估指標(biāo)之間還有一個(gè)有趣的研究可以參考,2020 KDD Best Paper Award ,On Sampled Metrics for Item Recommendation

02 框架的設(shè)計(jì):TensorFlow Ranking

TensorFlow Ranking (TFR) 是 TensorFlow 官方開發(fā)的 LTR 框架,旨在基于 TensorFlow 開發(fā)和整合 LTR 相關(guān)的技術(shù),使開發(fā)人員可以更加方便的進(jìn)行 LTR 算法的開發(fā)。

在實(shí)際使用過程中,可以體會(huì)到 TFR 框架為我們帶來(lái)的收益??蚣軆?nèi)抽象出了訓(xùn)練中不同層級(jí)的類,并開發(fā)了相關(guān)的 loss 函數(shù),以方便我們進(jìn)行 pairwise 和 listwise 的訓(xùn)練,同時(shí)整合了 arp、ndcg 等模型評(píng)估的 metrics,再結(jié)合 TensorFlow 高階 api (Estimator),可以非常方便快捷的進(jìn)行開發(fā),而不用掙扎于各種實(shí)施上的細(xì)節(jié)。

如上圖所示,藍(lán)色框圖中是在使用 TensorFlow Estimator 時(shí),model_fn 參數(shù)內(nèi)需要自己設(shè)計(jì)和開發(fā)的算法模型模塊。在這個(gè) model_fn 中,需要自行設(shè)計(jì)模型結(jié)構(gòu) (Scoring Function),然后用模型計(jì)算的 logit 和 label 來(lái)計(jì)算 Loss 和 Metrics,最后利用 Optimizer 來(lái)進(jìn)行模型的優(yōu)化。圖中,紅色虛曲線下方的部分為使用 TFR 框架的整個(gè)流程。

從圖中可以看出,其實(shí) TFR 框架主要是做了兩方面的工作:

把原有 model_fn 中 Scoring Function 和 Loss、Metrics 的計(jì)算進(jìn)行了拆分,然后將原有流程中我們自行實(shí)現(xiàn)的 Loss 和 Metrics 替換為 TFR 框架中的 LTR 相關(guān)的 Loss 和 Metrics。

為了配合 TFR 框架中的 LTR 相關(guān)的 Loss 和 Metrics 來(lái)實(shí)現(xiàn) LTR 的訓(xùn)練,訓(xùn)練數(shù)據(jù)需要以 listwise 的形式組織。但由于需要使用原有 model_fn 中 Scoring Function,在數(shù)據(jù)輸入的部分通過 LTR 框架中的數(shù)據(jù)轉(zhuǎn)換函數(shù)來(lái)對(duì)模型輸入的訓(xùn)練數(shù)據(jù)進(jìn)行轉(zhuǎn)化,使得以 listwise 形式組織的數(shù)據(jù)能夠利用 Scoring Function 來(lái)計(jì)算 logit。

所以,在 TFR 框架中,從數(shù)據(jù)到模型訓(xùn)練完整的流程是:訓(xùn)練數(shù)據(jù)-->用戶定義 feature_columns-->transform_fn 特征轉(zhuǎn)換-->Scoring Function 計(jì)算 score-->ranking_head 的 loss_fn 計(jì)算 loss–->ranking_head 的 eval_metric_fns 計(jì)算評(píng)價(jià)指標(biāo)–->optimizer 進(jìn)行優(yōu)化。

從使用層面看,TFR 框架就是做了上面兩件事,看起來(lái)似乎并不復(fù)雜。但是從框架開發(fā)的角度上看,為了實(shí)現(xiàn)上述流程,TFR 框架內(nèi)在 losses.py 和 metrics.py 中開發(fā)了多個(gè) LTR 相關(guān)的 Loss 和 Metrics,在 data.py 內(nèi)實(shí)現(xiàn)了讀取和解析以 listwise 形式組織數(shù)據(jù)的 tfrecords 文件的工具,還在 feature.py 中開發(fā)了兼容 TensorFlow 特征轉(zhuǎn)換函數(shù)的特征處理工具。最后通過 head.py 和 model.py 中的類對(duì)上述功能進(jìn)行了層層封窗和抽象,并與 TensorFlow Estimator 很好的結(jié)合起來(lái)。

具體一些來(lái)看,代碼組織上,TFR 框架主要這樣實(shí)現(xiàn)的:

第一:

tfr 通過 tfr.model.make_groupwise_ranking_fn 來(lái)對(duì) Estimator 的 model_fn 進(jìn)行了整體的封裝。我們?cè)械幕?TensorFlow 的開發(fā),在 Estimator 的 model_fn 這個(gè)參數(shù)內(nèi)需要定義包括 Loss、Metrics 在內(nèi)的完整的模型函數(shù),但是在tfr這里就不需要了,make_groupwise_ranking_fn 會(huì)整體返回一個(gè) Estimator 接收的 model_fn。

第二:

tfr.model.make_groupwise_ranking_fn 函數(shù)的第一個(gè)參數(shù) group_score_fn,這里是需要傳入我們?cè)O(shè)計(jì)和開發(fā)的模型結(jié)構(gòu) (Scoring Function),但是這個(gè)模型是之前我們提到的,只需要計(jì)算出 logit 的模型。

第三:

tfr.model.make_groupwise_ranking_fn 函數(shù)的第三個(gè)參數(shù) transform_fn,對(duì)應(yīng)調(diào)用 feature.py 中開發(fā)了兼容 TensorFlow 特征轉(zhuǎn)換函數(shù)來(lái)對(duì)以 listwise 形式組織的數(shù)據(jù)(由 data.py 中的工具讀取進(jìn)來(lái)的 Dataset)進(jìn)行轉(zhuǎn)換,確保輸入 Scoring Function 的數(shù)據(jù)格式正確。

第四:

tfr.model.make_groupwise_ranking_fn 函數(shù)的第四個(gè)參數(shù) ranking_head,對(duì)應(yīng)調(diào)用了 tfr.head.create_ranking_head 函數(shù),里面的三個(gè)參數(shù)分別定義了 loss、metrics 和 optimizer。loss 和 metrics 分別從 TFR 的 losses.py 和 metrics.py 中選擇我們需要的,而 optimizer 還是使用 TensorFlow 中的 optimizer。

以上就是 TFR 框架的整體架構(gòu),其實(shí)這個(gè)框架整體設(shè)計(jì)和代碼實(shí)現(xiàn),還是非常優(yōu)雅和巧妙的。

03 遇到的問題和實(shí)踐

TFR 框架的精巧設(shè)計(jì)和實(shí)現(xiàn)解決了我們基于 TensorFlow 做 LTR 算法中的 80% 到 90% 的問題。但是作為一個(gè) 2019 年才發(fā)布第一個(gè)版本的框架,TFR 還是存在一些待優(yōu)化的地方。

在分享 TFR 框架上的實(shí)踐前,首先介紹一下 TFR 框架的版本情況,目前 TFR 框架發(fā)布的版本中,0.1.x 版本支持 TensorFlow 1.X 版本,而 0.2.x 和 0.3.x 版本都只支持 TensorFlow 2.X 版本??紤]到 TensorFlow 2.X 版本還存在一些不確定性(如前段時(shí)間爆出使用 Keras 功能 API 創(chuàng)建的模型自定義層中的權(quán)重?zé)o法進(jìn)行梯度更新的問題。

(https://github.com/tensorflow/tensorflow/issues/40638),目前大量的算法開發(fā)人員其實(shí)還在用 TensorFlow 1.X 版本。我們目前也在使用 TensorFlow 1.X 版本,所以本文介紹的內(nèi)容,描述的問題和給出的解決方案,都是基于 TensorFlow 1.14 版本,對(duì)應(yīng)最新的 TFR 0.1.6 版本。

我們最開始使用 TFR 框架是 2019 年年中的時(shí)候,當(dāng)時(shí) TFR 框架的最新版本是 0.1.3。在使用的過程中,我們發(fā)現(xiàn)這個(gè)版本無(wú)法支持 sparse/embedding features。但是推薦的特征中,稀疏特征是不可或缺的一部分,并且可能大部分特征都是稀疏的,所以我們不得不放棄使用。但是很快,在稍后發(fā)布的 0.1.4 版本中這個(gè)問題就得到了解決。

我們正式開始使用 TFR 框架是從 0.1.4 版本開始的。但是到目前最新的 0.1.6 版本,還是有兩個(gè)我們不得不用的特性還是沒有在 TFR 0.1.x 版本上得到支持:

訓(xùn)練過程中無(wú)法實(shí)施正則化

如前所述,TFR 框架通過 make_groupwise_ranking_fn 來(lái)對(duì) Estimator 的 model_fn 進(jìn)行了整體的封裝。

我們自己設(shè)計(jì)和開發(fā)的模型 (Scoring Function),定義了網(wǎng)絡(luò),輸入輸出節(jié)點(diǎn),最后只需要輸出一個(gè) logit。這個(gè)和傳統(tǒng) TensorFlow Estimator 下 model_fn 模型開發(fā)不一樣,傳統(tǒng)的模型不僅僅要輸出一個(gè) logit,模型里面還需要定義如何計(jì)算 loss,怎樣優(yōu)化等內(nèi)容。但是 TFR 框架將這部分內(nèi)容已經(jīng)進(jìn)行了封裝和整合,所以這里的 score_fn 就不需要這些了。這就帶來(lái)一個(gè)問題,原來(lái)的模型設(shè)計(jì)中,我們可以直接拿出網(wǎng)絡(luò)中需要正則化的參數(shù),放在 loss 的計(jì)算中進(jìn)行優(yōu)化就可以了。但是使用 TFR 框架后,由于模型的設(shè)計(jì)和正向的計(jì)算在我們自己設(shè)計(jì)的模型函數(shù)中,而 loss 的計(jì)算在 TFR 框架內(nèi)(ranking_head 中的 loss_fn)進(jìn)行,這樣就沒辦法加入正則化項(xiàng)了。

已經(jīng)有人提出了這個(gè)issue(https://github.com/tensorflow/ranking/issues/52),但是也沒有很好的解決方案。

當(dāng)我們使用比較復(fù)雜的網(wǎng)絡(luò)時(shí),正則化是我們優(yōu)化過程中必不可少的一環(huán)。不加入正則化項(xiàng)進(jìn)行優(yōu)化,將無(wú)法避免的陷入到嚴(yán)重的過擬合中,如下圖所示:

為了能夠方便的利用 TFR 框架其他功能,我們深入 TFR 框架源碼中試圖解決正則化問題。正如上面分析,TFR 框架無(wú)法實(shí)施正則化的原因在于,模型 (Scoring Function) 是我們自己設(shè)計(jì)和開發(fā)的,但是 loss 的計(jì)算是 TFR 框架幫我們封裝好的。所以解決這個(gè)問題的核心就是如何在我們自己開發(fā)的模型中取出需要正則化的參數(shù)并傳遞給 TFR 框架中計(jì)算 loss 的部分就可以了。在 TFR 框架中,我們的模型計(jì)算好的 logit,是通過 ranking_head 的 create_estimator_spec 方法,把 logit,labels 與 TFR 框架中定義的 loss 函數(shù)整合一起,來(lái)完成整個(gè)優(yōu)化過程的。而在 0.1.5 版本的 TFR 框架中,這個(gè) create_estimator_spec 方法其實(shí)已經(jīng)支持傳入 regularization_losses 了(估計(jì)未來(lái)版本一定會(huì)支持),而由于初始化 ranking_model 對(duì)象(我們的 Scoring Function)。

GroupwiseRankingModel 不支持我們拿到自己模型的正則化項(xiàng),所以才無(wú)法實(shí)現(xiàn)。

理論上,只要我們重寫 TFR 源碼中 _GroupwiseRankingModel 類的 compute_logits 方法,就能夠讓 TFR 支持正則化了。具體的代碼上如何處理可以參考這里(如何解決 TensorFlow Ranking 框架中的正則化問題)。在加入正則化項(xiàng)后,跟上圖同樣的模型訓(xùn)練時(shí)就沒有那么嚴(yán)重的過擬合現(xiàn)象了:

特征輸入不支持 Sequence Features

前邊介紹過,在 TFR 框架中,模型輸入的特征分為 context_features 和 example_features,分別對(duì)應(yīng)于一次請(qǐng)求公共的特征(上下文特征、用戶特征等)和 item 獨(dú)有的特征。以 listwise 形式組織的數(shù)據(jù)(一般是由 data.py 中的工具讀取 tfrecords 文件生成的 Dataset)需要經(jīng)過 TFR 的特征轉(zhuǎn)換函數(shù) (_transform_fn) 轉(zhuǎn)換后,再送入到我們的模型 (Scoring Function) 中。

而目前的特征轉(zhuǎn)換函數(shù) (_transform_fn) 只支持 numeric_column、categorical_column 等經(jīng)典類型特征的轉(zhuǎn)換,尚不支持 sequence_categorical_column 類型特征的轉(zhuǎn)換。要解決的 TFR 無(wú)法支持 SequenceFeatures 問題,主要是對(duì) transform_fn 特征轉(zhuǎn)換這一步進(jìn)行調(diào)整。

在 transform_fn 中,特征轉(zhuǎn)換時(shí)用到的 tfr.feature.encode_listwise_features 和 tfr.feature.encode_pointwise_features 函數(shù)都在 feature.py 中定義。

這兩個(gè)函數(shù)的作用是在 listwise 或者 pointwise 模式下利用用戶定義的 feature columns 生成輸入模型的 dense tensors。這兩個(gè)函數(shù)都是調(diào)用 encode_features 函數(shù)來(lái)具體執(zhí)行 feature columns 生成輸入模型的 dense tensors,而 encode_features 函數(shù)只支持 numeric_column、categorical_column 等經(jīng)典類型特征的轉(zhuǎn)換,尚不支持 sequence_categorical_column 類型特征的轉(zhuǎn)換。通過這里的分析,我們可以看到特征轉(zhuǎn)換的過程全部是在 feature.py 中完成的,因此,解決 TFR 框架支持 SequenceFeatures 的問題核心思路就是修改 feature.py 中的幾個(gè)涉及特征轉(zhuǎn)換的函數(shù),使這些函數(shù)能夠?qū)崿F(xiàn) sequence_categorical_column 類型特征的轉(zhuǎn)換。

我們用到的 sequence_categorical_column 類型特征都在 context_features 中,所以我們的思路是,在處理特征的轉(zhuǎn)換時(shí),我先將 sequence_categorical_column 從其中拿出來(lái),處理完經(jīng)典特征的轉(zhuǎn)換后,單獨(dú)增加一段處理 sequence_categorical_column 轉(zhuǎn)換的代碼。待轉(zhuǎn)換完成后,再合并回 context_features 中,最終仍然保持 context_features 和 example_features 兩部分輸入到模型中。具體的代碼上如何處理可以參考這里。(讓 TensorFlow Ranking 框架支持 SequenceFeatures)

以上兩個(gè)問題的解決方案都涉及到 TFR 框架對(duì)源碼的修改。稍有不慎很容易引起穩(wěn)定性兼容性問題以及意想不到的 bug。為了盡量保障代碼的穩(wěn)定可靠,我們主要考慮了兩個(gè)主要的代碼組織原則:

第一,盡量縮小代碼改動(dòng)的范圍,所有的改動(dòng)都在盡可能少的幾個(gè)函數(shù)內(nèi)完成,不涉及 TFR 框架的其他模塊代碼。

第二,對(duì)于不涉及上述兩個(gè)問題的項(xiàng)目要做到完全的兼容。對(duì)于不使用 feature columns 的項(xiàng)目或者不使用正則化(應(yīng)該很少),保證原有邏輯和計(jì)算結(jié)果不變。

04 實(shí)驗(yàn):LTR 模型和原生模型的效果對(duì)比

究竟 TFR 框架訓(xùn)練的 LTR 排序模型對(duì)比同樣網(wǎng)絡(luò)結(jié)構(gòu)的原生模型,能夠帶來(lái)多大的效果提升呢,我們也專門做了線上實(shí)驗(yàn)來(lái)分析。選取了一個(gè)業(yè)務(wù)場(chǎng)景,取出三個(gè)流量組分別做以下模型:

BaseB:沒有排序服務(wù),為每個(gè)召回渠道配置優(yōu)先級(jí),系統(tǒng)按照優(yōu)先級(jí)給出推薦結(jié)果。

Ranking:TensorFlow 原生 Estimator 開發(fā)的排序算法。

TfrRankingB:基于TFR框架開發(fā)的 LTR 排序算法。

其中,TfrRankingB 相比較于 Ranking,模型結(jié)構(gòu)完全一致,也就是采用同一個(gè) Scoring Function,訓(xùn)練數(shù)據(jù)集也完全一致。但是由于 TfrRankingB 采用 TFR 框架訓(xùn)練的 LTR 模型,模型優(yōu)化上有以下幾處不同:

以上的幾處不同是模型訓(xùn)練方式和評(píng)估指標(biāo)上的不同,這也正是采用 TFR 框架帶給我們的。而訓(xùn)練數(shù)據(jù)和模型本身,包括正則化項(xiàng)在內(nèi),TfrRankingB 和 Ranking 是完全一樣。兩個(gè)模型訓(xùn)練后,與 BaseB 一起在線上真實(shí)流量環(huán)境下測(cè)試完整 4 天,其中 day_1 和 day_2 為平日,day_3 和 day_4 是休息日。線上實(shí)驗(yàn)考查用戶的 CTR(點(diǎn)擊率)、UCTR(用戶點(diǎn)擊率)和 LPLAY(長(zhǎng)播放占比),效果如下:

考慮到業(yè)務(wù)保密性,我們對(duì)橫縱坐標(biāo)的具體取值不做展示。但是結(jié)論顯而易見:

在 CTR 和 UCTR 指標(biāo)上,TfrRankingB 顯著優(yōu)于 Ranking,Ranking 顯著優(yōu)于 BaseB。

在 LPLAY 指標(biāo)上,TfrRankingB 優(yōu)于 Ranking,Ranking 優(yōu)于 BaseB。

總結(jié)

使用 TFR 框架后,可以非常方便的基于 TensorFlow 開發(fā) LTR 模型或者將現(xiàn)有模型改造為 LTR 模型。同時(shí),TFR 框架的模塊設(shè)計(jì)、代碼邏輯都非常巧妙,諸如高內(nèi)聚低耦合等大家常常掛在嘴邊的規(guī)范也實(shí)實(shí)在在的落在了代碼上。在接下來(lái)的工作中,逐步將現(xiàn)有的 TensorFlow 1.X 版本升級(jí)到 2.X 版本,并觀察 TFR 框架對(duì) TensorFlow 2.X 的支持情況。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4759

    瀏覽量

    97107
  • CTR
    CTR
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    14469
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    331

    瀏覽量

    61828

原文標(biāo)題:案例分享 | TensorFlow Ranking 框架在愛奇藝海外推薦業(yè)務(wù)中的實(shí)踐與應(yīng)用

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    SM4算法實(shí)現(xiàn)分享(一)算法原理

    SM4分組加密算法采用的是非線性迭代結(jié)構(gòu),以字為單位進(jìn)行加密、解密運(yùn)算,每次迭代稱為一輪變換,每輪變換包括S盒變換、非線性變換、線性變換、合成變換。加解密算法與密鑰擴(kuò)展都是采用32輪非
    發(fā)表于 10-30 08:10

    SM4算法原理及分享1

    SM4算法是一種分組密碼算法。其分組長(zhǎng)度為128bit,密鑰長(zhǎng)度也為128bit。加密算法與密鑰擴(kuò)展算法均采用32輪非線性迭代結(jié)構(gòu),以字(
    發(fā)表于 10-30 06:54

    AES加解密算法邏輯實(shí)現(xiàn)及其在蜂鳥E203SoC上的應(yīng)用介紹

    位的情況下,對(duì)應(yīng)的輪變換迭代次數(shù)為10輪;密鑰長(zhǎng)度為192位的情況下,對(duì)應(yīng)的輪變換迭代次數(shù)為12輪;密鑰長(zhǎng)度為256位的情況下,對(duì)應(yīng)的輪變換迭代次數(shù)為14輪。而AES密碼算法的輸入數(shù)據(jù)
    發(fā)表于 10-29 07:29

    如何使用恢復(fù)算法來(lái)實(shí)現(xiàn)開平方運(yùn)算

    ……qn。其中,n是總共需要迭代的次數(shù),而Q的每一位都由一次迭代產(chǎn)生。因此Qi可表示為以下的形式: ##### 開平方的恢復(fù)算法其實(shí)可以看作是使用多個(gè)不同除數(shù)的除法操作! 整體的操作流程如下: 如果
    發(fā)表于 10-24 13:33

    Newton-Raphson算法實(shí)現(xiàn)浮點(diǎn)除法(七)

    的牛頓迭代算法,一直逼近于f(x) = 0的點(diǎn),則有xi+1 = xi (2 - xi b),這樣我們能夠用下述步驟實(shí)現(xiàn)a/b: 1)把b移位,使其滿足0.5≤b<1; 2
    發(fā)表于 10-24 07:53

    e203除法器算法改進(jìn)(二)

    e203內(nèi)部除法操作使用加減交替迭代法進(jìn)行運(yùn)算,除幾個(gè)特殊運(yùn)算外,正常的除法操作需要33個(gè)周期才能輸出運(yùn)算結(jié)果,極大程度地影響了系統(tǒng)的性能。我們對(duì)e203的除法器進(jìn)行了新的算法實(shí)現(xiàn)并改進(jìn)。目前高性能
    發(fā)表于 10-22 06:11

    自主工具鏈助力端到端組合輔助駕駛算法驗(yàn)證

    算法介紹傳統(tǒng)組合輔助駕駛算法一般分為感知定位、決策規(guī)劃、控制三部分功能,將傳感器數(shù)據(jù)輸入后,經(jīng)算法處理,輸出控制指令。傳統(tǒng)組合輔助駕駛
    的頭像 發(fā)表于 08-26 17:41 ?3349次閱讀
    自主工具鏈助力端到端組合輔助駕駛<b class='flag-5'>算法</b>驗(yàn)證

    突破傳統(tǒng)桎梏,PPEC Workbench 開啟電源智能化設(shè)計(jì)新路徑

    功能板塊,打破了傳統(tǒng)電源設(shè)計(jì)枷鎖,重新定義了電源設(shè)計(jì)的新路徑,驅(qū)動(dòng)電源行業(yè)向智能高效革新。 1、 圖形化編程:降低設(shè)計(jì)門檻 ■ 圖形化編程: 平臺(tái)采用圖形化算法編程界面,摒棄傳統(tǒng)代碼編寫模式。 ■ 拖拽式
    發(fā)表于 08-26 11:40

    光耦的CTR是什么?

    晶體管輸出型光耦的性能,取決于其輸入?yún)?shù)、輸出參數(shù)和傳輸特性,傳輸特性決定著其電性能傳送能力和特點(diǎn)。其中最重要的參數(shù)為電流傳輸比(Currenttransferratio)CTR,設(shè)計(jì)電路時(shí),除了
    的頭像 發(fā)表于 06-13 14:32 ?741次閱讀
    光耦的<b class='flag-5'>CTR</b>是什么?

    防爆PDA終端看工業(yè)移動(dòng)設(shè)備:如何平衡安全與功能迭代?

    防爆PDA終端看工業(yè)移動(dòng)設(shè)備,平衡安全與功能迭代需要從設(shè)計(jì)標(biāo)準(zhǔn)、功能模塊化、硬件冗余、軟件動(dòng)態(tài)更新、認(rèn)證與測(cè)試五大維度構(gòu)建技術(shù)框架,并結(jié)合行業(yè)場(chǎng)景需求進(jìn)行動(dòng)態(tài)優(yōu)化。以下為具體分析:一、安全是功能
    的頭像 發(fā)表于 05-22 14:46 ?698次閱讀
    <b class='flag-5'>從</b>防爆PDA終端看工業(yè)移動(dòng)設(shè)備:如何平衡安全與功能<b class='flag-5'>迭代</b>?

    光耦的電流傳輸比CTR是什么?

    光耦的CTR是什么?晶體管輸出型光耦的性能,取決于其輸入?yún)?shù)、輸出參數(shù)和傳輸特性,傳輸特性決定著其電性能傳送能力和特點(diǎn)。其中最重要的參數(shù)為電流傳輸比(Current transfer ratio
    發(fā)表于 05-09 10:44

    經(jīng)緯恒潤(rùn)端到端組合輔助駕駛算法測(cè)試解決方案

    傳統(tǒng)組合輔助駕駛算法一般分為感知定位、決策規(guī)劃、控制三部分功能,將傳感器數(shù)據(jù)輸入后,經(jīng)算法處理,輸出控制指令。傳統(tǒng)組合輔助駕駛算法中的決策規(guī)
    的頭像 發(fā)表于 04-27 09:24 ?1059次閱讀
    經(jīng)緯恒潤(rùn)端到端組合輔助駕駛<b class='flag-5'>算法</b>測(cè)試解決方案

    永磁同步電機(jī)二階迭代學(xué)習(xí)控制

    針對(duì)永磁同步電機(jī)存在的周期性脈動(dòng)問題,提出了一種二階 PD-型迭代學(xué)習(xí)控制策略,該算法能夠 有效實(shí)現(xiàn)最優(yōu)跟蹤控制 。利用卷積的推廣 Young 不等式,獲得了系統(tǒng)跟蹤誤差在 Lebesgue-p
    發(fā)表于 03-26 14:28

    LTR3333高精度電壓基準(zhǔn)電機(jī)驅(qū)動(dòng)控制模塊驅(qū)動(dòng)芯片

    LTR33是一系列高精度電壓基準(zhǔn),具有業(yè)內(nèi)較低的噪聲(12μV p-p /V),非常低的溫度漂移系數(shù)(20ppm/℃)和高精度(± 0.15%),該器件的低電壓熱滯和低長(zhǎng)期電壓漂移可進(jìn)一步提高穩(wěn)定性
    發(fā)表于 03-14 09:33 ?0次下載

    芯科科技BG22E SoC賦能物聯(lián)網(wǎng)設(shè)備可持續(xù)供電

    根據(jù)IoT Analytics的報(bào)告數(shù)據(jù),預(yù)估到 2030 年,全球互聯(lián)設(shè)備的數(shù)量預(yù)計(jì)將超過400 億臺(tái)。健康可穿戴設(shè)備、智能恒溫器到工業(yè)、農(nóng)業(yè)和智慧城市傳感器,這些連接設(shè)備不斷通信并生成大量數(shù)據(jù)。
    的頭像 發(fā)表于 02-17 16:47 ?860次閱讀