이 SimpleNetworkBuilder 기능을 사용하면 구성 줄이 거의 없는 간단한 표준 네트워크 유형을 사용할 수 있습니다. 제한된 구성 옵션 집합만 지원됩니다. 대신 더 복잡한 네트워크를 사용하여 BrainScriptNetworkBuilder 정의할 수 있습니다.
사용 SimpleNetworkBuilder하려면 학습 구성에 동일한 이름의 구성 블록을 포함합니다. 옵션을 생략하면 기본값이 가정됩니다. 먼저 간결한 예제를 제공하고 아래의 모든 컨트롤 매개 변수 및 옵션을 나열합니다.
SimpleNetworkBuilder = [
# 2 inputs, 2 hidden layers with 50 element nodes each, 2 outputs
layerSizes = 2:50*2:2
trainingCriterion = "CrossEntropyWithSoftmax"
evalCriterion = "ErrorPrediction"
layerTypes = "Sigmoid"
applyMeanVarNorm = true
]
위의 예제에서 'trainingCriterion' 및 'layerTypes'는 기본값을 사용하므로 생략할 수 있습니다. 다음 매개 변수를 사용할 수 있습니다.
initValueScale: 초기화에 사용되는 난수의 범위를 크기 조정하는 값입니다. 기본값은1입니다. 균일한 분포를 사용하여 모델 매개 변수를 초기화하면 난수 범위가 조정됩니다[-0.05 * initValueScale, 0.05 * initValueScale]. 모델 매개 변수가 Gaussian 분포를 사용하여 초기화되면 표준 편차가 조정됩니다0.2 * initValueScale * fanout^(-1/2).layerTypes: 숨겨진 계층의 비선형 연산 유형입니다. 유효한 값은Sigmoid(기본값),Tanh및RectifiedLinear입니다.uniformInit: 균일한 분포를 사용하여 모델 매개 변수를 초기화할지 여부를 결정합니다. 유효한 값은(기본값) 및false(Gaussian 배포를 사용하여 모델 매개 변수 초기화)입니다true.applyMeanVarNorm: 입력에 평균/분산 정규화를 적용할지 여부입니다. 유효한 값은true와false(기본값)입니다.addDropoutNodes: 드롭아웃 노드를 추가할지 여부입니다. 기본값은false입니다. 지정된true경우 드롭아웃 노드가 입력 노드 및 숨겨진 모든 계층의 출력에 적용됩니다.layerSizes: 레이어의 크기를 지정합니다. 예를 들어layerSizes=128:10:200:4000두 개의 숨겨진 계층이 있는 신경망에 대해 설명합니다. 첫 번째 숨겨진 계층의 차원은 10이고, 두 번째 숨겨진 계층의 차원은 200입니다. 입력 및 출력 계층의 차원은 각각 128 및 4000입니다.trainingCriterion: 학습에 사용되는 기준입니다. 기본값은CrossEntropyWithSoftmax입니다. 대안은SquareError,CrossEntropy및ClassBasedCrossEntropyWithSoftmax. 클래스ClassBasedCrossEntropyWithSoftmax기반 학습을 위한 것입니다. 출력 차원이 크므로 학습 및 평가 속도를 높이기 위해 클래스로 분할해야 하는 경우에 유용합니다.evalCriterion: 평가 기준입니다. 값의 선택 영역은 .와trainingCriterion동일합니다.lookupTableOrder: lookupNode에서 확장되는 컨텍스트의 순서를 지정합니다. 기본값은1입니다. 3과 같은 값으로 설정하면 컨텍스트 종속 방식으로 입력 차원이 3순으로 확장됩니다. 예를 들어 입력 관찰에 차원이 20인 경우 이 값을 3으로 설정하면 입력 노드 차원이 60으로 설정됩니다.
RNN(되풀이 신경망)의 경우 추가 매개 변수가 있습니다.
recurrentLayer: 자체 되풀이 연결을 포함하는 계층을 지정합니다. 기본적으로 되풀이 계층은 없습니다. 구문을n1:n2:n3사용하여 n1, n2 및 n3 계층에 되풀이 연결이 있도록 지정합니다.defaultHiddenActivity: 첫 번째 관찰 전에 값에 액세스할 때 지연 노드에서 사용하는 기본 숨겨진 계층 활동 값입니다. 기본값은0.1입니다.rnnType: 미리 정의된 네트워크의 유형입니다. 유효한 값은 다음과 같습니다.SIMPLENET: 피드 전달 신경망입니다. 기본 네트워크 유형입니다.SIMPLERNN: 여러 계층에 되풀이 루프가 있는 심층 RNN일 수 있는 간단한 RNN입니다.CLASSLM: 클래스 기반 단순 RNN입니다. 스파스 입력, 스파스 매개 변수 및 스파스 출력을 사용합니다. 이는 언어 모델링 작업에 자주 사용됩니다.LBLM: 로그 쌍선형 신경망입니다.LSTM: 장기 단기 메모리 신경망입니다.CLASSLSTM: 클래스 기반 장기 메모리 신경망입니다. 스파스 입력, 스파스 매개 변수 및 스파스 출력을 사용합니다. 이는 언어 모델링 작업에 자주 사용됩니다.
다음: 을 사용하여 BrainScriptNetworkBuilder고유한 복잡한 네트워크를 정의합니다.