神经网络学习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()
相关推荐
快起来别睡了5 分钟前
LangChain 介绍及使用指南:从“会聊天”到“能干活”的 AI 应用开发工具
人工智能
AI数据皮皮侠15 分钟前
中国区域10m空间分辨率楼高数据集(全国/分省/分市/免费数据)
大数据·人工智能·机器学习·分类·业界资讯
静心问道23 分钟前
大语言模型能够理解并可以通过情绪刺激进行增强
人工智能·语言模型·大模型
运器12331 分钟前
【一起来学AI大模型】算法核心:数组/哈希表/树/排序/动态规划(LeetCode精练)
开发语言·人工智能·python·算法·ai·散列表·ai编程
aneasystone本尊34 分钟前
管理 Claude Code 的工具权限
人工智能
聚客AI1 小时前
大模型学习进阶路线图:从Prompt到预训练的四阶段全景解析
人工智能·llm·掘金·日新计划
晓13131 小时前
第七章 OpenCV篇——角点检测与特征检测
人工智能·深度学习·计算机视觉
strongwyy1 小时前
蓝牙墨水屏上位机学习(2)
学习
九皇叔叔1 小时前
(3)手摸手-学习 Vue3 之 变量声明【ref 和 reactive】区别
学习
DeepSeek大模型官方教程1 小时前
NLP之文本纠错开源大模型:兼看语音大模型总结
大数据·人工智能·ai·自然语言处理·大模型·产品经理·大模型学习