‘随机失活’:人工智能真的在模仿人脑吗?

news/2025/1/4 7:43:20/文章来源:https://www.cnblogs.com/jellyai/p/18522961

序言:过拟合是人工智能训练中的一个常见问题,类似于一位“读死书”的学生,他只能机械地背诵书本内容,缺乏灵活性,一旦题目稍有变化便无法理解。为了解决这一问题,科学家们从人脑的学习方式中获得启发,设计出“随机失活”方法。在学习过程中,随机关闭部分神经元,避免神经元之间过度依赖,从而提升模型的灵活性与应变能力。

随机失活

在本章前面,我们讨论了过拟合现象,即网络可能会对某一类输入数据变得过于专注,而在其他数据上表现较差。为了解决这个问题,可以使用一种叫做随机失活的正则化技术。

当神经网络在训练时,每个神经元都会对后续层的神经元产生影响。随着时间推移,尤其是在较大的网络中,某些神经元可能会变得过于专注,这种影响会继续向下传播,最终导致整个网络变得过度专注,出现过拟合问题。

此外,相邻的神经元可能会拥有非常相似的权重和偏差值,如果不加以监控,整个模型会变得过于依赖那些神经元激活的特征,导致模型整体变得过于专注。

举个例子,看看图3-21中的神经网络,它包含2个、6个、6个和2个神经元的层结构。中间层的神经元可能会最终拥有非常相似的权重和偏差值。

                                图3-21. 一个简单的神经网络

在训练时,如果随机去除一些神经元并忽略它们,这些神经元对下一层神经元的影响会被暂时阻断(见图3-22)。

                                图3-22:一个带有随机失活的神经网络

这样做可以减少神经元过于专注的风险。网络虽然依然学习相同数量的参数,但在泛化能力上会更好——也就是说,它对不同输入的适应能力会更强。

随机失活的概念由Nitish Srivastava等人在2014年的论文《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》中提出。

要在TensorFlow中实现随机失活,可以直接使用一个简单的Keras层,如下所示:

tf.keras.layers.Dropout(0.2),

这样可以在指定层中随机失活指定比例的神经元(这里是20%)。需要注意的是,找到适合你网络的失活比例可能需要一些实验。

举个简单的例子来说明这一点,比如第二章中的Fashion MNIST分类器。我将改变网络定义,增加很多层,如下所示:

model = tf.keras.models.Sequential([

tf.keras.layers.Flatten(input_shape=(28,28)),

tf.keras.layers.Dense(256, activation=tf.nn.relu),

tf.keras.layers.Dense(128, activation=tf.nn.relu),

tf.keras.layers.Dense(64, activation=tf.nn.relu),

tf.keras.layers.Dense(10, activation=tf.nn.softmax)

])

将其训练20个周期后,训练集的准确率约为94%,验证集的准确率约为88.5%。这是潜在过拟合的一个迹象。

在每个全连接层之后引入随机失活,如下所示:

model = tf.keras.models.Sequential([

tf.keras.layers.Flatten(input_shape=(28,28)),

tf.keras.layers.Dense(256, activation=tf.nn.relu),

tf.keras.layers.Dropout(0.2),

tf.keras.layers.Dense(128, activation=tf.nn.relu),

tf.keras.layers.Dropout(0.2),

tf.keras.layers.Dense(64, activation=tf.nn.relu),

tf.keras.layers.Dropout(0.2),

tf.keras.layers.Dense(10, activation=tf.nn.softmax)

])

当在相同的数据上以相同的时间训练该网络时,训练集的准确率下降到约89.5%。验证集的准确率保持基本不变,为88.3%。这些值彼此更接近;因此,引入随机失活不仅证明了过拟合正在发生,而且使用随机失活可以通过确保网络不会对训练数据过度专注来帮助消除这种模糊性。

在设计神经网络时要记住,训练集上的高准确率并不总是好事。这可能是过拟合的一个信号。引入随机失活可以帮助你消除这个问题,从而在没有这种虚假安全感的情况下优化网络的其他方面。

总结:随机失活在模型训练中至关重要,否则我们训练出的模型就像‘死记硬背’的学生,只会对付特定的数据,无法应对真实应用场景中的变化。通过随机失活,我们让模型在学习过程中更加灵活,从而提高它在不同数据上的适应能力,避免成为‘傻子模型’。

下一篇我们将讲解如何在TensorFlow Datasets中使用公共数据集进行训练”。它指的是利用TensorFlow Datasets库(一个提供多种预处理数据集的库)来访问和加载公共训练数据集,以便在模型训练中使用。

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

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

相关文章

《计算机基础与程序设计》第六周学习总结

2024-2025-1 20241412 《计算机基础与程序设计》第六周学习总结 作业信息这个作业属于哪个课程 [2024-2025-1-计算机基础与程序设计] https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 2024-2025-1计算机基础与程序设计第一周作业 https://edu.cnblog…

SQL注入绕过

WAF介绍 一、WAF介绍 WAF(Web Application Firewall,Web应用防火墙)及与其相关的知识,这里利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为web应用提供保护的一款产品。 WAF基本上可以分为以下几类: 1.1 软件型WAF 以软件形式装…

财务知识-2024年新会计准则会计科目表

财务知识-2024年新会计准则会计科目表

Qt/C++地图动态绘制折线多边形矩形圆形标注点/可编辑拖动调整大小和位置

一、前言说明 无论哪一家的地图,都提供了调用函数绘制各种覆盖物,但是有时候的场景是希望进入添加覆盖物模式,然后每次在地图上按下都自动生成对应的覆盖物比如圆形,这样就不需要用户提前知道经纬度坐标等参数,而是让用户自己在地图上拾取即可,这样灵活性就极大的提高了。…

.NET 9 中没有 wasi 实验性支持

2023年10月份写个一篇《本计划在 .NET 8 中推出的 WASI 推迟到 .NET 9 》[1],根据此问题,在 .NET 9 RTM 中似乎不会有wasi-experimental,仅使用 componentize-dotnet [2]的项目才能工作/将被更新,WASI 实验正在 NET 10 中继续进行。2024年9月份字节码联盟发布了一篇文章《 使…

鼠标打字的背后,隐藏着一个感人的故事

感谢所有善良的人感谢所有善良的人 ‍ 转载声明 原文:有什么软件官方已经停更了或者公司已经倒闭了,但是你还在用并且觉得很好用的? - 黄亮的回答 - 知乎 优化了下排版,改正了两个错别字,以下是正文: 正文 2019 年,有一个叫方瑜,网名冷敏寒子夜的女孩在网上寻找一个极为…

基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例

近年来,大型语言模型(Large Language Models, LLMs)在自然语言处理(Natural Language Processing, NLP)领域取得了显著进展。这些模型通过在大规模文本数据上进行预训练,能够习得语言的基本特征和语义,从而在各种NLP任务上取得了突破性的表现。为了将预训练的LLM应用于特定领域…

Microsoft 365 for Mac(Office 365)v16.89正式激活版

Microsoft 365 for Mac(原Office 365)是一款功能全面的办公软件套件,专为Mac用户设计。它包含了Word、Excel、PowerPoint等经典应用,支持文档处理、数据分析、演示文稿制作等多种办公需求。此外,Microsoft 365还提供了在线协作功能,用户可以与团队成员共享文件、实时编辑…

the sad young men 10-31

Certainly, here are the answers in English,简洁地回答每个问题: 1. **Why were the younger generation of the 1920s thought to be wild?** - The younger generation was thought to be wild due to their rebellion against traditional values and their pursuit o…

SSH客户端推荐:Termius macOS电脑激活版

Termius是一款功能强大的跨平台终端模拟器和SSH客户端软件,支持Windows、macOS、Linux、iOS和Android等多个操作系统。它提供美观可定制的界面、多标签和分屏功能,内置SSH客户端并支持多种插件,可实现配置同步、强大的搜索、GPU加速渲染等。此外,Termius还支持文件传输、端…

微信jsapi支付 退款接口

微信官方退款接口文档地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4 参数按照文档构造 记录出现错误:System.Net.WebException: The remote server returned an error: (400) Bad Request 这个是由于退款接口需要传证书证书的话是需要登录商户号进行下载…

hexo 推送需要github的用户名

问题描述hexo 博客许久未写,今天尝试更新,发现 hexo d 之后需要输入 github 的用户名和密码,但是我输入之后没有效果,还是无法推送到 github 上。研究之后发现 rootcause 是:github 已经无法再用密码登陆推送,只能用 token, 而这里的token并不是 ssh-keys 里面的key,而…