记一次遇到的反爬虫和解决方案 核心问题 在该网站内通过点击可以进入该网页,但是直接在浏览器中输入该网页的网址则会跳转触发验证码机制,如果已经进入了该网页,通过刷新可以继续访问该网页。 原因分析与解决方法 无法直接通过浏览器输入网址进入该网页的原因可能有如下几点: 直接访问网址没有Cookie,因此会被阻拦。 通过点击进入网页和刷新网页可以正常访问,而无法直接通过网址访问,可能是请求头的差异。 通过点击可以访问网页,可能是网站 2025-11-05 编程 > Python > 网络爬虫 #编程 #Python #自动化 #爬虫
LightGCN 引入 LightGCN是一种高效的图卷积网络(GCN)变体,专为推荐系统设计,通过简化传统GCN的结构来提升性能和训练效率。 传统GCN在推荐系统重引入了特征变换(线性层)和激活函数,对于用户\(u\)和商品\(i\) \[ \begin{aligned} &\mathbf{e}_\mathrm{u}^{(l+1)} = \sigma\left( \mathbf{e}_\mathrm{u} 2025-05-11 深度学习 > 理论基础 #人工智能 #神经网络 #深度学习 #图神经网络 #推荐算法
PyG进阶 MassagePassing 引入 MassagePassing是PyG(PyTorch Geometric)库中的一个核心类,它为实现基于消息传递机制的图神经网络(GNN)提供了一个通用的框架。 消息传递机制是图神经网络的基础,其核心思想是通过节点间的消息传递和聚合来更新节点的特征表示。具体步骤如下: 消息生成(Message Generation):每个节点会根据自身的特征和其邻居节点的特征 2025-05-07 深度学习 > PyTorch #人工智能 #神经网络 #深度学习 #PyTorch #PyG #图神经网络
PyG 介绍 PyG(PyTorch Geometric)是一个基于PyTorch开发的图神经网络(GNN)专用库,旨在简化图结构数据的深度学习任务,能够与PyTorch无缝兼容。 PyG提供很多种GNN层,包括:GCNConv(图卷积)、GATConv(图注意力)、SAGEConv(GraphSAGE)、TransformerConv(图Transformer)等。 PyG内置Cora、Pubmed等经 2025-05-02 深度学习 > PyTorch #人工智能 #神经网络 #深度学习 #PyTorch #PyG #图神经网络
异构图GCN 异构图 异构图是由多种类型的节点(Node)和边(Edge)组成的复杂图结构。 比如: 节点类型:社交网络中的用户、帖子、标签 边类型:用户关注用户、用户发布帖子、帖子包含标签 异构图GCN 引入 传统GCN中假设图中所有节点和边类型相同,通过共享权重聚合邻居信息。这种方法在异构图中难以适用,会造成语义混淆:如果将异构图中所有的节点和边都当成同一种类型,由于不同类型的节点的特征空间差异极大,直接混 2025-05-02 深度学习 > 理论基础 #人工智能 #神经网络 #深度学习 #图神经网络
图神经网络和GCN 图神经网络 为什么使用图神经网络 传统神经网络(如CNN、RNN)难以直接处理非欧几里得结构数据(图结构数据)(如社交网络、分子结构)。现实世界中的许多数据都可以表示为图结构,如社交网络、生物网络、知识图谱、分子结构等,图神经网络能够直接对图结构数据进行建模,自动学习节点之间的复杂关系和依赖,捕捉数据中的全局和局部结构信息。 图神经网络的引入 对于一个图结构,其中包含了许多节点和边,我们认为每个 2025-04-30 深度学习 > 理论基础 #人工智能 #神经网络 #深度学习 #图神经网络
使用Transformer构建机器翻译模型 数据读取和处理 根据之前的使用注意力机制的Seq2Seq模型,使用其数据读取和处理的部分: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818 2025-04-26 深度学习 > PyTorch #人工智能 #神经网络 #深度学习 #PyTorch #NLP
梯度裁剪 引入 梯度裁剪(Gradient Clipping)是一种在深度学习中用于防止梯度爆炸的技术。原理是通过对梯度进行限制,将梯度的大小控制在一个合理的范围内,避免梯度出现过大的极端情况,从而保证模型训练的稳定性和有效性。 L2范数裁剪 设模型参数为\(\theta\),梯度为\(\nabla\theta\),阈值为\(c\),则 总梯度L2范数: \[ \mathrm{total\_norm} 2025-04-26 深度学习 > 理论基础 #人工智能 #神经网络 #深度学习
学习率预热和学习率衰减 学习率预热 学习率预热(Learning Rate Warmup),是一种在深度学习训练过程中调整学习率的策略。 在训练开始时,先使用一个较小的学习率,然后逐步将学习率增加到预设的正常学习率水平。这个先使用较小学习率然后逐步增加学习率到正常水平的过程就叫做学习率预热。 学习率预热 学习率预热的原因: 避免模型初期不稳定:在训练刚开始时,模型的参数是随机初始化的。如果此时使用较大的学习率,可 2025-04-25 深度学习 > 理论基础 #人工智能 #神经网络 #深度学习
Transformer 模型 上图是Transformer结构(包括中文和英文版),下面会解析结构并使用PyTorch进行实现。 模型结构 层规范化(LayerNorm) 层规范化(Layer Normalization)是一种深度神经网络中的规范化技术,由Jimmy Lei Ba 等人在2016年提出,旨在解决训练过程中的内部协变量偏移(Internal Covariate Shift)问题。其核心思想是对单个样本 2025-04-23 深度学习 > 理论基础 #人工智能 #神经网络 #深度学习 #NLP