96SEO 2026-02-20 00:34 37
。

你可以选择直接骑到目的地#xff0c;也可以选择在途中设置几个“中转站”#xff0c;每个中转站都会告诉你如何朝着目的地前进。
在传统的神经网络中#xff0c;就好比只…一.举例通俗解释ResNet思想
假设你正在学习如何骑自行车并且想要骑到一个遥远的目的地。
你可以选择直接骑到目的地也可以选择在途中设置几个“中转站”每个中转站都会告诉你如何朝着目的地前进。
在传统的神经网络中就好比只能选择直接骑到目的地。
当你的目的地很远时可能会出现骑不到目的地的情况因为网络在训练过程中无法有效地传递信息导致梯度消失或梯度爆炸。
而ResNet则是在途中设置多个**“残差块”作为中转站**。
每个残差块相当于一个中转站。
假设f(x)是最终求得的函数。
ResNet把函数拆成了f(x)
四.为什么ResNet非要设计成先求一个中转的函数g(x)然后再加上x呢
假如输入的x已经是最好的结果如果加深网络效果会变差即把最好的结果x输入到新一层的网络g(x)中效果会变差。
那么我们直接令g(x)0,相当于舍弃掉影响最优结果的网络块。
最终得到的f(x)
对yF(x)x求偏导发现会出现画圈的地方梯度消失是累积的乘积中出现接近0的数影响梯度的结果梯度爆炸是累积乘积结果出现指数级增长。
多了画圈地方的操作就打破了累乘结果不容易出现梯度消失与爆炸。
__init__(self,input_channels,num_channels,use_1x1convFalse,strides1):super().__init__()self.conv1
nn.Conv2d(input_channels,num_channels,kernel_size3,padding1,stridestrides)self.conv2
nn.Conv2d(num_channels,num_channels,kernel_size3,padding1)if
nn.Conv2d(input_channels,num_channels,kernel_size1,stridestrides)else:self.conv3
nn.BatchNorm2d(num_channels)self.bn2
nn.BatchNorm2d(num_channels)def
F.relu(self.bn1(self.conv1(X)))Y
此代码生成两种类型的网络:一种是当use_1x1convFalse时,应用ReLU非线性函数之前,
将输入添加到输出。
另一种是当use_1x1convTrue时,添加通过1
Residual(input_channels3,num_channels3)
使用1x1卷积控制通道数使用strides2减半输出的高和宽,num_channels是输出的通道数
Residual(input_channels3,num_channels6,
num_residuals,first_blockFalse):blk
first_block:blk.append(Residual(input_channels,
strides2))else:blk.append(Residual(num_channels,
接着在ResNet加入所有残差块,这里每个模块使用2个残差块。
nn.Sequential(*resnet_block(64,
nn.Sequential(*resnet_block(64,
nn.Sequential(*resnet_block(128,
nn.Sequential(*resnet_block(256,
最后,与GoogLeNet一样,在ResNet中加入全局平均汇聚层,以及全连接层输出。
7卷积层和最后一个全连接层,共有18层。
因此,这种模型通常被称为ResNet-18。
b5,nn.AdaptiveAvgPool2d((1,1)),nn.Flatten(),
观察一下ResNet中不同模块的输入形状是如何变化的。
在之前所有架构中,分辨率降低,通道数量增加,直到全局平均汇聚层聚集所有特征。
layer(X)print(layer.__class__.__name__,output
nn.Conv2d:nn.init.xavier_uniform_(m.weight)net.apply(init_weights)print(training
torch.optim.SGD(net.parameters(),
d2l.Accumulator(3)net.train()for
enumerate(train_iter):timer.start()optimizer.zero_grad()X,
y)l.backward()optimizer.step()with
test_accbest_test_acc:best_test_acc
d2l.load_data_fashion_mnist(batch_size,
int(run_time)60:print(f{round(run_time,2)}s)
else:print(f{round(run_time/60,2)}minutes)牛逼比之前所有的模型准确率都高。
https://www.bilibili.com/video/BV1cM4y117ob/?spm_id_from333.337.search-card.all.clickvd_sourceebc47f36e62b223817b8e0edff181613
https://blog.csdn.net/sunny_yeah_/article/details/89430124
作为专业的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