首页 > 其他分享 >‘随机失活’:人工智能真的在模仿人脑吗?

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

时间:2024-11-03 10:19:41浏览次数:3  
标签:layers keras 人工智能 失活 随机 tf 人脑 神经元

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

随机失活

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

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

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

举个例子,看看图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库(一个提供多种预处理数据集的库)来访问和加载公共训练数据集,以便在模型训练中使用。

标签:layers,keras,人工智能,失活,随机,tf,人脑,神经元
From: https://www.cnblogs.com/jellyai/p/18522961

相关文章

  • 人工智能学习框架综述:特性、应用及未来趋势(有代码哦~)
    人工智能(AI)的发展在很大程度上得益于强大、高效的学习框架,这些框架为研究人员和工程师提供了集成化的工具,用以构建、训练和部署深度学习和机器学习模型。本文将对几大主流人工智能学习框架的特性、使用场景及未来趋势进行介绍,帮助读者理解如何选择和应用这些工具。一、人工智......
  • 打响反对人工智能的第一枪
    序言:人工智能的讨论不能只有一片叫好的声音,一味的追捧反而可能隐藏巨大的危机。因此,必须有反对的声音,且越强烈越能激发深入思考。本篇文章的作者就以犀利的视角,漂亮地打响了反对人工智能应用的第一枪。我以前一直以为人工智能的狂热会自然消退,也许等泡沫不可避免地破灭时会......
  • 搞人工智能开源大语言模型GPT2、Llama的正确姿势
    (如果想及时收到人工智能相关的知识更新,请点击关注!!)序言:目前我们每一小节的内容都讲解得非常慢,因为这是人工智能研发中的最基础知识。如果我们不能扎实掌握这些知识,将很难理解后续更复杂且实用的概念。因此,我们甚至采用一个概念一节的方式来编排内容,区分得清清楚楚、明明白白,以便......
  • 当下最好的Java做人工智能应用的开源框架-Spring AI alibaba介绍-含免费的菜鸟入门教
    在过去,Java缺乏一个统一且高效的AI应用框架,这导致开发者在使用不同AI提供商(如OpenAI、Azure或阿里云)时需要频繁地调整代码和接口适配。现在有了Spring团队推出的springAI,他能够很好的解决上面的问题,本文会先介绍一下springai这个应用框架的核心能力和功能。 然后再用s......
  • 中国人工智能产业发展联盟发布《基于大模型的数字人系统技术要求》
    当前,以数字人为代表的新型智能化应用正在持续拓展和深化应用场景,为企业创新交互模式、提升经营效率和自动化执行水平提供了有力帮助,成为加快发展新质生产力的重要体现。在大模型技术的助力下,数字人正逐渐从单一虚拟形象向“有头有脸有脑”创新进化,将有望成为未来多模态人机交互......
  • 机器人技术革新:人工智能的强力驱动
    内容概要在当今世界,机器人技术与人工智能的结合正如星星与大海,彼此辉映。随着科技的不断进步,人工智能不仅仅是为机器人赋予了“聪明的大脑”,更是推动了整个行业的快速发展。回顾机器人技术的发展历程,我们会发现,从简单的机械臂到如今高效的自主机器人,这一过程充满了创新与挑战......
  • 热点扫描:人工智能专利布局背后的商业博弈
    内容概要在当今科技飞速发展的时代,人工智能的崛起不仅推动了各行各业的创新,还引发了激烈的商业博弈。专利布局,作为企业保护核心技术和市场份额的重要手段,成为竞争中的焦点。许多企业通过合理的专利策略,对其在市场中的地位进行巩固和提升。越来越多的技术研发投入不仅产生了创......
  • 《热点聚焦:人工智能在机器人技术中的突破性进展》
    内容概要在当今的科技舞台上,人工智能与机器人技术的结合如同一场华丽的交响乐,每一个音符都在奏响未来的旋律。我们不难发现,智能控制正在为机器人赋予更高的智慧和灵活性,犹如一位高明的指挥家,将所有乐器协调地发挥到极致。随着运动学领域最新进展的涌现,机器人不仅能够精确执行......
  • Irix HDR Pro 2.3.40 专业HDR人工智能照片编辑处理工具!
    IrixHDRProClassicPro是一款专为摄影师和图像编辑工作者设计的高动态范围(HDR)照片处理软件,它通过高效的算法为用户带来了一个强大而简便的处理平台。本文将详细介绍这款软件的功能和特点,帮助您更好地了解其在摄影后期处理中的优势。功能特点动态范围合成IrixHDRPro......