01 深度学习介绍 - 神经网络和深度学习 [Deep Learning Specialization系列]

本文是Deep Learning Specialization系列课程的第1课《Neural Networks and Deep Learning》中Introduction to Deep Learning部分的学习笔记。

内容包括:

  • 神经网络
  • 监督学习及其应用
  • 神经网络的类型
  • 训练数据的类型
  • 深度学习发展的原因

1. 神经网络

要想学习深度学习(Deep Learning),必须先要了解神经网络(Neural Network)。

简单的神经网络

以一个线性回归的问题为例,假设我们知道6个房子的尺寸以及对应的房价,那么我们可以根据把房子的尺寸和房价对应的画在图上,然后拟合出一个函数,再根据该函数,通过房子的尺寸来对房价进行预测。
这其实就是一个非常简单的神经网络的问题,往神经元(neuron)中输入房子的尺寸x,输出房价y(在这个例子中,使用的是Relu函数)。
01 深度学习介绍 - 神经网络和深度学习 [Deep Learning Specialization系列]_第1张图片

复杂的神经网络

下面,我们再来考虑更为复杂且贴合实际的情况。
房价除了跟尺寸相关,还与其户型、所在位置和配套福利相关。那么把这些都作为条件x进行输入。其中,房子的尺寸和户型与家庭人数密切相关;房子所在位置决定了可达性及周边设施;房子配套的福利也关系到周边设施的情况,比如学校质量等;以上都最终会影响房价。用图来表示即:
01 深度学习介绍 - 神经网络和深度学习 [Deep Learning Specialization系列]_第2张图片

  • 此处房子尺寸、户型、位置等是输入层,x
  • 中间的家庭人数、可达性、学校质量等是中间层,或者称为隐藏层
  • 最后的房价是输出层,y

神经网络的一个特点是,如果有足够多的x、y作为训练数据,就可以找到一个合适的函数,输入x即得到输出y。

2. 监督学习

监督学习就是通过已知的输入数据x和输出数据y,来训练得到一个比较合适的函数(模型),以完成预测。

监督学习的应用

目前我们常见的一些应用包括

  • 不动产的房价预测,通过对一些家庭的特征(x)以及对应的房价(y)的学习,来预测房价
  • 在线广告,通过对输入的广告和用户信息(x)和用户是否有点击相应的广告(y)的学习,来预测用户可能会喜欢的广告
  • 照片标记,通过对输入图片(x)和这些图片分别属于什么的一个索引(y)的学习,来对照片进行标记
  • 语言识别,通过对输入的语音(x)和这些语音对应的文字(y)的学习,来对语音进行识别
  • 机器翻译,通过对输入的语言(x)和这些语言对应的翻译(y)的学习,来进行机器翻译
  • 自动驾驶,通过对输入的图像和Radar信息(x)和从中得出的其他车辆、行人等的位置(y)的学习,来完成自动驾驶
    01 深度学习介绍 - 神经网络和深度学习 [Deep Learning Specialization系列]_第3张图片

神经网络的类型

神经网络可以分为以下4类:

  1. 标准的神经网络(Neural Network, NN),比如房价预测、在线广告
  2. 卷积神经网络(Convolutional Neural Network ,CNN),比如图像处理
  3. 递归神经网络(Recurrent Neural Network, RNN),比如语音识别、机器翻译
  4. 混合神经网络(Hybird Neural Network),比如自动驾驶
    01 深度学习介绍 - 神经网络和深度学习 [Deep Learning Specialization系列]_第4张图片

训练数据的类型

神经网络使用到的数据主要是两类

  1. 结构化的数据(Structured Data),是一般的数据库数据(表格),比如房价预测中的尺寸、在线广告中的用户年龄数据,是机器更容易理解和处理的。
  2. 非结构化的数据(Unstructured Data),音频、图片和文字等,是人更容易理解和处理的。

3. 深度学习的发展

深度学习的基础是发展了很多年的神经网络,为什么这段时间深度学习会比较火呢?
神经网络涉及到的两个重要的维度:数据量和效果

  • 传统的支持向量机(Support Vector Machine)和逻辑回归(Logistic Regression)算法,即使在有大的训练数据量时,其效果有一般。
  • 对神经网络来说,一般网络也复杂,训练数据量越大,最后的效果会更好。
    01 深度学习介绍 - 神经网络和深度学习 [Deep Learning Specialization系列]_第5张图片

因此,要想深度学习有一个比较好的效果,一般需要很大的训练数据量和很大的神经网络。而近几年,

  1. 数据(Data):我们现在有了大量的训练数据
  2. 算力(Computation):目前的技术能提供比较好的算力
  3. 算法(Algorithm):当前对深度学习算法的优化也提高了已有的算力

因此,当我们用大量的训练数据训练一个很大的网络的同时,计算的效率又很高,这就使得我们在做深度学习相关的研究时,当有了一个想法(Idea),则能快速的编程(Code)并试验(Experient),从而快速迭代。

你可能感兴趣的:(AI,Deep,Learning,深度学习,神经网络,机器学习,人工智能)