深度学习(21)神经网络与全连接层四: 输出方式
深度学习(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=0ydyi=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图像
- 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)神经网络与全连接层四: 输出方式相关推荐
- 深度学习之浅谈全连接层
参考:https://www.zhihu.com/question/41037974 全连接层 全连接层(fully connected layers,FC)在整个卷积神经网络中起到"分类器 ...
- 深度学习(22)神经网络与全连接层五: 误差计算
深度学习(22)神经网络与全连接层五: 误差计算 1. MSE 2. Entropy(熵) 3. Cross Entropy 4. Binary Classification 5. Single ou ...
- 深度学习(19)神经网络与全连接层二: 测试(张量)实战
深度学习(19)神经网络与全连接层二: 测试(张量)实战 1. 传入测试集数据 2. 数据类型转换 3. 创建test_db 4. test/evluation 5. 创建神经网络 6. 输出 7. ...
- 深度学习(18)神经网络与全连接层一: 数据加载
深度学习(18)神经网络与全连接层一: 数据加载 1. 常用数据集 2. MNIST数据集 (1) MNIST样本 (2) MNIST加载案例 3. CIFAR10/100 (1) CIFAR10/1 ...
- MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)...
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网 ...
- 卷积层和全连接层的区别_卷积神经网络中全连接层作用理解总结
前言 一般来说,卷积神经网络会有三种类型的隐藏层--卷积层.池化层.全连接层.卷积层和池化层比较好理解,主要很多教程也会解释. • 卷积层(Convolutional layer)主要是用一个采样器 ...
- 神经网络学习(二)Tensorflow-简单神经网络(全连接层神经网络)实现手写字体识别
神经网络学习(二)神经网络-手写字体识别 框架:Tensorflow 1.10.0 数据集:mnist数据集 策略:交叉熵损失 优化:梯度下降 五个模块:拿数据.搭网络.求损失.优化损失.算准确率 一 ...
- Python学习笔记--pytorch--随机梯度下降、神经网络与全连接层
随机梯度下降 是一个向量,代表函数在某一个点增长的方向,模代表了在该点增长的速率 影响搜索过程的因素: 初始状态,学习率,动量 激活函数 1.torch.sigmoid (0,1) a=torch.l ...
- 神经网络的全连接层_深度神经网络全连接层
一.概念 全连接层一般在网络的最后部分做分类输出,全连接层的有m个输入和n个输出,每一个输出都和所有的输入相连,相连的权重w都是不一样的,同时每一个输出还有一个bias. 二.前向全连接 假设输入是4 ...
最新文章
- PyTorch称霸学界,TensorFlow固守业界,ML框架之争将走向何方?
- 命令查看java的class字节码文件、verbose、synchronize、javac、javap
- java 类加载器加载顺序 经典例子
- day3----python变量与常量
- POJ-1163(DP,Water)
- google 浏览器使用的一些小技巧
- 2021FME博客大赛 —— 利用FME实现三调地类图斑统计分析
- 魔法风云纪无限元宝公益服务器,好玩网页游戏 2678魔法风云纪sf 神兽助战卡免费获得...
- c++中所有权是什么意思_产品所有权如何在现实世界中发挥作用
- 如何以应届生的身份进入阿里巴巴?
- 浅谈督查督办管理系统在企业管理中起到的作用
- 好用看得见!深度操作系统Deepin装机使用体验
- 使用批处理进行简单U盘杀毒 - TEST
- Gradle transitive = true
- 高通平台开发系列讲解(系统篇)系统关机流程
- Android自定义键盘之汉字键盘
- Linux服务器中Ebury Trojan病毒记
- 清华北大2018届毕业生去向统计
- Dojo 1.5 发布说明
- android 自定义ViewGroup实现仿淘宝的商品详情页
热门文章
- r语言pls分析_R语言中的偏最小二乘回归PLS-DA
- java api文档_细说API – 文档和前后端协作
- python3连接mysql使用mysqldb_Python3 连接Mysql数据库
- x64版本的OpenGL库配置
- pycharm 类型注释_学习Python第一步,变量与数据类型
- 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)...
- Spring(二)scope、集合注入、自动装配、生命周期
- [数据结构]合并有序数组
- Exchange 2013学习(六),脱机通讯簿
- Console-算法[for]-穷举法:百钱买百鸡