欢迎光临
我们一直在努力

神经网络的搭建

之前a哥发过一些在深度学习领域常用的激活函数,有读者在后台私信问怎么使用这些激活函数。那么今天a哥就带大家看看如何利用这些去搭建神经网络。

以两个简单的例子入手,那么在搭建开始之前简要介绍一下应用场景。

场景一:金融风控与反欺诈系统

背景描述:

某金融机构正在开发新一代反欺诈模型。该系统需要处理用户的交易行为特征,通过多层感知机(MLP)提取非线性特征,以判断交易风险。
题目:【核心模块】交易风险评分器构建 
题目要求:
为了快速验证新提出的特征工程方案,我们需要在训练阶段先构建一个轻量级的基准模型(Baseline)。请基于 PyTorch 框架完成以下任务:
网络架构定义:构建一个全连接神经网络(MLP),其结构必须严格遵循以下配置:
第一隐藏层:接收维度为 2 的特征向量,映射到 3 个神经元,并使用 ReLU 激活函数。
第二隐藏层:接收上一层输出的 3 维数据,映射到 8 个神经元,使用 ReLU 激活函数。
第三隐藏层:接收上一层输出的 8 维数据,映射到 2 个神经元(用于输出风险得分或类别概率),使用 ReLU 激活函数。

为了增强可读性,作者就把注释以及步骤写在代码行里。

大致流程

首先当然是导包,导包好之后定义一个model 

class Model(torch.nn.Module):
# 在类里面定义两个方法 一个init一个forward
def __init__(self):
# 利用super继承父类的所有方法
super().__init__()
# 按照需求,第一个隐藏层是2×3
self.linear1 = torch.nn.Linear(2,3)

# 第二个隐藏层是3×8
self.linear2 = torch.nn.Linear(3,8)
# 最后应该要创建一个输出层,但是这个场景里第三个隐藏层就结束了,所以第三个可以当作是输出层
# 第三个隐藏层是8×2
self.out = torch.nn.Linear(8,2)

# 定义前向传播(就是演示输入的特征x的传播路径)
def forward(self,x):
#特征进入第一个隐藏层,并由relu处理
x = self.linear1(x)
x = torch.relu(x)
# 特征进入第二个隐藏层
x = self.linear2(x)
x = torch.relu(x)
# 最后特征进入第三层也就是输出层
x = self.out(x)
return torch.relu(x)

以上就是搭建了一个神经网络,后续还要对这个模型进行训练预测评估。

场景二:医疗影像辅助诊断平台
背景描述:

在一个医疗影像分析项目中,医生需要对患者的病理切片进行多类别诊断。系统接收到的预处理图像经过卷积层提取后,展平(Flatten)为长度为 6 的特征向量。你需要设计最后的分类头(Classification Head)。
题目:【应用设计】多病种病理分类器设计
题目要求:
作为算法工程师,你需要为上述系统编写一个全连接分类网络的后半部分。已知输入数据已经过预处理,特征维度固定为 6

大致流程:

需求分析知道我们这个是分类任务并且输出固定为8,并且输入特征数也固定为6。

中间隐藏层数的需求没有告诉我们,但是这里acc哥告诉大家,理论上中间的层数越多模型学习的能力越强,但是太多层数反而会造成过拟合。

class Model(nn.Module):
def __init(self):
super().__init()
# 输入的是6个,输出的是8个
self.linear1 = nn.Linear(6,128)
self.linear2 = torch.nn.Linear(128,256)
self.linear3 = torch.nn.Linear(256,64)
self.linear4 = torch.nn.Linear(64,16)
self.out = torch.nn.Linear(16,8)

def forward(self,x):
x = self.linear1(x)
x = torch.relu(x)

x = self.linear2(x)
x = torch.relu(x)
x = self.linear3(x)
x = torch.relu(x)
x = self.linear4(x)
x = torch.relu(x)
# 特征进入输出层
x = self.out(x)
# 因为场景需求是分类任务,所以最后输出层输出的是概率。
return torch.softmax(x,dim=-1)

是不是以为上述代码没有错误。其实在这里作者犯了一个很低级但是容易错的,就是把Model类里的构造方法__init__(self)写错成__init(self)

如果你完整得看完了作者的两个场景并创建出来与之类似的模型。那么恭喜你,你已经一只脚踏进神经网络的搭建了。

如果觉得本文对你有帮助的话,非常希望观众姥爷们可以一键三连!你的点赞收藏将是我持续创作的动力。

赞(0)
未经允许不得转载:171主机测评 » 神经网络的搭建
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址