深度神经网络--3.1 前向网络

举报
HWCloudAI 发表于 2020/12/22 15:34:57 2020/12/22
【摘要】 本章介绍了深度神经网络的几个相关概念,并给出了用MindSpore实现简单神经网络的样例。深度学习(Deep Learning)与传统机器学习最大的不同在于其利用神经网络对数据进行高级抽象。而最基础的神经网络结构为前向神经网络(Feed forwardNeural Network,FNN),又称多层感知机(Multi-Layer Perceptron,MLP)。在介绍多层感知机之前,先来认识...

本章介绍了深度神经网络的几个相关概念,并给出了用MindSpore实现简单神经网络的样例。

深度学习(Deep Learning)与传统机器学习最大的不同在于其利用神经网络对数据进行高级抽象。而最基础的神经网络结构为前向神经网络(Feed forwardNeural Network,FNN),又称多层感知机(Multi-Layer Perceptron,MLP)。

在介绍多层感知机之前,先来认识一下神经网络的基础单元——感知机。如图3.1所示,x1,x2,…,xn为输入,w1,w2,…,wn为与之对应的权重,w0为偏置。感知机对这些输入进行加权求和,再加上偏置值w0,最后通过激活函数f(·)得到神经元的输出。在分类问题中提到的逻辑函数为一种常用的激活函数(Activation Function),目的是将一个在较大范围变化的值挤压到(0,1)的输出值范围内,或者输出0/1对应的概率值。此外,双余弦函数以及修正线性单元(Rectified Linear Unit,ReLU)函数ReLU(x)=max(x,0)也经常作为神经元的激活函数。这些激活函数的目的都是为神经元带来非线性运算。相比线性函数而言,非线性函数的表达能力更强,图3.2展示了这三种激活函数的形状。

尽管非线性激活函数的单个神经元带来了非线性特征,但它只拥有一层神经元,学习能力非常有限,仍然只能处理线性可分的问题。为了解决更复杂的非线性可分问题,多层感知机(MLP)被提出。图3.3为一个简单的三层前向神经网络模型,包括输入层、隐藏层和输出层。数据x作为输入提供给输入层,经过线性映射和非线性激活函数,得到隐藏层。隐藏层再经过一层运算得到输出层。其中输入层的节点数由数据本身的属性数量决定,输出层的节点数可以是类别个数、抽象特征个数等。隐藏层的层数人为指定,并且层数可以是一层或多层,每个隐藏层上都可设置一类非线性激活函数。经过线性组合与非线性变换,这个由多层神经元组成的函数模型,具有更强大的学习能力。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。