Easy Deep Learning——全连接层

什么是全连接层?它的作用是什么?

我们还是回到之前的草地场景中,假设现在的问题变成让机器判断该草地上是不是有一只猫存在,由于之前做的卷积操作,将草地分成了许多网格,如果场地上只有一只猫,那么只有一个网格是有猫的,而其他的网格都不存在猫,一个卷积核运算可以得到一个特征,如果按比例计算,显然存在猫的网格只有一个,大部分都是不存在的场景,那机器根据概率判断大概率会认定该草地上没有猫,这是不符合结果的。

 全连接层是这样做的

 好,那么接下来再用比较通俗的语言来总结,可以这样解释

在深度学习中,我们通常会用一个大型的神经网络来处理输入的数据,比如一张图片。全连接层就是这个神经网络中的一个重要组成部分,它会将上一层的所有神经元和当前层的所有神经元都连接起来,这样就能形成一个非常复杂的神经网络。


这个全连接层的作用就是将之前提取的特征(也就是上一层的神经元输出)传递给下一层,并且可以通过大量的数据训练,让网络自动学习如何识别不同的模式。这些模式可以是任何东西,比如识别手写数字、识别人脸、识别物体等等。


总之,全连接层就是深度学习中的一种神经网络层,它可以让神经网络更好地学习到数据中的模式,从而提高分类或回归任务的准确性。

pytorch中的全连接层 

在PyTorch中,全连接层可以通过nn.Linear模块实现。该模块提供了一个简单的方式来定义全连接层,只需要指定输入和输出的大小即可。

具体来说,nn.Linear接受两个参数,第一个参数是输入的大小(也就是上一层的神经元数量),第二个参数是输出的大小(也就是当前层的神经元数量)。在这个层中,所有输入的神经元都会连接到所有输出的神经元,因此这也是一个全连接层。

以下是一个使用nn.Linear定义全连接层的示例代码:

import torch
import torch.nn as nn

# 定义一个输入大小为10,输出大小为5的全连接层
fc = nn.Linear(10, 5)

# 构造一个大小为10的输入张量
input_tensor = torch.randn(10)

# 将输入传递给全连接层,并使用ReLU作为激活函数
output_tensor = nn.ReLU()(fc(input_tensor))

# 输出预测结果
print(output_tensor)

 在这个示例中,我们首先定义了一个输入大小为10,输出大小为5的全连接层。然后我们使用torch.randn构造了一个大小为10的输入张量,并将其传递给全连接层。在全连接层之后,我们使用ReLU作为激活函数对输出进行非线性变换,并得到最终的预测结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员陈子青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值