相关文章推荐
安静的李子  ·  什么是深度学习? | IBM·  1 年前    · 
安静的李子  ·  深度学习与机器学习- Azure ...·  1 年前    · 
安静的李子  ·  什么是深度学习?| Oracle 中国·  1 年前    · 
安静的李子  ·  深度神经网络(DNN) - 知乎·  1 年前    · 
安静的李子  ·  西浦本科生开发神经网络模型成果发表于《自然通 ...·  1 年前    · 
小百科  ›  深度学习入门,一文讲解神经网络的构成、训练和算法开发者 ...
神经网络 算法 神经网络模型 深度学习 机器学习
安静的李子
1 年前
作者头像
Datawhale
0 篇文章

深度学习入门,一文讲解神经网络的构成、训练和算法

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > Datawhale专栏 > 深度学习入门,一文讲解神经网络的构成、训练和算法

深度学习入门,一文讲解神经网络的构成、训练和算法

作者头像
Datawhale
发布 于 2019-10-09 16:31:52
2.7K 0
发布 于 2019-10-09 16:31:52
举报

神经网络的构成、训练和算法

什么是神经网络

人工神经网络(Artificial Neural Network,ANN),简称神经网络(Neural Network,NN),是一种模仿生物神经网络的结构和功能的数学/计算模型,用于拟合各种函数。

一个神经网络,有两个基本要素:神经元和连接。

神经元

下图中红圈内就是一个神经元:

一个神经元,有输入(上图中神经元接受输入:x1,x2和x3x1、x2、x3),有输出(输出:yy),并在神经元内部进行操作,将输入映射为输出。

神经元内部的操作又包括两步:

  1. 对输入进行线性加权;
  2. 将线性加权结果经由激活函数映射为输出。

激活函数有很多种,下图中列举了一些常见的激活函数。

其中,NN 最常用的一种激活函数就是 Sigmoid 函数又叫做Logistic函数,就是逻辑回归的模型函数!

注意:如果神经元的激活函数是线性函数,那么这个 NN 就只能拟合线性函数。 但如果激活函数是非线性的,哪怕是非常简单的非线性(例如 ReLu),由它构建的 NN 都可以用于拟合非常复杂的线性或非线性函数。 因此实际使用中,一般都选用非线性函数作为激活函数。

连接

所谓连接,就是神经元组织在一起的形式。

不同的神经元通过连接结合在一起,形成了一个网络,例如下图:

这是一个典型的全连接两层神经网络。

其中,全连接是指前一层每一个神经元的输出都连接到后一层所有的神经元。

明明一共有三层(红、紫、绿),为什么说两层?因为最左侧的输入层是不计算到神经网络层数里面的!

一个神经网络的不同层级分为:输入层、隐含层(简称隐层)和输出层(最后一层)。除了输入层和输出层之外,所有的层都叫做隐层。

上图例子中我们只有一个隐层。

神经网络的训练

对人类神经系统的模拟

NN 可以用来做分类,也可以用来做回归,还可以用来聚类,总之这是一个几乎可以做任何事情的模型。

它的创造受到了人类中枢神经系统的启发。正是生物神经系统中的神经元及之间的连接,启发了 NN 的结构元素。

NN 的神奇之处在于,它只有结构,没有超参数,一旦结构确定,投入数据去训练就好了,并不需要一般机器学习模型必不可少的“调参”步骤。

而且,它可以用来拟合任意的函数(输入到输出的映射),具备无限的可能性。而不像统计学习模型那样,有一个预设的模型函数,适用范围明确但狭窄。

已知和未知

一个神经网络有几层,每层有几个神经元,这些神经元之间的连接是怎样的,以及这些神经元里的激活函数是什么——这些都是由用户指定的。在构建一个 NN 的时候,这些因素就都已经被定下来了。

既然这些都是确定的,那训练 NN 模型,又是在训练什么呢?实际上,对于一个典型 NN 而言,就是在训练各个神经元线性加权的权重。

NN 的学习任务可以是有监督的,也可以是无监督的,但无论如何,它实际输出的 Cost 函数都是可以得到的——对于有监督学习而言,Cost 就是输出与标签之间的差距;而对于无监督学习,Cost 则与模型的具体任务(领域)和先验假设有关。

训练过程

NN 的训练过程可以用下面这幅图来概括:

NN 的训练过程是一个迭代的过程,最初初始化可以认为是随机获得各个权值,然后每次迭代。

  • 输入样本进入到当前 NN 的每一个神经元,用现有的权值加权,然后再由激活函数输出给后面连接的神经元。这样一层层递进,最终形成 NN 整体网络的输出。
  • 这次运行的输出与目标相比对,计算出 Cost,然后再通过最小化 Cost 来反向调整网络各层、各个神经元的权值。

如此不断重复迭代,直至收敛。

训练算法

上述一次迭代中的两个运算过程,一个从前往后,从输入层算到输出层;一个从后往前,从输出层再反推回输入层。

这就引出了两个重要的概念:

前向传播(Forward Propagation,FP)和反向传播(Back Propagation,BP)。

简单而言,前向传播就是从前往后算,反向传播就是从后往前算。

当训练(Training)NN 的时候,我们既需要前向传播,也需要反向传播。但是当一个 NN 训练完成,用来进行推断(Inference)的过程中,就只需要前向传播了。(参见下图)

本文参与 腾讯云自媒体分享计划 ,分享自微信公众号。
原始发表:2019-10-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除
神经网络
编程算法

本文分享自 Datawhale 微信公众号, 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

神经网络
编程算法
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
关于作者
Datawhale
0
文章
0
累计阅读量
0
获赞
前往专栏
目录
  • 神经元
  • 连接
  • 神经网络的训练
    • 对人类神经系统的模拟
      • 已知和未知
        • 训练过程
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
安静的李子  ·  什么是深度学习? | IBM
1 年前
安静的李子  ·  深度学习与机器学习- Azure Machine Learning | Microsoft Learn
1 年前
安静的李子  ·  什么是深度学习?| Oracle 中国
1 年前
安静的李子  ·  深度神经网络(DNN) - 知乎
1 年前
安静的李子  ·  西浦本科生开发神经网络模型成果发表于《自然通讯》 - Xi'an ...
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号