ชั้น

public protocol Layer : Module where Self.Input : Differentiable

เลเยอร์โครงข่ายประสาทเทียม

ประเภทที่สอดคล้องกับ Layer เป็นตัวแทนของฟังก์ชั่นที่ปัจจัยการผลิตแผนที่เพื่อเอาท์พุท อาจมีสถานะภายในแสดงด้วยพารามิเตอร์ เช่น เทนเซอร์น้ำหนัก

Layer กรณีกำหนดอนุพันธ์ callAsFunction(_:) วิธีการสำหรับปัจจัยการผลิตทำแผนที่เพื่อเอาท์พุท

  • ส่งกลับผลลัพธ์ที่ได้จากการใช้เลเยอร์กับอินพุตที่กำหนด

    ประกาศ

    @differentiable
    func callAsFunction(_ input: Input) -> Output

    พารามิเตอร์

    input

    อินพุตไปยังเลเยอร์

    คืนมูลค่า

    ผลลัพธ์.

  • ซึ่งไปข้างหน้า(_:)

    การใช้งานเริ่มต้น

    การใช้งานเริ่มต้น

    ประกาศ

    @differentiable
    func forward(_ input: Input) -> Output
  • อนุมาน (จาก :)

    วิธีการขยาย

    ส่งกลับผลลัพธ์การอนุมานที่ได้จากการใช้เลเยอร์กับอินพุตที่กำหนด

    ประกาศ

    public func inferring(from input: Input) -> Output

    พารามิเตอร์

    input

    อินพุตไปยังเลเยอร์

    คืนมูลค่า

    เอาต์พุตการอนุมาน

  • Backpropagator

    วิธีการขยาย

    ประกาศ

    public typealias Backpropagator = (_ direction: Output.TangentVector)
      -> (layerGradient: TangentVector, inputGradient: Input.TangentVector)
  • ส่งกลับเอาต์พุตการอนุมานและฟังก์ชัน backpropagation ที่ได้รับจากการใช้เลเยอร์กับอินพุตที่กำหนด

    ประกาศ

    public func appliedForBackpropagation(to input: Input)
      -> (output: Output, backpropagator: Backpropagator)

    พารามิเตอร์

    input

    อินพุตไปยังเลเยอร์

    คืนมูลค่า

    ทูเพิลที่มีเอาต์พุตและฟังก์ชัน backpropagation ฟังก์ชัน backpropagation (หรือที่เรียกว่า backpropagator) ใช้เวกเตอร์ทิศทางและคืนค่าการไล่ระดับสีที่เลเยอร์และที่อินพุตตามลำดับ

ใช้ได้เมื่อ 'อินพุต': 'DifferentiableTensorProtocol', 'Output': 'DifferentiableTensorProtocol'

  • callAsFunction(_:)

    การใช้งานเริ่มต้น

    การใช้งานเริ่มต้น

    ประกาศ

    @differentiable(wrt: self)
    @differentiable
    public func callAsFunction(_ input: Input) -> Output