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

【00】神经网络之初始化参数

在这里插入图片描述

问题描述

#随机初始化权重
w12 = np.random.randn(100, 784)/np.sqrt(784)
为什么除以28

回答

这里的代码是初始化一个深度学习模型中的权重矩阵w12。权重矩阵的形状是(100, 784),这是一个从784个输入节点到100个隐藏节点的全连接层。
除以np.sqrt(784)是权重初始化的一种策略,通常称为“Xavier初始化”或“Glorot初始化”。该初始化策略的目的是使权重的初始值具有合适的尺度,以保证网络中每一层的信号既不会过小也不会过大,从而有助于模型的收敛。
784这个数字是28 x 28的结果,这很可能是一个28x28像素的图像,对应的是MNIST数据集中的图像尺寸。
除以np.sqrt(784)的原因是:

  1. 根据Xavier初始化,当使用tanh激活函数时,权重应该从均值为0、方差为1/n的分布中初始化,其中n是输入节点的数量。在这里,n = 784
  2. 当从标准正态分布中随机抽取权重(使用np.random.randn())时,得到的权重具有均值0和方差1。为了将方差调整为1/n,可以将权重除以np.sqrt(n)

因此,除以np.sqrt(784)是为了将权重的方差调整为1/784,这有助于优化算法的收敛性。

备注:

random.randn 是NumPy库中的一个函数,用于从标准正态分布(均值为0,方差为1)中生成随机数。

具体来说,当你使用 random.randn 时:

  • 它会返回一个或一组从标准正态分布中随机抽取的数值。
  • 参数决定了返回数组的形状。例如,np.random.randn(3, 4) 会返回一个3x4的数组,其中的每个元素都是从标准正态分布中随机抽取的。

使用 random.randn 是初始化神经网络权重的常用方法,特别是当使用某些权重初始化策略(如Xavier初始化)时。从标准正态分布中抽取的随机权重可以确保在训练开始时权重是小的、不同的,并且它们的分布具有某种规律性。这有助于避免某些训练问题,如权重全部更新为相同的值或权重更新太大导致的梯度爆炸。

相关文章:

【00】神经网络之初始化参数

问题描述 #随机初始化权重 w12 np.random.randn(100, 784)/np.sqrt(784) 为什么除以28 回答 这里的代码是初始化一个深度学习模型中的权重矩阵w12。权重矩阵的形状是(100, 784),这是一个从784个输入节点到100个隐藏节点的全连接层。 除以np.sqrt(784)是权重初始…...

代码随想录Day20 回溯算法 LeetCode77 组合问题

以下内容更详细解释来自于:代码随想录 (programmercarl.com) 1.回溯算法理论基础 回溯法也叫回溯搜索法,是搜索法的一种,我们之前在二叉树中也经常使用到回溯来解决问题,其实有递归就有回溯,有的时候回溯隐藏在递归之下,我们不容易发觉,今天我们来详细介绍一下什么是回溯,它能…...

免费获取天气预报的API接口(Json格式)

免费获取天气预报的API接口(Json格式) 1、接口地址2、城市代码 1、接口地址 当需要获取某个城市天气数据json时候,需要传入一个城市代码编码作为入参,地址: http://t.weather.itboy.net/api/weather/city/xxxxx &…...

安卓程序执行入口

Android程序执行入口 Android应用程序的执行入口是在一个特定的 Java 类中,通常是 MainActivity 或 SplashActivity,具体取决于应用的设计和结构。 Android应用程序的执行入口通常通过以下方式进行定义: 在 AndroidManifest.xml 文件中&am…...

消息队列(中间件)

通信协议: 为了实现客户端和服务器之间的通信来完成的逻辑,基于TCP实现的自定义应用层协议。通过这个协议,完成客户端–服务器远程方法调用。 序列化/反序列化: 通过网络传输对象把对象存储到硬盘上。 序列化:把对象转化为二进制的…...

Java|学习|异常

1.异常 1.1 异常 1.1.1 概述 异常:就是程序出现了不正常的情况。 Error:严重问题,不需要处理。 Exception:称为异常类,它表示程序本身可以处理的问题。 RuntimeException:在编译器不检查,出…...

nextjs项目修改启动端口号,以及开发启动后自动打开浏览器

next版本:13.5.4 一、修改端口 在package.json文件当中修改启动命令 "scripts": {"dev": "next dev -p 3100","build": "next build","start": "next start","lint": "ne…...

微服务架构 | 超时管理

INDEX LSA 级别与全年停机时间速查表LSA 级别实战TP 性能超时时间设计原则 LSA 级别与全年停机时间速查表 计算公式:60 * 60 * 24 * 365 * (1-LSA) 31,536,000‬ * (1-LSA) 系统级别LSA级别全年停机时间099.999%5分钟099.99%52分钟199.9%8.8小时299%3.65 天 LSA…...

Qt 样式表大全整理

【QT】史上最全最详细的QSS样式表用法及用例说明_qt样式表使用大全_半醒半醉日复日,花落花开年复年的博客-CSDN博客 QT样式表的使用_qt 设置按下 release hover 按钮样式表_create_right的博客-CSDN博客 QPushButton {border-image: url(:/Start_Stop.png); } QPu…...

k8s-10 cni 网络

k8s通过CNI接口接入其他网络插件来实现网络通讯。目前比较流行的插件有flannel,calico等。 CNI插件存放位置: # cat /etc/cni/net.d/10-flannel.conflist 插件使用的解决方案如下: 虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信。多路复用: Mac…...

IDEA中.gitignore配置不生效的解决方案

一、创建项目 二、执行以下Git命令 git rm -r --cached . git add . git commit -m "update .gitignore"...

SparkContext 与 SparkContext 之间的区别是什么

SparkContext 是 Spark 的入口点,它是所有 Spark 应用程序的主要接口,用于创建 RDD、累加器、广播变量等,并管理与 Spark 集群的连接。在一个 Spark 应用程序中只能有一个 SparkContext。 而 SparkSession 是 Spark 2.0 新增的 API&#xff0…...

lv8 嵌入式开发-网络编程开发 17 套接字属性设置

1 基本概念 设置套接字的选项对套接字进行控制除了设置选项外,还可以获取选项选项的概念相当于属性,所以套接字选项也可说是套接字属性有些选项(属性)只可获取,不可设置;有些选项既可设置也可获取 2 选项…...

VulnHub Alice

一、信息收集 发现开发了22、80 2.访问ip,右击查看源代码 发现需要利用X-Forwarded-For 火狐插件:X-Forwarded-For Header 挂上代理后: 出现以下页面: 先注册一个账户,然后再登录 发现有参数进行传参 发现传参&a…...

AUTOSAR组织发布20周年纪念册,东软睿驰NeuSAR列入成功案例

近日,AUTOSAR组织在成立20周年之际发布20周年官方纪念册(20th Anniversary Brochure),记录了AUTOSAR组织从成立到今天的故事、汽车行业当前和未来的发展以及AUTOSAR 伙伴关系和合作在重塑汽车方面的作用。东软睿驰提报的基于AUTOS…...

转行网络安全是否可行?

一、前言 其实很多的IT大佬之前也不是专门学计算机的,都是后期转行的。而且大学学什么专业,对后期的工作真的没有太大关系,这也是现在高校的教育现状。有80%的学生都是通过临时抱佛脚,考前冲刺拿到毕业证书的。下面就带大家详细分…...

netca_crypto.dll找不到怎么修复?详细解决办法和注意事项

当你在使用计算机时,突然出现了一个错误提示:“netca_crypto.dll 找不到”。不知道该如何解决这个问题?其实要解决是非常的简单的,今天我们将为你提供几种修复 netca_crypto.dll 找不到的解决方法和一些注意事项。在深入探讨修复方…...

axios的请求中断和请求重试

请求中断 场景:1、假如一个页面接口太多、或者当前网络太卡顿、这个时候跳往其他路由,当前页面可以做的就是把请求中断掉(优化)2、假如当前接口调取了第一页数据,又调去了第二页的数据,当我们调取第二页数…...

视频怎么压缩?视频太大这样处理变小

在当今时代,视频已经成为了我们日常生活中不可或缺的一部分,然而,视频文件往往非常大,给我们的存储和传输带来了很大的不便,那么,如何有效地压缩视频呢? 一、使用压缩软件 首先我们给大家分享一…...

【MATLAB源码-第48期】基于matlab的16QAM信号盲解调仿真。

操作环境: MATLAB 2022a 1、算法描述 16QAM (16个象限幅度调制) 是一种广泛使用的数字调制技术。在无线和有线通信系统中,为了在固定的带宽内发送更多的信息,高阶调制如16QAM被使用。下面是16QAM盲解调的基本步骤、优缺点及应用场景。 16Q…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

什么是EULA和DPA

文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

安卓基础(aar)

重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...