机器学习第十四课--神经网络

总结起来,对于深度学习的发展跟以下几点是离不开的:

  • 大量的数据(大数据)

  • 计算资源(如GPU)

  • 训练方法(如预训练)

    很多时候,我们也可以认为真正让深度学习爆发起来的是数据和算力,这并不是没道理的。

由于神经网络是深度学习的基础,学习神经网络本身是非常必要的。神经网络中所涉及到的前向传播、反向传播等技术以及梯度消失等现象都会出现在其他深度学习模型如深度神经网络、卷积神经网络、RNN、LSTM中。我们强烈先学好神经网络再去接触深度学习相关的技术,这样会事半功倍。

神经网络,首先是线性变换,然后通过激活函数非线性化

一.线性激活函数

线性激活函数实际上是没作用的,即便加了也等于什么都没加,因为它对信号不会做任何的处理。这有点类似于管道,来了信号之后原封不动地输出出去。之所以提出线性激活函数,其主要目的是为了完整性。那什么会用到线性激活函数呢?通常在,深度模型中的最后一层会用到。另外,如果我们没有叠加任何的激活函数到神经元,默认可以认为是加了线性激活函数。

二.非线性激活函数

2.1Sigmoid激活函数

定义域 :负无穷到正无穷

值域:0到1

特点:

1.值域映射到0-1

2.有边界

3.递增

2.2二分类问题

2.3tanh激活函数

三.拥有一层隐含层的神经网络

单个输出

多个输出---softmax激活函数

四.多层神经网络

当我们增加额外的隐含层时就可以得到多层神经网络。至于隐含层的个数是没有限制的,我们可以随意搭建很多层的神经网络。为什么要增加隐含层呢?道理很简单,增加隐含层可直接导致模型的复杂度变高,随之带来的就是可以学出x到y的更复杂的映射关系。

首先 这里的参数只有w和b 根据x1-xd输入 输出f(x) 然后会有一个loss 然后反向传播(梯度下降法)求w和b

注:对于分类问题,最后一层的激活函数是softmax

五.深度神经网络的损失函数

任何模型训练的第一步是明确损失函数。模型训练过程无非就是在优化损失函数,从而找到让损失函数最小的模型的参数。在这一节我们主要以深度神经网络为例来讲解反向传播算法,自然而然的,第一步就是要定义出损失函数。在这里先假定任务是分类任务,所以损失部分需要使用交叉熵损失(cross-entropy loss)。

相关推荐
草莓熊Lotso6 小时前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
Coder_Boy_8 小时前
技术发展的核心规律是「加法打底,减法优化,重构平衡」
人工智能·spring boot·spring·重构
会飞的老朱10 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º11 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee13 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º14 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys14 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_567814 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子14 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能15 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算