深度学习(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 ...
最新文章
- 第三天2017/03/30(上午:二级指针的(输入)内存模型:(共三种模型))
- DDoS攻击惯犯图鉴
- ionic4集成高德地图
- Win10美吱er吱er,Win10修改默认字体的方法
- 我国四大常用坐标系及高程坐标系【转载】
- ASP.NET(C#)获取客户端的网卡MAC代码
- matlab音频信号的采样与重构,信号与系统实验(MATLAB 西电版)实验21 综合实验2-音频信号的采样与重构.ppt...
- Python多种方法实现句子中单词倒置(好未来2017笔试题)
- babel与php,javascript – Babel JS babel-preset-php错误
- CTR点击率预估实战分享
- 软件设计原则(三) 依赖倒置原则
- html关机命令,自动关机命令 定时关机命令
- 迅捷PDF转换器特点和使用步骤
- uView项目前端获取屏幕高度
- 内网端口映射软件之80端口映射发布网站
- CSS形成圆、平行四边形、菱形、梯形、饼图
- 刚开发的游戏《天黑请闭眼》
- 阿里的黄金时代|一点财经
- RuntimeError: a leaf Variable that requires grad has been used in an in-place operation
- 二.MUI框架 开始体验MUI
热门文章
- vue获取本地php数据,Vue-cli项目获取本地json文件数据的实例
- python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...
- 如何处理几十万条并发数据_Swoole 如何处理高并发以及异步 I/O 的实现
- vue模板html,VueJS模板
- android阿里滑块验证码,在Android App中接入HTML5滑块验证
- php小程序群发通知,小程序实现群发功能代码的实现
- eclipse怎么导入maven项目 eclipse导入maven项目详细教程
- Linux使用错误小结(CentOS)- yum更新软件失败
- eclipse插件安装方法
- WCF入门到精通(二)——契约