python - 使用遗传算法优化神经网络 - 优化层和权重
问题描述
我尝试使用以下代码构建神经网络模型 - 多任务模型
inp = Input((336,))
x = Dense(300, activation='relu')(inp)
x = Dense(256, activation='relu')(x)
x = Dense(128, activation='relu')(x)
x = Dropout(0.1)(x)
x = Dense(56, activation='relu')(x)
x = Dense(16, activation='relu')(x)
x = Dropout(0.1)(x)
out_reg = Dense(1, name='reg')(x)
out_class = Dense(1, activation='sigmoid', name='class')(x) # I suppose bivariate classification problem
model = Model(inp, [out_reg, out_class])
model.compile('adam', loss={'reg':'mse', 'class':'binary_crossentropy'},
loss_weights={'reg':0.5, 'class':0.5})
现在我想使用遗传算法在python 中使用遗传算法优化神经网络的权重、层数和神经元数量
解决方案
最初,我认为最好
- 修复模型的架构,
- 知道有多少可训练参数及其格式,
- 创建可训练参数的随机群体,
- 定义要优化的目标函数,
- 实现 GA 操作(再现, 交叉, 变异等),
- 将这些权重和偏差群体调整为正确的格式,
- 然后使用这些权重和偏差运行 ML 模型,
- 获取损失, 并更新群体,
- 重复上述过程若干个 epoch/with停止标准
希望能帮助到你。
推荐阅读
- javascript - Firebase 管理员未定义
- html - 使用 position:absolute 时无法在 span 中居中文本
- sapui5 - SAP UI5 XML 视图数据绑定语法
- react-native - 我的复活作品不止一次。怎样才能让这个动画一次工作?
- c++ - 尝试从文件加载片段着色器时出错
- python - Python logger - multiple logger instances with multiple levels - best practice
- advanced-rest-client - 重新安装 Advanced Rest 客户端时出现问题
- react-native - Resat-native - 安装路由模块时出错
- java - 在扬声器中播放音频铃声
- javascript - 在下拉菜单中更改隐藏的 Paypal 值