深度学习简述

news2024/11/17 16:27:29

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️
🐴作者:秋无之地

🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。

🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、留言💬、关注🤝,关注必回关

上一篇文章已经跟大家介绍过《数据挖掘实战(3):如何对比特币走势进行预测?》,相信大家对数据挖掘实战(3)都有一个基本的认识。下面我讲一下:深度学习简述

一、设定目标

之前我们已经讲了数据挖掘十大经典算法,在实战篇中也了解了随机森林、逻辑回归的概念及工具使用。这些算法都属于传统的机器学习算法。你肯定听说过这两年很火的深度学习,那么机器学习算法和深度学习有什么关联呢?

在这篇文章中,我们会通过以下几个方面了解深度学习:

  1. 数据挖掘、机器学习和深度学习的区别是什么?这些概念都代表什么?
  2. 我们通过深度学习让机器具备人的能力,甚至某些技能的水平超过人类,比如图像识别、下棋对弈等。那么深度学习的大脑是如何工作的?
  3. 深度学习是基于神经网络构建的,都有哪些常用的网络模型?
  4. 深度学习有三个重要的应用领域,这三个应用领域分别是什么?

二、数据挖掘,机器学习,深度学习的区别是什么?

实际上数据挖掘和机器学习在很大程度上是重叠的。一些常用算法,比如 K-Means、KNN、SVM、决策树和朴素贝叶斯等,既可以说是数据挖掘算法,又可以说是机器学习算法。那么数据挖掘和机器学习之间有什么区别呢?

1、数据挖掘

数据挖掘通常是从现有的数据中提取规律模式(pattern)以及使用算法模型(model)。核心目的是找到这些数据变量之间的关系,因此我们也会通过数据可视化对变量之间的关系进行呈现,用算法模型挖掘变量之间的关联关系。通常情况下,我们只能判断出来变量 A 和变量 B 是有关系的,但并不一定清楚这两者之间有什么具体关系。在我们谈论数据挖掘的时候,更强调的是从数据中挖掘价值。

2、机器学习

机器学习是人工智能的一部分,它指的是通过训练数据和算法模型让机器具有一定的智能。一般是通过已有的数据来学习知识,并通过各种算法模型形成一定的处理能力,比如分类、聚类、预测、推荐能力等。这样当有新的数据进来时,就可以通过训练好的模型对这些数据进行预测,也就是通过机器的智能帮我们完成某些特定的任务。

3、深度学习

深度学习属于机器学习的一种,它的目标同样是让机器具有智能,只是与传统的机器学习算法不同,它是通过神经网络来实现的。神经网络就好比是机器的大脑,刚开始就像一个婴儿一样,是一张白纸。但通过多次训练之后,“大脑”就可以逐渐具备某种能力。这个训练过程中,我们只需要告诉这个大脑输入数据是什么,以及对应的输出结果是什么即可。通过多次训练,“大脑”中的多层神经网络的参数就会自动优化,从而得到一个适应于训练数据的模型。

所以你能看到在传统的机器学习模型中,我们都会讲解模型的算法原理,比如 K-Means 的算法原理,KNN 的原理等。而到了神经网络,我们更关注的是网络结构,以及网络结构中每层神经元的传输机制。我们不需要告诉机器具体的特征规律是什么,只需把我们想要训练的数据和对应的结果告诉机器大脑即可。深度学习会自己找到数据的特征规律!而传统机器学习往往需要专家(我们)来告诉机器采用什么样的模型算法,这就是深度学习与传统机器学习最大的区别。

另外深度学习的神经网络结构通常比较深,一般都是 5 层以上,甚至也有 101 层或更多的层数。这些深度的神经网络可以让机器更好地自动捕获数据的特征。

三、神经网络是如何工作的

神经网络可以说是机器的大脑,经典的神经网络结构可以用下面的图来表示。

这里有一些概念你需要了解。

  1. 节点:神经网络是由神经元组成的,也称之为节点,它们分布在神经网络的各个层中,这些层包括输入层,输出层和隐藏层。
  2. 输入层:负责接收信号,并分发到隐藏层。一般我们将数据传给输入层。
  3. 输出层:负责输出计算结果,一般来说输出层节点数等于我们要分类的个数。
  4. 隐藏层:除了输入层和输出层外的神经网络都属于隐藏层,隐藏层可以是一层也可以是多层,每个隐藏层都会把前一层节点传输出来的数据进行计算(你可以理解是某种抽象表示),这相当于把数据抽象到另一个维度的空间中,可以更好地提取和计算数据的特征。
  5. 工作原理:神经网络就好比一个黑盒子,我们只需要告诉这个黑盒子输入数据和输出数据,神经网络就可以自我训练。一旦训练好之后,就可以像黑盒子一样使用,当你传入一个新的数据时,它就会告诉你对应的输出结果。在训练过程中,神经网络主要是通过前向传播和反向传播机制运作的。

什么是前向传播和反向传播呢?

  1. 前向传播:数据从输入层传递到输出层的过程叫做前向传播。这个过程的计算结果通常是通过上一层的神经元的输出经过矩阵运算和激活函数得到的。这样就完成了每层之间的神经元数据的传输。
  2. 反向传播:当前向传播作用到输出层得到分类结果之后,我们需要与实际值进行比对,从而得到误差。反向传播也叫作误差反向传播,核心原理是通过代价函数对网络中的参数进行修正,这样更容易让网络参数得到收敛。

所以,整个神经网络训练的过程就是不断地通过前向 - 反向传播迭代完成的,当达到指定的迭代次数或者达到收敛标准的时候即可以停止训练。然后我们就可以拿训练好的网络模型对新的数据进行预测。

当然,深度神经网络是基于神经网络发展起来的,它的原理与神经网络的原理一样,只不过强调了模型结构的深度,通常有 5 层以上,这样模型的学习能力会更强大。

四、常用的神经网络都有哪些

按照中间层功能的不同,神经网络可以分为三种网络结构,分别为 FNN、CNN 和 RNN。

1、FNN

FNN(Fully-connected Neural Network)指的是全连接神经网络,全连接的意思是每一层的神经元与上一层的所有神经元都是连接的。不过在实际使用中,全连接的参数会过多,导致计算量过大。因此在实际使用中全连接神经网络的层数一般比较少。

2、CNN

CNN 叫作卷积神经网络,在图像处理中有广泛的应用,了解图像识别的同学对这个词一定不陌生。CNN 网络中,包括了卷积层、池化层和全连接层。这三个层都有什么作用呢?

卷积层相当于一个滤镜的作用,它可以把图像进行分块,对每一块的图像进行变换操作。

池化层相当于对神经元的数据进行降维处理,这样输出的维数就会减少很多,从而降低整体的计算量。

全连接层通常是输出层的上一层,它将上一层神经元输出的数据转变成一维的向量。

3、RNN

RNN 称为循环神经网络,它的特点是神经元的输出可以在下一个时刻作用到自身,这样 RNN 就可以看做是在时间上传递的神经网络。它可以应用在语音识别、自然语言处理等与上下文相关的场景。

深度学习网络往往包括了这三种网络的变种形成,常用的深度神经网络包括 AlexNet、VGG19、GoogleNet、ResNet 等,我总结了这些网络的特点,你可以看下:

你能看出随着时间的推进,提出的深度学习网络层数越来越深,Top-5 错误率越来越低。

你可能会问什么是 Top-5 错误率,实际上这些网络结构的提出和一个比赛相关,这个比赛叫做 ILSVRC,英文全称叫做 Large Scale Visual Recognition Challenge。它是一个关于大规模图像可视化识别的比赛,所基于的数据集就是著名的 ImageNet 数据集,一共包括了 1400 万张图片,涵盖 2 万多个类别。

表格中的 AlexNet 就是 2012 年的 ILSVRC 冠军,当时的 Top-5 正确率是 84.7%,VGG 和 GoogleNet 是 2014 年 ILSVRC 比赛的模型,其中 GoogleNet 是当时比赛的冠军,而 VGG 是当时比赛的亚军,它的效率低于 GoogleNet。VGG 有两个版本,VGG16 和 VGG19,分别是 16 层和 19 层的 VGG 网络,这两者没有本质的区别,只是网络深度不同。到了 2015 年,比赛冠军是 ResNet,Top-5 正确率达到了 96.43%。ResNet 也有不同的版本,比如 ResNet50、ResNet101 和 ResNet152 等,名称后面的数字代表的是不同的网络深度。之后 ResNet 在其他图像比赛中也多次拿到冠军。

五、深度学习的应用领域

从 ImageNet 跑出来的这些优秀模型都是基于 CNN 卷积神经网络的。实际上深度学习有三大应用领域,图像识别就是其中之一,其他领域分别是语音识别和自然语言处理。

这三个应用领域有一个共同的特性,就是都来自于信号处理。我们人类平时会处理图像信息,语音信息以及语言文字信息。机器可以帮助我们完成这三个应用里的某些工作。比如图像识别领域中图像分类和物体检测就是两个核心的任务。我们可以让机器判断图像中都有哪些物体,类别是什么,以及这些物体所处的位置。图像识别被广泛应用在安防检测中。此外人脸识别也是图像识别重要的应用场景。

Siri 大家一定不陌生,此外还有我们使用的智能电视等,都采用了语音识别技术。语音识别技术可以识别人类的语音指令并进行交互。在语音导航中,还采用了语音合成技术,这样就可以让机器模拟人的声音为我们服务,Siri 语音助手也采用了语音识别和合成的技术。

自然语言处理的英文缩写是 NLP,它被广泛应用到自动问答、智能客服、过滤垃圾邮件和短信等领域中。在电商领域,我们可以通过 NLP 自动给商品评论打标签,在用户决策的时候提供数据支持。在自动问答中,我们可以输入自己想问的问题,让机器来回答,比如在百度中输入“姚明的老婆”,就会自动显示出”叶莉“。

此外这些技术还可以相互组合为我们提供服务,比如在无人驾驶中就采用了图像识别、语音识别等技术。在超市购物中也采用了集成图像识别、意图识别等技术等。

六、总结

今天我们大概了解了一下深度学习。深度学习也是机器学习的一种。我们之前讲解了数据挖掘十大经典算法,还有逻辑回归、随机森林算法等,这些都是传统的机器学习算法。在日常工作中,可以满足大部分的机器学习任务。但是对于数据量更大,更开放性的问题,我们就可以采用深度学习的算法,让机器自己来找规律,而不是通过我们指定的算法来找分类规律。

所以深度学习的普适性会更强一些,但也并不代表深度学习就优于机器学习。一方面深度学习需要大量的数据,另一方面深度学习的学习时间,和需要的计算资源都要大于传统的机器学习。你能看到各种深度学习的训练集一般都还是比较大的,比如 ImageNet 就包括了 1400 万张图片。如果我们没有提供大量的训练数据,训练出来的深度模型识别结果未必好于传统的机器学习。

实际上神经网络最早是在 1986 年提出来的,之后不温不火,直到 ImageNet 于 2009 年提出,在 2010 年开始举办每年的 ImageNet 大规模视觉识别挑战赛(ILSVRC),深度学习才得到迅猛发展。2016 年 Google 研发的 AlphaGo 击败了人类冠军李世石,更是让人们看到了深度学习的力量。一个好问题的提出,可以激发无穷的能量,这是科技进步的源泉,也是为什么在科学上,我们会有各种公开的数据集。一个好的数据集就代表了一个好的问题和使用场景。正是这些需求的出现,才能让我们的算法有更好的用武之地,同时也有了各种算法相互比拼的平台。

版权声明

本文章版权归作者所有,未经作者允许禁止任何转载、采集,作者保留一切追究的权利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MT8390(Genio 700)安卓核心板参数_联发科MTK智能模组

MT8390安卓核心板是一款功能强大且高度集成的平台,专为广泛的人工智能(AI)和物联网(IoT)应用案例而设计。它具备高性能边缘处理、先进的多媒体和连接能力、多个高分辨率摄像头、连接的触摸屏显示以及多任务高级操作系统的使用。 MT8390安卓核心板采用了高性能的八核…

保护互联网数据安全:关键方法与最佳实践

在当今数字化时代,互联网数据安全已经成为个人、企业和组织的首要任务之一。随着信息技术的迅猛发展,网络威胁也不断演进,因此保护互联网数据安全变得尤为关键。本文将介绍一些关键方法和最佳实践,帮助您确保互联网数据的安全性。…

从零学算法(LCR 187. 破冰游戏)

社团共有 num 为成员参与破冰游戏,编号为 0 ~ num-1。成员们按照编号顺序围绕圆桌而坐。社长抽取一个数字 target,从 0 号成员起开始计数,排在第 target 位的成员离开圆桌,且成员离开后从下一个成员开始计数。请返回游戏结束时最后…

第五节 C++ 循环结构(算法)

文章目录 前言介绍1. for 语句1.1 语法结构1.2 语法流程的执行过程1.2.1 案例 1:循环的正序输入和倒序输入1.2.2 案例2 : 求1~n的平方数1.2.3 案例 3: 求输入a和b,求a~b区间数. 1.3 for 循环案例练习1.3.1 求最大值与最小值1.3.2 计算奇数和和偶数和1.3.3 计算平均气温与最高气…

day03_if_循环

今日内容 1.if.elseif 2.循环 3.控制关键词 复习 一 运算符算术,赋值,关系,逻辑,三目!,非,取反的作用boolean r !true; //falseboolean r2 !(1 > 0);// false 二 键盘录入1) 导包 import java.util.Scanner;2) 创建扫描器 Scanner scanner new Scanner(System.in);3) 调…

3.5 高速以太网

思维导图: 3.5.1 100BASE-T以太网 **3.5 高速以太网** 随着技术进步,以太网的传输速度不断增加。从早期的10 Mbit/s的速度,增长到了1 Gbit/s甚至更快。以下是一些关于高速以太网技术的简介。 **3.5.1 100BASE-T以太网** - **定义**&#…

信息系统项目管理师第四版学习笔记——项目沟通管理

管理基础 沟通模型的关键要素包括:编码、信息和反馈信息、媒介、噪声、解码。 在编制书面或口头信息的时候,应使用书面沟通的5C原则,以减轻理解错误:正确的语法和拼写(Correctness)、简洁的表述(Concise)、清晰的目的和表述(Cla…

传统工厂如何搭建蒸汽流量远程无线抄表系统?

一、应用背景 2021年国务院政府工作报告中指出,扎实做好碳达峰、碳中和各项工作,制定2030年前碳排放达峰行动方案,优化产业结构和能源结构,特别是近期煤炭价格上涨导致蒸汽价格大幅上涨,节能减排显得更加重要&#xf…

深度学习之微调

在现代深度学习领域,精细调整(Fine-tune)已经成为一种非常重要的技术手段。 预训练模型 在介绍finetune之前,先了解一下什么是预训练模型。在搭建一个网络模型来完成一个特定的图像分类的任务时,首先,需要…

ad5665r STM32 GD32 IIC驱动设计

本文涉及文档工程代码,下载地址如下 ad5665rSTM32GD32IIC驱动设计,驱动程序在AD公司提供例程上修改得到,IO模拟的方式进行IIC通信资源-CSDN文库 硬件设计 MCU采用STM32或者GD32,GD32基本上和STM32一样,针对ad566r的IIC时序操作是完全相同的. 原理图设计如下 与MC…

【C++ 】面向对象三大特性之封装和继承 详解

目录 0 引言1 封装1.1 封装是什么?1.2 封装的优缺点 2 继承2.1 继承的定义2.2 继承方式2.3 继承时名字遮蔽2.6 遮蔽、函数重写、函数重载的区别2.5 继承时的对象模型2.6 派生类与基类互相赋值原则2.6 继承时的构造函数和析构函数 🙋‍♂️ 作者&#xff…

LeetCode二叉树OJ

目录 剑指 Offer 55 - I. 二叉树的深度 - 力扣(LeetCode) 965. 单值二叉树 - 力扣(LeetCode) 100. 相同的树 - 力扣(LeetCode) 101. 对称二叉树 - 力扣(LeetCode) 二叉树遍历_牛客题…

【网络编程】套接字编程——TCP通信

文章目录 一、简单的TCP网络程序1. 单进程版2. 多进程版3. 多线程版 二、线程池版TCP网络程序三、日志与守护进程1. 日志2. 守护进程进程组和会话的引出守护进程的创建 一、简单的TCP网络程序 1. 单进程版 💕 tcpServer.hpp #pragma once #include "err.hpp…

iPhone手机记笔记工具选择用哪个

iPhone手机大家应该都比较熟悉,其使用性能是比较流畅的,在iPhone手机上记录笔记可以帮助大家快速地进行总结工作、记录工作内容等,在iPhone手机上记笔记工具选择用哪个呢? 可以在iPhone手机上使用的笔记工具是比较多的&#xff0…

OPC UA客户端工具Softing OPC Client使用图文教程

简介 Softing OPC Client 是一个用于与 OPC (OLE for Process Control) 服务器进行通信的工具。下面是一个详细的图文教程,以帮助您使用 Softing OPC Client 进行 OPC 通信。 1. 下载和安装 Softing OPC Client 首先,您需要从 Softing 官方网站下载 S…

csgo饰品市场会崩盘吗?如何评价现在的csgo饰品市场?

如何评价现在的csgo市场? csgo饰品市场会崩盘吗?如何评价现在的csgo饰品市场? 如何来评价现在CSGO市场?哈喽,大家好,我是童话姐姐,那么从长远来看,我觉得这个CSGO市场它一定是呈现一…

渗透测试KAILI系统的安装环境(第八课)

KAILI系统的安装环境(第八课) Kaili是一款基于PHP7的高性能微服务框架,其核心思想是面向服务的架构(SOA),支持http、websocket、tcp等多种通信协议,同时还提供了RPC、Service Mesh、OAuth2等功能。Kaili框架非常适合构…

c语言练习85:通讯录的实现(基于顺序表实现)

通讯录的实现(基于顺序表实现) 基于动态顺序表实现通讯录 C语⾔基础要求:结构体、动态内存管理、顺序表、⽂件操作 1、功能要求 1)⾄少能够存储100个⼈的通讯信息 2)能够保存⽤⼾信息:名字、性别、年龄、电话、地址…

Android性能优化,可以从那些方面解决?方案一览

说到Android性能优化大家都很熟悉,这是一个老生畅谈的话题与技术。本篇讲讲Android性能优化需要学习那些,让这些技术做到极致。虽然老生常谈但是一直是一个合格的Android开发人员需要掌握的重点。要想进入大厂也是重要的敲门砖。 Android性能优化重要性…

【FreeRTOS】【STM32】02 FreeRTOS 移植

基于 [野火]《FreeRTOS%20内核实现与应用开发实战—基于STM32》 正点原子《STM32F429FreeRTOS开发手册_V1.2》 准备 基础工程,例如点灯 FreeRTOS 系统源码 FreeRTOS 移植 上一章节已经说明了Free RTOS的源码文件在移植时所需要的,FreeRTOS 为我们提供…