강화학습은 학습을 시작하기 전에 실패할 수도 있고, 무엇을 측정했는지 모호한 로그를 남기며 끝날 수도 있습니다. EvoRL의 2026년 11월 8일 main 업데이트는 JAX 미분과 환경 호환성을 다루며 10월의 장치 배치 및 개체군 지표 수정에 이어집니다. v0.2.0 소스 태그로 이 개발 상태를 재현해 살펴볼 수 있습니다.

개념 삽화: 일관된 학습은 여러 실행 계약의 정합성에 달려 있습니다.
JAX 버전에 민감한 그래디언트 경로
11월 8일 호환성 변경은 로컬 우회 처리를 JAX 0.12.0.1로 확장합니다. JAX 0.12.0 및 0.12.0.1에서 shard_map 내부의 erf, erfc 도함수는 VMA 검사에 실패할 수 있습니다. 해당 Tanh Normal 경로는 꼬리 전개를 포함한 대체 Normal 로그 CDF 계산을 사용합니다.
연속 제어에서는 정책 분포가 매개변수 갱신에 필요한 미분 가능한 확률을 제공해야 합니다. 환경 초기화가 성공해도 뒤의 미분에서 실패할 수 있습니다. 수정은 특정 버전에만 적용되며 다른 JAX 버전은 원래 경로를 유지합니다. 태그 README는 이 시점에 검증한 JAX 0.11.0과 CUDA 13 설치 조합을 권장합니다.
환경과 장치 가정을 명확하게
같은 커밋은 playground>=0.2.0,<1로 의존성을 제한해 어댑터의 JAX/MJX 인터페이스를 보존합니다. 이 인터페이스가 바뀌면 학습 설정이 같아도 실행 기반이 달라집니다.
10월 작업은 명시적 복사로 캡처된 배열 기본값을 다시 만들어 eager JAX가 현재 mesh를 따르게 합니다. 관측 정규화를 끈 ARS는 일반 평가기를 사용해 존재하지 않아야 할 통계를 수집하지 않습니다. 배치와 정규화를 초기화 속 숨은 가정 대신 실행 계약으로 만듭니다. 장치 및 ARS 수정
개체군은 단일 정책이 아니다
10월 28일 지표 수정은 컬렉션과 정책별 결과를 구분합니다. pop_episode_returns, pop_episode_lengths는 개체군 축을 유지하고 단일·중심 정책 결과에는 적절한 단수 이름을 사용합니다. ERL-EDA의 단일 학습기는 스칼라 지표를, 학습기 집합은 배열 구조를 유지합니다.
개체군 방법과 단일 정책을 비교하면서 이미 집계된 값을 다시 평균하거나 벡터를 스칼라로 취급하면 그럴듯하지만 오해를 부르는 그래프가 생깁니다. 분석 스크립트를 재사용하기 전에 로그 경계의 이름과 형태를 확인하십시오. 이름 변경은 개체군, 에피소드, 학습기 축의 의도된 축약을 보존해야 합니다.
연구 재개 전에 작은 실행 재현
태그 소스는 Python 3.12 이상 및 JAX/jaxlib 0.10.0 이상을 요구합니다. 배포 이름은 evorl-jax, import는 evorl입니다. 스크립트와 설정은 태그를 체크아웃해 설치 지침을 따르십시오. 기본 예제는 python scripts/train.py agent=ppo env=brax/ant입니다.
학습 곡선을 비교하기 전에 작은 실행으로 미분, 장치 배치, 지표 형태를 확인합니다. 기본 로그에는 Aim이 포함되며 선택적 기록기는 각 SDK가 필요합니다. 환경 설정, 시드, 평가 예산을 보관합니다. EvoRL 소개가 학습과 진화 설계를 설명하고, 이 변경들은 개별 실험의 가정을 더 쉽게 검증하게 합니다.