Mật độ dày đặc

@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

Một lớp mạng lưới thần kinh được kết nối dày đặc.

Dense triển khai hoạt động activation(matmul(input, weight) + bias) , trong đó weight là ma trận trọng số, bias là vectơ thiên vị và activation là hàm kích hoạt theo phần tử.

Lớp này cũng hỗ trợ các tensor trọng lượng 3-D với ma trận sai lệch 2-D. Trong trường hợp này, thứ nguyên đầu tiên của cả hai đều được coi là kích thước lô được căn chỉnh với kích thước input đầu tiên và biến thể lô của thao tác matmul(_:_:) được sử dụng, do đó sử dụng trọng số và độ lệch khác nhau cho từng phần tử trong lô đầu vào.

  • Ma trận trọng số.

    Tuyên ngôn

    public var weight: Tensor<Scalar>
  • Vectơ thiên vị.

    Tuyên ngôn

    public var bias: Tensor<Scalar>
  • Chức năng kích hoạt theo phần tử.

    Tuyên ngôn

    @noDerivative
    public let activation: Activation
  • Loại hàm kích hoạt theo phần tử.

    Tuyên ngôn

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Tạo một thể hiện từ trọng số đã cho, độ lệch tùy chọn và hàm kích hoạt.

    Ghi chú

    hiện tại, weight là tham số khác biệt duy nhất. bias có thể được tạo thành một tham số khả vi sau khi Optional tuân thủ có điều kiện với Differentiable : TF-499.

    Tuyên ngôn

    @differentiable(wrt: weight)
    public init(
      weight: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation
    )
  • Trả về kết quả thu được từ việc áp dụng lớp cho đầu vào đã cho.

    Tuyên ngôn

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

    Thông số

    input

    Đầu vào của lớp.

    Giá trị trả về

    Đầu ra.

  • Tạo một lớp Dense với kích thước đầu vào, kích thước đầu ra được chỉ định và chức năng kích hoạt theo phần tử. Ma trận trọng số được tạo với hình dạng [inputSize, outputSize] và vectơ thiên vị được tạo với hình dạng [outputSize] .

    Tuyên ngôn

    public init(
      inputSize: Int,
      outputSize: Int,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      weightInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Thông số

    inputSize

    Tính chiều của không gian đầu vào.

    outputSize

    Tính chiều của không gian đầu ra.

    activation

    Chức năng kích hoạt để sử dụng. Giá trị mặc định là identity(_:) .

    weightInitializer

    Công cụ khởi tạo để sử dụng cho weight .

    biasInitializer

    Trình khởi tạo để sử dụng cho bias .