当前位置: 首页 > news >正文

[深度学习]神经网络

 1 人工神经网络

全连接神经网络

2 激活函数

  • 隐藏层激活函数由人决定
  • 输出层激活函数由解决的任务决定:
    • 二分类:sigmoid
    • 多分类:softmax
    • 回归:不加激活(恒等激活identify)

2.1 sigmoid激活函数

  • x为加权和
  • 小于-6或者大于6,梯度接近于0,会出现梯度消失的问题
  • 即使取值 [-6,6] ,网络超过5层,也会发生梯度消失

import torch
import matplotlib.pyplot as plt
import osos.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
# sigmoid
x = torch.linspace(-15, 15, 1000)
y = torch.sigmoid(x)
plt.plot(x, y)
plt.grid()
plt.show()x = torch.linspace(-15, 15, 1000, requires_grad=True)
torch.sigmoid(x).sum().backward()
plt.plot(x.detach(), x.grad)
plt.grid()
plt.show()

2.2 tanh激活函数

  • 只在RNN使用

import torch
import matplotlib.pyplot as plt
import osos.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
# sigmoid
x = torch.linspace(-15, 15, 1000)
y = torch.tanh(x)
plt.plot(x, y)
plt.grid()
plt.show()

plt.show()
#%%
x = torch.linspace(-15, 15, 1000, requires_grad=True)
torch.tanh(x).sum().backward()
plt.plot(x.detach(), x.grad)
plt.grid()
plt.show()

2.3 ReLU激活函数

import torch
import matplotlib.pyplot as plt
import osos.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
# sigmoid
x = torch.linspace(-15, 15, 1000)
y = torch.relu(x)
plt.plot(x, y)
plt.grid()
plt.show()

x = torch.linspace(-15, 15, 1000, requires_grad=True)
torch.relu(x).sum().backward()
plt.plot(x.detach(), x.grad)
plt.grid()
plt.show()

2.4 softmax激活函数

# softmax
scores=torch.tensor([0.2, 0.02, 0.15, 0.15, 1.3, 0.5, 0.06, 1.1, 0.05, 3.75])
probabilities=torch.softmax(scores,dim=0)
print(probabilities)

 

2.5 激活函数的选择方法

3 参数初始化

 3.1 指定值初始化&均匀初始化&正态初始化

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux入门学习:Git
  • 建筑工程系列专业职称评审条件大全
  • QT 数据加密
  • QCommandLineParser简介
  • golang学习笔记16-数组
  • [ffmpeg] packet
  • Vue路由vue-router的简单用法
  • 结构设计模式 -装饰器设计模式 - JAVA
  • 技术美术百人计划 | 《5.1.2 PBR-基于物理的相机》笔记
  • 百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现
  • 前端基于Rust实现的Wasm进行图片压缩的技术文档
  • 网络分段:您需要了解的一切
  • WEB攻防-JavaWweb项目JWT身份攻击组件安全访问控制
  • Java的cnum类型
  • Zabbix 6.4添加中文语言
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • Apache Spark Streaming 使用实例
  • Apache的80端口被占用以及访问时报错403
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • Computed property XXX was assigned to but it has no setter
  • express.js的介绍及使用
  • js面向对象
  • mockjs让前端开发独立于后端
  • Netty 4.1 源代码学习:线程模型
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • redis学习笔记(三):列表、集合、有序集合
  • scrapy学习之路4(itemloder的使用)
  • Spring核心 Bean的高级装配
  • vue总结
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 一道面试题引发的“血案”
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • FaaS 的简单实践
  • HanLP分词命名实体提取详解
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #HarmonyOS:Web组件的使用
  • (6)设计一个TimeMap
  • (C语言)共用体union的用法举例
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (汇总)os模块以及shutil模块对文件的操作
  • (十八)三元表达式和列表解析
  • (四)模仿学习-完成后台管理页面查询
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)Linux网络编程入门
  • (自用)仿写程序
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .gitignore文件—git忽略文件
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • /var/spool/postfix/maildrop 下有大量文件