밀집한

@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
  • 요소별 활성화 함수 유형입니다.

    선언

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • 주어진 가중치, 선택적 편향 및 활성화 함수에서 인스턴스를 생성합니다.

    메모

    현재, weight 유일한 미분 가능성의 매개 변수입니다. bias 후 미분 가능성 매개 변수를 만들 수 있습니다 Optional 조건에 부합 Differentiable TF-499 :.

    선언

    @differentiable(wrt: weight)
    public init(
      weight: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation
    )
  • 주어진 입력에 레이어를 적용하여 얻은 출력을 반환합니다.

    선언

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    매개변수

    input

    레이어에 대한 입력입니다.

    반환 값

    출력.

  • 생성 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 .