吴恩达deeplearning.ai神经网络和深度学习(Ⅰ)(第一周-深度学习概论)

神经网络和深度学习课程(第一周-深度学习概论)

目录

  • 神经网络和深度学习课程(第一周-深度学习概论)
    • 1.2什么是神经网络?
    • 1.3用神经网络进行监督学习
    • 1.4 为什么深度学习会兴起?
    • Summary

1.2什么是神经网络?

1.神经网络的定义

  • 神经网络就是按照一定规则将多个神经元连接起来的网络

1.3用神经网络进行监督学习

1.监督学习与非监督学习

  • 监督式学习与非监督式学习本质区别就是是否已知训练样本的输出y。在实际应用中,机器学习解决的大部分问题都属于监督式学习,神经网络模型也大都属于监督式学习。

2.不同网络的应用

  • 对于一般的监督式学习(房价预测和线上广告问题),我们只要使用标准的神经网络模型就可以了。
  • 对于图像识别处理问题,我们则要使用卷积神经网络(Convolution Neural Network),即CNN。
  • 对于处理类似语音这样的序列信号时,则要使用循环神经网络(Recurrent Neural Network),即RNN。
  • 其它的例如自动驾驶这样的复杂问题则需要更加复杂的混合神经网络模型。

3.数据类型

  • 数据类型一般分为两种:Structured Data(结构化数据)和Unstructured Data(非结构化数据)
    简单地说,Structured Data通常指的是有实际意义的数据。例如房价预测中的size,#bedrooms,price等;例如在线广告中的User Age,Ad ID等。这些数据都具有实际的物理意义,比较容易理解。而Unstructured Data通常指的是比较抽象的数据,例如Audio,Image或者Text。
    吴恩达deeplearning.ai神经网络和深度学习(Ⅰ)(第一周-深度学习概论)_第1张图片

1.4 为什么深度学习会兴起?

  如果说深度学习和神经网络背后的技术思想已经出现数十年了,那么为什么直到现在才开始发挥作用呢?接下来,我们来看一下深度学习背后的主要动力是什么,方便我们更好地理解并使用深度学习来解决更多问题。
  深度学习为什么这么强大?下面我们用一张图来说明。如下图所示,横坐标x表示数据量(Amount of data),纵坐标y表示机器学习模型的性能表现(Performance)。
吴恩达deeplearning.ai神经网络和深度学习(Ⅰ)(第一周-深度学习概论)_第2张图片
  上图共有4条曲线。其中,最底下的那条红色曲线代表了传统机器学习算法的表现,例如是SVM,logistic regression,decision tree等。当数据量比较小的时候,传统学习模型的表现是比较好的。但是当数据量很大的时候,其表现很一般,性能基本趋于水平。红色曲线上面的那条黄色曲线代表了规模较小的神经网络模型(Small NN)。它在数据量较大时候的性能优于传统的机器学习算法。黄色曲线上面的蓝色曲线代表了规模中等的神经网络模型(Media NN),它在在数据量更大的时候的表现比Small NN更好。最上面的那条绿色曲线代表更大规模的神经网络(Large NN),即深度学习模型。从图中可以看到,在数据量很大的时候,它的表现仍然是最好的,而且基本上保持了较快上升的趋势。值得一提的是,近些年来,由于数字计算机的普及,人类进入了大数据时代,每时每分,互联网上的数据是海量的、庞大的。如何对大数据建立稳健准确的学习模型变得尤为重要。传统机器学习算法在数据量较大的时候,性能一般,很难再有提升。然而,深度学习模型由于网络复杂,对大数据的处理和分析非常有效。所以,近些年来,在处理海量数据和建立复杂准确的学习模型方面,深度学习有着非常不错的表现。然而,在数据量不大的时候,例如上图中左边区域,深度学习模型不一定优于传统机器学习算法,性能差异可能并不大。
  所以说,现在深度学习如此强大的原因归结为三个因素:

  • Data
  • Computation
  • Algorithms

  其中,数据量的几何级数增加,加上GPU出现、计算机运算能力的大大提升,使得深度学习能够应用得更加广泛。另外,算法上的创新和改进让深度学习的性能和速度也大大提升。举个算法改进的例子,之前神经网络神经元的激活函数是Sigmoid函数,后来改成了ReLU函数。之所以这样更改的原因是对于Sigmoid函数,在远离零点的位置,函数曲线非常平缓,其梯度趋于0,所以造成神经网络模型学习速度变得很慢。然而,ReLU函数在x大于零的区域,其梯度始终为1,尽管在x小于零的区域梯度为0,但是在实际应用中采用ReLU函数确实要比Sigmoid函数快很多。
  (补充:梯度消失问题 神经网络采用误差反向传播算法对参数进行更新,sigmoid函数远离零点时其梯度趋近于0,无法进行连接权重的调整)
  构建一个深度学习的流程是首先产生Idea,然后将Idea转化为Code,最后进行Experiment。接着根据结果修改Idea,继续这种Idea->Code->Experiment的循环,直到最终训练得到表现不错的深度学习网络模型。如果计算速度越快,每一步骤耗时越少,那么上述循环越能高效进行。

Summary

  本节课的内容比较简单,主要对深度学习进行了简要概述。首先,我们使用房价预测的例子来建立最简单的但个神经元组成的神经网络模型。然后,我们将例子复杂化,建立标准的神经网络模型结构。接着,从监督式学习入手,介绍了不同的神经网络类型,包括Standard NN,CNN和RNN。不同的神经网络模型适合处理不同类型的问题。对数据集本身来说,分为Structured Data和Unstructured Data。近些年来,深度学习对Unstructured Data的处理能力大大提高,例如图像处理、语音识别和语言翻译等。最后,我们用一张对比图片解释了深度学习现在飞速发展、功能强大的原因。归纳其原因包含三点:Data,Computation和Algorithms。

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