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

上海网站建设公司费用推广资源网

上海网站建设公司费用,推广资源网,石家庄外贸网站制作,神经网络调参指南 知识点回顾: 随机种子内参的初始化神经网络调参指南 参数的分类调参的顺序各部分参数的调整心得 作业:对于day41的简单cnn,看看是否可以借助调参指南进一步提高精度。 用“烧水调温”的日常场景来打比方: 每个…

神经网络调参指南

知识点回顾:

  1. 随机种子
  2. 内参的初始化
  3. 神经网络调参指南
    1. 参数的分类
    2. 调参的顺序
    3. 各部分参数的调整心得

作业:对于day'41的简单cnn,看看是否可以借助调参指南进一步提高精度。

用“烧水调温”的日常场景来打比方:

每个神经元就像一个“烧水的炉子”,你的目标是把水烧到合适的温度(比如80℃)。

  • 输入数据是“初始水温”(比如水管里流进来的水是20℃);
  • 权重(w)是“炉子的初始火力”(比如你第一次开炉子时调的火力大小);
  • 激活函数(比如sigmoid)是“水温上升的规律”——它规定了“火力大小”和“最终水温”的关系。

为什么初始火力不能开太大?(对应sigmoid的饱和区)

sigmoid这个“水温规律”有个特点:

  • 当“实际加热量”(x = w·初始水温 + 基础加热)比较小时(比如在20-80℃之间),水温对火力变化非常敏感——你稍微调大一点火力,水温就明显上升(对应导数大,梯度大)。这时候你能快速调整火力,让水温接近目标(权重容易更新)。
  • 但如果初始火力(w)开得太大,第一次加热时“实际加热量”就会猛增(比如直接烧到95℃),这时候水温进入“饱和区”——不管你怎么调火力(调大或调小),水温上升的速度都几乎不变(对应导数接近0,梯度消失)。就像水已经快烧开了,你再加大火力,水也不会更快变热,这时候你根本没法通过调火力来精准控制水温(权重无法更新)。

深层网络的“串联烧水”问题

深层网络就像多个炉子排着队烧水:第一个炉子烧完的水传给第二个,第二个传给第三个……如果第一个炉子的火力开太大,水烧到95℃后传给第二个炉子,第二个炉子即使调火力,水最多只能烧到98℃(变化很小);传到第三个炉子时,水温几乎不再变化……最终,第一个炉子的火力(底层参数)根本没法调整——因为后面的炉子根本“感受不到”它的变化(梯度消失)。

总结

初始火力调小(比如在“小火”档位),就像让水一开始在“敏感升温区”(20-80℃)。这时候你调火力(更新权重)能明显改变水温(梯度大),所有串联的炉子(深层网络)都能有效传递温度变化,最终让整排炉子的水温(模型输出)精准达到目标(模型收敛)。

 

 

 简单cnn 借助调参指南进一步提高精度

基础CNN模型代码

import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.utils import to_categorical# 加载数据
(train_images, train_labels), (test_images, test_labels) = cifar10.load_data()# 数据预处理
train_images = train_images.astype('float32') / 255
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)# 基础CNN模型
model = models.Sequential([layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.Flatten(),layers.Dense(64, activation='relu'),layers.Dense(10, activation='softmax')
])model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])history = model.fit(train_images, train_labels, epochs=10, batch_size=64,validation_data=(test_images, test_labels))

改进方法

增加模型复杂度
model = models.Sequential([layers.Conv2D(64, (3, 3), activation='relu', input_shape=(32, 32, 3), padding='same'),layers.BatchNormalization(),layers.Conv2D(64, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.MaxPooling2D((2, 2)),layers.Dropout(0.25),layers.Conv2D(128, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.Conv2D(128, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.MaxPooling2D((2, 2)),layers.Dropout(0.25),layers.Conv2D(256, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.Conv2D(256, (3, 3), activation='relu', padding='same'),layers.BatchNormalization(),layers.MaxPooling2D((2, 2)),layers.Dropout(0.25),layers.Flatten(),layers.Dense(512, activation='relu'),layers.BatchNormalization(),layers.Dropout(0.5),layers.Dense(10, activation='softmax')
])
优化器调参
from tensorflow.keras.optimizers import Adamoptimizer = Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-07)
model.compile(optimizer=optimizer,loss='categorical_crossentropy',metrics=['accuracy'])
数据增强
from tensorflow.keras.preprocessing.image import ImageDataGeneratordatagen = ImageDataGenerator(rotation_range=15,width_shift_range=0.1,height_shift_range=0.1,horizontal_flip=True,zoom_range=0.1
)
datagen.fit(train_images)history = model.fit(datagen.flow(train_images, train_labels, batch_size=64),epochs=50,validation_data=(test_images, test_labels))
早停和模型检查点
from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpointcallbacks = [EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True),ModelCheckpoint('best_model.h5', monitor='val_accuracy', save_best_only=True)
]history = model.fit(..., callbacks=callbacks, epochs=100)

 @浙大疏锦行

http://www.hkea.cn/news/319550/

相关文章:

  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价
  • 金融网站cms百度网盘客服电话人工服务
  • 美观网站建设物美价廉seo网站优化专员
  • 网站设计应该怎么做推广软文代写
  • 网站建设工作室发展百度收录教程
  • 没有网站 可以做百度口碑吗成都网站制作
  • 医院系统网站建设百度宁波营销中心
  • 网站劫持代码杭州互联网公司排名榜
  • 做网站找哪个部门吸引人的推广标题
  • 网站制作软件名字线做竞价推广代运营公司
  • avada如何做中英文网站沈阳百度推广排名优化
  • 做网站品长沙网络营销公司排名
  • b2b商贸网站环球网最新消息疫情
  • wordpress next主题什么是seo教程
  • 如何规划一个网站快手秒赞秒评网站推广
  • 中国网站开发网站seo需要用到哪些工具
  • 织梦做的网站首页出现空白网页平台做个业务推广
  • 备案做电影网站吗yandx引擎入口
  • 网站双倍浮动百度账号登陆入口
  • 聊城市网站建设网站推广排名
  • 帝国新闻网站模板百度seo推广怎么做
  • 预约做港澳证的网站网站排名在线优化工具
  • 罗湖实惠的网站建设费用成都官网seo厂家
  • 建设部官方网站有哪些优帮云排名优化