深度学习和神经网络的介绍(一)

news2025/4/16 23:58:07

1、深度学习和神经网络

1.1 深度学习的介绍

目标:

  1. 知道什么是深度学习
  2. 知道深度学习和机器学习的区别
  3. 能够说出深度学习的主要应用场景
  4. 知道深度学习的常见框架

1.1.1 深度学习的概念

深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。

1.1.2机器学习和深度学习的区别

  1. 区别1(特征提取):
    机器学习需要有人工的特征提取的过程;深度学习没有复杂的人工特征提取的过程,特征提取的过程可以通过深度神经网络自动完成
  2. 区别2(数据量):
    深度学习需要大量的训练数据集,会有更高的效果;深度学习训练深度神经网络需要大量的算力,因为其中有更多的参数。

机器学习:数据少,效果不是特别好
深度学习:数据多,效果更好

1.1.3 深度学习的应用场景

1.1.3.1图像识别

  1. 物体识别
  2. 场景识别
  3. 人脸检测跟踪
  4. 人脸身份认证

1.1.3.2自然语言处理技术

  1. 机器翻译
  2. 文本识别
  3. 聊天对话

1.1.3.3语音技术

  1. 语音识别

1.1.4 常见的深度学习框架

目前企业中常见的深度学习框架有很多(TensorFlow、Caffe2、Keras、Theano、PyTorch等等)
其中TensorFlow和Keras是Google出品的,使用者很多,但是语法比较晦涩难懂而且和python的语法不尽相同通,对于入门者上手难度比较高。
所以PyTorch的使用频率会更高,它和python的语法相同,整个操作类似Numpy的操作,并且PyTorch使用的是动态计算,会让代码的调试变得更简单。

1.2神经网络的介绍

目标

  1. 知道神经网络的概念
  2. 知道什么是神经元
  3. 知道什么是单层神经网络
  4. 知道什么是感知机
  5. 知道什么是多层神经网络
  6. 知道激活函数是什么、有什么作用
  7. 理解神经网络的思想

1.2.1 人工神经网络的概念

人工神经网络,简称神经网络或类神经网络,是一种模仿生物神经网络(大脑)的结构和功能的数学模型,用于对函数进行估计或近似。
和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,比如说机器视觉和语音识别,这些问题都是很难被传统基于规则的编程所解决的。

1.2.2 神经元的概念

在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其它神经元发送化学物质。
1943年,M-P神经元模型,把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。

神经网络中的基础单元,相互连接,组成神经网络

一个简单的神经元如下图所示:
在这里插入图片描述
其中:

  1. a1,a2…an为各输入的分量
  2. w1、w2…wn为各个输入分量对应的权重参数
  3. b为偏置
  4. f为激活函数,常见的激活函数有tanh,sigmoid,relu
  5. t为神经元的输出
    是用数学公式表示就是:
    t=f(w^T * A+b)
    可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。

1.2.3 单层神经网络(不常见)

是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。
示意图如下:
在这里插入图片描述

1.2.4 感知机(常见的两层神经网络)

感知机由两层神经网络组成,输入层接收外界输入信号后传递给输出层(输出:+1正例,-1反例),输出层是M-P神经元
在这里插入图片描述
感知机的作用:
把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入时正类或者是反类,对应到2维空间就是一条直线把平面分为两个部分。

简单的二分类的模型,给定阈值,判断数据属于哪一部分

1.2.5 多层神经网络

多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了的概念,常见的多层神经网络有如下结构:

  • 输入层,众多神经元接受大量输入消息。输入的消息称为输入向量。
  • 输出层,消息在神经元链接中传输、分析、权衡,形成输出结果。输出的消息称为输出向量。
  • 隐藏层,简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层。隐层的节点(神经元)数目不定,但数目越多神经网络的非线形越显著,从而神经网络的强健性更显著。
    示意图如下:
    在这里插入图片描述
    概念:全连接层
    全连接层:当前一层和前一层每个神经元相互链接,我们称当前这一次为全连接层。
    在这里插入图片描述
    (不考虑激活函数的情况下就是一次线性变化,所谓线性变化就是平移(+b)和缩放(*W))

1.2.6 激活函数

在前面的神经元中提到了激活函数,下来就进行简单介绍
假设我们有这样一组数据,三角形和四边形,需要把他们分为两类
在这里插入图片描述
如上图,右边是sigmoid函数,对感知机的结果,通过sigmoid函数进行处理
如果给定合适的参数w和b,就可以得到合适的曲线,能够完成对最开始问题的非线形分割,所以激活函数的一个非常重要的作用就是:增加模型的非线性分割能力
常见的激活函数:
在这里插入图片描述

看图可知:

  • sigmoid只会输出正数,以及靠近0的输出变化率最大

  • tanh和sigmoid不同的是,tanh输出可以是负数

  • Relu是输入只能大于0,如果输入含有负数,Relu就不合适,如果你的输入是图片格式,Relu就是挺常用的,因为图片的像素值作为输入时,取值为[0,255]。
    激活函数的作用除了前面说的增加模型非线性分割能力外,还有

  • 提高模型鲁棒性(稳健性)

  • 缓解梯度消失问题

  • 加速模型收敛等
    (这些做了解即可)

a:线性
i:系统:函数,f,模型,f(x)=y
ii:满足这两个条件为线性:f(x1+x2)=y1+y2;f(kx1)=ky1
即既满足可加性,又满足乘一个数值,结果还为一个数值两个条件就为线性
b:作用:增加模型的非线性分割能力;提供模型的稳健性;缓解梯度消失;加速模型的收敛
c:常见的激活函数:
i:sigmoid:(0,1)
ii:tanh:(-1,1)
iii:relu:max(0,x)图像用的比较多
iv:elu:a(e^x-1) 文本用的比较多

1.2.7 神经网络势力

一个男孩想要找一个女朋友,于是实现了一个女友判定机,随着年龄的增长,他的判定机也一直在变化
14岁时:
在这里插入图片描述
在15岁的时候终于找到呢女朋友,但是一顿时间后他发现有各种难以忍受的习惯,最终决定分手。一段空窗期中,他发现找女朋友很复杂,需要更多的条件才能够帮助他找到女朋友,于是在25岁的时候,他再次修改了判定机:
在这里插入图片描述
上述的判定机其实就是神经网络,它能够接受基础的输入,通过隐藏层的线性的和非线性的变化最终的到输出。
通过上面例子,希望大家能够理解深度学习的思想:
输出的最原始、最基本的数据,通过模型来进行特征工程,进行更加高级特征的学习,然后通过传入的数据来确定合适的参数,让模型去更好的拟合数据。
这个过程可以理解为盲人摸象,多个人一起摸,把摸到的结果乘上合适的权重,进行合适的变化,让他和目标值趋近一致。整个过程只需要输入基础的数据,程序自动寻找合适的参数。

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

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

相关文章

计算机网络4小时速成:计算机网络基础,计网组成,计网分类,性能指标,标准化组织,计网结构模型,五层模型

计算机网络4小时速成:计算机网络基础,计网组成,计网分类,性能指标,标准化组织,计网结构模型,五层模型 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人&…

05_TCP并发服务器

知识点1【TCP并发服务器】 1、多线程(常用) 2、解决上述问题:端口复用 仅仅是端口的复用 3、并发服务器 多进程实现 总结: 知识点2【HTTP协议】 HTTP基于TCP 1、HTTP协议的概述 2、Webserver 通信过程 3、Web编程开发 知识…

Cadence orcad 批量设置原理图标题栏

前言 作为一份规范的原理图文件,必须要有Title Block,一般是在右下角的原理图信息,包括标题,图纸尺寸,设计师,时间,页码等等。 这里需要两个操作: 一、批量修改Title Block的信息 …

Go语言进阶篇,单元测试、基准测试的性能测试、内存占用测试

在go语言中的单元测试比较有意思,比如测试一个函数是很方便的,只需要将文件名修改为_test.go这样的后缀即可,我们新建一个目录xxx,然后新建xxx_test.go文件,当然这个xxx的名字你可以按照功能来命名,如下&am…

Java开发:多线程编程

本章篇幅主要记录多线程编程相关的知识,如有纰漏,望指出。 话不多说,正式开启多线程之旅... 目录 一、多线程使用方式 A、Thread B、Runnable(推荐) C、Callable 二、线程的五个状态 三、线程停止 四、线程休…

LabVIEW性能和内存管理 7 LabVIEW中局部和全局变量的内存分配

LabVIEW性能和内存管理 7 LabVIEW中局部和全局变量的内存分配 本文介绍LabVIEW性能和内存管理的几个建议7。 LabVIEW Cleanup – LabVIEW cleans upmany references when the owning VI goes idle and others when the process closes – Manually closereferences t…

Bean的作用域和生命周期

1. Bean 的作用域 对于全局变量,局部变量等的作用域相信大家都已经很清楚了,但是对于对象作用域有点摸不着头脑,下面通过一个简单的案例,康康对象的作用域 1.1 案例引入 现有一个公共的 Bean 对象 package com.bean.model;import org.springframework.stereotype.Componen…

【IEEE2017】RL:机器人库:一种面向对象的机器人应用程序的方法

RL:机器人库:一种面向对象的机器人应用程序的方法 摘要: 摘要:我们讨论了机器人库(RL)的架构和软件工程原理。在机器人系统、研究项目、工业应用和教育的需求的驱动下,我们确定了相关的设计需求…

linux上如何搭建Java环境

一 linux软件安装常用的方式对比 Linux下的软件安装,主要有如下三种,“正规”程度依次递减: 1、使用标准的yum/apt/yast包管理程序安装 2、使用标准rpm/deb或厂商自己的安装包(比如nVidia的显卡驱动用的bin包)安装 …

黑*头条_第2章_文章列表前端成形与后端变身

黑*头条_第2章_文章列表前端成形与后端变身 文章目录黑*头条_第2章_文章列表前端成形与后端变身文章列表前端成形与后端变身学习目标1.前端工程结构1.1 环境准备1.1.1 导入工程1.1.2 测试运行1.2 weex 跨终端前端框架1.3 工程结构说明1.4 源码结构1.5 WEEX UI2.文章列表前端开发…

算法实验题(涉外黄成老师!!!)

日期 2022.11.19 目录 实验报告一 第一题 2 实验报告二 第二题 3 实验报告三 第三题 4 实验报告四 第四题 5 实验报告五 第五题 6 实验报告六 第六题 7 实验报告一 第一题 一、实验目的 由1,3,4,5,7,8这六个数字所组…

剑指 Offer II 021. 删除链表的倒数第 n 个结点【链表】

难度等级:中等 上一篇算法: 82. 删除排序链表中的重复元素 II【链表】 力扣此题地址: 剑指 Offer II 021. 删除链表的倒数第 n 个结点 - 力扣(LeetCode) 1.题目:删除链表的倒数第 n 个结点 给定一个链表&a…

DWGViewX Pro 2021.4.X Crack by Cracki

DWGViewX pro 2021.4.X --Ω578867473 DWGViewX 是一个 ActiveX 组件,可让您在一个查看器中管理和查看 DWG、DXF 和 DWF 工程图。查看 R14 到 2022 版本的 DWG、DXF 和 DWF。加载本地磁盘或网络网站上的图纸,并使用查看器缩放、平移、旋转图纸、打开/关闭…

Java中的线程

线程 什么是线程&#xff1a; 什么是多线程&#xff1a; 学习目的&#xff1a; 多线程的创建 方式一&#xff1a;继承Thread类 public class MyThread{public static void main(String[] args) {Thread thread01 new Thread01();thread01.start();for (int i 0; i < 5; …

翻倍增长!C-V2X商业化“提速”,新一代模组加速“助跑”

C-V2X正在逐步走向商业的规模化部署&#xff0c;由此也带动了C-V2X模组需求的高速增长。 高工智能汽车研究院监测数据显示&#xff0c;今年1-9月中国市场&#xff08;不含进出口&#xff09;乘用车前装标配搭载V2X技术新车交付上险为10.58万辆&#xff0c;同比增长283.33%&…

计算机视觉|投影与三维视觉

这一篇将学习投影与三维视觉&#xff0c;沿用上一篇 计算机视觉|针孔成像&#xff0c;相机内外参及相机标定&#xff0c;矫正的重要性 摄像机内参数矩阵M、畸变参数、旋转矩阵R、平移向量T以及但影响矩阵H。回顾放射和投影变换&#xff0c;并使用POSIT算法从一幅图像中查找获得…

基于stm32单片机有害气体监测检测Proteus仿真

资料编号&#xff1a;097 下面是相关功能视频演示&#xff1a; 97-基于stm32单片机有害气体监测检测Proteus仿真&#xff08;仿真源码全套资料&#xff09;功能介绍&#xff1a;检测当前的有害气体浓度&#xff0c;LCD1602显示&#xff0c;并且可以自动打开关闭风扇&#xff…

Pulsar 各个Shedder分析及新的Shedder -- AvgShedder

看到今年Pulsar 峰会上挺多人分享负载均衡的内容&#xff0c;这里也整理分享一下相关的内容。 社区现有策略的分析 LoadSheddingStrategy pulsar进行shedding的时候&#xff0c;使用的是ThresholdShedder类&#xff0c;ThresholdShedder类是LoadSheddingStrategy接口的其中一…

锐捷SuperVlan实验配置

Super Vlan配置 创建Vlan vlan range 2,3,4,10,20 配置Vlan10为Super Vlan&#xff0c;Vlan 2,3,4为Sub Vlan vlan 10 supervlan subvlan 2,3,4 配置Sub Vlan的地址范围&#xff08;也可以不配置&#xff09; Vlan 2 subvlan-address-range 192.168.10.10 192.168.10.50 配置S…

【数据结构】—时间复杂度or空间复杂度以及基础题目练习

小菜坤日常上传gitee代码&#xff1a;https://gitee.com/qi-dunyan ❤❤❤ 个人简介&#xff1a;双一流非科班的一名小白&#xff0c;期待与各位大佬一起努力&#xff01; 推荐网站&#xff1a;cplusplus.com 目录前言算法与复杂度时间复杂度大O的渐进表示法时间复杂度计算练习…