深度学习(21)神经网络与全连接层四: 输出方式

  • 1. y∈Rdy∈R^dy∈Rd
  • 2. yi∈[0,1]y_i∈[0,1]yi​∈[0,1]
  • 3. sigmoid函数
    • (1) 目的
    • (2) tf.sigmoid
  • 4. softmax
    • (1) 需求
    • (2) 原理
    • (3) Classification(分类实例)
  • 5. tanh

Outline

  • y∈Rdy∈R^dy∈Rd
  • yi∈[0,1],i=0,1,…,yd−1y_i∈[0,1],i=0,1,…,y_d-1yi​∈[0,1],i=0,1,…,yd​−1
  • yi∈[0,1],∑i=0ydyi=1,i=0,1,…,yd−1y_i∈[0,1],∑_{i=0}^{y_d}y_i=1,\ i=0,1,…,y_d-1yi​∈[0,1],∑i=0yd​​yi​=1, i=0,1,…,yd​−1
  • yi∈[−1,1],i=0,1,…,yd−1y_i∈[-1,1],\ i=0,1,…,y_d-1yi​∈[−1,1], i=0,1,…,yd​−1

1. y∈Rdy∈R^dy∈Rd

  • linear regression
  • naïve classification with MSE
  • other general prediction
  • out=relu(X@W+b)out=relu(X@W+b)out=relu(X@W+b)
    • logits

2. yi∈[0,1]y_i∈[0,1]yi​∈[0,1]

  • binary classification

    • y>0.5,→1
    • y<0.5,→0
  • Image Generation
    • RGB图像

以上图片为应用GAN的AI自动画出来的,灰常神奇~

3. sigmoid函数

(1) 目的

使用sigmoid函数的目的是将输出范围限制在[0~1]之间。

  • out=relu(X@W+b)out=relu(X@W+b)out=relu(X@W+b)
  • sigmoid →\to→
  • out′=sigmoid(out)out'=sigmoid(out)out′=sigmoid(out)

(2) tf.sigmoid

f(x)=1(1+e−x)f(x)=\frac{1}{(1+e^{-x} )}f(x)=(1+e−x)1​

(a)a = tf.linspace(-6., 6, 10): 定义a为[-6, 6]间隔10个点;
(b)tf.sigmoid(a): 将a用sigmoid函数使其输出范围限制在[0, 1]之间;
(c)x = tf.random.normal([1, 28, 28])*5: 创建1张28×28的图片,共有5张这样的图片; 其灰度值最小是-18.78872; 最大是15.466431;
(d)x = tf.sigmoid(x): 将x用sigmoid函数使其灰度值限制在[0, 1]之间,这样我们就可以很方便地使用matplot打印出来;

4. softmax

(1) 需求

  • yi∈[0,1],∑yi=1y_i∈[0,1],∑y_i =1yi​∈[0,1],∑yi​=1
    在多分类问题中,我们不仅希望将其输出范围限制在[0, 1]之间,还希望所有概率和为1,这样能很方便观察出其中最有可能的值(例如手写数字识别)。
  • 使用sigmoid

可以看出,sigmoid函数并不能满足这一点;

  • 使用softmax

可以看出,yi∈[0,1],∑yi=1y_i∈[0,1],∑y_i =1yi​∈[0,1],∑yi​=1得到了满足;

(2) 原理

注: 一般将没有激活函数的输出成为Logits;

(3) Classification(分类实例)

(a)logits = tf.random.uniform([1, 10], minval=-2, maxval=2): 创建一个新的Tensor,共有10个分类,输出值的范围为[-2, 2];
(b)prob = tf.nn.softmax(logits, axis=1): 将其输出值进行归一化处理;
(c)tf.reduce_sum(prob, axis=1): 验证,其概率值的和等于1;

5. tanh

  • yi∈[−1,1]y_i∈[-1,1]yi​∈[−1,1]
    tanh

tanh⁡(x)=sinh⁡(x)cosh⁡(x)=(ex−e−x)/(ex+e−x)tanh⁡(x)=\frac{sinh⁡(x)}{cosh⁡(x)} =(e^x-e^{-x})/(e^x+e^{-x})tanh⁡(x)=cosh⁡(x)sinh⁡(x)​=(ex−e−x)/(ex+e−x)
注: tanh主要应用于LSTM;

(a)tf.tanh(a): 将a的输出值范围压缩到[-1, 1]之间;

参考文献:
[1] 龙良曲:《深度学习与TensorFlow2入门实战》
[2] https://medium.com/syncedreview/biggan-a-new-state-of-the-art-in-image-synthesis-cf2ec594024
[3] https://www.youtube.com/watch?v=lvNdl7yg4Pg

深度学习(21)神经网络与全连接层四: 输出方式相关推荐

  1. 深度学习之浅谈全连接层

    参考:https://www.zhihu.com/question/41037974 全连接层 全连接层(fully connected layers,FC)在整个卷积神经网络中起到"分类器 ...

  2. 深度学习(22)神经网络与全连接层五: 误差计算

    深度学习(22)神经网络与全连接层五: 误差计算 1. MSE 2. Entropy(熵) 3. Cross Entropy 4. Binary Classification 5. Single ou ...

  3. 深度学习(19)神经网络与全连接层二: 测试(张量)实战

    深度学习(19)神经网络与全连接层二: 测试(张量)实战 1. 传入测试集数据 2. 数据类型转换 3. 创建test_db 4. test/evluation 5. 创建神经网络 6. 输出 7. ...

  4. 深度学习(18)神经网络与全连接层一: 数据加载

    深度学习(18)神经网络与全连接层一: 数据加载 1. 常用数据集 2. MNIST数据集 (1) MNIST样本 (2) MNIST加载案例 3. CIFAR10/100 (1) CIFAR10/1 ...

  5. MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)...

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网 ...

  6. 卷积层和全连接层的区别_卷积神经网络中全连接层作用理解总结

    前言 一般来说,卷积神经网络会有三种类型的隐藏层--卷积层.池化层.全连接层.卷积层和池化层比较好理解,主要很多教程也会解释. •  卷积层(Convolutional layer)主要是用一个采样器 ...

  7. 神经网络学习(二)Tensorflow-简单神经网络(全连接层神经网络)实现手写字体识别

    神经网络学习(二)神经网络-手写字体识别 框架:Tensorflow 1.10.0 数据集:mnist数据集 策略:交叉熵损失 优化:梯度下降 五个模块:拿数据.搭网络.求损失.优化损失.算准确率 一 ...

  8. Python学习笔记--pytorch--随机梯度下降、神经网络与全连接层

    随机梯度下降 是一个向量,代表函数在某一个点增长的方向,模代表了在该点增长的速率 影响搜索过程的因素: 初始状态,学习率,动量 激活函数 1.torch.sigmoid (0,1) a=torch.l ...

  9. 神经网络的全连接层_深度神经网络全连接层

    一.概念 全连接层一般在网络的最后部分做分类输出,全连接层的有m个输入和n个输出,每一个输出都和所有的输入相连,相连的权重w都是不一样的,同时每一个输出还有一个bias. 二.前向全连接 假设输入是4 ...

最新文章

  1. 第三天2017/03/30(上午:二级指针的(输入)内存模型:(共三种模型))
  2. DDoS攻击惯犯图鉴
  3. ionic4集成高德地图
  4. Win10美吱er吱er,Win10修改默认字体的方法
  5. 我国四大常用坐标系及高程坐标系【转载】
  6. ASP.NET(C#)获取客户端的网卡MAC代码
  7. matlab音频信号的采样与重构,信号与系统实验(MATLAB 西电版)实验21 综合实验2-音频信号的采样与重构.ppt...
  8. Python多种方法实现句子中单词倒置(好未来2017笔试题)
  9. babel与php,javascript – Babel JS babel-preset-php错误
  10. CTR点击率预估实战分享
  11. 软件设计原则(三) 依赖倒置原则
  12. html关机命令,自动关机命令 定时关机命令
  13. 迅捷PDF转换器特点和使用步骤
  14. uView项目前端获取屏幕高度
  15. 内网端口映射软件之80端口映射发布网站
  16. CSS形成圆、平行四边形、菱形、梯形、饼图
  17. 刚开发的游戏《天黑请闭眼》
  18. 阿里的黄金时代|一点财经
  19. RuntimeError: a leaf Variable that requires grad has been used in an in-place operation
  20. 二.MUI框架 开始体验MUI

热门文章

  1. vue获取本地php数据,Vue-cli项目获取本地json文件数据的实例
  2. python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...
  3. 如何处理几十万条并发数据_Swoole 如何处理高并发以及异步 I/O 的实现
  4. vue模板html,VueJS模板
  5. android阿里滑块验证码,在Android App中接入HTML5滑块验证
  6. php小程序群发通知,小程序实现群发功能代码的实现
  7. eclipse怎么导入maven项目 eclipse导入maven项目详细教程
  8. Linux使用错误小结(CentOS)- yum更新软件失败
  9. eclipse插件安装方法
  10. WCF入门到精通(二)——契约