以 CNN 的 ConvolutionalNN 全连接网络作为 NeuralNetwork 的统一计算内核。 本模块通过 LayerBuilder 构建等价的 CNN 全连接网络, 供 Netz 与 Network 两个公开类作为内部计算内核使用。
NetworkKernel
00 Remarks
旧的前向/反向/权重更新计算代码(Layer/Neuron/Synapse 等)已彻底移除, 所有数值计算均由 CNN 内核完成,对外公开接口保持不变。
01 Syntax
Microsoft.VisualBasic.MachineLearning.NeuralNetwork.NetworkKernel
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| BuildCNN | 1 | 根据网络规模构建以全连接层为主体的 CNN 网络,作为统一计算内核。 |
| BuildDataBlock | 1 | 将原始输入样本写入 DataBlock 的权重向量,不做图像归一化 (避免 -0.5 偏移,从而与旧 Netz/Network 对原始实数的输入语义保持一致)。 |
03 Members
根据网络规模构建以全连接层为主体的 CNN 网络,作为统一计算内核。
Parameters
| Name | Type | Description |
|---|---|---|
inputSize | Int32 | 输入节点的数量 |
hiddenSize | Int32() | 每一个隐藏层的节点数量 |
outputSize | Int32 | 输出节点的数量 |
hiddenAct | Layer | 隐藏层所使用的 CNN 激活层 |
outputAct | Layer | 输出层所使用的 CNN 激活层 |
regression | Boolean | 目标为连续数值回归(默认)时使用 RegressionLayer; 若为分类问题,则改用 SoftMaxLayer。 |
dropOutRate | Double | 0,1) 的 DropOut 比率;当大于 0 时,会在每个全连接层之后插入 [DropoutLayer 以进行正则化。 |
BuildDataBlock(
Double())将原始输入样本写入 DataBlock 的权重向量,不做图像归一化 (避免 -0.5 偏移,从而与旧 Netz/Network 对原始实数的输入语义保持一致)。