@frozen
public struct BatchNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
เลเยอร์การทำให้เป็นมาตรฐานแบบแบตช์
ทำให้การเปิดใช้งานของเลเยอร์ก่อนหน้าเป็นมาตรฐานในแต่ละชุด เช่น ใช้การเปลี่ยนแปลงที่รักษาค่าเฉลี่ยการเปิดใช้งานไว้ใกล้กับ 0
และค่าเบี่ยงเบนมาตรฐานการเปิดใช้งานใกล้กับ 1
ข้อมูลอ้างอิง: การทำให้เป็นมาตรฐานแบบแบตช์: การเร่งการฝึกอบรมเครือข่ายเชิงลึกโดยการลดการเปลี่ยนแปลงโควาเรียตภายใน
มิติคุณลักษณะ
คำประกาศ
@noDerivative public let axis: Int
โมเมนตัมของค่าเฉลี่ยการวิ่งและความแปรปรวนของการวิ่ง
คำประกาศ
@noDerivative public let momentum: Scalar
ค่าออฟเซ็ตหรือที่เรียกว่าเบต้า
คำประกาศ
public var offset: Tensor<Scalar>
ค่าสเกลหรือที่เรียกว่าแกมมา
คำประกาศ
public var scale: Tensor<Scalar>
ค่าความแปรปรวนเอปไซลอน
คำประกาศ
@noDerivative public let epsilon: Scalar
ค่าเฉลี่ยการวิ่ง
คำประกาศ
@noDerivative public var runningMean: Parameter<Scalar>
ความแปรปรวนที่กำลังดำเนินอยู่
คำประกาศ
@noDerivative public var runningVariance: Parameter<Scalar>
สร้างเลเยอร์การทำให้เป็นมาตรฐานแบบแบตช์
คำประกาศ
พารามิเตอร์
axis
แกนที่ไม่ควรทำให้เป็นมาตรฐาน (โดยทั่วไปคือแกนคุณลักษณะ)
momentum
โมเมนตัมสำหรับค่าเฉลี่ยเคลื่อนที่
offset
ออฟเซ็ตที่จะเพิ่มให้กับเทนเซอร์ที่ทำให้เป็นมาตรฐาน
scale
สเกลที่ใช้คูณเทนเซอร์ที่ทำให้เป็นมาตรฐานด้วย
epsilon
สเกลาร์ขนาดเล็กถูกเพิ่มเข้าไปในตัวส่วนเพื่อปรับปรุงความเสถียรของตัวเลข
runningMean
ค่าเฉลี่ยการวิ่ง
runningVariance
ความแปรปรวนที่กำลังดำเนินอยู่
สร้างเลเยอร์การทำให้เป็นมาตรฐานแบบแบตช์
คำประกาศ
public init( featureCount: Int, axis: Int = -1, momentum: Scalar = 0.99, epsilon: Scalar = 0.001 )
พารามิเตอร์
featureCount
จำนวนคุณสมบัติ
axis
แกนที่ควรทำให้เป็นมาตรฐาน (โดยทั่วไปคือแกนคุณลักษณะ)
momentum
โมเมนตัมสำหรับค่าเฉลี่ยเคลื่อนที่
epsilon
สเกลาร์ขนาดเล็กถูกเพิ่มเข้าไปในตัวส่วนเพื่อปรับปรุงความเสถียรของตัวเลข