为什么神经网络的权重应该初始化为随机数? [关闭]

2023-11-24

我正在尝试从头开始构建一个神经网络。 所有人工智能文献都一致认为,权重应该初始化为随机数,以便网络更快地收敛。

但为什么神经网络初始权重被初始化为随机数呢?

我在某处读到这样做是为了“打破对称性”,这使得神经网络学习得更快。打破对称性如何让它学得更快?

将权重初始化为 0 不是一个更好的主意吗?这样权重就能更快地找到它们的值(无论是正值还是负值)?

除了希望权重在初始化时接近最佳值之外,随机权重背后是否还有其他一些基本原理?


打破对称性在这里至关重要,而不是出于性能原因。想象一下多层感知器的前两层(输入层和隐藏层):

enter image description here

在前向传播过程中,隐藏层中的每个单元都会收到信号:

enter image description here

也就是说,每个隐藏单元的输入总和乘以相应的权重。

现在假设您将所有权重初始化为相同的值(例如零或一)。在这种情况下,每个隐藏单元都会得到完全相同的信号。例如。如果所有权重都初始化为 1,则每个单元获得的信号等于输入(和输出)之和sigmoid(sum(inputs)))。如果所有权重都为零,更糟糕的是,每个隐藏单元将得到零信号。无论输入是什么 - 如果所有权重都相同,则隐藏层中的所有单元也将相同.

这是对称性的主要问题,也是您应该随机初始化权重(或者至少使用不同值)的原因。请注意,此问题会影响使用each-to-each连接的所有体系结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么神经网络的权重应该初始化为随机数? [关闭] 的相关文章

  • 将 cron 作业配置为在 Jenkins 上每 15 分钟运行一次

    如何在 Jenkins 上每 15 分钟运行一次 cron 作业 这是我尝试过的 在 Jenkins 上 我使用以下 cron 语法设置了每 15 分钟运行一次的作业 14 但该作业每小时执行一次 而不是 15 分钟 我收到有关 cron
  • Thymeleaf Spring 安全集成 sec:授权不起作用

    我正在使用带有 Spring security 的 Thymeleaf 模板引擎 我还使用 Thymeleaf Spring Security 集成模块来使用 sec authorize 功能 但由于某种原因它不起作用 我没有收到任何错误
  • 在 pip 中为 Flask 应用程序构建 docker 映像失败

    from alpine latest RUN apk add no cache python3 dev pip3 install upgrade pip WORKDIR backend COPY backend RUN pip no cac
  • 类型铸造自我

    以下自我转换对 ClassA 有何作用 这种种姓可以让你进入ClassA吗 A h类 interface ClassA NSObject NSUInteger someNumber ClassB classB property nonato
  • 用于高级搜索/过滤的.Net Web API URL 约定

    我对 Microsoft 的 REST 和 WebAPI 比较陌生 我们正在实现一个中心 REST 服务 它将容纳多种类型的对象获取和设置 作为该项目的领导者 我的任务是提出我们正在使用的正确的 Uri 设计 我想知道关于战争什么想法更好
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目
  • MsBuild 在 Visual Studio Online 上找不到恢复的 NuGet 包

    我尝试构建一个存储在 Visual Studio Online 上的外部 GIT 存储库中的解决方案 它有以下步骤 1 Git 恢复 有效 2 NuGet 恢复 有效 3 构建 不起作用 查看日志时我的第一个猜测是 MsBuild 没有查找
  • 将文件附加到 PHPMailer

    我目前正在开发一个项目 该项目将文件作为 blob 存储在数据库中 我需要将文件附加到电子邮件并通过 PHPMailer 发送出去 我熟悉 mail gt addAttachment 但是 这个函数似乎只接受文件路径 而我没有 我想知道是否
  • Gitflow错误无法初始化

    我已经将 gitflow 安装在我的 github 项目所在的目录中 但是 当我尝试使用命令 启动时git flow init 我收到以下错误消息 git flow init C cygwin64 usr local bin gitflow
  • 使用Python的timeit获取“全局名称'foo'未定义”

    我想知道执行一条Python语句需要多少时间 所以我上网查了一下 发现标准库提供了一个名为timeit http docs python org library timeit html旨在做到这一点 import timeit def fo
  • File_get_contents($url): 无法打开流

    我有一个脚本 我使用以下方法读取文件 file get contents urlencode url 我收到此错误 failed to open stream HTTP request failed HTTP 1 0 400 Bad req
  • 如何使用 winrar 提取与 zip 文件同名的文件夹中的所有 zip 文件?

    我需要迭代一个文件夹 对于每个 zip 文件 我需要使用它的名称来提取它 也就是说 如果它是 test zip 那么它应该解压到 test 文件夹 同样 它应该迭代我的文件夹及其子文件夹并提取内容 我编写了下面的代码 但它没有使用 zip
  • 获取css规则、chrome扩展

    我正在开发 Chrome 扩展程序 它需要访问document styleSheets cssRules 它在某些网站上运行良好 例如w3school 但其他人则不然 比如堆栈溢出 我收到错误 Failed to read the cssR
  • 当不存在循环时,terraform destroy 会产生循环错误

    地形版本 Terraform v0 12 1 地形配置文件 main tf在我的根提供程序中 provider google module organisation info source modules organisation info
  • 不确定如何在使用故事板时正确子类化 UIApplication

    我想在 X 次用户不活动 没有触发触摸事件 后返回故事板的初始视图控制器 经过一些研究 我发现检测不活动的最常见方法是触发 NSTimer 并在事件触发时重置间隔 为了检测触发的事件 我们在 UIApplication 的子类中重写 UIA
  • 构建 OpenCV 时出错 :: MonitorFromRect 未在此范围内声明

    我试图建立OpenCV version 2 4 8与它一起使用CodeBlocks and MinGw 我按照以下指示进行操作here http kevinhughes ca tutorials opencv install on wind
  • 如何在 iOS 11 上的 Swift 中获取 FLAC 文件元数据?

    我需要获取 FLAC 文件的元数据 我尝试了以下代码 let item AVPlayerItem url URL fileURLWithPath path let commonMetadata item asset commonMetada
  • 每组最大 n 个 SQL 查询的高性能方法

    我正在尝试构建一个基础设施 以便根据需要快速运行回归 从包含我们网络服务器上所有历史活动的数据库中提取 apache 请求 为了通过确保我们仍然回归来自较小客户的请求来提高覆盖范围 我想通过为每个客户检索最多 n 个 为了这个问题 假设 1
  • 将笔记本生成的 HTML 片段转换为 LaTeX 和 PDF

    在我的笔记本里有时会有 from IPython display import display HTML display HTML h3 The s is important h3 question of the day 但当我后来将笔记本
  • 如何更改 UILabel/UIFont 的字母间距?

    我已经搜索了很多 但找不到答案 我有一个普通的 UILabel 定义如下 UILabel totalColors UILabel alloc initWithFrame CGRectMake 5 7 120 69 autorelease t

随机推荐

  • Rust 如何处理隐藏变量?

    我有很强的 C C 背景 最近正在学习 Rust 对 Rust 如何处理隐藏变量感到困惑 特别是 我期望以下代码段运行没有问题 因为guess在下一次将其作为字符串调用之前 将其从字符串隐藏为整数read line 看了API文档 我明白了
  • PHP 中规范 uuid 表示的 16 字节二进制形式

    如何从 uuid 的字符串 规范表示形式中获取 16 字节二进制形式 ex 1968ec4a 2a73 11df 9aca 00012e27a270 干杯 马尔辛 bin pack h str replace guid pack
  • 如何在 wsgi 中启动 pdftk 子进程?

    我需要在 Django 中提供 Web 请求时启动 pdftk 进程 并等待它完成 我当前的 pdftk 代码如下所示 proc subprocess Popen usr bin pdftk tmp infile1 pdf tmp infi
  • java.lang.NoClassDefFoundError:无法初始化类 javax.media.jai.JAI

    我最近使用 GeoTools 开始了我的第一个程序 其中我还使用了 JAI Java Advanced Imaging 1 1 2 01 和 JDK 1 7 在我添加 GeoTiff Jars 之前它工作得很好 我发现以下错误 线程 mai
  • Haskell 中函数的类型推断

    我正在为 Haskell 做练习题 其中一个问题是 test3 x y x x y 我必须找到它的类型 解决办法是 test3 a gt a gt a gt a 我不明白为什么解决方案中的变量都是 a 而不是将 x 和 y 视为两个不同的变
  • 如何从 VBA 访问 SQLite?

    我有一个 Excel 工作簿 其中包含一些查询本地访问数据库的 adodb 代码 我想对 SQLite 做同样的事情 因为我相信这会提供更好的性能 我怎么做 我可以使用 adodb 或 odbc 连接到 SQLite 文件吗 我需要一些简单
  • PHP 中最快的 PDF 生成速度?

    我正在尝试动态生成一些报告 非常简单的带边框的 HTML 表格 我尝试过 TCPDF 它最多可以渲染 400 行 但超过这个数量 大约 20 页 它就无法处理 DOMPDF 甚至无法做到这一点 这些报告可能有数千行 关于更快的库或更好的攻击
  • 为什么 undef 值会成为 Perl 中的有效数组引用?

    在 perl 5 8 5 中 如果我执行以下操作 则不会收到错误 use strict my a undef foreach my el a whatever 这里发生了什么 打印输出ref a 表明 a在某个时刻更改为有效的数组引用 但我
  • ELMAH 与企业库异常处理块

    我的团队目前正在构建 ASP NET MVC 应用程序 我们正在尝试决定实施哪些框架来处理错误处理和日志记录 选择其中之一而不是其他的原因是什么 就我个人而言 我一直在为许多客户使用 Enterprise Library 但尚未使用 ELM
  • 如何防止条形图中两个标签重叠?

    下图显示了我使用下面的代码创建的图表 我突出显示了缺失或重叠的标签 有没有办法告诉 ggplot2 不要重叠标签 week c 0 1 1 1 1 2 2 3 4 5 statuses c Shipped Shipped Shipped S
  • TensorFlow 中 Variable 和 get_variable 的区别

    据我所知 Variable是创建变量的默认操作 并且get variable主要用于权重共享 一方面 有人建议使用get variable而不是原始的Variable每当您需要变量时进行操作 另一方面 我只看到任何用途get variabl
  • C# String.Format - 无效的输入字符串

    我有一个像这样的 MVC3 HtmlHelper 扩展 public static MvcHtmlString ShowInfoBar this HtmlHelper helper string message InfoMessageTyp
  • 警告:组件“sparks.component.TextInput”不支持 CSS 类型选择器

    我正在尝试做一个简单的 CSS 声明 但是 我收到了上面的警告 不知道如何解决 我认为 s type 应该为我声明样式
  • Beautifulsoup 通过
    分割标签中的文本

    是否可以通过 br 标签将文本与标签分开 我有这个标签内容 u 420 777 593 531 br u 420 776 593 531 br u 420 775 593 531 我只想得到数字 有什么建议吗 EDIT x for x in
  • 不出现对话框

    我使用以下代码 public class Settings extends Activity implements OnClickListener private Activity activity private AlertDialog
  • 在闪亮的应用程序中以模式显示 dataTableOutput

    伟大的 R 社区 我只是想知道是否可以显示DT dataTableOutput在模式中按下操作按钮 例如 数据表输出如下所示 下面是一些代码 app R library shiny library shinydashboard ui lt
  • 扩展巴科斯-诺尔范式的运算顺序

    我正在为一种非常简单的规则语言创建正式规范 非常简单 我想使用 EBNF 因为这是一个标准 但我不知道如何指定操作顺序 这是到目前为止的规范 rule statement AND OR statement variable alphabet
  • 在 Symfony 中禁用特定操作的 CSS 样式表

    有没有办法在 view yml 中为 Symfony 中的特定操作禁用样式表 例如 我的 view yml 中有这样的内容 default stylesheets default css 我希望能够做类似的事情 displaySuccess
  • 在代理后面运行 keycloak 时令牌颁发者无效

    我已将 keycloak 服务器放在 apache 代理后面 ProxyRequests On ProxyVia On ProxyPreserveHost On SSLProxyEngine On SSLProxyCheckPeerCN o
  • 为什么神经网络的权重应该初始化为随机数? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在尝试从头开始构建一个神经网络 所有人工智能文献都一致认为 权重应该初始化为随机数 以便网络更快地收敛 但为什么神经网络初始权重被初始化为随机数呢 我在某处读到这样做是为了 打破