首页 > 其他分享 >从零基础成为深度学习高手——Ⅰ

从零基础成为深度学习高手——Ⅰ

时间:2022-10-07 12:38:44浏览次数:47  
标签:高手 训练 人工智能 模型 学习 算法 深度


本文共9876字,阅读约需14分钟,有兴趣的朋友请耐心阅读,谢谢!

近期许良在公司内部做了一个关于人工智能/深度学习相关的主题分享讲座,为了准备这个演讲,花了100个小时左右,接下来就把精心准备的内容分享给大家。

有一个好消息是,考虑文章比较长和文字本身表达的局限性,同时为了解答大家的疑问,近期会完全免费开一个视频直播,具体内容如下。

1. 深度学习入门到晋级

2. 深度学习模型解析和代码实现展示

3. 答疑环节

具体直播时间和链接获取方法最后和大家说。


内容正式开始。  

一提到人工智能和深度学习,很多人觉得比较难,其实那只是因为没有遇到能够讲的清楚的人而已。  很多人喜欢把简单的事情说得玄乎,以显示自己很厉害,但其实真正厉害的人,是能够把复杂的事情讲解的很深入浅出、通俗易懂的,这也是我一直努力的方向。 

 看这篇文章的读者,估计大多数可能之前没有深入了解过深度学习,这么说来,我有幸成为各位在深度学习方面的启蒙老师了。

分享的内容分四部分,分别是入门基础进阶发展趋势。   

 深度学习简单入门  2016年3月份,AlphaGo以4:1战胜韩国围棋手李世石,一举震惊了世界。  人工智能一下就引爆了整个世界。有种趋势就是,不谈人工智能,就落伍了。  

以前资本圈融资都谈的是“互联网+”,现在都在谈“AI+”了。  有人说,马上人工智能时代就要来了,甚至有人宣扬人工智能威胁论。  那么,当我们谈论人工智能的时候,我们究竟在谈论什么呢?

从零基础成为深度学习高手——Ⅰ_数据

我们先来讨论下“人工智能”的定义。  

什么叫做智能呢???

所谓智能,其实就是对人某些高级功能的模拟,让计算机去完成一些以前只有人才能完成的工作,比如思考、决策、解决问题等等。  比如以前只有人可以进行数学计算,而现在计算机也可以进行计算,而且算的比人还准,还快,我们说计算机有一点智能了。  人工智能的发展经历了好几个发展阶段,从最开始的简单的逻辑推理,到中期的基于规则(Rule-based)的专家系统,这些都已经有一定的的智能了,但距离我们想象的人工智能还有一大段距离。直到机器学习诞生以后,人工智能界感觉终于找到了感觉。基于机器学习的图像识别和语音识别在某些垂直领域达到了跟人相媲美的程度。人工智能终于能够达到一定的高度了。

从零基础成为深度学习高手——Ⅰ_深度学习_02

当前机器学习的应用场景非常普遍,比如图像识别、语音识别,中英文翻译,数据挖掘等,未来也会慢慢融入到各行各业。

从零基础成为深度学习高手——Ⅰ_深度学习_03

虽然都是机器学习,但是背后的训练方法和模型是完全不同的。  

根据训练的方法不同,机器学习算法可以大致分类为监督学习无监督学习强化学习三种。

从零基础成为深度学习高手——Ⅰ_深度学习_04

监督学习:就是训练数据是有标签的,也就是每个数据都是标注过的,是有正确答案的。训练的时候会告诉模型什么是对的,什么的错的,然后找到输入和输出之间正确的映射关系,比如物体种类的图像识别,识别一张图片内容是只狗,还是棵树;

非监督学习:就是训练数据没有标签的,只有部分特征。模型自己分析数据的特征,找到数据别后隐含的架构关系,比如说自己对数据进行学习分类等等,常见的算法有聚类算法,给你一堆数据,将这数据分为几类。比如在银行的数据库中,给你所有客户的消费记录,让你挑选出哪些可以升级成VIP客户,这就是聚类算法;

强化学习:目标是建立环境到行为之间的最佳映射。强化学习的训练是不需要数据的,你告诉他规则或者给他明确一个环境,让模型自己通过不断地尝试,自己根据结果来自己摸索。  

Deep Mind的AlphaGo Zero就是通过强化学习训练的,号称花了3天的训练时间就能100:0打败AlphaGo。  比较适合强化学习的一般是环境到行为之间的结果规则比较明确,或者环境比较单一、不太容易受噪音干扰等等,比如下围棋的输赢等等,还可以模拟直升机起降、双足机器人行走等等。 

我们今天讨论的就是基于监督学习在图像识别领域的应用。


接下来我们再看下人工智能的历史。  

虽说我们感觉人工智能最近几年才开始火起来,但是这个概念一点也不新鲜。起源于上世纪五年代就提出人工智能的概念,叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果,当时的人们对此非常乐观,号称要在10年内解决所有的问题。但是,单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”逻辑),连异或都不能拟合。当时有一个专家叫明斯基,号称人工智能之父,在一次行业大会上公开承认,人工智能连一些基本的逻辑运算(比如异或运算)都无能为力,于是政府所有的资助全部都停掉了,于是进入人工智能的第一个冬天。  

随着数学的发展,这个缺点直到上世纪八十年代才发明了多层感知机克服,同时也提出了梯度下降、误差反向传播(BP)算法等当前深度学习中非常基础的算法。之前被人诟病的问题已经被解决了,希望的小火苗又重新点燃了,于是人工智能开始再次兴起。  

但是没过多久大家发现了,虽然理论模型是完善了,但是并没有实际用途,还不能解决实际问题,于是又冷下去了,人工智能的第二个冬天降临。  

直到2012年开始第三次兴起,也就是最近几年人工智能的热潮。

从零基础成为深度学习高手——Ⅰ_深度学习_05

下面我们就来第三次热潮是如何兴起的。

在这之前,我们先介绍一个比赛。这个比赛是一项图像识别的挑战赛,给你大量图片去做图像识别,比赛看谁的识别错误低。在2012年之前,错误率降低到30%以后,再往下降就很难了,每年只能下降个2,3个百分点。  

直到2012年,有一个哥们叫Alex,这哥们在寝室用GPU死磕了一个卷积神经网络的模型,将识别错误率从26%下降到了16%,下降了10%左右,一举震惊了整个人工智能界,当之无愧的获得了当年的冠军。  

从此之后,卷积神经网络一炮而红。之后每年挑战赛的冠军,胜者都是利用卷积神经网络来训练的。2015年,挑战赛的错误率已经降低到3.5%附近,而在同样的图像识别的任务,人眼的辨识错误率大概在5.1%,也就是目前的深度学习模型的识别能力已经超过了人眼。

从零基础成为深度学习高手——Ⅰ_深度学习_06

下图是最近几年比较有代表性的模型的架构。大家可以看出来,深度学习的模型的发展规律,深,更深。没有最深,只有更深。

从零基础成为深度学习高手——Ⅰ_人工智能_07

那么Alex的卷积神经网络这么厉害,是因为这个哥们是个学术大牛,有什么独创性的学术研究成果么?  

其实并不是。他所采用的模型是1998年Yann Lecun就提出了这个模型,当时Yann Lecun把这个模型应用在识别手写邮编数字的识别上,取得了很好的效果,他搭建的网络,命名为Lenet。这个人的名字——Yann Lecun,大家一定要记住,因为我们后面的内容将会以Lenet作为范本来讲解。

从零基础成为深度学习高手——Ⅰ_人工智能_08

Lenet

这个模型是1998年提出来的,可为什么时隔这么多年才开始火起来呢?人工智能突然爆发背后深层次的原因是什么?我总结了一下,背后的原因主要有三个——算法数据计算能力

从零基础成为深度学习高手——Ⅰ_深度学习_09

  1. 算法的成熟,尤其是随机梯度下降的方法的优化,以及一些能够有效防止过拟合的算法的提出,至于什么是随机梯度下降和过拟合,后面我们会详细讲到 ;
  2. 数据获取,互联网的爆发,尤其是移动互联网和社交网络的普及,可以比较容易的获取大量的互联网资源,尤其是图片和视频资源,因为做深度学习训练的时候需要大量的数据;
  3. 计算能力的提升,因为要训练的数据量很大(都是百万级以上的数据),而且训练的参数也很大(有的比较深的模型有几百万甚至上千万个的参数需要同时优化),而多亏了摩尔定律,能够以较低的价格获取强大的运算能力,也多亏了Nvida,开发了GPU这个神器,可以大幅降低训练时间。

从零基础成为深度学习高手——Ⅰ_人工智能_10

GPU的运算速度是CPU的5-10倍左右,同样的模型需要训练,如果用CPU训练需要一个礼拜的话,那使用GPU,只需要一天时间就可以了。  

截止到目前,我们汇总下我们的学习内容,我们了解了人工智能的简单介绍,大致了解了人工智能的算法分类以及发展历史。

明天我们开始说说深度学习基础知识,希望您继续阅读,谢谢!

标签:高手,训练,人工智能,模型,学习,算法,深度
From: https://blog.51cto.com/u_15726357/5734390

相关文章

  • Yolo系列要开播了!先从Bounding Boxes中能够学习什么开个头
    Wheredoesitcomefrom?TheThirdResearchInstituteoftheMinistryofPublicSecurity基于视频结构化描述的视频语义分析系统★可描述车辆颜色、车型、品牌等,车型类......
  • JavaScript 学习-48.$.ajaxSetup方法设置AJAX的全局默认设置
    前言$.ajaxSetup方法用于设置AJAX的全局默认设置。之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的默认设置。这方便我们设置error统一返回样式。示......
  • Flask学习笔记(十)-标准类视图及使用场景
    一、定义规则1.标准类视图,必须继承自`flask.views.View`.2.必须实现`dipatch_request`方法,以后请求过来后,都会执行这个方法。这个方法的返回值就相当于是之前的函数视图......
  • 学习迁移架构用于Scalable图像的识别
    论文出自GoogleBrain,是对前一篇论文的改进,前一篇文章讲述了用RNN去搜索一个最好的网络结构,而这篇文章认为之前的搜索空间太大,效果不好,所以改成搜索CNN的效果最好的convce......
  • 20201318李兴昕第三章学习笔记
    第三章:Unix/Linux进程管理知识点总结:本章讨论了Unix/Linux中的进程管理;阐述了多任务处理原则;介绍了进程概念;并以一个编程示例来说明多任务处理、上下文切换和进程处理......
  • drf学习-5
    drf视图继承关系表2个视图基类之前写5个接口,继承了APIview还可以继承GenericAPIView,它帮我们干了好多事GenericAPIView:属性和方法属性  掌握项  -queryset......
  • 学习笔记-SQL盲注
    盲注在SQL注入过程中,SQL语句执行后,选择的数据不能回显到前端页面,此时需要利用一些方法进行判断或者尝试,这个过程称之为盲注。在盲注中,攻击者根据其返回页面的不......
  • CVPR 19系列 | 强判别能力的深度人脸识别(文末附有源码)
    CVPR2019已经过去好一段,但是好的文献依然值得慢慢去品味,值得深入阅读去体会作者的意图,从中学习其精髓,去发现更多的创新点。今天为大家推荐一篇关于人脸识别的文献,主要提出了......
  • Ruoyi字典源码学习
    此文章属于ruoyi项目实战系列使用目的什么是字典数据:具体的值(0,1,"Y","N"),对应具体的业务逻辑("男","女","是","否")。字典数据不应该只写死在代码中,还应存入数据库,通过管理系......
  • 稀疏&集成的卷积神经网络学习(续)
    昨天跟大家详细的说了分类,定位的一些相关知识,今天把剩下的最后一点知识给大家补充完整,也感谢大家一直的支持,谢谢!昨天的推送告诉大家了分类方案,我们再温习一下:今天我们简单的......