Linear FC FFN MLP层学习

编程入门 行业动态 更新时间:2024-10-23 02:11:19

Linear <a href=https://www.elefans.com/category/jswz/34/1714651.html style=FC FFN MLP层学习"/>

Linear FC FFN MLP层学习

一、Linear(线性层)
即神经网络的线性层,用于将输入映射到下一层的特征空间。它接受一个输入并与该层的权重的转置相乘。线性层没有激活函数。
公式:
y = x*W^T + b,其中 W 是权重矩阵,b 是偏置向量。
pytorch的线性层代码示例如下:

import torch
import torch.nn as nn# 定义线性层
linear_layer = nn.Linear(in_features=10, out_features=5)# 创建输入
input_data = torch.randn(5, 10)  # 假设输入维度为10# 应用线性变换
output = linear_layer(input_data)
print(output)作者:智慧搬砖者
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

二、FC
FC全连接层。全连接层的每个神经元和上一层的所有神经元都有连接,用于把前面提取到的特征综合起来。全连接层通常位于神经网络的最后一层,应用于分类和回归任务。
全连接层的pytorch代码实现如下:

import torch
import torch.nn as nn# 定义模型参数
input_size = 10 # 输入维度
output_size = 1 # 输出维度# 创建全连接层
fc_layer = nn.Linear(input_size, output_size)# 创建输入数据
input_data = torch.randn(1, input_size) # 假设输入维度为10# 应用全连接层
output = fc_layer(input_data)
print(output)

三、FFN
Fast-forward network(前馈神经网络) 它的神经元只与下一层的神经元连接,没有循环或反馈的连接,可用于分类、回归、聚类任务。它的网络结构包含输入层、隐藏层、输出层。
用pytorch实现一个简单的前馈神经网如下:

import torch
import torch.nn as nn
input_size = 784 # 输入层的大小,等于图片的像素数
hidden_size = 500 # 隐藏层的大小,可以自己设定
num_classes=10
# 定义网络结构
model = nn.Sequential(nn.Linear(input_size, hidden_size), # 输入层到隐藏层,线性变换nn.ReLU(), # 隐藏层的激活函数,使用ReLUnn.Linear(hidden_size, num_classes) # 隐藏层到输出层,线性变换
)
inputs = torch.randn(100, 784);
outputs = model(inputs)
print(outputs.shape) #(100,10)

四:MLP
MLP通常只包含全连接层和激活函数层,而FFN可以包含其他类型的层,如卷积层、池化层、归一化层、残差连接层等2。FFN也可以看作是一种广义的MLP,即任何前馈神经网络都可以看作是一个MLP,但不是所有的MLP都是FFN。

更多推荐

Linear FC FFN MLP层学习

本文发布于:2023-11-16 23:05:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1634580.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:FC   Linear   MLP   FFN

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!