当前位置: 代码网 > 科技>人工智能>机器学习 > 深度学习(十一)——神经网络:线形层及其他层介绍

深度学习(十一)——神经网络:线形层及其他层介绍

2024年08月01日 机器学习 我要评论
内含RNN、LSTM等函数,主要在nlp领域用的比较多官方文档:bias(bool)\(in\_features=d\),即指的是in_features的个数\(out\_features=L\),即指的是out_features的个数\(x_1,\dots,x_i,\dots,x_d\)每个指向\(g_1\)的箭头上,均有:其中,\(b_i\)代表偏置,参数\(bias=True\),则加上\(b\);\(bias=False\),则不加\(b\)

一、正则化层中nn.batchnorm2d简介

主要作用:对输入函数采用正则化。正则化的主要作用是加快神经网络的训练速度。

class torch.nn.batchnorm2d(num_features, eps=1e-05, momentum=0.1, affine=true, track_running_stats=true, device=none, dtype=none)

输入参数:

  • num_features: 形状为\((n, c, h, w)\)

  • 其他参数默认即可

举例:

# with learnable parameters
m = nn.batchnorm2d(100)
# without learnable parameters
m = nn.batchnorm2d(100, affine=false)
input = torch.randn(20, 100, 35, 45)
output = m(input)

该函数用得不多

二、其他层简介

1. recurrent layers(recurrent层)

内含rnn、lstm等函数,主要在nlp领域用的比较多

2. transformer layers

3. linear layers(线性层)

nn.linear

class torch.nn.linear(in_features, out_features, bias=true, device=none, dtype=none

(1)参数介绍及计算方法

参数介绍:

  • in_features

  • out_features

  • bias(bool)

线性层具体参数解释如下图:

  • \(in\_features=d\),即指的是in_features的个数

  • \(out\_features=l\),即指的是out_features的个数

计算\(g\)的方法(以上图\(g_1\)为例):

  • \(x_1,\dots,x_i,\dots,x_d\)每个指向\(g_1\)的箭头上,均有:

\[k_i*x_i+b_i \]

  • 其中,\(b_i\)代表偏置,参数\(bias=true\),则加上\(b\);\(bias=false\),则不加\(b\)

  • 在每次训练神经网络的过程中,均会调整\(k_i\)、\(b_i\)的值,直到它变成一个合适的数值

  • 由此可得:

\[g_1=\sum^{d}_{i=1}{k_ix_i+b_i} \]

(2)代码示例

以典型的_vgg16 model_网络结构为例:

因此,设置_in_features=4096; out_feature=1000_

  • 下面代码以一个尺寸为_n×n_的图像为例,先将图像展开成一行,即_1×_\(n2\)的尺寸。最后将_1×_\(n2\)尺寸的图像通过线性层,转化为_1×10_尺寸的图像。
import torch
import torchvision
from torch.utils.data import dataloader
from torch import nn
from torch.nn import linear

dataset=torchvision.datasets.cifar10("./dataset",train=false,download=true,transform=torchvision.transforms.totensor())
dataloder=dataloader(dataset,batch_size=64)

# for data in dataloder:
#     imgs,targets = data
#     #print(imgs.shape)   #[run] torch.size([64, 3, 32, 32])
#
#     #我们的目标是把图像尺寸变成1×1×1×根据前面计算得出的数,下面进行转换
#     output=torch.reshape(imgs,(1,1,1,-1))
#     #print(output.shape)  #[run] torch.size([1, 1, 1, 196608])

#根据上面output得出的196608尺寸数据,构造神经网络结构
class demo(nn.module):
    def __init__(self):
        super(demo,self).__init__()
        self.linear1=linear(in_features=196608,out_features=10)

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

#调用神经网络
demo=demo()

for data in dataloder:
    imgs,targets=data
    output=torch.reshape(imgs,(1,1,1,-1))

    output=demo.forward(output)
    print(output.shape)  #[run] torch.size([1, 1, 1, 10])

由此,成功将_1×1×1×196608_尺寸的图像转化为_1×1×1×10_尺寸的图像

注意:

  • 可以用torch.flatten() 函数将图像展开成一行,即替换第33行的代码output=torch.reshape(imgs,(1,1,1,-1)),为:
output=torch.flatten(imgs)
# print(output.shape)  #[run] torch.size([196608])

  • torch.flatten()torch.reshape() 的区别:

    • torch.flatten更方便,可以直接把图像变成一行

    • torch.reshape功能更强大,可任意指定图像尺寸

4. dropout layers

主要作用:在训练的过程中随机把一些input(输入的tensor数据类型)变成0。变成0的概率由\(p\)决定

class torch.nn.dropout(p=0.5, inplace=false)

  • 变成0的主要原因是防止过拟合

5. sparse layers

nn.embedding

主要用于自然语言处理中

class torch.nn.embedding(num_embeddings, embedding_dim, padding_idx=none,
      max_norm=none, norm_type=2.0, scale_grad_by_freq=false, sparse=false,
      _weight=none, _freeze=false, device=none, dtype=none)

6.distance functions

主要作用:计算两个值之间的误差,并指定误差的衡量标准

7. loss function

主要作用:计算loss的误差大小

三、调用pytorch中的网络模型

现在我们已经学会如何自己搭建神经网络模型了,下面介绍pytorch中神经网络模型的调用方法。根据官方文档,我们可以调用自己需要的网络结构,而不需要自己写代码

1.图像方面的网络结构

2.语音方面的网络结构

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 ai 学习资料已经上传csdn,朋友们如果需要可以微信扫描下方csdn官方认证二维码免费领取【保证100%免费

一、全套agi大模型学习路线

ai大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套ai大模型报告合集

这套包含640份报告的合集,涵盖了ai大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对ai大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、ai大模型经典pdf籍

随着人工智能技术的飞速发展,ai大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如gpt-3、bert、xlnet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些pdf籍就是非常不错的学习资源。

img

四、ai大模型商业化落地方案

img

五、面试资料

我们学习ai大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
在这里插入图片描述

这份完整版的大模型 ai 学习资料已经上传csdn,朋友们如果需要可以微信扫描下方csdn官方认证二维码免费领取【保证100%免费

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com