深度学习的前身,神经网络与神经元的概念

作者:Free

深度学习可以说是目前“人工智能浪潮”火热的一个根本原因,就是因为它的兴起,其中包括深度神经网络、循环神经网络和卷积神经网络的突破,让语音识别、自然语言处理和计算机视觉等基础技术突破以前的瓶颈。而要了解深度学习,就必须首先了解“深度学习”的前身,神经网络与神经元的概念。

一、神经元的构成

神经元可以说是深度学习中最基本的单位元素,几乎所有深度学习的网络都是由神经元通过不同的方式组合起来。

一个完整的神经元由两部分构成,分别是“线性模型”与“激励函数”。如果看过之前的文章,相信可以回忆起其中“线性回归”和“激励函数”的概念

1.线性模型

(1)构成

假设这个线性模型的函数: y=wx+b(有木有很熟悉),其中x是一个1xn的向量矩阵,矩阵中的每个向量值即代表样本一个特征的值,w为nx1的权重矩阵(对应向量的所占的比重),b为偏置项。

(2)工作流程

以判定一个苹果的品质为例,我们假定y代表品质变量,x为1×3矩阵,w为3×1矩阵(偏置忽略为0的情况下),具体如下

x矩阵里的向量值“1、2、3”分别代表一个数据中提取出来的特征向量的值。

w矩阵里的“0.2、0.6、0.7”分别代表每个特征向量的权重取值大小。

这两个矩阵相乘,最终会得到一个实数(涉及到数学矩阵运算,并非所有都会是实数哦~)

1X0.2+2X0.6+3X0.7=3.5

得到的3.5即我们拟合出来的一个苹果的品质假定为y1,用这个值与已经标定好的真实品质y0做差,就可以得到一个数据的拟合值与真实值的误差,当然真实的计算这可是海量数据计算

用到我第一章分享“线性回归”中对全局性误差函数的定义

通过这个函数来描述所有数据拟合值与真实值之间的关系,目的也是和机器学习一样,最终是要找到一个符合要求的Loss与w,b之间的映射关系

以上单个神经元中“线性模型”的运算流程,本质和机器学习中的“线性回归”过程是没有区别的

2.激励函数

(1)激励函数的作用

激励函数位于一个神经元线性模型之后,也有翻译成激活函数。它的作用有两个:

加入“非线性”因素

根据不同训练目的的需要,进行数学函数映射

为什么要加入“非线性”因素,那是因为“现实世界”的数据不可能都是线性的,如果你强行用“线性模型”去拟合非线性数据,最后得到的结果肯定是“欠拟合”

怎么理解数学函数映射呢,在这里拿最常用的Sigmoid函数举例

Sigmoid函数定义:

激励函数之前的线性模型“y=wx+b”已经经过运算得到了一个实数(即前面的3.5)

可以作如下的推导

则激励函数sigmoid变为

下图为Sigmoid函数图形,由图像可以看出,最初的x经过“线性模型”映射为z(z理论上可以为任意大小的实数),而z经过激励函数的再一次映射,最后的输出必然为了【0,1】区间的实数,这就实现了一次数学函数的映射。

它可以实现一个简单的概率分类判断,假定“0”和“1”各代表一个概念,那么最后的输出在区间【0,1】,更接近“1”,就代表它是更可能是“1”所代表的概念

(2)激励函数的种类

激励函数的种类实在很多,应用的场景也各不相同,比较常见的除了上面提到的Sigmoid函数外,还有多用于RNN(循环神经网络)的Tanh函数,大部分用于CNN(卷积神经网络)的ReLU函数,以及Linear函数等。

在这里就不一一列举他们的公式和函数图像了,总之每个激励函数都有自己的“个性”(特性),根据不同的算法模型和应用场景,会搭配使用不同的激励函数,当然最终的目的只有一个,就是让算法模型收敛的越快,拟合的越好

二、神经网络

1.神经网络的构成

神经网络,其实就是多个神经元横向与纵向的堆叠,最为简单和基础的神经网络可以用下图来表示

通常分为以下三层:

输入层:负责直接接受输入的向量,通常情况下不对数据做处理,也不计入神经网络的层数。

隐含层:是整个神经网络最为重要的部分,它可以是一层,也可是N层,隐含层的每个神经元都会对数据进行处理。

输出层:用来输出整个网络处理的值,这个值可能是一个分类向量值,也可能是一个类似线性回归那样产生的连续的值。

2.神经网络工作流程

初步的理解,神经元就是通过图中首尾相连的方式进行连接并实现数据传递,上一个神经元的输出,会成为下一层神经元的输入。对于一个x向量中的任意一个维度的分量,都会在整个神经网络进行一层一层地处理。

神经网络的厉害之处就在于,我们可以调节神经网络的层数,网络的拓扑结构以及神经元的参数,去改变对一个输入向量x的不同数学维度上的处理方式,进而达成不同的训练目的。这也是后来像DNN、RNN、CNN成为当下人工智能炙手可热的一大原因。(其实DNN,但从结构上来说,可以简单理解为层数的增加,进而带来对特征的提取和抽象能力的增强)

当然,随着网络层数的增加,拓扑结构的复杂,随之而来也会带来整个神经网络的副作用和难题,比如容易陷入局部最优解,梯度消失严重等问题。这也是后续需要探讨和深化了解的东西。

End.

本文分享自微信公众号 - 机器人网(robot_globalsources)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SimpleAI

【DL笔记4】神经网络,正向传播和反向传播

从【DL笔记1】到【DL笔记N】,是我学习深度学习一路上的点点滴滴的记录,是从Coursera网课、各大博客、论文的学习以及自己的实践中总结而来。从基本的概念、...

11730
来自专栏IT派

机器学习算法再比较

原文地址:http://www.csuldw.com/2016/02/26/2016-02-26-choosing-a-machine-learning-cla...

35340
来自专栏Brian

机器学习系列-机器学习是什么?

概述 机器学习现在已经运用在很多领域和行业,比如通过机器学习系统来提高自己系统的准确率和目标、进行商业数据的分析与预测等等。机器学习是关于计算机基于数据构建的概...

361110
来自专栏目标检测和深度学习

FAIR何恺明等人提出组归一化:替代批归一化,不受批量大小限制

选自arXiv 作者:吴育昕、何恺明 机器之心编译 自 Facebook 在 2017 年 6 月发布 1 小时训练 ImageNet 论文以来,很多研究者都在...

32170
来自专栏企鹅号快讯

从图像到知识:深度神经网络实现图像理解的原理解析

摘要:本文将详细解析深度神经网络识别图形图像的基本原理。 - 针对卷积神经网络,本文将详细探讨网络中每一层在图像识别中的原理和作用,例如卷积层(convolut...

39590
来自专栏IT派

机器学习各类算法比较

导语:机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常...

438120
来自专栏智能算法

机器学习算法比较

来自:D.W's Notes - Machine Learning 作者:刘帝伟 链接:http://www.csuldw.com/2016/02/26/201...

401120
来自专栏机器之心

入门 | 简述迁移学习在深度学习中的应用

37970
来自专栏PPV课数据科学社区

机器学习算法比较

本文主要回顾下几个常用算法的适应场景及其优缺点!(提示:部分内容摘自网络)。 机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法...

31090
来自专栏专知

迁移学习在深度学习中的应用

▌简介 ---- 迁移学习是一种机器学习方法,其中为一个任务开发的模型可以在另一个任务中重用。 迁移学习是深度学习中的一种流行方法,其中预训练(pre-trai...

31750

扫码关注云+社区

领取腾讯云代金券