神经网络学习5-非线性激活

非线性激活,即

这是最常用的

inplace=True 原位操作 改变变量本身的值,就是是否输入时若原本有值,是否更换

该函数就是表示:输入小于零时输出0,大于零时保持不变

代码如下:

c 复制代码
import torch
from torch import  nn
from torch.nn import ReLU

input=torch.tensor([[1,-0.5],[-1,3]])
input=torch.reshape(input,(-1,1,2,2))
print(input.shape)
class Tudui(nn.Module):
    def __init__(self) -> None:
        super(Tudui, self).__init__()
        self.relu1=ReLU()

    def forward(self,input):
        output=self.relu1(input)
        return output

tudui=Tudui()
output=tudui(input)
print(output)

非线性激活的作用就是引入非线性,

非线性激活函数(Non-linear Activation Function)是神经网络中的一个重要组成部分。它们被应用于每个神经元的输出,以引入非线性特性。具体来说,非线性激活函数将神经元的线性组合(即加权和加上偏置)转化为非线性输出。

引入非线性特性:没有非线性激活函数的神经网络只能表达线性关系,无论网络有多少层。通过引入非线性,神经网络可以处理复杂的非线性问题,从而能够逼近任何连续的函数。

增加模型的表达能力:非线性激活函数使得多层网络具有更强的表达能力,可以拟合复杂的数据分布,解决复杂的任务,如图像识别、自然语言处理等。

使得深度学习变得可能:深度神经网络中的层数很多,如果每一层都只是线性的叠加,那么无论多少层,最终的模型还是一个线性模型。非线性激活函数使得每一层的输出变得不同,从而使深度学习成为可能。

c 复制代码
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 SummaryWriter

data_transform=torchvision.transforms.Compose(
    [torchvision.transforms.ToTensor()]
)
test_data=torchvision.datasets.CIFAR10('./dataset',train=False,transform=data_transform,download=True)
dataloader=DataLoader(dataset=test_data,batch_size=64)
class Tudui(nn.Module):
    def __init__(self) -> None:
        super(Tudui, self).__init__()
        self.relu1=ReLU()
        self.sigmoid1=Sigmoid()

    def forward(self,input):
        output=self.sigmoid1(input)
        return output

writer=SummaryWriter('rules')

tudui=Tudui()
step=0
for data in dataloader:
    imgs,targets=data
    writer.add_images('input',imgs,step)
    output=tudui(imgs)
    writer.add_images('output', output, step)
    step=step+1

writer.close()
相关推荐
lizhihai_9910 小时前
股市学习心得—半导体12种核心材料
大数据·人工智能·学习
STLearner10 小时前
SIGIR 2026 | LLM × Graph论文总结(图增强LLM,GraphRAG,Agent,多模态,知识图谱,搜索,推
人工智能·python·深度学习·神经网络·机器学习·数据挖掘·知识图谱
研究点啥好呢10 小时前
快手产品经理面试题精选:10道高频考题+答案解析
人工智能·面试·产品经理
流年似水~10 小时前
脚本策划:拍之前先想清楚要剪什么
人工智能·程序人生·语言模型·ai编程
郑寿昌10 小时前
思维链三步法:让AI像人类一样推理
人工智能
圣殿骑士-Khtangc10 小时前
AI Agent架构演进与三层安全防御体系深度解析
人工智能
ZGi.ai10 小时前
智能客服系统设计:从工单分类到自动派单的工程实现
大数据·人工智能·分类
老陈说编程10 小时前
12. LangChain 6大核心调用方法:invoke/stream/batch同步异步全解析,新手也能轻松学会
开发语言·人工智能·python·深度学习·机器学习·ai·langchain
给自己做减法10 小时前
rag混合检索
人工智能·python·rag
sakiko_10 小时前
UIKit学习笔记3-布局、滚动视图、隐藏或显示视图
前端·笔记·学习·objective-c·swift·uikit