什么是神经网络?

神经网络

  • 什么是神经网络?
  • 监督学习与深度学习
  • 神经网络的分类
  • 数据类型
    • Structured data
    • Unstructured data
    • 数据到底怎样传入到神经网络的呢

 笔记来源于:

床长人工智能教程
吴恩达深度学习deeplearning.ai

什么是神经网络?

 上一篇文章,我们介绍了人工智能机器学习深度学习三者的关系,我在深度学习那里也引入神经网络的概念,其实所谓的深度学习就是在训练神经网络,所以说我们面临着一个很直观的问题——什么是神经网络呢?查看神经网络部分

什么是神经网络?_第1张图片

 这里我们假设有6个房子的数据集(已知的是房屋面积和房屋价格),其实这样一个简单的数据集有点类似于传说中XY轴,所以说根据数学知识,我们可以构建一个线性回归函数来预测房屋价格,我们抽象成一个非常简单的神经网络

 其实,这个线性回归函数在很多文献上都很常见,这个函数一开始是0,然后就是一条直线,这个函数被称为“ReLU”函数,大家称他为激活函数,后续讲解这个函数。这里就是简单的介绍一下;
 在ReLU函数之前,神经网络使用的是另外的一个激活函数函数,叫做sigmoid函数
什么是神经网络?_第2张图片
 使用sigmoid函数的时候,机器学习最大的问题就是,在上图中,两个红色箭头所指的区域,学习梯度会趋于0,学习的效率会变得非常的缓慢,这并不利于大规模数据。那么使用ReLU函数,对于所有为正值的输入,输出都是1,他的梯度不会逐渐趋于0

 我们以简单的神经元模拟一下这个过程。

什么是神经网络?_第3张图片

 从上图可见,所做的就是输入面积,完成线性运算,取不小于0的值,最后得到输出预测价格

 既然如此,我们加大一下难度,我们可以由简单的种经网络,构造出复杂的神经网络,其实可以理解为是多个x觉得一个Y值,一个Y问题的
维度由一个变成了多个,维度越多,网络越复杂
什么是神经网络?_第4张图片
 我们来分析上图,我们有四个特征(X)输入网络中去,我们已知这些输入的特征,神经网络的工作就是预测Price,中间的神经元被称之为是“隐藏单元”,每个的输入都同时来自四个特征,因为,我们并不会具体的说,FamilySize取决于x1和x2特征,这样说是为了方便大家理解,其实更加贴近的说,由种经网络决定这是什么,只要我们给到足够的X.Y训练样本,那么神经网络非常擅长于计算出X到Y的精准映射函数。

 神经网络神奇的地方就是,我们只需要向网络中传输X值,就可以得到Y值,而中间的过程,并不是我们所参与的过程,都是它自己独立完成的过程,这就仿佛是一个黑盒子。其实这也是它的可怕之处。

监督学习与深度学习

 其实,目前的大部分智能,即便是存在深度学习这一个强大的杀手锏,可现在的智能普遍是弱智能。而当今社会深度学习所创造出来的巨大经济价值,都是基于监督学习的。

 这里介绍一下什么是监督学习:机器学习

什么是神经网络?_第5张图片
 就比如说上图,深度学习在价格预测,在线广告,计算机视觉,语音识别,机器翻译,无人驾驶等领域都有了显著效果,只要选取正确的X与Y才可以解决问题。

神经网络的分类

 其实,当神经网络应用的领域越来越广的时候,他就会被细分不同的类型,这么做的用意,就是希望神经网络在指定的领域能够发展越来越精。就比如说。

  • 普通神经网络(Standard Neural Network):这样网络都会应用在一些简单理解的领域,就比如说价格预测,在线广告这种的。

什么是神经网络?_第6张图片

  • 卷积神经网络(Convolutional Neural Network):简称CNN,这样的网络经常会应用在图像领域,比如说计算机视觉
    什么是神经网络?_第7张图片

  • 循环神经网络(Recurrent Neural Network):检测RNN,这样的神经网络会用在处理一维序列数据中,比如说语音识别,机器翻译等领域,因为在语音识别与机器翻译中时间,单词都可以作为一维的序列数据。
    什么是神经网络?_第8张图片

  • 混合神经网络(Hybrid Neural Network):那么在自动驾驶等智能领域,所处理的数据就不仅仅是单一的数据类型,比如说汽车的图片要用到图像处理,而雷达的信息就要按照序列数据处理,所以处理这种问题的神经网络是比较高级的神经网络了——Hybrid Neural Network

数据类型

 机器学习经常被应用于结构化数据(Structured data)和非结构化数据(Unstructured data)

Structured data

 简单的来说,结构化数据指的是数据的数据库,是一种比较原始的数据表达方式,很像表格数据。
什么是神经网络?_第9张图片
 比如说,在房价预测的案例中,你可能会看见多个数据列告诉你房间的大小,卧室数量以及相应的价格。
什么是神经网络?_第10张图片
 再比如说,在预测用户是否会点击的广告的例子中,你可能会有用户信息(年龄,广告信息),以及最的Y值——点击次数

 这就是结构化数据,意味着每个特征都有着清晰的定义。

Unstructured data

什么是神经网络?_第11张图片
 相反,非结构化数据指的是,比如说音频,原始音频,你想要识别的图像或者文本内容,那么这里的特征可能是图像中的像素值,或者文本中的某一个单词。

数据到底怎样传入到神经网络的呢

 从历史角度来看,非结构化数据与结构化数据比较,会让计算机理解起来更难,不过好在人类在理解这些结构化数据更有自己的方法。我们可以来举一个图像的例子来帮助大家理解。现在我们有一个过程,要把我男神古天乐的图片(滑稽)传入神经元中去。

什么是神经网络?_第12张图片

 下图中,我们圆圈代表一个神经元,x是神经元的输入,相当于树突接收的多个外部刺激。w是每个输入对应的权重,它影响着每个输入x的刺激强度。那么我们就很好奇了,数据到底怎样传入到神经网络的呢。毕竟人工神经网络没有大脑那么发达的。
什么是神经网络?_第13张图片

 在这之前,我来给大家普及一下色彩知识,我们都知道的时候,世界任何颜色都能由可以通过红绿蓝三种颜色调配出来调配在一起,那么上面的图片也可以由三种颜色调配而成。

 其实在计算机中,计算机为了存储图像,计算机抽要存储三个独立的矩阵,这三个矩阵分别与此图像的红色、绿色和蓝色相对应。比如下图

什么是神经网络?_第14张图片

 如果我男神图像的大小是64 * 64个像素(一个像素就是一个颜色点,一个颜色点由红绿蓝三个值来表示,例如,红绿蓝为[255,255,255],那么这个颜色点就是白色)。所以3个64 * 64大小的矩阵在计算机中就代表了这张图像,矩阵里面的数值就对应于图像的红绿蓝强度值。

 那我们直接输入矩阵吗,那必然不是的,一般会把这三个矩阵转换成为一个向量 X ,如上图右侧。那么针对于古天乐的那张图片,这个 向量 X 的总维数就是 64 * 64 *3,结果就是12288。因为在人工智能的领域内,每一个输入到神经网络的数据都被叫做一个特征,所以说,古天乐的那张图片就有1288个特征,这个12288维的向量也被叫做特征向量。神经网络接收这个特征向量x作为输入,并进行预测,然后给出相应的结果。

 其实这个只是图像在神经网络中的形式,但是针对于不同的应用,需要识别的对象不同,有些是语音有些是图像有些是传感器数据,但是它们在计算机中都有对应的数字表示形式,通常我们会把它们转化成一个特征向量,然后将其输入到神经网络中。

 那么这就是人类理解图像的方法。

你可能感兴趣的:(#,深度学习,神经网络,python)