@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
조밀하게 연결된 신경망 계층입니다.
Dense
activation(matmul(input, weight) + bias)
연산을 구현합니다. 여기서 weight
는 가중치 행렬이고, bias
은 편향 벡터이며, activation
요소별 활성화 함수입니다.
이 계층은 2차원 바이어스 행렬이 있는 3차원 가중치 텐서도 지원합니다. 이 경우 둘 다의 첫 번째 차원은 input
의 첫 번째 차원과 정렬된 배치 크기로 처리되고 matmul(_:_:)
작업의 배치 변형이 사용되므로 각 요소에 대해 서로 다른 가중치와 편향이 사용됩니다. 입력 배치에서.
가중치 매트릭스.
선언
public var weight: Tensor<Scalar>
바이어스 벡터.
선언
public var bias: Tensor<Scalar>
요소별 활성화 함수.
선언
@noDerivative public let activation: Activation
주어진 가중치, 선택적 편향, 활성화 함수로부터 인스턴스를 생성합니다.
메모
현재weight
유일한 차별화 매개변수입니다.Optional
Differentiable
: TF-499를 조건부로 준수한 후bias
차별화 매개변수로 만들 수 있습니다.선언
@differentiable(wrt: weight) public init( weight: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation )
지정된 입력 크기, 출력 크기 및 요소별 활성화 함수를 사용하여
Dense
레이어를 생성합니다. 가중치 행렬은[inputSize, outputSize]
모양으로 생성되고 바이어스 벡터는[outputSize]
모양으로 생성됩니다.선언
public init( inputSize: Int, outputSize: Int, activation: @escaping Activation = identity, useBias: Bool = true, weightInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
매개변수
inputSize
입력 공간의 차원입니다.
outputSize
출력 공간의 차원입니다.
activation
사용할 활성화 함수입니다. 기본값은
identity(_:)
입니다.weightInitializer
weight
에 사용할 초기화 프로그램입니다.biasInitializer
bias
에 사용할 초기화 프로그램입니다.