想理解深度学习,究竟应该降维打击 or 升维思考?

让我们从一道选择题开始今天的话题。

什么是神经网络?

请选择以下描述正确的一项或多项。

A.神经网络是一种数学函数,它接收输入并产生输出。

B.神经网络是一种计算图,多维数组流经其中。

C.神经网络由层组成,每层都具有「神经元」。

D.神经网络是一种通用函数逼近器。

你的答案是________。


公布答案了哈,正确答案是……ABCD

是不是有点懵?对于神经网络,难道就没有唯一、统一的描述吗?

塞思·韦德曼(Seth Weidman)是前Facebook数据科学家。他曾受邀走访世界各地,为来自不同行业的人们讲授数据科学和机器学习

前Facebook数据科学家塞思·韦德曼 图源:sethweidman.com

在其著作《Python深度学习入门:从零构建CNN和RNN》中,韦德曼写道:

对于讲解神经网络,我发现最具挑战性的就是为「什么是神经网络」传达正确的思维模型。这主要是因为,了解神经网络需要的不是一个而是多个思维模型,每一个都说明了神经网络工作方式的不同方面(而且每个方面都必不可少)。

诚然,神经网络与深度学习是一个立体的领域,仅从数学层面或代码层面学习,难免以偏概全,无法融会贯通。正因为如此,韦德曼提出了一种全新的学习方法:同时从数学、示意图、Python代码三个维度立体地理解每一个概念,从而领略深度学习领域的全貌。

想象你要构建自己的深度学习大厦。你或许钟情于算法,又或许习惯于视觉型学习,但唯有进行「升维思考」,你才能建造出多面玲珑的建筑。

韦德曼提出以如下步骤学习导数、嵌套函数、链式法则等概念。这些基本概念就如同一块块砖,有了它们,你终将建造出属于自己的深度学习大厦。

  • 以一个或多个方程式展示数学原理。

  • 给出示意图,类似于在参加编码面试时画在白板上的图。

  • 给出对应的Python代码。

让我们一起看看用这种学习方法如何理解导数的概念。

导数是深度学习的一个非常重要的概念。总体来说,函数在某一点上的导数,可以简单地看作函数输出相对于该点输入的「变化率」

维度1:数学

首先在数学维度上定义导数。可以使用一个数来描述极限,即当改变某个特定的输入值

时,函数

的输出有多大变化:

通过为Δ设置非常小的值(例如0.001),可以在数值上近似此极限。因此,如果Δ=0.001,就可以将导数计算为:

虽然近似准确,但这只是完整导数思维模型的一部分。下面来从示意图的维度认识导数。

维度2:示意图

为函数曲线画出一条切线,则函数f 在点a 处的导数就是该线在点a 处的斜率。可以通过两种方式来计算这条线的斜率。第一种方式是使用微积分来实际计算极限,第二种方式是在a−0.001处和a+0.001处取连线f 的斜率,如下图所示。

另一种可视化方式是将函数想象成小型工厂,并想象其输入通过一根线连接到输出。求解导数相当于回答这样一个问题:如果将函数的输入a拉高一点,那么根据工厂的内部运作机制,输出量将以这个小数值的多少倍进行变化呢?

对理解深度学习而言,第二种表示形式比第一种更为重要。

维度3:Python代码

可以通过编码来求解前面看到的导数的近似值:

当我们说PE(随机选的字母)的函数时,其实是指存在某个函数f,使得f (E ) =P。或者说,有一个函数f,它接收对象E 并产生对象P。也可以说,P 是函数f 应用于E 时产生的任意函数值:

可以将其编码为下面这种形式。

《Python深度学习入门:从零构建CNN和RNN》一书中,你可以通过上面这种多维度学习方式理解所有重要的深度学习概念,并运用这一块块「砖」,从零开始构建深度学习模型。

  • 前Facebook数据科学家带你领略深度学习领域的全貌

  • 数学、示意图、Python三个维度立体地认识深度学习

  • PyTorch神经网络实战

本书全面介绍了深度学习知识,借助数学公式、示意图和代码,旨在帮助读者从数学层面、概念层面和应用层面理解神经网络。读者可以跟随本书构建和训练神经网络模型,从而解决实际问题。另外,本书着重介绍卷积神经网络和循环神经网络,并提供PyTorch开源神经网络库的使用方法,有助于学习构建更高级的神经网络架构。

本文转自图灵教育

(0)

相关推荐

  • 速记:高中数学33个函数与导数综合题型分类总结(详细解析)

    速记:高中数学33个函数与导数综合题型分类总结(详细解析)

  • 终于有人把卷积神经网络(CNN)讲明白了

    导读:深度学习作为人工智能的一个分支,在计算机视觉处理方面取得的巨大成就,与深度学习中的算法及方法密切相关,如卷积神经网络.反向传播算法.正则化方法.迁移方法等.其中很多方法具有普遍性,在自然语言处理 ...

  • 高中数学函数与导数解题技巧深度拓展与总结...

    高中数学函数与导数解题技巧深度拓展与总结: 导数参数范围之数形结合,导数参数范围之最值分析法,导数二次求导型,以自然指数对数为背景的导数压轴题型,导数放缩技巧. 多学习多思考.

  • 数学学得好不好?就看函数画得好不好!下面...

    数学学得好不好?就看函数画得好不好! 下面的一些数学函数是高中数学经常碰到的一些经典函数. 如果你还不能徒手在在草稿纸上画出下面的图像,说明函数和导数这一块学得还不够好! 你的函数和导数这一块的题目一 ...

  • #高考##高考数学##学浪计划#    ...

    #高考##高考数学##学浪计划# 导数系列----高考的六个重要函数 导数是高中非常重要的内容,也是高考重点考察对象,近年来计算量.复杂程度和难度都增大,在高考数学试卷中占据重要地位. 而幂函数.指数 ...

  • 高考数学 导数中含参函数单调性讨论问...

    高考数学 导数中含参函数单调性讨论问题.

  • 降维打击,升维思考

    <三体>里描述了这样的一个故事:当地球和三体星的坐标都暴露在宇宙之下时,歌者文明向太阳系发了一片二向箔,包括地球在内的太阳系文明全部降成二维,也就是说三维空间也变成了一张巨大的纸,一切烟消 ...

  • 是降维打击还是升维竞争 试驾北京现代全新一代名图

    刚开过纯电版名图试驾的我,又体验了燃油版本的名图. 与名图纯电动相比,燃油版名图的售价亲切的多.13.38万-16.88万的售价区间,切入到了A+级细分市场.上一代名图的成功,铺垫好了足够的基础,而全 ...

  • “降维打击”、“升维赋能”,创业者商界攻防必备策略

    所谓的"降维打击",是"三体"这部小说里外星人攻击地球人的手段.外星人将一个二维化的平面扔进三维空间,三维空间以光速二维化.也就是说,三维世界被抽掉一维,立体世 ...

  • 想学深度学习数学不好?这里有你需要的全部数学知识

    > Images by Author unless otherwise indicated 从头开始理解神经网络的内部运作 了解机器学习算法背后的数学是一种超能力. 如果您曾经为现实生活中的问题 ...

  • 透过新视角理解深度学习中的泛化

    文 / Google Research 团队 Hanie Sedghi 和哈佛大学 Preetum Nakkiran 如何理解泛化是深度学习领域尚未解决的基础问题之一.为什么使用有限训练数据集优化模型 ...

  • 10分钟理解深度学习中的~卷积~

    今年来深度学习中的卷积神经网络(上图是一个卷积神经网络形态)技术开始显现威力,通过简单的几行代码就能实现对图片.视频等信息的处理.学习和预测. 然而,理解卷积神经网络,特别是对于第一次接触深度学习领域 ...

  • 胡卫平:深度学习究竟是什么,又该如何有效落实?

    本文整理自胡卫平教授在首都师范大学附属育新学校思维型教学主题培训上的分享 ▲现代教学技术教育部重点实验室主任胡卫平教授 深度学习从何而来?   深度学习最早起源于布鲁姆的目标教学.1956年,布鲁姆等 ...

  • 理解深度学习泛化的新视角

    视频介绍:理解深度学习泛化的新视角 理解泛化是深度学习中尚未解决的基本问题之一.为什么在有限的训练数据集上优化模型会在保留的测试集上获得良好的性能?这个问题在机器学习中得到了广泛的研究,其悠久的历史可 ...

  • 人人都看得懂的神经网络,如何形象直观地理解深度学习

    最近看到一组漫画 ,解释了深度学习的原理.什么是深度学习?下图表示了深度学习与机器学习的关系,可见深度学习是属于机器学习的一种,但是中间的推理过程是类似于人脑的神经元的构成,而机器学习更像是一棵树状的 ...