Neural network 是否可以访问Azure机器学习服务或Azure机器学习工作室中训练的神经网络的内部表示?

Neural network 是否可以访问Azure机器学习服务或Azure机器学习工作室中训练的神经网络的内部表示?,neural-network,azure-machine-learning-studio,azure-machine-learning-service,Neural Network,Azure Machine Learning Studio,Azure Machine Learning Service,我正在与数据科学家合作,他们希望深入了解和理解他们使用Azure机器学习工作室/服务中的可视化界面训练的神经网络模型。是否有可能转储和检查神经网络模型的内部表示?有没有一种方法可以让我编写代码来访问经过训练的神经网络的节点和权重,以便将网络可视化为图形结构?或者,如果Azure机器学习工作室/服务不支持这一点,我将非常感谢关于不同机器学习框架的建议,该框架可能更适合此类分析 我尝试过的事情: 列车模型输出ILearnerDotNet(AML Studio)或模型(AML服务)。我寻找可以拖入工

我正在与数据科学家合作,他们希望深入了解和理解他们使用Azure机器学习工作室/服务中的可视化界面训练的神经网络模型。是否有可能转储和检查神经网络模型的内部表示?有没有一种方法可以让我编写代码来访问经过训练的神经网络的节点和权重,以便将网络可视化为图形结构?或者,如果Azure机器学习工作室/服务不支持这一点,我将非常感谢关于不同机器学习框架的建议,该框架可能更适合此类分析

我尝试过的事情:

  • 列车模型输出ILearnerDotNet(AML Studio)或模型(AML服务)。我寻找可以拖入工作区的项目,在那里我可以编写自定义代码,比如执行Python脚本。他们似乎接受数据集,但不接受ILearnerDotNet/Model作为输入
  • 我无法找到有关ILearnerDotNet/模型接口的文档
  • 选择列车模型输出提供了另存为已训练模型的选项。这将创建一个经过训练的模型对象,这将帮助我在其他地方引用经过训练的模型,但我没有找到一种方法来使用它来获取其内部

我是Azure机器学习领域的新手,在如何开始访问此数据方面需要一些帮助。

引用Azure ML考试参考:

默认情况下,神经网络的体系结构仅限于单个 以sigmoid为激活函数的隐藏层和中的softmax 最后一层。您可以在模型的属性中对此进行更改, 打开“隐藏层规范”下拉列表,然后选择 自定义定义脚本。将出现一个文本框,您将在其中 能够插入网络脚本。此脚本语言允许您 定义神经网络架构

例如,如果要创建两层网络,可以输入以下代码

input Picture [28, 28];
hidden H1 [200] from Picture all;
hidden H2 [200] from H1 all;
output Result [10] softmax from H2 all;
然而,使用Net#你将面临某些限制,因为它不接受正规化(L2或辍学)。此外,不存在以下情况的ReLU激活: 由于其在反向传播中的优势,通常用于深度学习。您不能修改随机梯度下降(SGD)的批量大小。除此之外,您不能使用其他优化算法。您可以将SGD与动量一起使用,但不能使用其他类似Adam或RMSprop的工具。不能定义递归或递归神经网络

另一个伟大的工具是CNTK(认知工具包),它允许您定义计算图并创建完全可定制的模型。 引用文件

它是一个微软开源的深度学习工具包。像其他深 学习工具,CNTK是基于计算 图及其使用自动微分的优化。这个 工具箱经过高度优化,可高效扩展(从CPU到GPU, 对多台机器)。CNTK也非常便携和灵活;你 可以使用Python、C++、C++等编程语言,但是 还可以使用名为BrainScript的模型描述语言


谢谢这是关于我如何为Azure ML定义神经网络结构的重要信息。但是,它没有回答是否可以从训练模型(如学习的权重)访问内部信息的问题。看一看CNTK听起来是一个很好的建议。据我所知,在AML Studio中不可能将经过培训的模型可视化。所以答案是使用CNTK