Deeplearning.ai吴恩达笔记之神经网络和深度学习1

Introduction to Deep Learning

What is a neural neural network?

在这里插入图片描述

当对于房价进行预测时,因为我们知道房子价格是不可能会有负数的,因此我们让面积小于某个值时,价格始终为零。

其实对于以上这么一个预测的模型就可以看作是一个简单的神经网络了。

在这里插入图片描述

输入x:房屋面积,输出y是房屋价格,中间包含了一个神经元,该神经元其实就是实现了函数的功能。

值得一提的是,上图神经元的预测函数(蓝色折线)在神经网络应用中比较常见。我们把这个函数称为ReLU函数,即线性整流函数(Rectified Linear Unit),形如下图所示:

在这里插入图片描述

那么上述所示是一个简单的神经网络,那么寻常的神经网络往往由许多神经元组成。

那么我们尝试使用更多的x来组建一个复杂一点的神经网络。

在这里插入图片描述

所以,在这个例子中,x是size,#bedrooms,zip code/postal code和wealth这四个输入;y是房屋的预测价格。这个神经网络模型包含的神经元个数更多一些,相对之前的单个神经元的模型要更加复杂。那么,在建立一个表现良好的神经网络模型之后,在给定输入x时,就能得到比较好的输出y,即房屋的预测价格。

实际上,上面这个例子真正的神经网络模型结构如下所示。它有四个输入,分别是size,#bedrooms,zip code和wealth。在给定这四个输入后,神经网络所做的就是输出房屋的预测价格y。图中,三个神经元所在的位置称之为中间层或者隐藏层(x所在的称之为输入层,y所在的称之为输出层),每个神经元与所有的输入x都有关联(直线相连)。

在这里插入图片描述

###Supervised Learning with Neural Networks

在这里插入图片描述

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

对应的NN模型如下:

在这里插入图片描述

另外,数据类型一般分为两种:Structured Data和Unstructured Data。

在这里插入图片描述

简单地说,Structured Data通常指的是有实际意义的数据。例如房价预测中的size,#bedrooms,price等;例如在线广告中的User Age,Ad ID等。这些数据都具有实际的物理意义,比较容易理解。而Unstructured Data通常指的是比较抽象的数据,例如Audio,Image或者Text。以前,计算机对于Unstructured Data比较难以处理,而人类对Unstructured Data却能够处理的比较好,例如我们第一眼很容易就识别出一张图片里是否有猫,但对于计算机来说并不那么简单。现在,值得庆幸的是,由于深度学习和神经网络的发展,计算机在处理Unstructured Data方面效果越来越好,甚至在某些方面优于人类。总的来说,神经网络与深度学习无论对Structured Data还是Unstructured Data都能处理得越来越好,并逐渐创造出巨大的实用价值。我们在之后的学习和实际应用中也将会碰到许多Structured Data和Unstructured Data。

Why is Deep Learning taking off?

深度学习为什么这么强大?下面我们用一张图来说明。如下图所示,横坐标x表示数据量(Amount of data),纵坐标y表示机器学习模型的性能表(Performance)。

在这里插入图片描述

上图共有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函数快很多。

构建一个深度学习的流程是首先产生Idea,然后将Idea转化为Code,最后进行Experiment。接着根据结果修改Idea,继续这种Idea->Code->Experiment的循环,直到最终训练得到表现不错的深度学习网络模型。如果计算速度越快,每一步骤耗时越少,那么上述循环越能高效进行。

Summary

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值