96SEO 2026-02-20 06:09 37
。

比如#xff0c;在一场电影中推断下一个时间点的场景#xff0c;这个时候仅依赖于现在的场景还不够#xff0…卷积神经网络相当于人类的视觉但是它并没有记忆能力所以它只能处理一种特定的视觉任务没办法根据以前的记忆来处理新的任务。
比如在一场电影中推断下一个时间点的场景这个时候仅依赖于现在的场景还不够还需要依赖于前面发生的情节。
这时候我们就需要一种具有记忆能力的神经网络循环神经网络就是这样一种神经网络它期望网络能够记住前面出现的特征并依据特征推断后面的结果而且整体的网络结构不断循环因此被称为循环神经网络。
循环神经网络通过使用带自反馈的神经元能够处理任意长度的时序数据。
简单循环网络是指只有一个隐藏层的神经网络在一个两层的前馈神经网络中连接存在相邻的层与层之间而循环神经网络增加了从隐藏层到隐藏层的反馈连接。
如果我们把每个时刻的状态都看作是前馈神经网络的一层的话循环神经网络可以看成是时间维度上权值共享的神经网络如下图所示
循环神经网络和普通神经网络多层感知机最大的差别在于普通神经网络中输出是有输入乘以权重加上偏置再进行非线性运算得到的也就是y
而在循环神经网络中增加了当前节点前面的节点的“记忆”也就是增加了前面节点的输出乘以权重的值写成公式就是y
循环神经网络的反向传播算法一般称为“随时间反向传播”算法该算法的主要思想是通过类似前向神经网络的错误反向传播算法来计算梯度。
该算法将循环神经网络看作是一个展开的多层前馈网络就像上面那个图展开后的样子其中“每一层”对应循环神经网络中的“每个时刻”这样循环神经网络就可以按照前馈网络中的反向传播算法计算梯度。
在“展开”的循环神经网络中所有层的参数是共享的因此参数的真实梯度是所有“展开层”的参数梯度之和。
循环神经网络可以应用到很多不同类型的机器学习任务。
根据这些任务的特点可以分为以下几种模式序列到类别模式、同步的序列到序列模式、异步的序列到序列模式。
基本就相当于输入一个序列数据输出这个序列数据的类别。
典型的就是输入一段话输出这句话的情感的积极的还是消极的。
每一时刻都有输入和输出且输入和输出长度相同比如词性标注每一个单词都需要标注其对应的词性标签。
再比如说DNA序列分析输入是一段DNA序列输出也是一段一一对应的DNA序列。
异步的序列到序列模式也被称为编码器-解码器模型输入和输出不需要有严格的对应关系也不需要保持相同的长度。
典型的就是机器翻译中文翻译成英文不需要每个单词都一一对应但是意思是相同的这就需要先对中文进行解码然后再对解码结果编码成英文。
下面我们看一个简单的例子这个例子是从《动手学深度学习》一书中选取的不过我改用了循环神经网络实现了一下。
range(1000):y.append(np.sin(0.01*i)np.random.normal(0,0.2))
可以看到features是一个996x4的矩阵我们要做的其实就是用每一行的4个数据去预测下一个值。
下面我定义了一个简单的神经网络
None:super().__init__()self.classifier
range(total):y.append(np.sin(0.01*i)np.random.normal(0,0.2))
tau代表用多少个数字来作为输入默认为4self.features
构建了596行4列的输入序列代表了596个训练样本每个样本有4个数字构成for
y[tau:]print((self.features))print((self.labels))print(y)def
transforms.Compose([transforms.ToTensor()])
DataLoader(datasettrainDataset,
SimpleNet()net.apply(init_weights)criterion
torch.optim.Adam(net.parameters(),
y.to(torch.float32)optimizer.zero_grad()outputs
因为标签值和输出都是一个张量所以损失值要求和loss.sum().backward()optimizer.step()print(Epoch
total_loss/len(trainDataset)))torch.save(net,
range(996):y.append(np.sin(0.01*i)np.random.normal(0,0.2))
可以看到跟原始数据相比预测出来的结果也是比较接近的。
下面尝试用循环神经网络来实现一下这个简单的功能
self.hidden_size).to(x.device)#print(x.shape
注意这里的out[:,-1,:]代表的是一个三维数组把第二维最后一个值取出来看一下代码会比较清晰
[[[1,2,3],[4,5,6],[7,8,9]],[[a,b,c],[d,e,f],[h,i,j]]]
采用循环神经网络其实也可以对图像进行分类我们以mnist数据集为例其实只要把mnist数据集看成是28x28的序列数据就行了一个序列由28个数据组成每个数据有28个元素构成。
self.hidden_size).to(x.device)out,
enumerate(data_loader):optimizer.zero_grad()#
loss.item()loss.backward()optimizer.step()print(Epoch
transformtransforms.ToTensor(),
transformtransforms.ToTensor())#
torch.utils.data.DataLoader(datasettrain_dataset,
torch.utils.data.DataLoader(datasettest_dataset,
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback