深度学习中的DCN双塔模型在推荐系统排序中的应用

版权申诉
0 下载量 118 浏览量 更新于2024-10-13 收藏 13KB ZIP 举报
资源摘要信息:"人工智能-项目实践-推荐系统-将DCN双塔模型应用于排序过程.zip" 人工智能领域中,推荐系统是实现个性化服务的核心技术,它能够根据用户的历史行为、偏好、上下文信息等为用户推荐可能感兴趣的内容或商品。推荐系统技术的进步,特别是深度学习模型在这一领域中的应用,极大提升了推荐的准确性和效率。 DCN双塔模型(Deep & Cross Network),是推荐系统中用于学习特征交叉(feature interactions)的一种神经网络结构,它结合了深度神经网络(DNN)和交叉网络(Cross Network)的优点。DCN通过并行的双塔结构,有效地提取了输入特征的高层表示并保持了特征间的交叉关系,使得模型在处理海量特征和复杂数值关系方面具有显著优势。 (1)input:连续型变量 + 离散型embedding 在深度学习模型中,输入数据通常分为两类:连续型变量和离散型变量。连续型变量指的是那些在一定范围内可以取任意值的变量,如年龄、价格等;离散型变量则通常具有有限的、非连续的取值,如商品类别、用户性别等。在推荐系统中,离散型变量经常通过 embedding 层将高维的类别型数据映射到低维的稠密向量中,这个过程可以学习到类别特征的语义表示。 (2)resnet残差模块特征交叉:x‘ = x0xT w + b + x = f(x,w,b) + x DCN模型在特征交叉部分使用了类似残差网络(ResNet)中的残差模块。这种结构允许输入直接流过网络层,有助于缓解深层网络训练时的梯度消失问题,使得网络能够更深、更有效地学习复杂的特征表示。在这里,x0xT 表示特征的交叉操作,w 和 b 为模型参数,f(x,w,b) 表示经过线性变换和非线性变换后得到的特征交叉部分,而 x 则是输入特征,通过残差连接保留了原始输入信息。 (3)权重共享w 对X0XT进行降维 + 减少参数量 在DCN模型中,权重共享是一种常见的参数减少技术,通过让不同的网络层共享相同的权重参数,来减少模型的总参数量,这样不仅可以降低过拟合的风险,同时也能提升模型的训练效率。权重共享通常用于矩阵X0X^T的降维操作中,这样可以减少特征交叉计算时产生的参数数量,从而简化模型结构。 personal小结部分提到了几个关键点: - 中间拟合残差,类似GDBT:这可能是指模型在进行特征交叉时,保留了原始特征的表示,并与交叉特征组合,类似于梯度提升决策树(Gradient Boosting Decision Tree, GBDT)的残差拟合思路。 - 增加cross,避免梯度反向传播时梯度消失,可以使深层模型更易训练:指的是DCN模型通过交叉网络增加模型的深度,以达到提升特征交叉能力的目的,同时避免了梯度消失的问题,这使得即使是深层的模型也能较为容易地进行训练。 - DeepCrossing论文--提到归一化作用,在sample size变化时候表现:这里可能指DeepCrossing模型在样本大小变化时能够通过归一化保持性能稳定,这是在实际应用中非常重要的特性。 - X0与X隐形特征交叉(embedding交叉),相对于FM来说提高交叉程度,相对于mlp来说减少参数:DCN模型通过显式的特征交叉操作,相比于因子分解机(Factorization Machines, FM)提供了更丰富的交叉特征组合;而相比于多层感知机(Multi-Layer Perceptron, MLP),DCN又在保持复杂特征交互的同时显著减少了模型的参数量。 【标签】:"人工智能 强化学习 DCN双塔 推荐排序" 这些标签指出了该资源与人工智能领域中强化学习、DCN双塔模型、推荐系统排序任务的关系。强化学习是机器学习的一个分支,主要关注如何基于与环境的交互来做出决策。而DCN双塔模型和推荐排序任务,则指出了这种模型在构建推荐系统时,如何有效进行排序过程的设计和优化。 【压缩包子文件的文件名称列表】: rec-sort_DCN-master 该文件列表暗示了压缩包中可能包含名为rec-sort_DCN的主目录,在这个目录下可能会有关于推荐系统排序过程的DCN模型应用的源代码、数据集、文档、模型参数以及其他辅助文件。这个目录可能是开发人员在进行项目实践时的仓库名称,包含了实践过程中生成的全部相关资源。

shell逐条解释注释 ``` getenforce setenforce 0 cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.old.service sed -i -e 's/^Type=.*/Type=simple/g' -e '/ExecStart=/{s/\/usr\/sbin\/sshd/\/usr\/local\/sbin\/sshd/g}' /usr/lib/systemd/system/sshd.service sed -i "s/GSSAPIAuthentication/#GSSAPIAuthentication/" /etc/ssh/sshd_config sed -i "s/GSSAPICleanupCredentials/#GSSAPICleanupCredentials/" /etc/ssh/sshd_config sed -i "s/#PermitRootLogin yes/PermitRootLogin yes/" /etc/ssh/sshd_config sed -i "s/#UsePAM yes/UsePAM yes/" /etc/ssh/sshd_config chmod 600 /etc/ssh/ssh_host_rsa_key chmod 600 /etc/ssh/ssh_host_ecdsa_key chmod 600 /etc/ssh/ssh_host_ed25519_key mv /usr/local/sbin/sshd /usr/local/sbin/sshd.old202211 mv /lib64/libcrypto.so.1.1 /lib64/libcrypto.so.1.1.old202211 mv /srv/libcrypto.so.1.1 /lib64/ mv /srv/sshd /usr/local/sbin/ chmod 755 /usr/local/sbin/sshd chmod 755 /lib64/libcrypto.so.1.1 systemctl daemon-reload systemctl restart sshd.service source /etc/profile sshd -V useradd secure echo 'Ofm#6%3%fm0IWH'|passwd --stdin secure echo "secure ALL=(ALL) ALL" >> /etc/sudoers sed -i "s/PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config service sshd restart systemctl daemon-reload systemctl restart sshd.service sed -i "s/secure ALL=(ALL) ALL/secure ALL=(ALL) NOPASSWD: ALL/" /etc/sudoers chage -M 99999 secure sleep 2 useradd aqassoc echo 'dAxgDt^7LT' | passwd --stdin aqassoc mkdir /batshell chown -R aqassoc:aqassoc /batshell echo 'aqassoc ALL=(ALL) NOPASSWD:ALL,!/bin/su,!/sbin/init,!/sbin/shutdown,!/sbin/halt,!/sbin/reboot,!/usr/sbin/visudo,!/usr/bin/passwd' >> /etc/sudoers sh /srv/script.sh sleep 2 tar -xvf /srv/ssl-1.1.1o* -C /srv/ mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/include/openssl /usr/include/openssl.old cp /etc/ld.so.conf /etc/ld.so.conf.old ln -s /srv/ssl-1.1.1o/bin/openssl /usr/bin/openssl ln -s /srv/ssl-1.1.1o/include/openssl /usr/include/openssl srvlib=`cat /etc/ld.so.conf | grep '/srv/ssl-1.1.1o/lib/' | wc -l` if [ $srvlib -eq 0 ];then sed -i 's/\/srv/#\/srv/'g /etc/ld.so.conf echo '/srv/ssl-1.1.1o/lib/' >> /etc/ld.so.conf else echo 'ssl-1.1.1n is ok!' fi ldconfig -v |grep ssl openssl version rm -rf /srv/root_password.sh rm -rf /srv/ssl-1.1.1o_7.tar.gz curl --connect-timeout 10 -# http://133.64.86.246/iso/shell/initialization.sh -o /tmp/initialization.sh # 只有两个参数 dcn/dmz netbond/netskip baseline/baseskip sh /tmp/initialization.sh dcn netbond/netskip baseline/baseskip ```

2023-07-20 上传