深度学习(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. PyTorch称霸学界,TensorFlow固守业界,ML框架之争将走向何方?
  2. 命令查看java的class字节码文件、verbose、synchronize、javac、javap
  3. java 类加载器加载顺序 经典例子
  4. day3----python变量与常量
  5. POJ-1163(DP,Water)
  6. google 浏览器使用的一些小技巧
  7. 2021FME博客大赛 —— 利用FME实现三调地类图斑统计分析
  8. 魔法风云纪无限元宝公益服务器,好玩网页游戏 2678魔法风云纪sf 神兽助战卡免费获得...
  9. c++中所有权是什么意思_产品所有权如何在现实世界中发挥作用
  10. 如何以应届生的身份进入阿里巴巴?
  11. 浅谈督查督办管理系统在企业管理中起到的作用
  12. 好用看得见!深度操作系统Deepin装机使用体验
  13. 使用批处理进行简单U盘杀毒 - TEST
  14. Gradle transitive = true
  15. 高通平台开发系列讲解(系统篇)系统关机流程
  16. Android自定义键盘之汉字键盘
  17. Linux服务器中Ebury Trojan病毒记
  18. 清华北大2018届毕业生去向统计
  19. Dojo 1.5 发布说明
  20. android 自定义ViewGroup实现仿淘宝的商品详情页

热门文章

  1. r语言pls分析_R语言中的偏最小二乘回归PLS-DA
  2. java api文档_细说API – 文档和前后端协作
  3. python3连接mysql使用mysqldb_Python3 连接Mysql数据库
  4. x64版本的OpenGL库配置
  5. pycharm 类型注释_学习Python第一步,变量与数据类型
  6. 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)...
  7. Spring(二)scope、集合注入、自动装配、生命周期
  8. [数据结构]合并有序数组
  9. Exchange 2013学习(六),脱机通讯簿
  10. Console-算法[for]-穷举法:百钱买百鸡