本文主要是介绍深度学习(十)——神经网络:非线性激活,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、Padding Layers简介
-
nn.ZeroPad2d:在输入的tensor数据类型周围用0进行填充
-
nn.ConstantPad2d:在输入的tensor数据类型周围用常数进行填充
这个函数的主要作用是对输入的图像进行填充,但里面所有功能都能用nn.Conv2d实现。
二、Non-linear Activations
非线性激活主要作用是为神经网络引入一些非线性特质
1. nn.ReLU介绍
class torch.nn.ReLU(inplace=False)
作用:
-
\(input\leq{0}\),\(output=0\)
-
\(input>0\),\(output=input\)
计算公式:
\[ReLU(x)=(x)^+=max(0,x) \]
inplace参数:
-
inplace=True,则会自动替换输入时的变量参数。如:input=-1,ReLU(input,implace=True),那么输出后,input=output=0
-
inplace=True,则不替换输入时的变量参数。如:input=-1,ReLU(input,implace=True),那么输出后,input=-1,output=0
2. nn.Sigmoid介绍
class torch.nn.Sigmoid(*args, **kwargs)
计算公式:
\[Sigmiod(x)=\sigma(x)=\frac{1}{1+exp(-x)} \]
三、代码栗子
1. nn.ReLU函数
import torch
import torchvision
from torch import nn
from torch.nn import ReLU,Sigmoid
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterinput=torch.tensor([[1,-0.5],[-1,3]])
output=torch.reshape(input,(-1,1,2,2))#构建神经网络
class Demo(nn.Module):def __init__(self):super(Demo,self).__init__()self.relu1=ReLU()def forward(self,input):output=self.relu1(input)return outputdemo=Demo()
output=demo(input)
print(output)"""
[Run]
tensor([[1., 0.],[0., 3.]])
"""
2. nn.Sigmoid函数
import torch
import torchvision
from torch import nn
from torch.nn import ReLU,Sigmoid
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterdataset=torchvision.datasets.CIFAR10("./dataset",train=False,download=True,transform=torchvision.transforms.ToTensor())
dataloder=DataLoader(dataset,batch_size=64)class Demo1(nn.Module):def __init__(self):super(Demo1,self).__init__()self.sigmoid=Sigmoid()def forward(self,input):output=self.sigmoid(input)return outputdemo1=Demo1()
writer=SummaryWriter("logs_sigmoid")
step=0
for data in dataloder:imgs,targets=datawriter.add_images("input",imgs,global_step=step)output=demo1(imgs)writer.add_images("output",output,global_step=step)step+=1
writer.close()
输出结果:
3. 非线性变换的目的
-
非线性变换的目的是为神经网络引入一些非线性特征,使其训练出一些符合各种曲线或各种特征的模型。
-
换句话来说,如果模型都是直线特征的话,它的泛化能力会不够好。
最后的最后
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。
因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
五、面试资料
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
这篇关于深度学习(十)——神经网络:非线性激活的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!