深度学习理论与实践——课程笔记(一)

目录

课程前言

什么是人工智能?

什么是机器学习?

什么是深度学习?

什么是计算机视觉?

什么是自然语言处理?

PyTorch框架与TensorFlow框架的选取

预备知识

软硬件基础

推荐书籍

自学资源

人工智能发展

人工智能发展史

人工智能流派

 迈向第三代人工智能

机器学习

机器学习样例

 机器学习三要素

算法类型

神经网络

从生物神经元到人工神经元——MP模型

计算机视觉与NLP

计算机视觉研究分类

 计算机视觉研究难点

自然语言处理研究分类

自然语言处理研究难点


课程前言

什么是人工智能?

Artificial Intelligence: also called machine intelligence, means any device that percieves its environment and takes actions that maxmize its chance of successfully achieving its goals.

关键词:人工智能;机器智能;智能代理;模仿;人脑

什么是机器学习?

Machine learning is seen as a subset of artifical intelligence.

关键词:机器学习;人工智能子集;数学模型;训练集

什么是深度学习?

Deep Learning (also known as deep structured learning) is part of a broader family of machine learning methods based on artificial neural networks with representation learning.  Learning can be supervised, semi-supervised or unsupervised. Deep learning architectures such as deep neural networks, deep belief networks, recurrent neural networks and convolutional neural networks have been applied to fields including computer vision, machine vision, speech recognition, natural language processing, audio recognition, social network filtering, machine translation, bioinformatics, drug design, medical image analysis, material inspection and board game programs, where they have produced results comparable to and in some cases surpassing human expert performance. 

(译:深度学习,也叫深度结构学习,是机器学习方法中的一部分,该方法是基于具有表征学习的神经网络的机器学习方法。深度学习可以是有监督的、半监督的或无监督的。深度学习体系结构,如深度神经网络、深度信念网络、递归神经网络和卷积神经网络,已应用于计算机视觉、机器视觉、语音识别、自然语言处理、音频识别、社会网络过滤、机器翻译、生物信息学、药物设计、医学图像分析、材料检查和棋盘游戏程序,在这些程序中,它们产生的结果与人类专家的表现相当,在某些情况下甚至超过人类专家的表现。)

关键词:深度学习;深度结构学习;表示学习;无监督学习;半监督学习;监督学习;深度神经网络;深度信念网络;循环神经网络;卷积神经网络

深度学习理论与实践——课程笔记(一)_第1张图片 图 1  人工智能、机器学习、深度学习的包含关系图

 推荐相关资料:人工智能、机器学习和深度学习的区别?_深蓝学院

人工智能是所有致力于模仿人类或与人脑认知相关联的研究总称。

机器学习是一种实现人工智能的方法,利用经验(数据)自动改进的计算机算法。

深度学习是一种实现机器学习的技术,基于人工神经网络与表示学习的机器学习算法。

什么是计算机视觉?

Computer vision is an interdisciplinary field that deals with how computers can be made to gain high-level understanding from digital images or videos.

关键词:数字图像;视频;高层级理解

计算机视觉 vs 深度学习

主流任务:

图像分类:识别图片中是什么(分类)[计算机视觉——图像分类综述];

目标识别:进行分类,并对图片中的目标区域进行识别[计算机视觉——目标检测综述];

语义分割:根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同,从而将目标与背景分割开[计算机视觉——图像分割综述]

所以深度学习学到了什么?(可解释性)

深度学习理论与实践——课程笔记(一)_第2张图片 图 2 计算机视觉层次
Source: Visualizing and Understanding Convolutional Networks by Zeiler/Fergus
arXiv: 1311.2901

什么是自然语言处理?

Natural Language Processing (NLP), is a subfield of linguistics, computer science, information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) language, in particular how to program computers to process and analyze large amounts of natural language data. 

关键词:自然语言处理;NLP;语言学;计算机科学;信息工程;人工智能;语音识别;自然语言理解;自然语言生成

深度学习理论与实践——课程笔记(一)_第3张图片 图 3  自然语言处理与人工智能、语言学、计算机科学和信息工程的关系

PyTorch框架与TensorFlow框架的选取

PyTorch与TensorFlow的综合对比

综合结论:

(该图来源:TensorFlow与PyTorch对比_AI人工智能与大数据-CSDN博客 )


预备知识

软硬件基础

操作系统:Linux/MacOS系统优先,可安装Ubuntu。基础的Linux命令与操作。文件夹全部采用英文+下滑线的方式

编程语言:首选Python,其他语言辅助。

IDE软件:首选PyCharm

GPU加速:NvidiaCUDA,cuDNN

其他:Anaconda(隔离版本环境),jupyter(浏览器代码+讲解),ipython(Python命令行增强工具),Git(版本管理)

推荐书籍

《深度学习——基于Python的理论与实践》
《深度学习进阶——自然语言处理》
《深度学习》
《Python深度学习》

自学资源

教程博主:吴恩达,李宏毅,林轩田
视频搜索:B站,coursea,CS231n,CS224n,莫凡Python,网易云课程
论文下载:Sci-Hub,Semantic Scholar,ArXiv
代码查找:Papers with Code,Github
领域体系:AMiner
其他资源:知乎,简书


人工智能发展

人工智能发展史

深度学习理论与实践——课程笔记(一)_第4张图片

 人工智能从诞生到今天,经历了一次又一次的繁荣和低谷,其发展历程大致可以分为:推理期知识期学习期三个大的主要历史时期。

1943年,神经科学家和控制论专家Warren McCulloch与逻辑学家Walter Pitts基于生物神经元的工作机制提出了MP模型


MP神经元模型:

深度学习理论与实践——课程笔记(一)_第5张图片

 即:

y_{i}=f(\sum_{i=1}^{n}w_{ij}x_{i}-\theta_{j})

其中,f被称为称为激活函数(Activation Function)或转移函数(Transfer Function),用以提供非线性表达能力
x_{i}为输入信号;y_{i}为输出信号;w_{ij}为权值;\sum_{i=1}^{n}w_{ij}x_{i}为膜电位;\theta_{j}为阈值。

输入加权和\sum_{i=1}^{n}w_{ij}x_{i}大于阈值\theta_{j}时,神经元输出y_{j}为1,神经元处于激活状态;

输入加权和\sum_{i=1}^{n}w_{ij}x_{i}小于阈值\theta_{j}时,神经元输出y_{j}为0,神经元处于抑制状态;

深度学习理论与实践——课程笔记(一)_第6张图片


1950年,艾伦·图灵提出图灵测试。如果电脑能在5分钟内回答由人类测试者提出的一系列问题,并且有超过30%的回答让测试者误认为是人类所回答,那么测试通过。

深度学习理论与实践——课程笔记(一)_第7张图片

1954年,Georgetown实验:1954年1月7号,乔治敦大学和IBM联手演示了将60句俄语自动翻译成英语。包含6个语法规则和250个词。计划3-5年之内完全从一种语言到另外一种语言的自动翻译问题。

深度学习理论与实践——课程笔记(一)_第8张图片

 1956年,在达特茅斯会议上,人工智能概念被首次提出。

深度学习理论与实践——课程笔记(一)_第9张图片

 1957年,Frank Rosenblatt在康内尔航空实验室发明的一种人工神经网络,是一种二元线性分类器

1959年,首台工业机器人诞生。美国发明家乔治·德沃尔与约瑟夫·英格伯格发明了首台工业机器人,该机器人借助计算机读取示教存储程序和信息,发出指令控制一台多自由度的机械。它对外界环境没有感知。

深度学习理论与实践——课程笔记(一)_第10张图片

1964-1966年,ALPAC报告:美国科学院成立语言自动处理咨询委员会,综合调查分析和报告,在1966年底,公布《语言与机器》也就是ALPAC报告。终结了机器翻译的时代。

深度学习理论与实践——课程笔记(一)_第11张图片

1964-1966年,ELIZA聊天机器人:第一个通过图灵测试的聊天机器人。

深度学习理论与实践——课程笔记(一)_第12张图片

1965年,专家系统首次亮相。美国科学家爱德华·费根鲍姆等研制出化学分析专家系统程序DENDRAL,它能够分析实验数据来判断未知化合物的分子结构。

1950-1965年是推理期。大部分早期研究者都通过人类的经验,基于逻辑或者事实归纳出来一些规则,然后通过编写程序来让计算机完成一个任务。这个时期中,研究者开发了一系列的智能系统,比如几何定理证明器(DL语言)、语言翻译器等。


20世纪70年代,研究者意识到知识对于人工智能系统的重要性,提出了专家系统(ExpertSystem)。三要素:(1)领域专家知识;(2)模拟专家思维;(3)达到专家级水平。因此,也被称为基于知识的系统。

1970年,能够分析语义、理解语言的系统诞生。美国斯坦福大学计算机教授T·维诺格拉德开发的人机对话系统SHRDLU,能分析指令。由于能正确理解语言,被视为人工智能研究的一次巨大成功。

1976年,专家系统广泛使用。美国斯坦福大学肖特里夫等人发布的医疗咨询系统MYCIN,可用于对传染性血液病患诊断。这一时期还陆续研制出了用于生产制造、财务会计、金融等各领域的专家系统。

深度学习理论与实践——课程笔记(一)_第13张图片

1980年,专家系统广泛使用。美国卡耐基梅隆大学为DEC公司制造出XCON专家系统,帮助DEC公司每年节约4000万美元左右的费用,特别是在决策方面能提供有价值的内容。

1981年,第五代计算机项目研发。日本率先拨款支持,目标是制造出能够与人对话、翻译语言、解释图像,并能像人一样推理的机器。随后,英美等国也开始为AI和信息技术领域的研究提供大量资金。

1984年,大百科全书(Cyc)项目。Cyc项目试图将人类拥有的所有一般性知识都输入计算机,建立一个巨型数据库,并在此基础上实现知识推理,它的目标是让人工智能的应用能够以类似人类推理的方式工作,成为人工智能领域的一个全新研发方向。

深度学习理论与实践——课程笔记(一)_第14张图片


知识图谱:

知识图谱是由 Google 公司在 2012 年提出来的一个新的概念。从学术的角度,我们可以对知识图谱给一个这样的定义:“知识图谱本质上是语义网络(Semantic Network)的知识库”。但这有点抽象,所以换个角度,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图(Multi-relational Graph)。

原文链接:https://blog.csdn.net/weixin_44023658/article/details/112503294


1970-1985年是知识期。通过模拟专家思维建立专家系统,利用知识库+推理机,是一类具有专门知识和经验的计算机智能程序系统了。专家系统一般采用知识表示知识推理等技术来完成通常由领域专家才能解决的复杂问题。


1997年,深蓝战胜国际象棋世界冠军。IBM公司的国际象棋电脑深蓝DeepBlue战胜了国际象棋世界冠军卡斯帕罗夫。它的运算速度为每秒2亿步棋,并存有70万份大师对战的棋局数据,可搜寻并估计随后的12步棋。

2006年,Hinton提出深度学习的神经网络
2011年,苹果Siri问世,技术上不断创新。
2011年,Watson参加智力问答节目。
2012年,谷歌的无人驾驶汽车上路。
2013年,深度学习算法在语音与视觉识别上取得重大突破。
2016年,谷歌DeepMind开发的AlphaGo人工智能围棋程序战胜围棋冠军。
2016年,百度大脑计划。利用计算机技术模拟人脑,已经可以做到孩子的智力水平。四大功能:语音、图像、自然语言处理、用户画像。
2020年,GPT-3已经在自然语言处理取得巨大突破。

人工智能流派

符号主义(Symbolism)

又称为逻辑主义、心理学派或计算机学派,是指通过分析人类智能的功能,然后用计算机来实现这些功能的一类方法。如:知识图谱

  • 信息可以用符号来表示
  • 符号可以通过显式的规则(比如逻辑运算)来操作

连接主义(Connectionism)

又称仿生学派或生理学派,是认知科学领域中的一类信息处理的方法和理论。连接主义认为人类的认知过程是神经网络中的信息处理过程。如:深度学习

  • 非线性、分布式、并行化
  • 局部性计算、自适应性特点

行为主义(Actionism)

又称为进化主义或是控制论学派,其原理为控制论及感知-动作型控制系统,是指利用计算机模拟人在控制过程中的智能行为和作用。如:强化学习

  • 工程控制论和生物控制论
  • 与环境交互
深度学习理论与实践——课程笔记(一)_第15张图片 图 4  人工智能流派

 迈向第三代人工智能

符号主义与连接主义只是从不同的侧面模拟人类的心智(或大脑),具有各自的片面性,依靠单个范式不可能触及人类真正的智能。需要建立新的可解释鲁棒的AI理论与方法,发展安全、可信、可靠和可扩展的AI技术。为实现这个目标,需要将这两种范式结合起来,这是发展AI的必经之路。

深度学习理论与实践——课程笔记(一)_第16张图片

引自:张钹,朱军,苏航等,迈向第三代人工智能,中国科学:信息科学,2020.

机器学习

问题:炎热的夏季,怎么挑到一个皮薄保熟的瓜?

  • 数据(可以理解为特征,但需要计算机可处理)
  • 算法(机器学习模型,回归/判别)

机器学习样例

Step 1:收集训练数据

深度学习理论与实践——课程笔记(一)_第17张图片 图 5  瓜是否保熟训练集合(Training Dataset)

 Step 2:训练模型

训练(Training):训练输入数据与输出变量之间的分类模型(逻辑回归(Logistic Regression),支持向量机(SVM),朴素贝叶斯(Naive Bayes),决策树(Decision Tree),随机森林(Random Forest)等);

Step 3:测试

测试(Testing):以后买到的西瓜,提取西瓜特征,使用训练好的模型进行预测其是否熟了。

机器学习从有限的观测数据中学习(或者猜测)出具有一般性的规律,并利用这些规律对未知数据进行预测。

深度学习理论与实践——课程笔记(一)_第18张图片

上述流程中,每个步骤都是独立分开的,传统的机器学习模型主要关注构建预测函数上。而前三步对最终结果有着十分重要的作用,因此很多机器学习问题变成了特征工程问题

由于最终的预测步骤不涉及特征的学习,其特征主要依赖人工经验或特征转换方法来抽取,所以机器学习方法大多数都是浅层学习。

这是机器学习与深度学习在特征学习和表示上的重要区别

机器学习系统的一般步骤:

深度学习理论与实践——课程笔记(一)_第19张图片

 机器学习三要素

模型:g(x)p_{r}(y|{\mathbf{x}})\mathfrak{F}=\left \{f(\mathbf{x};\theta)|\theta\in \mathbb{R}^D\right \} 

学习准则:\mathfrak{R}(\theta)=\mathbb{E}_{(x,y)\sim p_{r}(x,y)}[\mathfrak{L}(y,f(\mathbf{x};\theta))]

优化算法:梯度下降、随机梯度下降、小批量梯度下降

算法类型

深度学习理论与实践——课程笔记(一)_第20张图片

神经网络

连接主义思想模拟人的神经元

从生物神经元到人工神经元——MP模型

深度学习理论与实践——课程笔记(一)_第21张图片

  •  一个神经元有多个树突(接受传入信息)
  • 具有一条轴突(传递信息)

1943年,心理学家McCulloch和数学家Pitts参考了生物神经元的结构,提出了抽象的神经元模型MP。(见上方)

深度学习理论与实践——课程笔记(一)_第22张图片

计算机视觉与NLP

计算机视觉研究分类

深度学习理论与实践——课程笔记(一)_第23张图片

 计算机视觉研究难点

  • 多变和非均匀的光照场景,例如一些逆光的场景。
  • 成像质量差异,图像或视频的分辨率不同,甚至会有模糊等现象出现。
  • 不同场景存在干扰或者遮挡等问题。

自然语言处理研究分类

深度学习理论与实践——课程笔记(一)_第24张图片

自然语言处理研究难点

  • 语言是人类思维的形式化表现,本身就是一种抽象的高层级信号。
  • 自然语言处理任务众多且复杂。
  • 简单模型可解释但效果差,复杂语言模型需要大量计算资源,可解释性差但效果好。
  • 语言类型众多,不同语言之间存在差异。
  • 语义鸿沟、一词多义问题。

你可能感兴趣的