计算机视觉基础知识(十二)--神经网络与深度学习

1.神经网络

  • 一种机器学习的算法
  • 一般有输入层-->隐藏层-->输出层
  • 隐藏层数量多于两个的称为深度神经网络;
  • 输入的是特征向量;
  • 特征向量代表的是变化的方向;
  • 或者说是最能代表这个事物的特征方向;
  • 权重是特征值,有正有负,加强或抑制;
  • 权重的绝对值大小,代表输入信号对神经元的影响大小

什么是神经网络

  • 人是怎么思考的?--生物神经网络
  • 由相互联系的神经元组成;
  • 神经元具有权重;
  • 根据训练期间的错误更新偏差;
  • 找到一个未知函数的近似解;

感知器

  1. 外部刺激通过神经末梢,转为电信号
  2. 电信号传导到神经细胞(又称神经元)
  3. 无数神经元构成神经中枢
  4. 神经中枢综合各种信号,给出判断
  5. 人体根据神经中枢指令,对外部刺激作出反应.

生物神经网络基本工作原理

  • 一个神经元的输入端有多个树突;
  • 树突主要用来接收输入信息;
  • 突触累加信息;
  • 累加的信息大于特定的阈值时;
  • 轴突会把信息传输出去;
  • 此时称为神经元被激活;
  • 相反,处理后的输入信息小于阈值,神经元处于抑制状态;

人工神经网络

  1. 接收来自其他n个神经元传递的信号;
  2. 这些信号与相应的权重进行加权求和,并传递给下个阶段(预激活阶段);
  3. 加权结果(也称为预激活的加权)传递给激活函数;

人工神经网络与生物神经网络的不同

  • 人脑中的一个神经元可连接一定距离内的任意神经元;
  • 人工神经网络具有离散的层\连接和数据传播的方向

神经元

  • 组成神经元网络的最基本单位;
  • 起初来源于人体,模仿人体的神经元;
  • 功能与人体的神经元一致;
  • 对得到的信号,经数据处理;
  • 给出一个结果作为输出;
  • 或者作为下一个神经元的输入
  • 当h大于0时输出1;
  • 当h小于0时输出0;
  • 实质是把特征空间一切两半;
  • 每一半分属不同的类;
  • 神经元的缺点:只能一刀切;
  • 解决方法:多层神经网络;

人工神经网络的实现

  • 神经网络是一种运算模型;
  • 由大量的节点(神经元)和其间的相互连接构成;
  • 两个节点之间的连接具有一个权重;
  • 权重相当于人工神经网络的记忆;
  • 输出依赖于网络的连接方式,权重和激励函数的不同而不同;
  • 网络本身是对自然界某种算法或者函数的逼近;
  • 也可能是对一种逻辑策略的表达

多层神经网络

  • 由多个神经元组合而成;
  • 前一个神经元的结果作为后一个神经元的输入;
  • 任何多层网络可以用三层网络近似表示;
  • 根据经验确定隐藏层应该有多少个节点;
  • 根据测试的效果调整隐藏层节点数量;

前馈神经网络

  • 也称多层感知机;
  • 人工神经网络主要考虑网络链接的拓扑结构\神经元特征\学习规则等;

2.激活函数

  • 神经网络设计的一个核心单元;
  • 处于活跃状态的神经元成为激活态;
  • 非活跃的神经元成为抑制态;
  • 激活函数赋予神经元自我学习和适应的能力;
  • 激活函数的作用为了在网络中引入非线性的学习和处理能力;

常用的激活函数

  • sigmoid函数:
  • tanh函数:
  • ReLU函数:

激活函数的作用

sigmoid的主要缺点

  • 梯度饱和,两边数值的梯度都为0;
  • 结果的平均值不为0,会导致后层神经元输入非零均值信号,对梯度产生影响

reLU

  • 起源于神经科学的研究;
  • 从生物学角度模拟了脑神经接受信号更精确的激活模型

激活函数比较

神经元稀疏

  • ReLU函数是分段线性函数;
  • 把所有的负值变为0,正值不变;
  • 这种操作称为单侧抑制;
  • 因为单侧抑制,网络中的神经元具有稀疏激活性;
  • 模型增加N层后,理论上ReLU神经元的激活率降低2的N次方倍;

张量

  • 算法的运行依赖数据结构;
  • 张量将各种数据统一封装并输入网络;
  • 不同情况下有不同存在形式的张量;
  • 张量的一大特征是维度;
  • 0维张量是一个常量;
  • python中读取ndim获取张量维度;
  • 数组等价一维张量;
  • 二维数组等价一个二维张量;
  • n维张量本质是一维数组,数组中的元素都是n-1维张量

设计神经网络

  1. 确定网络的层数;
  2. 确定每层单元个数;
  3. 将特征向量归一化,加速学习过程;
  4. 编码离散变量,每一个输入单元对应一个可能特征值;
  5. 可以解决分类问题(classification)
  6. 也可解决回归问题(regression)
  7. 两分类问题的输出表示:[0,1];
  8. 多分类问题的输出表示:[1 0 0 0 0 0];
  9. 确定隐藏层的数量没有规则;
  10. 根据实验测试和误差精准度不断调整改进.

感性认识隐含层

  • 输入层的每个节点代表图片的某一像素;
  • 输入层的节点个数为像素点的个数;
  • 输出层为一个单一节点,标示0和1;
  • 对人脸识别的问题;
  • 问题分解:
  • 上方有头发;
  • 左上\右上各有一个眼睛;
  • 中间有鼻子
  • 下方中间有嘴巴
  • 左右两侧有耳朵
  • 综合上述问题的结果:
  • 大部分为1,判定为人脸;
  • 子网络继续分解为解决更为简单的问题.
  • 一层层的分解;
  • 直到一个神经元能回答一个简单的问题;

3.深度学习

深度神经网络&深度学习

  • 传统的神经网络发展到了多隐藏层结构
  • 具有多个隐藏层的网络称为深度神经网络;
  • 基于深度神经网络的机器学习称为深度学习

机器学习

  • 是人工智能的核心;
  • 研究如何使用机器来模拟人类学习活动的一门学科;
  • 一种实现人工智能的方法;
  • 是一门多领域交叉学科;
  • 涉及概率论\统计学\逼近论\凸分析\算法复杂度理论等多门学科
  • 使计算机具有智能的根本途径
  • 应用遍及人工智能的各个领域
  • 主要使用归纳\综合而不是演绎

深度学习

  • 多层人工神经网络
  • 是机器学习的分支
  • 对数据进行表征学习的方法
  • 一种实现机器学习的技术;
  • 将模型处理得更加复杂;
  • 使模型对数据的理解更为深入;
  • 动机在于建立\模拟人脑进行分析学习的神经网络
  • 模仿人脑的机制来解释数据;
  • 实质是通过构建具有多隐藏层的机器学习模型;
  • 以及海量的训练数据
  • 学习更有用的特征
  • 最终提升分类或预测的准确性
  • 最重要的作用是表征学习,
  • 学习层级化的特征
  • 数据规模推动深度学习进步;

人工智能关系圈

相关推荐
新缸中之脑5 分钟前
Llama 3.2 安卓手机安装教程
前端·人工智能·算法
人工智障调包侠6 分钟前
基于深度学习多层感知机进行手机价格预测
人工智能·python·深度学习·机器学习·数据分析
开始King1 小时前
Tensorflow2.0
人工智能·tensorflow
Elastic 中国社区官方博客1 小时前
Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎
infominer1 小时前
RAGFlow 0.12 版本功能导读
人工智能·开源·aigc·ai-native
涩即是Null1 小时前
如何构建LSTM神经网络模型
人工智能·rnn·深度学习·神经网络·lstm
本本的小橙子1 小时前
第十四周:机器学习
人工智能·机器学习
励志成为美貌才华为一体的女子2 小时前
《大规模语言模型从理论到实践》第一轮学习--第四章分布式训练
人工智能·分布式·语言模型
学步_技术2 小时前
自动驾驶系列—自动驾驶背后的数据通道:通信总线技术详解与应用场景分析
人工智能·机器学习·自动驾驶·通信总线
winds~2 小时前
自动驾驶-问题笔记-待解决
人工智能·笔记·自动驾驶