深度神经网络算法分析

人工智能的分类

  1. 弱人工智能:特定任务与人类智力或者效率持平
  2. 通用人工智能:具有人类智力水平,解决通用问题
  3. 超人工智能:超过人类智力水平,可以在创造力上超过常人

机器学习的类型

  1. 监督学习:通过标签的训练数据集(人脸识别)
  2. 无监督学习:通过无标签数据集自动发掘模式(文本自聚类)
  3. 增强学习:通过反馈或者奖惩机制学习(游戏)

人工智能,机器学习,深度学习的关系

  1. 人工智能:它是研究,开发用于模拟,延伸和扩展人的智能的理论,方法,技术和应用系统的一门技术科学
  2. 机器学习:如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以在经验中学习
  3. 深度学习:基于深度人工神经网络,自动地将简单的特征组合成更加复杂的特征,并使用这些组合特征解决问题。

人工智能是个大范围,包括了机器学习,机器学习包括了深度学习

深度学习的应用

  1. 语音识别
  2. 计算机视觉
  3. 自然语言处理

深度学习与传统机器学习的差别

深度学习的三个基础算法

  1. DNN(deep neural networks)
  2. CNN (convolutional neural networks)
  3. RNN (recurrent neuron network)

深度学习与人工神经网络

一句话来说就是深度学习的基础就是人工神经网络,而人工神经网络是由生物神经网络的启发得来的。

人工神经网路的最小单元称为感知机,但是现在常常称为神经元。

神经元的内部

神经元是是人工神经网络的最小单元
在上图中

  • 输入:一个向量
  • 输出:一个标量
  • 在中间部分,一个大圆,一个正方形,代表运算
    • 线性变换(加权求和)
    • 非线性变化(非线性函数)

输出就是由线性变换和非线性变换得到的
其实每个神经元可以看作一个复合函数,整个神经网络就是一个大的复合函数

于是,神经元内部的运算,就可以分开看成下面两个函数,其中w,b分别为权重和偏秩,一开始可以人为取值,随着机器的不断学习,w和b会不断的更新。

z=∑i=1kf(xi)=x1w1+x2w2+x3w3+.....+xkwk+ba=g(z)z=\sum_{i=1}^{k}f(x_i)=x_1w_1+x_2w_2+x_3w_3+.....+x_kw_k+b\\ a=g(z) z=i=1∑k​f(xi​)=x1​w1​+x2​w2​+x3​w3​+.....+xk​wk​+ba=g(z)

可以看出,a=f∘g(x1,x2,x3.....,xk)a=f\circ g(x_1,x_2,x_3.....,x_k)a=f∘g(x1​,x2​,x3​.....,xk​)的复合函数形式。

also:

通过人为设置得到的参数称为超参数。

系统输入与输出

深度学习模型本质上也是一个运算过程

以房价预测为例:
样本(特征值):面积,楼层,户型。。。。
标签:价格
那么通过采集得到的数据集应该是下面这样:

多层感知机

神经网络又被称为多层感知机模型

上图中一共有四层神经模型,不算入input层,只有参与运算过程的层数才能算进去,包括output层

FC(全连接):每个神经元都和下一层的所有神经元相连

训练过程三部曲

1. 正向传播(从input到output,计算预测值)

  • 参数(w,bw,bw,b)
  • 常见的激活函数

2. 反向传播(从output到input)

  • 常见的损失函数
  • BP算法

3. 梯度下降

  • 参数的更新过程
    通过预测值和真实值之间的损失函数不断的求偏导数,更新w,b的值。
    w=w−∂dww=w-\partial dww=w−∂dw
    b=b−∂dbb=b-\partial dbb=b−∂db
  • 学习率
  • 梯度下降的三种方式

激活函数

在上面提到的a=g(z)a=g(z)a=g(z),其中g就是激活函数,存在于非线性变换里面。通过引入激活函数,使得模型具有非线性的划分能力。将每个线性组合送入激活函数,将输出结果送入下一层神经元的输入。

常见的激活函数:

sigmoid函数:(logistic函数)

早期流行的激活函数,RNN-LSTM网络还会用到。

f(z)=11+e−zf(z)=\displaystyle\frac1{1+e^{-z}}f(z)=1+e−z1​

特点是:

  1. 将一个是实数映射到(0,1)之间
  2. 在特征相差不大的时候效果比较好

用法:
通常用来做二分类

缺点:

  1. 激活函数计算量大
  2. 容易出现梯度消失:当数据分布在曲线平滑位置的时候很容易出现梯度消失,梯度容易饱和。

图像(python 绘制):

Tanh 函数(双切正切函数)

f(x)=ex−e−xex+e−x\displaystyle f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}f(x)=ex+e−xex−e−x​
特点:

  1. 取值范围为[-1,1]
  2. 输出以0为中心
  3. 可以看成是一个放大版本的sigmoid函数

用法:

  1. tanh函数比sigmoid函数更加的常用
  2. 循环神经网络会用
  3. 二分类问题
  4. 靠近输出值位置

缺点:

  1. 梯度容易消失
  2. 在曲线水平的区域学习非常的慢

图像:

Relu 函数(激活函数的重要发明)

f(x)=max(0,x)f(x)=max(0,x)f(x)=max(0,x)

特点:

  1. relu函数对与梯度收敛有巨大加速作用
  2. 只需要一个阀值就可以得到激活值节省计算量

用法:
深层网络中隐藏层常用

缺点:
过于生猛,一言不合就会使得数据变为0,从此结点后的相关信息全部丢失。

图像:

其实还有一种函数leaky-ReLU 函数,就是在其负区间弄一定斜率的函数,解决RELU函数的0区间带来的影响,一般为max(kx,0)max(kx,0)max(kx,0),k就是leak常数,一般为0.01或0.02,或通过学习得到。

also:
图像绘制可以看sigmoid Relu and tanh函数图像绘制

特殊的激活函数
  1. SoftMax函数
  2. 线性激活函数
    y=xy=xy=x,仅仅用于线性回归

深度神经网络算法分析相关推荐

  1. 吴恩达 深度神经网络,吴恩达神经网络课程

    如何评价吴恩达的学术地位 吴恩达(AndrewNg),斯坦福计算机系的副教授,师从机器学习的大师级人物MichaelI.Jordan. 同门师兄弟包括ZoubinGhahramani,TommiJaa ...

  2. 吴恩达卷积神经网络 笔记,吴恩达 深度神经网络

    如何评价吴恩达的学术地位 吴恩达(AndrewNg),斯坦福计算机系的副教授,师从机器学习的大师级人物MichaelI.Jordan. 同门师兄弟包括ZoubinGhahramani,TommiJaa ...

  3. 深度神经网络和人工神经网络区别

    深度学习与神经网络有什么区别 找深度学习和神经网络的不同点,其实主要的就是:原来多层神经网络做的步骤是:特征映射到值.特征是人工挑选.深度学习做的步骤是 信号->特征->值. 特征是由网络 ...

  4. 深度神经网络对人工智能推动的发展评述与应用分析

    大数据人工智能培训? 大数据人工智能培训推荐选择[达内教育].大数据人工智能需要学习的东西如下:1.数学基础.数学基础知识蕴含着处理智能问题的基本思想与方法,也是理解复杂算法的必备要素. 这一模块覆盖 ...

  5. 深度神经网络混合精度训练

    深度神经网络混合精度训练 Mixed-Precision Training of Deep Neural Networks 论文链接:https://arxiv.org/abs/1710.03740 ...

  6. 点云配准的端到端深度神经网络:ICCV2019论文解读

    点云配准的端到端深度神经网络:ICCV2019论文解读 DeepVCP: An End-to-End Deep Neural Network for Point Cloud Registration ...

  7. 使用NetworkX绘制深度神经网络结构图(Python)

    本文将展示如何利用Python中的NetworkX模块来绘制深度神经网络(DNN)结构图. 已知我们创建的DNN结构图如下: 该DNN模型由输入层.隐藏层.输出层和softmax函数组成,每一层的神经 ...

  8. 用深度神经网络搭建马赛克神器,高清无码效果感人

    目录 1.项目背景 2.适用范围 3.使用方法 1.项目背景 相信一提起马赛克这个东西,不少小伙伴都痛心疾首,虽然最近几年也频繁传出有在研发去除马赛克的软件,一直没有成品问世.不过最近一位程序员及经过 ...

  9. python深度神经网络量化_基于Python建立深度神经网络!你学会了嘛?

    原标题:基于Python建立深度神经网络!你学会了嘛? 图1 神经网络构造的例子(符号说明:上标[l]表示与第l层:上标(i)表示第i个例子:下标i表示矢量第i项) 单层神经网络 图2 单层神经网络示 ...

最新文章

  1. 【青少年编程(第27周)】报名考级的小朋友注意截止时间!
  2. pip命令提示unknown or unsupported command 'install'——python3.7安装PyInstaller经验
  3. lvm实现快速备份文件及数据库,lvm快照原理
  4. mysql delete and or_Mysql delete操作
  5. pycharm和python区别-一些 PyCharm 的使用和设置建议
  6. python官方-Python官方中文文档强势来袭
  7. 深入探索.NET框架内部了解CLR如何创建运行时对象
  8. Py学生信息管理系统 案例(优化版)
  9. SQLServer引擎优化顾问
  10. 【原创】关于MATLAB中imagesc函数图像保存的问题
  11. 点击键盘上的“Next”button实现文本框焦点跳转
  12. 安装SQL2005出现服务器启动失败或者安装后启动服务器失败的原因及解决方法
  13. 计算机说课稿模板小学数学,小学数学说课万能模板精简
  14. ERROR: Invalid requirement: ‘opencv-p-thon\xa0\xa0-i‘
  15. 多层神经网络的局部最小值与全局最小值——The problem of convexity
  16. 三十二个vbs整蛊代码,快去发给你的好朋友
  17. 响应式网页设计与应用
  18. u深度制作linux启动盘制作工具,u深度u盘启动盘制作工具 v3.1.15.316
  19. 字幕翻译,如何合并和拆分过分断句
  20. 1024分论坛:人工智能创新应用的优化实践和多产业落地

热门文章

  1. Python | 关于反爬虫,看这一篇就够了
  2. win10 强制删除文件夹
  3. 手机里可以学习钢琴的软件APP
  4. Java 架构师学习路线
  5. 复杂的构造 有趣的原理
  6. 使用centos7+bind9构建内网私有dns
  7. 【数据结构初阶】第八篇——二叉树的链式结构(二叉树的前、中和后序遍历+层序遍历+链式结构的实现+相关简单的递归问题)
  8. 计算机专业笔记本电脑华为,适合计算机专业的笔记本电脑有哪些
  9. AABB是否和视锥体相交
  10. 《乡土中国》 费孝通