写点什么

浅谈深度学习背后的数学

  • 2020-09-24
  • 本文字数:2503 字

    阅读完需:约 8 分钟

浅谈深度学习背后的数学

本文最初发表于 Towards Data Science 博客,经原作者 Trist’n Joseph 授权,InfoQ 中文站翻译并分享。


深度神经网络(Deep neural network,DNN)本质上是由具有多个连接的感知器形成的,其中一个感知器是单个神经元。我们可以将人工神经网络(Artificial neural network,ANN)看作一个包含一组沿着加权路径馈送的输入系统。然后对这些输入进行处理,并产生一个输出来执行某些任务。随着时间的推移,人工神经网络将会“学习”,并发展出不同的路径。各种路径可以具有不同的权重,并且被认为更重要(或产生更理想结果)的路径在模型内被分配的权重比那些产生较少理想结果的路径更高。


在深度神经网络中,如果所有的输入都密集地连接到所有的输出,那么这些层就称为密集层(Dense layers)。此外,深度神经网络可以包含多个隐藏层(Hidden layer)。隐藏层基本上是神经网络输入和输出之间的点,激活函数在这里对输入的信息进行转换。它之所以被称为隐藏层,是因为它不能直接从系统的输入和输出中观察到。神经网络的深度越深,网络能从数据中识别的信息就越多。


然而,尽管从数据中学习尽可能多的信息是我们的目标,但深度学习模型可能会受到过拟合的影响。当模型从训练数据中学习了太多的信息,包括随机噪声时,就会出现这种情况。模型能够确定数据中非常复杂的模式,但这会对新数据的性能产生负面影响。训练数据中接收到的噪声并不适用于新的或未见过的数据,并且模型无法对所发现的模式进行泛化。非线性在深度学习模型中也是非常重要的。虽然模型会因为拥有多个隐藏层而学到很多信息,但将线性形式应用于非线性问题会导致性能低下。



现在,问题来了,“这些层是如何学习的?”那么,让我们将人工神经网络应用到一个真实的场景中去解决问题,以了解如何训练模型来完成目标。在目前全球新冠肺炎疫情之下,很多学校都过渡到了虚拟学习,这使得一些学生担心他们通过课程的机会。任何人工智能系统都应该能够解决“我能否通过这门课程”这种问题。


为简单起见,让我们设想此模型只有 3 个输入:学生听课次数、花在作业上的时间,以及在整个授课过程中网络掉线的次数。这个模型的输出将是一个二元分类;学生要么通过课程,要么没通过课程。现在是学期末,学生 A 听了 21 堂课,花了 90 个小时完成作业,并且在这个学期中,网络掉线 7 次。这些输入被输入到模型中,输出预测学生有 5%的机会通过课程。一个星期后,期末成绩公布,学生 A 通过了这门课程。那么,这个模型的预测出了什么问题呢?


从技术上来说,并没有出问题。该模型本来可以按照目前开发的模型工作。但问题是,模型并不知道发生了什么。我们本来只是在路径上对一些权重进行了初始化,但模型目前并不知道什么是对的,什么是错的;因此,权重是不正确的。这就是学习的意义所在。我们的想法是,模型需要了解什么时候是错误的,我们通过计算某种形式的 "损失 "来实现这一点。计算的损失取决于当前的问题,但它通常涉及最小化预测输出和实际输出之间的差异。



在上面的场景中,只有一个学生和一个误差点需要最小化。然而,通常情况却并非如此。现在,考虑到有多个学生和多个差异最小化。因此,总损失通常计算为所有预测值与实际观测值之差的平均值。


回想一下,我在前面提到的被计算的损失取决于当前的问题。因此,由于我们当前的问题是二元分类,适当的损失计算将是交叉熵损失。这个函数背后的想法是,它将学生是否会通过课程的预测分布与实际分布进行比较,并试图将这些分布之间的差异最小化。


假设我们不再想预测学生是否能通过这门课程,而是现在想预测他们这门课的成绩。交叉熵损失将不再是一个合适的方法,相反,均方误差损失将更合适。相反,均方误差损失会更合适。这种方法适用于回归问题,其想法是它将尝试最小化实际值和预测值之间的平方差。



现在,我们了解了一些损失函数,就可以进入损失优化和模型训练了。拥有良好的深度神经网络的一个关键因素是拥有合适的权重。损失优化应该是土找到一组权重 ,它将使计算的损失最小化。如果只有一个权重分量,则可以在二维图上绘制权重和损失,然后选择使损失最小的权重。然而,大多数深度神经网络具有多个权重分量,将一个 维图进行可视化是非常困难的。


取而代之的是,计算损失函数相对于所有权重的导数来确定最大上升方向。既然模型现在已经理解上行和下行的方向,它就会向下行进,直到在局部最小值处到达收敛点。一旦这个下降点完成,就会返回一组最优权重,这就是深度神经网络应该使用的权重(假设模型开发得很好)。


计算这个导数的过程被称为反向传播(Back propagation),它本质上是微积分的链式法则。考虑到上面显示的神经网络,第一组权重的微小变化是如何影响最终损失的?这就是导数或梯度试图解释的内容。但是,第一组权值被输入到一个隐藏层,然后隐藏层有另一组权值导致预测的输出和损失。因此,也应该考虑权重变化对隐藏层的影响。这是网络中仅有的两个部分。但是,如果有更多的权重需要考虑,这个过程可以通过将链式规则从输出应用到输入来继续这一过程。



训练深度神经网络时要考虑的另一个重要因素是学习率。当模型在寻找一个最优的权值集时,它需要通过一些因子来更新它的权重。虽然这看起来微不足道,但是决定模型应该移动的因子是相当困难的。如果因子太小,那么模型可能会运行一段指数级的时间,或者陷入某个不是全局最小值的地方。如果因子太大,那么模型可能会完全偏离目标点,进而发散。


虽然固定的学习率可能是理想的,但自适应学习率(Adaptive learning rate)会减少出现前文所提到的问题的机会。也就是说,因子将根据当前梯度、当前权重的大小或可能影响模型下一步查找最佳权重的位置的某些其他因素而发生变化。



可以看出,深度神经网络是建立在微积分和一些统计学的基础之上的。评估这些过程背后的数学非常有用,因为它可以帮助人们了解模型内部真正发生的事情,这可以导致开发更好的整体模型。但是,即使这些概念不容易理解,大多数程序都附带了自动微分等工具,所以不用担心。祝你编码愉快!


作者介绍:


Trist’n Joseph,数据科学家、研究员、内容创建者。


原文链接:


https://towardsdatascience.com/the-mathematics-behind-deep-learning-f6c35a0fe077


2020-09-24 08:001971
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 543.7 次阅读, 收获喜欢 1978 次。

关注

评论

发布
暂无评论
发现更多内容

PreSonus Studio One 6 Pro最新版v6.1.1中文下载 (音乐创作编辑软件)

Rose

Studio One6 Studio One 许可证 Studio One 破解 音乐制作软件

Mac 无线网络扫描工具:WiFi Explorer 3.4.2 (57)激活汉化版

真大的脸盆

无线管理 wifi工具

IBM Semeru Runtime 17.0.6.0 在 Linux 下的安装

HoneyMoose

OpenTiny 的这些特色组件,很实用,但你应该没见过

Kagol

开源 前端 Vue3 组件库

Django笔记三之使用model对数据库进行增删改查

Hunter熊

Python django model 增删改查

macOS 网站下载和离线浏览工具:SiteSucker Pro中文版

Rose

苹果软件资源站 SiteSucker Pro中文 整站下载工具 SiteSucker Pro Mac版

Web & WebDav Server在Mac上创建Web服务器

Rose

Web 服务器 mac软件下载 Web & WebDav Server破解

智慧污水处理厂Web3D管理系统 把“污水洗白”

2D3D前端可视化开发

智慧水务 智慧污水厂 智慧污水处理 污水厂三维可视化 数字孪生污水厂

Drone CI 部署

流火

王者荣耀商城异地多活架构设计

白杨

TypeScript常用代码块

青柚1943

“ONE”有引力,4月21日见!

博睿数据

智能运维 博睿数据 发布会 Bonree ONE

封仲淹:OceanBase开源技术生态全景解析

OceanBase 数据库

数据库 oceanbase

阿里云可观测 2023 年 3 月产品动态

阿里巴巴云原生

阿里云 云原生 可观测

LG电视如何投屏?Mirror for LG TV智能投屏工具轻松解决

Rose

mac软件下载 LG电视 投屏软件 Mirror for LG TV

上传了ipa但在苹果App Store中没有看到构建版本的问题

【论文解读】不和谐区域定位

合合技术团队

人工智能 图像识别 图像处理

折叠屏时代的全新故事,由华为领启

脑极体

华为

如何清理优化你的Mac?MacCleaner Pro系统综合清理释放磁盘空间!

Rose

磁盘清理 mac系统清理优化软件 MacCleaner Pro下载 如何清理苹果电脑

intellijidea卸载重装无法打开怎么办?IntelliJ IDEA彻底卸载教程

Rose

IntelliJ IDEA 2023下载 IntelliJ IDEA 2023破解 IntelliJ IDEA 2023最新 IntelliJ IDEA卸载

NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等

汀丶人工智能

人工智能 自然语言处理 深度学习 关系抽取 命名实体识别

智慧公共厕所,重构城市公共服务的新模式@光明源智慧公厕

光明源智慧厕所

智慧城市

失真的概念和定义

timerring

信息论 信息论与编码

​ 如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?

雪奈椰子

浪潮inBuilder低代码平台分布式微服务架构事务一致性技术解析

inBuilder低代码平台

分布式事务 低代码

用户需求挖掘与分析,某新零售快消品电商系统成功交付的秘诀

L3C老司机

产品 产品设计 需求分析 产品管理 用户画像

Vue3常用代码块

青柚1943

在生产环境中运行 grpc 服务所面临的挑战

蓬蒿

golang gRPC

架构实战营模块 5 作业

白杨

AI日课@20230407:别为下一代过虑;现在多多体验产品

无人之路

ChatGPT

浅谈深度学习背后的数学_AI&大模型_Trist‘n Joseph_InfoQ精选文章