【一】TensorFlow神经网络模型构建之神经元函数及优化方法

TensorFlow神经网络模型构建主要涉及如下几块:神经元函数、卷积函数、池化函数、分类函数、优化方法。下面分别对这几块进行展开说明:

神经元函数及优化方法

神经网络之所以能解决非线性问题(如语音、图像识别等),本质上就是激活函数加入了非线性因素,弥补了线性模型的表达力,把“激活的神经元的特征”通过函数保留并映射到下一层

激活函数会更改输入数据的维度(输入和输出的维度是相同的)。TensorFlow中有如下激活函数,输入均为需要计算的x(Tensor),输出均为与x数据类型相同的张量(Tensor)。常见的激活函数有Sigmoid,Tanh,ReLU、softplus。

1、Sigmoid函数使用方法
import tensorflow as tf
data=tf.constant([[1.0,2.0],[1.0,2.0],[1.0,2.0]])
with tf.compat.v1.Session() as sess:print(sess.run(tf.sigmoid(data)))

运行结果是如下:
在这里插入图片描述
Sigmoid函数的优点在于它的输出映射在(0,1)内,单调连续,非常适合于用作输出层,并且求导比较容易。缺点在于其软饱和性

软饱和性:指激活函数 h ( x ) h(x) h(x)在取值趋于无穷大时,它的一阶导数趋于0
硬饱和性:指当 ∣ x ∣ > c |x|>c x>c时,其中c为常数, f ′ ( x ) = 0 f^{'}(x)=0 f(x)=0

一旦落入软饱和区, f ′ ( x ) f^{'}(x) f(x)就会变得接近于0,容易产生梯度消失。

梯度消失指在更新模型参数时采用链式求导法则反向求导,越往梯度越

最终的结果是达到一定深度后梯度对于模型的更新就没有任何贡献。

2、ReLU函数使用方法

ReLU函数定义为 f ( x ) = m a x ( x , 0 ) f(x)=max(x,0) f(x)=max(x,0)。softplus函数定义为 f ( x ) = l o g ( 1 + e x p ( x ) ) f(x)=log(1+exp(x)) f(x)=log(1+exp(x)),可以看作是ReLU函数的平滑版本。Relu和softplus函数代码示例及图形如下:

import numpy as np
import matplotlib.pyplot as plt
def relu_tugrp():x=np.arange(-100, 100, 1)softplus=np.log(1+np.exp(x))relu=np.maximum(0,x)plt.subplot(221)plt.plot(x,softplus,label='softplus')#显示图像的labelplt.legend()#创建一个子图plt.subplot(222)plt.plot(x,relu,label='relu')#显示图像的labelplt.legend()#画网格线plt.grid(True)relu_tugrp()

在这里插入图片描述
使用TensorFlow中的relu、reluu6、crelu、softplus函数示例如下:

import tensorflow as tf
data=tf.constant([[-1.0,2.0],[1.0,-2.0],[1.0,2.0]])
with tf.compat.v1.Session() as sess:print(sess.run(tf.nn.relu(data)))print(sess.run(tf.nn.softplus(data)))print(sess.run(tf.nn.relu6(data)))print(sess.run(tf.nn.crelu(data)))

在这里插入图片描述

3、dropout函数使用方法

一个神经元将以概率keep_prob决定是否被抑制。如果被抑制,则该神经元的输出为0;如果不被抑制,那么该神经元的输出值将被放大到原来的 1 k e e p p r o b \frac{1}{keep_prob} keepprob1倍。
在默认情况下,每个神经元是否被抑制是相互独立的。但是否被抑制可以通过noise_shape来调节。当noise_shape[i]==shape(x)[i]时,x中的元素是相互独立的。如果shape(x)=[k,l,m,n],x中的维度顺序分别为批、行、列和通道;如果noise_shape(x)=[k,l,m,n],那么每个批和通道相互独立,行与列相互关联,要么都是0,要么都是原来的值。示例代码:

import tensorflow as tf
data=tf.constant([[-1.0,2.0,3.0,4.0]])
with tf.compat.v1.Session() as sess:print(sess.run(tf.nn.dropout(data,0.5,noise_shape=[1,4])))print(sess.run(tf.nn.dropout(data,0.5,noise_shape=[1,1])))

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/573632.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《计算机工程与应用》投稿经验2024

要按照官网格式写论文,这会节省很多时间。审稿费120元,本人计算机视觉方向,9页,没有打折,版面费5000,彩图和表格过多的原因。版权协议等论文录用之后再交即可,一审二审的时候不用交,…

如何使用Python进行网络安全与密码学【第149篇—密码学】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 用Python进行网络安全与密码学:技术实践指南 随着互联网的普及,网络…

基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告

基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

LinkedList讲解指南

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

Java编程语言全面指南:历史、特性、环境搭建步骤

一、背景 在数字化的时代浪潮中,Java显得尤为璀璨,它不仅仅是由Sun Microsystems公司孕育而出的一种编程语言,更是一种融汇简洁性、面向对象的设计、分布式编程能力、稳健与安全性、平台独立性、可移植性、多线程处理能力和动态性于一体的…

Python图像处理——计算机视觉中常用的图像预处理

概述 在计算机视觉项目中,使用样本时经常会遇到图像样本不统一的问题,比如图像质量,并非所有的图像都具有相同的质量水平。在开始训练模型或运行算法之前,通常需要对图像进行预处理,以确保获得最佳的结果。图像预处理…

远程todesk 和向日葵连接ubuntu无法连接

问题 今天远程用todesk 和向日葵连接对方ubuntu22.04 LTS的 电脑,无法连接,一开始以为是防火墙问题,后来发现不是,找了半天资料最后解决。 原因 没有安装X11桌面环境,还是原先的wayland 解决方案 ctrl alt T …

内网笔记之代理Socks协议、路由不出网

#知识点: 1、代理软件使用-Win&Linux 2、代理协议使用-Socks4/5 3、CS&MSF-网络通讯&控制上线 本次实验目标如下: 只有win7能访问外网 msf如下: 拿到win7权限后,需要添加路由(MSF需要添加路由&#…

Bugsy:一款功能强大的代码安全漏洞自动化修复工具

关于Bugsy Bugsy是一款功能强大的代码安全漏洞自动化修复工具,该工具本质上是一个命令行接口工具,可以帮助广大研究人员以自动化的形式修复代码中的安全漏洞。 Bugsy是Mobb(一款自动化安全漏洞修复工具,能够结合多种工具生成代码…

盲盒小程序开发:探索未知,惊喜连连

在数字化浪潮的推动下,小程序以其便捷、轻量的特点,迅速成为移动互联网的新宠。而盲盒小程序的开发,则为用户带来了一种全新的、充满惊喜的购物体验。 盲盒小程序,顾名思义,就是结合了盲盒概念的微信小程序。它充分利…

Ubuntu 系统下安装 Redis

目录 一、上传 Redis 安装包并解压缩 二、编译 1、安装gcc,不然后面编译报错 2、开始编译 三、生成后台服务 四、修改配置文件 1、设置密码 2、设置后台启动 五、启动服务 一、上传 Redis 安装包并解压缩 tar -zxvf redis-6.0.2.tar.gz 二、编译 1、安装g…

学浪课程提取工具blog

由于抖音的流行,带动了学浪的销售,有些人可能不知道学浪是什么,学浪其实就是抖音课堂的前身,既然学浪官方不提供下载选项,但是有需求就一定有解决需求的方案,这不,经过研究,终于研究出来了学浪下载工具 这款学浪下载工具有需要的自己下载下来,我已经打包好了 链接&#xff1a…