Глибоке навчання з підкріпленням у Python
Timothée Carayol
Principal Machine Learning Engineer, Komment
| Приклади |
|---|
| Коефіцієнт дисконтування |
PPO: clipping epsilon, бонус ентропії |
| Experience replay: розмір буфера, розмір пакета |
| Розклад спадання epsilon-жадібності |
| Фіксовані Q-цілі: $\tau$ |
| Швидкість навчання |
| Кількість шарів, вузлів на шар... |
Мета: середня сумарна винагорода
Техніки пошуку гіперпараметрів:


Робочий процес Optuna:
study Optuna
import optunadef objective(trial): ...study = optuna.create_study()study.optimize(objective, n_trials=100)
study.best_params
{'learning_rate': 0.001292481, 'batch_size': 8}
У цільовій функції:
Повна гнучкість у визначенні гіперпараметрів:
def objective(trial: optuna.trial.Trial):# Гіперпараметри x і y між -10 та 10x = trial.suggest_float('x', -10, 10) y = trial.suggest_float('y', -10, 10)# Повернути метрику для мінімізації return (x - 2) ** 2 + 1.2 * (y + 3) ** 2
n_trials зі стандартним семплером (TPE)n_trials пропущено: випробування тривають до переривання
import sqlite study = optuna.create_study( storage="sqlite:///DRL.db", study_name="my_study")study.optimize(objective, n_trials=100)
loaded_study = optuna.load_study(
study_name="my_study",
storage="sqlite:///DRL.db")
optuna.visualization.plot_param_importances(study)

optuna.visualization.plot_contour(study)

Глибоке навчання з підкріпленням у Python