QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

深度学习的数学(一):神经网络和深度学习

  • 2020-04-01
  • 本文字数:1535 字

    阅读完需:约 5 分钟

深度学习的数学(一):神经网络和深度学习

编者按:本文节选自图灵程序设计丛书 《深度学习的数学》一书中的部分章节。


深度学习 是人工智能的一种具有代表性的实现方法,下面就让我们来考察一下它究竟是什么样的技术。

备受瞩目的深度学习

在有关深度学习的热门话题中,有几个被媒体大肆报道的事件,如下表所示。


年份事件
2012 年在世界性的图像识别大赛ILSVRC中,使用深度学习技术的Supervision方法取得了完胜
2012 年利用谷歌公司开发的深度学习技术,人工智能从 YouTube 的视频中识别出了猫
2014 年苹果公司将Siri 的语音识别系统变更为使用深度学习技术的系统
2016 年利用谷歌公司开发的深度学习技术,AlphaGo 与世界顶级棋手对决,取得了胜利
2016 年奥迪、宝马等公司将深度学习技术运用到汽车的自动驾驶中


如上表所示,深度学习在人工智能领域取得了很大的成功。那么,深度学习究竟是什么技术呢?深度学习里的“深度”是什么意思呢?为了解答这个疑问,首先我们来考察一下神经网络,这是因为深度学习是以神经网络为出发点的。

神经网络

谈到神经网络的想法,需要从生物学上的 神经元( neuron) 开始说起。


从生物学的扎实的研究成果中,我们可以得到以下关于构成大脑的神经元的知识(1 - 2 节)。


(i) 神经元形成网络。


(ii) 对于从其他多个神经元传递过来的信号,如果它们的和不超过某个固定大小的值(阈值),则神经元不做出任何反应。


(iii) 对于从其他多个神经元传递过来的信号,如果它们的和超过某个固定大小的值(阈值),则神经元做出反应(称为点火),向另外的神经元传递固定强度的信号。


(iv) 在 (ii) 和 (iii) 中,从多个神经元传递过来的信号之和中,每个信号对应的权重不一样。



将神经元的工作在数学上抽象化,并以其为单位人工地形成网络,这样的人工网络就是神经网络。将构成大脑的神经元的集合体抽象为数学模型,这就是神经网络的出发点。

用神经网络实现的人工智能

看过以往的科幻电影、动画片就知道,人工智能是人们很早就有的想法。那么,早期研究的人工智能和用神经网络实现的人工智能有哪些不同呢?答案就是用神经网络实现的人工智能能够自己学习过去的数据。


以往的人工智能需要人们事先将各种各样的知识教给机器,这在工业机器人等方面取得了很大成功。



而对于用神经网络实现的人工智能,人们只需要简单地提供数据即可。神经网络接收数据后,会从网络的关系中自己学习并理解。

“人教导机器”类型的人工智能的问题

20 世纪的“人教导机器”类型的人工智能,现在仍然活跃在各种领域,然而也有一些领域是它不能胜任的,其中之一就是模式识别。让我们来看一个简单的例子。


例题 有一个用 8×8 像素读取的手写数字的图像,考虑如何让计算机判断图像中的数字是否为 0。


读取的手写数字的图像如下图所示。



这些图像虽然大小和形状各异,但都可以认为正解是数字 0。可是,如何将这些图像中的数字是 0 这个事实教给计算机呢?


要用计算机进行处理,就需要用数学式来表示。然而,像 例题 这样的情况,如果使用 20 世纪的常规手段,将“0 具有这样的形状”教给计算机,处理起来会十分困难。况且,如下所示,对于写得很难看的字、读取时受到噪声影响的字,虽然人能够设法辨认出来是 0,但要将这种辨认的条件用数学式表达,并教给计算机,应该是无法做到的。



从这个简单的 例题 中可以看出,“人教导机器”类型的人工智能无法胜任图像、语音的模式识别,因为要把所有东西都教给计算机是不现实的。


不过,在 20 世纪后期,对于这样的问题,人们找到了简单的解决方法,那就是神经网络以及由其发展而来的深度学习。如前所述,具体来说就是由人提供数据,然后由神经网络自己进行学习。


如此看来,神经网络似乎有一些不可思议的逻辑。然而,从数学上来说,其原理十分容易。本书的目的就是阐明它的原理。


图书简介http://www.ituring.com.cn/book/2593



2020-04-01 10:002356

评论

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

巨杉数据库加入龙蜥社区,共同推动软硬件行业生态发展

OpenAnolis小助手

龙蜥社区

学生系统架构详细设计

Only

架构实战营 「架构实战营」

合并两个有序链表

田镇珲

算法 链表

linux库打桩

SkyFire

Linux hook

Serverless Kubernetes 落地实践

阿里巴巴云原生

阿里云 Serverless Kubernetes 云原生

架构实战营 4 期第三模块作业

jialuooooo

架构实战营

eoiioeWeb安全渗透测试之信息搜集篇

喀拉峻

网络安全 安全 WEB安全

学生管理系统架构设计

Evan

linux信号操作

SkyFire

Linux 信号

OpenKruise v1.0:云原生应用自动化达到新的高峰

阿里巴巴云原生

阿里云 Kubernetes 云原生 OpenKruise 套件

objdump简单使用

SkyFire

Linux objdump

使用 Prometheus 监控的一些注意事项

耳东@Erdong

监控 Prometheus

linux文本处理四件套的简单用法

SkyFire

Linux sed grep awk find

Dubbo 框架学习笔记十六

风翱

dubbo 12月日更

使用gprof进行简单程序的性能分析

SkyFire

Linux 性能分析 gprof

搭建PXE服务器(Ubuntu/Deepin)

SkyFire

Linux ubuntu deepin tftp pxe

gtest入门

SkyFire

c++ GTest

外包学生管理系统架构文档

Sindorei

「架构实战营」

Go语言国际化 i18n

xcbeyond

golang 28天写作 i18n 12月日更

Go 语言快速入门指南:第八篇 接口

宇宙之一粟

golang 接口 12月日更 Go入门

模块三

Geek_59dec2

C++11 extern template

SkyFire

C++11 template

有哪些比较好用的在线项目管理软件值得推荐?

优秀

项目管理工具

Centos7 安装MySql 5.7多实例

taony

MySQL

沐曦加入龙蜥社区,聚焦技术创新,繁荣开源生态

OpenAnolis小助手

龙蜥社区

【安全漏洞】利用CodeQL分析并挖掘Log4j漏洞

H

网络安全 信息安全 漏洞

PassJava 开源 (十) :Spring Cloud 整合 OSS 对象存储

悟空聊架构

OSS 28天写作 passjava 悟空聊架构 12月日更

尝试下使用 cpp 实现 Rust 的 enum

SkyFire

c++ rust Enum

【CSS 学习总结】第九篇 - CSS 布局-居中布局-水平垂直居中布局

Brave

CSS 12月日更

git普通库与裸库

SkyFire

git

元宇宙100讲-0x010

hackstoic

元宇宙

深度学习的数学(一):神经网络和深度学习_AI&大模型_涌井良幸,涌井贞美_InfoQ精选文章