文章总结: 本文介绍了基于深度强化学习求解虚拟网络映射的设计与Java实现,重点阐述了卷积层的维度计算公式及单通道、三通道卷积的详细过程。文章提供了基于Deeplearning4j框架的Java代码示例,演示了如何构建包含卷积层、Adam优化器和ReLU激活函数的神经网络配置,为后续的强化学习应用奠定了基础。 综合评分: 81 文章分类: AI安全,网络安全
深度强化学习求解虚拟网络映射设计与Java实现(一)
原创
豆豆 豆豆
豆豆咨询
2026年1月16日 13:50 浙江
在设计深度强化学习用于虚拟网络映射过程中,有几个基本概念需要了解清楚,如下所示。
一、几个概念
1、卷积层的设计与维度计算
维度变化公式如下所示:
2、单通道卷积维度变化图示
2.1 输入与卷积核:
其中,输入图像高度和宽度分别是3,通道为1,卷积核的数量为1,卷积核的高度和宽度分别是2,通道维度为1。最后的输出:高度为(3-2+2*0)/1+1=2,宽度为(3-2+2*0)/1+1=2,通道维度为1。
2.2 计算过程图示:
- 三通道卷积详细图示(RGB图像)
3.1 输入数据结构
包括输入图像和卷积核。
输入图像高度和宽度分别是3,通道维度为3。
卷积核的数量为2,卷积核的高度和宽度分别是2,通道维度为3(与输入图像的通道维度保持一致)。
其中,输入图像高度和宽度分别是3,通道为3;卷积核的数量为2,卷积核的高度和宽度分别是2,卷积核的通道维度为3;最后的输出:高度为(3-2+2*0)/1+1=2,宽度为(3-2+2*0)/1+1=2,通道维度为2。
3.2 多通道卷积计算详细图示
如下所示:
输出特征图生成过程:
计算流图:
二、卷积层的设计与实现
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.seed(123)
.updater(new Adam(0.001))
.list()
// =======CNN层噶度和宽度分别是1和3,两个方向的步长分别是1和1,因为有两个卷积=======
//featPerNode:为输入通道
.layer(new ConvolutionLayer.Builder(new int[]{1, 3}, new int[]{1, 1})
.nIn(featPerNode)
.nOut(2)
.activation(Activation.RELU)
.build())
其中
.seed(123)-设置随机数种子为123;
. list() – 网络层容器作用:创建顺序层(Sequential)网络结构;
使用Adam优化器,学习率0.001;
ConvolutionLayer是卷积层,{1, 3}是卷积核的高度和宽度,{1, 1}是高度和宽度的步长;
featPerNode是输入的通道维度;
2是输出的通道数为2,意味着有两个卷积核;
.activation(Activation.RELU)// ⭐ 添加非线性:ReLU激活
.build())// ⭐ 结束配置,创建层实例
network = new MultiLayerNetwork(conf);
network.init();
初始化多层网络。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:豆豆咨询 豆豆 豆豆《深度强化学习求解虚拟网络映射设计与Java实现(一)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论