
Torch-Optimizer- คอลเลกชันของ Optimizers สำหรับ Pytorch ที่เข้ากันได้กับโมดูลที่เหมาะสม
import torch_optimizer as optim
# model = ...
optimizer = optim . DiffGrad ( model . parameters (), lr = 0.001 )
optimizer . step ()กระบวนการติดตั้งนั้นง่ายเพียงแค่:
$ pip ติดตั้ง torch_optimizer
https://pytorch-optimizer.rtfd.io
โปรดอ้างอิงผู้เขียนดั้งเดิมของอัลกอริทึมการเพิ่มประสิทธิภาพ ถ้าคุณชอบแพ็คเกจนี้:
@software {novik_torchoptimizers
title = {{Torch-optimizer-การรวบรวมอัลกอริทึมการเพิ่มประสิทธิภาพสำหรับ pytorch.}},
ผู้แต่ง = {novik, mykola},
ปี = 2020
เดือน = 1,
เวอร์ชัน = {1.0.1}
-
หรือใช้คุณสมบัติ GitHub: ปุ่ม "อ้างอิงที่เก็บนี้"
| a2gradexp | https://arxiv.org/abs/1810.00553 |
| a2gradinc | https://arxiv.org/abs/1810.00553 |
| a2graduni | https://arxiv.org/abs/1810.00553 |
| accsgd | https://arxiv.org/abs/1803.05591 |
| อาดาเบล | https://arxiv.org/abs/2010.07468 |
| อ้อนวอน | https://arxiv.org/abs/1902.09843 |
| อดัมโอด | https://arxiv.org/abs/1910.12249 |
| เครื่องดื่ม | https://arxiv.org/abs/1804.04235 |
| ชาวอาโฮเดส | https://arxiv.org/abs/2006.00719 |
| adamp | https://arxiv.org/abs/2006.08217 |
| แอสโม | https://arxiv.org/abs/1804.00325 |
| อพอลโล | https://arxiv.org/abs/2009.13586 |
| ด่าน | https://arxiv.org/abs/1909.11015 |
| เนื้อแกะ | https://arxiv.org/abs/1904.00962 |
| lookahead | https://arxiv.org/abs/1907.08610 |
| Madgrad | https://arxiv.org/abs/2101.11075 |
| novograd | https://arxiv.org/abs/1905.11286 |
| PID | https://www4.comp.polyu.edu.hk/~cslzhang/paper/cvpr18_pid.pdf |
| qhadam | https://arxiv.org/abs/1810.06801 |
| qhm | https://arxiv.org/abs/1810.06801 |
| รัศมี | https://arxiv.org/abs/1908.03265 |
| แรนเจอร์ | https://medium.com/@lespl |
| แรนเจอร์ | https://arxiv.org/abs/1810.06801 |
| Rangerva | https://arxiv.org/abs/1908.00700V2 |
| SGDP | https://arxiv.org/abs/2006.08217 |
| SGDW | https://arxiv.org/abs/1608.03983 |
| ตบเบา ๆ | https://arxiv.org/abs/1712.07628 |
| สระผม | https://arxiv.org/abs/1802.09568 |
| โยคี | https://papers.nips.cc/paper/8186-adaptive-methods-for-nonconvex-optimization |
การสร้างภาพข้อมูลช่วยให้เราเห็นว่าอัลกอริทึมที่แตกต่างกันจัดการกับสถานการณ์ง่ายๆเช่น: จุดอาน, minima ท้องถิ่น, หุบเขา ฯลฯ และอาจให้ข้อมูลเชิงลึกที่น่าสนใจเกี่ยวกับการทำงานภายในของอัลกอริทึม เลือกฟังก์ชั่นมาตรฐาน Rosenbrock และ Rastrigin เนื่องจาก::
Rastrigin เป็นฟังก์ชั่นที่ไม่ใช่ CONVEX และมีหนึ่งขั้นต่ำทั่วโลกใน (0.0, 0.0) การค้นหาฟังก์ชั่นขั้นต่ำนี้เป็นปัญหาที่ค่อนข้างยากเนื่องจากพื้นที่ค้นหาขนาดใหญ่และ minima ท้องถิ่นจำนวนมาก
เครื่องมือเพิ่มประสิทธิภาพแต่ละขั้นตอนดำเนินการเพิ่มประสิทธิภาพ 501 ขั้นตอน อัตราการเรียนรู้เป็นอัตราที่ดีที่สุดที่พบโดยอัลกอริทึมการค้นหาพารามิเตอร์ไฮเปอร์ส่วนที่เหลือของพารามิเตอร์การปรับค่าเป็นค่าเริ่มต้น มันง่ายมากที่จะขยายสคริปต์และปรับพารามิเตอร์เพิ่มประสิทธิภาพอื่น ๆ
Python ตัวอย่าง/viz_optimizers.py
อย่าเลือกเครื่องมือเพิ่มประสิทธิภาพตามการสร้างภาพวิธีการเพิ่มประสิทธิภาพมีคุณสมบัติที่ไม่ซ้ำกันและอาจได้รับการปรับให้เหมาะกับวัตถุประสงค์ที่แตกต่างกันหรืออาจต้องใช้ตารางอัตราการเรียนรู้ที่ชัดเจนเป็นต้นวิธีที่ดีที่สุดในการค้นหาคือการลองใช้กับปัญหาเฉพาะของคุณและดูว่ามันปรับปรุงคะแนนหรือไม่
หากคุณไม่ทราบว่าจะใช้เครื่องมือเพิ่มประสิทธิภาพใดให้เริ่มต้นด้วย SGD/Adam ในตัว เมื่อตรรกะการฝึกอบรมพร้อมแล้วและมีการกำหนดคะแนนพื้นฐานให้สลับเครื่องมือเพิ่มประสิทธิภาพและดูว่ามีการปรับปรุงใด ๆ หรือไม่
import torch_optimizer as optim
# model = ...
optimizer = optim . A2GradExp (
model . parameters (),
kappa = 1000.0 ,
beta = 10.0 ,
lips = 10.0 ,
rho = 0.5 ,
)
optimizer . step ()กระดาษ : Descent Stochastic Gradient Adaptive และเร่งความเร็วที่ดีที่สุด (2018) [https://arxiv.org/abs/1810.00553]
รหัสอ้างอิง : https://github.com/severilov/a2grad_optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . A2GradInc (
model . parameters (),
kappa = 1000.0 ,
beta = 10.0 ,
lips = 10.0 ,
)
optimizer . step ()กระดาษ : Descent Stochastic Gradient Adaptive และเร่งความเร็วที่ดีที่สุด (2018) [https://arxiv.org/abs/1810.00553]
รหัสอ้างอิง : https://github.com/severilov/a2grad_optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . A2GradUni (
model . parameters (),
kappa = 1000.0 ,
beta = 10.0 ,
lips = 10.0 ,
)
optimizer . step ()กระดาษ : Descent Stochastic Gradient Adaptive และเร่งความเร็วที่ดีที่สุด (2018) [https://arxiv.org/abs/1810.00553]
รหัสอ้างอิง : https://github.com/severilov/a2grad_optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . AccSGD (
model . parameters (),
lr = 1e-3 ,
kappa = 1000.0 ,
xi = 10.0 ,
small_const = 0.7 ,
weight_decay = 0
)
optimizer . step ()กระดาษ : ในความไม่เพียงพอของรูปแบบโมเมนตัมที่มีอยู่สำหรับการเพิ่มประสิทธิภาพแบบสุ่ม (2019) [https://arxiv.org/abs/1803.05591]
รหัสอ้างอิง : https://github.com/rahulkidambi/accsgd
import torch_optimizer as optim
# model = ...
optimizer = optim . AdaBelief (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-3 ,
weight_decay = 0 ,
amsgrad = False ,
weight_decouple = False ,
fixed_decay = False ,
rectify = False ,
)
optimizer . step ()กระดาษ : Adabelief Optimizer, ปรับขนาดตามความเชื่อในการไล่ระดับสีที่สังเกตได้ (2020) [https://arxiv.org/abs/2010.07468]
รหัสอ้างอิง : https://github.com/juntang-zhuang/adabelief-optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . AdaBound (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
final_lr = 0.1 ,
gamma = 1e-3 ,
eps = 1e-8 ,
weight_decay = 0 ,
amsbound = False ,
)
optimizer . step ()กระดาษ : วิธีการไล่ระดับสีแบบปรับตัวด้วยอัตราการเรียนรู้แบบไดนามิก (2019) [https://arxiv.org/abs/1902.09843]
รหัสอ้างอิง : https://github.com/luolc/adabound
วิธี Adamod จำกัด อัตราการเรียนรู้ที่ปรับตัวได้ด้วยขอบเขตบนที่ปรับตัวได้และ momental ขอบเขตอัตราการเรียนรู้แบบไดนามิกขึ้นอยู่กับค่าเฉลี่ยเคลื่อนที่แบบเอ็กซ์โปเนนเชียลของอัตราการเรียนรู้แบบปรับตัวเองซึ่งทำให้อัตราการเรียนรู้ขนาดใหญ่ที่ไม่คาดคิดลดลงและทำให้การฝึกอบรมของเครือข่ายประสาทลึก
import torch_optimizer as optim
# model = ...
optimizer = optim . AdaMod (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
beta3 = 0.999 ,
eps = 1e-8 ,
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : วิธีการปรับตัวและการปรับตัวของ Momental สำหรับการเรียนรู้แบบสุ่ม (2019) [https://arxiv.org/abs/1910.12249]
รหัสอ้างอิง : https://github.com/lancopku/adamod
import torch_optimizer as optim
# model = ...
optimizer = optim . Adafactor (
m . parameters (),
lr = 1e-3 ,
eps2 = ( 1e-30 , 1e-3 ),
clip_threshold = 1.0 ,
decay_rate = - 0.8 ,
beta1 = None ,
weight_decay = 0.0 ,
scale_parameter = True ,
relative_step = True ,
warmup_init = False ,
)
optimizer . step ()กระดาษ : Adafactor: อัตราการเรียนรู้แบบปรับตัวพร้อมค่าใช้จ่ายหน่วยความจำ sublinear (2018) [https://arxiv.org/abs/1804.04235]
รหัสอ้างอิง : https://github.com/pytorch/fairseq/blob/master/fairseq/optim/adafactor.py
import torch_optimizer as optim
# model = ...
optimizer = optim . Adahessian (
m . parameters (),
lr = 1.0 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-4 ,
weight_decay = 0.0 ,
hessian_power = 1.0 ,
)
loss_fn ( m ( input ), target ). backward ( create_graph = True ) # create_graph=True is necessary for Hessian calculation
optimizer . step ()กระดาษ : Adahessian: เครื่องมือเพิ่มประสิทธิภาพลำดับที่สองสำหรับการเรียนรู้ของเครื่อง (2020) [https://arxiv.org/abs/2006.00719]
รหัสอ้างอิง : https://github.com/amirgholami/adahessian
ADAMP เสนอวิธีแก้ปัญหาที่ง่ายและมีประสิทธิภาพ: ในแต่ละการทำซ้ำของเครื่องมือเพิ่มประสิทธิภาพ ADAM ที่ใช้กับน้ำหนักที่ไม่แปรปรวน (เช่นน้ำหนัก Conv ก่อนหน้าชั้น BN), ADAMP จะลบองค์ประกอบรัศมี (เช่นขนานกับเวกเตอร์น้ำหนัก) จากเวกเตอร์อัปเดต โดยสังหรณ์ใจการดำเนินการนี้ป้องกันการอัปเดตที่ไม่จำเป็นตามทิศทางรัศมีที่เพิ่มบรรทัดฐานน้ำหนักโดยไม่ต้องมีส่วนร่วมในการลดการสูญเสีย
import torch_optimizer as optim
# model = ...
optimizer = optim . AdamP (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-8 ,
weight_decay = 0 ,
delta = 0.1 ,
wd_ratio = 0.1
)
optimizer . step ()กระดาษ : การชะลอการเพิ่มน้ำหนักของน้ำหนักในโมเมนตัมตามโมเมนตัม (2020) [https://arxiv.org/abs/2006.08217]
รหัสอ้างอิง : https://github.com/clovaai/adamp
import torch_optimizer as optim
# model = ...
optimizer = optim . AggMo (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.0 , 0.9 , 0.99 ),
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : โมเมนตัมรวม: ความเสถียรผ่านการทำให้หมาด ๆ แบบพาสซีฟ (2019) [https://arxiv.org/abs/1804.00325]
รหัสอ้างอิง : https://github.com/athemathmo/aggmo
import torch_optimizer as optim
# model = ...
optimizer = optim . Apollo (
m . parameters (),
lr = 1e-2 ,
beta = 0.9 ,
eps = 1e-4 ,
warmup = 0 ,
init_lr = 0.01 ,
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : Apollo: วิธีการปรับพารามิเตอร์ที่ชาญฉลาดในแนวทแยงมุม-นิวตันสำหรับการเพิ่มประสิทธิภาพแบบไม่ใช้สโทแคสติกแบบไม่ใช้ (2020) [https://arxiv.org/abs/2009.13586]
รหัสอ้างอิง : https://github.com/xuezhemax/apollo
Optimizer ขึ้นอยู่กับความแตกต่างระหว่างการไล่ระดับสีปัจจุบันและการไล่ระดับสีที่ผ่านมาทันทีขนาดขั้นตอนจะถูกปรับสำหรับแต่ละพารามิเตอร์ในลักษณะที่ควรมีขนาดขั้นตอนที่ใหญ่กว่าสำหรับการเปลี่ยนพารามิเตอร์การไล่ระดับสีที่เร็วขึ้นและขนาดขั้นตอนที่ต่ำกว่าสำหรับพารามิเตอร์การเปลี่ยนแปลงการไล่ระดับสีที่ต่ำกว่า
import torch_optimizer as optim
# model = ...
optimizer = optim . DiffGrad (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-8 ,
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : Diffgrad: วิธีการเพิ่มประสิทธิภาพสำหรับเครือข่ายประสาทแบบ Convolutional (2019) [https://arxiv.org/abs/1909.11015]
รหัสอ้างอิง : https://github.com/shivram1987/diffgrad
import torch_optimizer as optim
# model = ...
optimizer = optim . Lamb (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-8 ,
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : การเพิ่มประสิทธิภาพแบทช์ขนาดใหญ่สำหรับการเรียนรู้ลึก: การฝึกอบรมเบิร์ตใน 76 นาที (2019) [https://arxiv.org/abs/1904.00962]
รหัสอ้างอิง : https://github.com/cybertronai/pytorch-lamb
import torch_optimizer as optim
# model = ...
# base optimizer, any other optimizer can be used like Adam or DiffGrad
yogi = optim . Yogi (
m . parameters (),
lr = 1e-2 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-3 ,
initial_accumulator = 1e-6 ,
weight_decay = 0 ,
)
optimizer = optim . Lookahead ( yogi , k = 5 , alpha = 0.5 )
optimizer . step ()กระดาษ : Lookahead Optimizer: K ก้าวไปข้างหน้า, ย้อนกลับ 1 ก้าว (2019) [https://arxiv.org/abs/1907.08610]
รหัสอ้างอิง : https://github.com/alphadl/lookahead.pytorch
import torch_optimizer as optim
# model = ...
optimizer = optim . MADGRAD (
m . parameters (),
lr = 1e-2 ,
momentum = 0.9 ,
weight_decay = 0 ,
eps = 1e-6 ,
)
optimizer . step ()กระดาษ : การปรับตัวโดยไม่ประนีประนอม: วิธีการไล่ระดับสีเฉลี่ยแบบปรับตัวคู่สำหรับการเพิ่มประสิทธิภาพแบบสุ่ม (2021) [https://arxiv.org/abs/2101.11075]
รหัสอ้างอิง : https://github.com/facebookresearch/madgrad
import torch_optimizer as optim
# model = ...
optimizer = optim . NovoGrad (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-8 ,
weight_decay = 0 ,
grad_averaging = False ,
amsgrad = False ,
)
optimizer . step ()กระดาษ : วิธีการไล่ระดับสีแบบสุ่มด้วยช่วงเวลาที่ปรับตัวได้อย่างชาญฉลาดสำหรับการฝึกอบรมเครือข่ายลึก (2019) [https://arxiv.org/abs/1905.11286]
รหัสอ้างอิง : https://github.com/nvidia/deeplearningexamples/
import torch_optimizer as optim
# model = ...
optimizer = optim . PID (
m . parameters (),
lr = 1e-3 ,
momentum = 0 ,
dampening = 0 ,
weight_decay = 1e-2 ,
integral = 5.0 ,
derivative = 10.0 ,
)
optimizer . step ()กระดาษ : วิธีการควบคุม PID สำหรับการเพิ่มประสิทธิภาพแบบสุ่มของเครือข่ายลึก (2018) [http://www4.comp.polyu.edu.hk/~cslzhang/paper/cvpr18_pid.pdf]
รหัสอ้างอิง : https://github.com/tensorboy/pidoptimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . QHAdam (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
nus = ( 1.0 , 1.0 ),
weight_decay = 0 ,
decouple_weight_decay = False ,
eps = 1e-8 ,
)
optimizer . step ()กระดาษ : โมเมนตัมเสมือนจริงและอดัมสำหรับการเรียนรู้ลึก (2019) [https://arxiv.org/abs/1810.06801]
รหัสอ้างอิง : https://github.com/facebookresearch/qhoptim
import torch_optimizer as optim
# model = ...
optimizer = optim . QHM (
m . parameters (),
lr = 1e-3 ,
momentum = 0 ,
nu = 0.7 ,
weight_decay = 1e-2 ,
weight_decay_type = 'grad' ,
)
optimizer . step ()กระดาษ : โมเมนตัมเสมือนจริงและอดัมสำหรับการเรียนรู้ลึก (2019) [https://arxiv.org/abs/1810.06801]
รหัสอ้างอิง : https://github.com/facebookresearch/qhoptim
เลิกใช้แล้วโปรดใช้เวอร์ชันที่จัดทำโดย Pytorch
import torch_optimizer as optim
# model = ...
optimizer = optim . RAdam (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-8 ,
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : เกี่ยวกับความแปรปรวนของอัตราการเรียนรู้แบบปรับตัวและเกินกว่า (2019) [https://arxiv.org/abs/1908.03265]
รหัสอ้างอิง : https://github.com/liyuanlucasliu/radam
import torch_optimizer as optim
# model = ...
optimizer = optim . Ranger (
m . parameters (),
lr = 1e-3 ,
alpha = 0.5 ,
k = 6 ,
N_sma_threshhold = 5 ,
betas = ( .95 , 0.999 ),
eps = 1e-5 ,
weight_decay = 0
)
optimizer . step ()กระดาษ : Optimizer การเรียนรู้อย่างลึกซึ้งใหม่, Ranger: การรวมกันของ Radam + Lookahead เพื่อสิ่งที่ดีที่สุดของทั้งสอง (2019) [https://medium.com/@lessw/new-deep-learning-optimizer-ranger-synergistic-o-of-radam-lookahead
รหัสอ้างอิง : https://github.com/lessw2020/ranger-deep-learning-optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . RangerQH (
m . parameters (),
lr = 1e-3 ,
betas = ( 0.9 , 0.999 ),
nus = ( .7 , 1.0 ),
weight_decay = 0.0 ,
k = 6 ,
alpha = .5 ,
decouple_weight_decay = False ,
eps = 1e-8 ,
)
optimizer . step ()กระดาษ : โมเมนตัมเสมือนจริงและอดัมสำหรับการเรียนรู้ลึก (2018) [https://arxiv.org/abs/1810.06801]
รหัสอ้างอิง : https://github.com/lessw2020/ranger-deep-learning-optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . RangerVA (
m . parameters (),
lr = 1e-3 ,
alpha = 0.5 ,
k = 6 ,
n_sma_threshhold = 5 ,
betas = ( .95 , 0.999 ),
eps = 1e-5 ,
weight_decay = 0 ,
amsgrad = True ,
transformer = 'softplus' ,
smooth = 50 ,
grad_transformer = 'square'
)
optimizer . step ()กระดาษ : การปรับเทียบอัตราการเรียนรู้แบบปรับตัวเพื่อปรับปรุงการบรรจบกันของอดัม (2019) [https://arxiv.org/abs/1908.00700V2]
รหัสอ้างอิง : https://github.com/lessw2020/ranger-deep-learning-optimizer
import torch_optimizer as optim
# model = ...
optimizer = optim . SGDP (
m . parameters (),
lr = 1e-3 ,
momentum = 0 ,
dampening = 0 ,
weight_decay = 1e-2 ,
nesterov = False ,
delta = 0.1 ,
wd_ratio = 0.1
)
optimizer . step ()กระดาษ : การชะลอการเพิ่มน้ำหนักของน้ำหนักในโมเมนตัมตามโมเมนตัม (2020) [https://arxiv.org/abs/2006.08217]
รหัสอ้างอิง : https://github.com/clovaai/adamp
import torch_optimizer as optim
# model = ...
optimizer = optim . SGDW (
m . parameters (),
lr = 1e-3 ,
momentum = 0 ,
dampening = 0 ,
weight_decay = 1e-2 ,
nesterov = False ,
)
optimizer . step ()กระดาษ : SGDR: การไล่ระดับสีแบบสโตแคสติกด้วยการรีสตาร์ทอบอุ่น (2017) [https://arxiv.org/abs/1608.03983]
รหัสอ้างอิง : Pytorch/Pytorch#22466
import torch_optimizer as optim
# model = ...
optimizer = optim . SWATS (
model . parameters (),
lr = 1e-1 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-3 ,
weight_decay = 0.0 ,
amsgrad = False ,
nesterov = False ,
)
optimizer . step ()กระดาษ : การปรับปรุงประสิทธิภาพการวางนัยทั่วไปโดยการเปลี่ยนจาก Adam เป็น SGD (2017) [https://arxiv.org/abs/1712.07628]
รหัสอ้างอิง : https://github.com/mrpatekful/swats
import torch_optimizer as optim
# model = ...
optimizer = optim . Shampoo (
m . parameters (),
lr = 1e-1 ,
momentum = 0.0 ,
weight_decay = 0.0 ,
epsilon = 1e-4 ,
update_freq = 1 ,
)
optimizer . step ()กระดาษ : แชมพู: การเพิ่มประสิทธิภาพเทนเซอร์แบบสุ่มแบบ preconditioned (2018) [https://arxiv.org/abs/1802.09568]
รหัสอ้างอิง : https://github.com/moskomule/shampoo.pytorch
โยคีเป็นอัลกอริทึมการเพิ่มประสิทธิภาพที่อดัมด้วยการควบคุมอัตราการเรียนรู้ที่มีประสิทธิภาพมากขึ้น
import torch_optimizer as optim
# model = ...
optimizer = optim . Yogi (
m . parameters (),
lr = 1e-2 ,
betas = ( 0.9 , 0.999 ),
eps = 1e-3 ,
initial_accumulator = 1e-6 ,
weight_decay = 0 ,
)
optimizer . step ()กระดาษ : วิธีการปรับตัวสำหรับการเพิ่มประสิทธิภาพ nonconvex (2018) [https://papers.nips.cc/paper/8186-adaptive-methods-for-nonconvex-optimization]
รหัสอ้างอิง : https://github.com/4rtemi5/yogi-optimizer_keras