프로젝트 소개

# FCC MPEA의 Hall–Petch 강화를 위한 물리 정보 기반 ML 이 저장소는 M. Mulukutla, S. P. Padhy 등이 작성한 *Acta Materialia* 원고 "Revisiting Hall–Petch strengthening in FCC multi-principal element alloys: what grain size, composition, and processing can and cannot explain"의 동반 자료입니다. 여기에는 전체 데이터셋, 전체 분석 파이프라인, 논문에 제시된 모든 결과 표와 그림, LaTeX 소스, 실제 결과로부터 재생성되는 종합 보고서, 그리고 원고의 정규 값을 고정하는 회귀 테스트가 포함되어 있습니다. ## 문제 제기 머신러닝 물성 모델은 보간을 전이로 착각하거나, 물리적으로 동기 부여된 서술자를 측정된 입력 이상의 정보를 추가한다는 것을 보이지 않은 채 메커니즘으로 해석할 때 합금 설계를 오도할 수 있습니다. 이 저장소는 Al–Co–Cr–Cu–Fe–Mn–Ni–V 계의 94개 FCC 합금 조건에 대한 항복강도(YS)와 비커스 경도(HV)에서 이 문제를 처음부터 끝까지 다룹니다. ## 다섯 가지 모델 계열 분석은 원고의 다섯 계열로 구성됩니다. 계열 번호가 높을수록 더 큰 유연성을 의미하며, 물리적 충실도가 더 높다는 뜻은 아닙니다. - **계열 1**: 고전적 Hall–Petch (고전적 및 대안적 결정립 크기 법칙) - **계열 2**: 물리 서술자 (VLC, Labusch, Toda-Caraballo; Wen; PCA-OLS) - **계열 3**: 조성 / 공정 (M-모델 계층, M15 포함) - **계열 4**: 비선형 ML (대응되는 선형 및 비선형 추정기) - **계열 5**: 기호 회귀 (PySR, SISSO, 고정 닫힌 형식) 검증 프로토콜에는 5-fold, LOO, LOBO, 문헌, 특이점 검사가 포함됩니다. ## 주요 결과 모든 값은 풀링된 out-of-fold Q²이며, 테스트 시점에 `data/derived/data_with_vlc.csv`에서 재계산됩니다. | 목표 | 모델 | 5-fold | LOO | LOBO | |---|---|---|---|---| | YS | 계열 1 고전적 Hall–Petch | 0.405 | 0.406 | 0.373 | | YS | 계열 2 PCA-OLS (fold-contained) | 0.462 | 0.480 | 0.362 | | YS | 계열 3 M3 (조성 의존 σ₀) | 0.666 | 0.652 | 0.625 | | YS | **계열 3 M15 (+ SD_grain 상호작용)** | **0.731** | **0.694** | **0.694** | | YS | 계열 4 Lasso S2 (고정 설정) | 0.683 | 0.674 | 0.621 | | YS | 계열 4 LightGBM S2 (고정 설정) | 0.632 | 0.574 | 0.615 | | YS | 계열 4 Bayesian ridge S2 (nested ARMOTE-CV) | 0.685 | 0.666 | 0.613 | | HV | 계열 1 고전적 Hall–Petch | 0.086 | 0.136 | −0.077 | | HV | 계열 4 LightGBM S1 | 0.195 | 0.323 | 0.112 | | HV | 계열 5 고정 형식 (사후 선택) | 0.725 | 0.727 | 0.636 | 세 가지 발견이 핵심적인 역할을 합니다: - **결정립 분포 폭은 특정한 형태에서만 도움이 됩니다.** SD_grain을 M3에 독립적인 가법 항으로 추가하면 LOO는 0.668로 올라가지만 LOBO는 0.595로 떨어집니다. 대신 이것이 Hall–Petch 항을 수정하도록 하면(M15) 두 경우 모두 0.694가 되며, M3에 대한 ΔBIC = −20.1입니다. 가법 대조가 바로 이 구분을 가시화합니다. - **비선형성은 동일 입력에서 아무것도 얻지 못합니다.** Lasso와 LightGBM은 배치 홀드아웃 검증에서 0.621과 0.615에 도달하며 부트스트랩 구간이 겹칩니다. - **문헌으로 전이되는 것은 없습니다.** 평가된 모든 닫힌 형식은 직접 측정 문헌 기록에서 음의 R²를 가지므로, 그 집합은 외부 벤치마크가 아니라 스트레스 테스트로 보고됩니다. ## 구성 ``` data/raw/ Grain_Size_Summary_v3.xlsx — 유일한 실제 입력 data/derived/ 계산된 서술자, `make data`로 재생성 scripts/ _config.py 공유 경로; 모든 계열 폴더를 import 가능하게 함 _figstyle.py 모든 그림에 하나의 팔레트와 하나의 타입 스케일 00_data_preparation/ 서술자, VLC 양, 특징 사다리 01_family1_grain_size/ 스케일링 법칙, 반복 내 기울기 02_family2_physics_descriptors/ SSS 벤치마크, 중복성 감사, PCA-OLS 03_family3_composition_processing/ M-모델 계층, SD_grain 모델 04_family4_nonlinear_ml/ 튜닝된 패널, 동일 입력 비교 05_family5_symbolic_regression/ PySR 그리드, SISSO 변형 06_validation/ 그룹 CV, 문헌 테스트, 특이점 감사 07_hardness_tabor/ Tabor 비율 및 HV–YS 순위 분석 figures/ 모든 출판 그림 results/ CSV 출력; 각각은 이름이 지정된 스크립트로 생성됨 analysis_plots/ 탐색적 및 진단 그림 paper/ main.tex, supplementary.tex, references.bib, figures/ report/ generate_report.py + Comprehensive_Analysis_Report.docx notebook/ 생성기 + 생성된 .ipynb docs/ reproducing.md, validation_protocol.md tests/ 정규 값을 고정하는 회귀 테스트 ``` ## 빠른 시작 ```bash pip install -r requirements.txt make test # ~1초 — 모든 주요 값을 재계산하고 확인 make figures # 캐시된 결과로 모든 출판 그림 재생성 make report # 실제 결과로 Word 보고서 재빌드 make paper # main.pdf 및 supplementary.pdf 빌드 make help # 모든 타깃 ``` 전체 단계 순서와 소요 시간: `docs/reproducing.md`. ## 재현성 `make test`는 M-모델 계층, 계열 1 기준선, Tabor 비율 및 데이터셋 감사를 **원시 파생 데이터로부터** 재계산하고 원고에 인쇄된 값과 대조하여 검증합니다. 또한 모든 그림과 표가 본문에서 상호 참조되는지, 포함된 모든 그림 파일이 존재하는지도 확인합니다. 분석이 변경되면 원고가 어긋나기 전에 테스트가 실패합니다. **nested ARMOTE-CV 패널**은 재실행이 아니라 검증됩니다. 그 생성기는 fold마다 하나의 Optuna study, 하나의 선택된 파라미터 집합, 그리고 한 쌍의 특징 및 목표 스케일러를 저장합니다. 여섯 개의 LOBO fold에 걸쳐 다섯 개의 튜닝된 Bayesian-ridge 하이퍼파라미터는 여섯 개의 서로 다른 값을 가지며, 각 스케일러는 훈련 분할에만 적합됩니다. 그 객체들을 다시 로드하고 각 홀드아웃 배치를 예측하면 여섯 개 fold 점수가 정확히 재현되고 풀링된 LOBO Q²는 0.613(RMSE 50.5 MPa)이 됩니다. 따라서 중첩은 주장되는 것이 아니라 입증됩니다. 이 아티팩트들은 저장소와 함께 제공되며, `scripts/04_family4_nonlinear_ml/armote_cv/` 아래에 있습니다. 무엇이 보존되고 무엇이 업스트림에 남겨졌는지는 그곳의 README를 참조하십시오. 두 분석은 **아카이벌**이며 여기서도, 원고에서도, `make`로도 재생성되지 않습니다: | 아카이벌 결과 | 이유 | |---|---| | Bayesian PSIS-LOO 스태킹 가중치 | PyMC 사후 샘플이 보존되지 않음 | | 외부 루프 PySR 성능 | 방정식이 완전 데이터 전선에서 선택됨 | 원고는 이를 아카이벌로 보고하며, 재계산할 수 있는 해당 빈도주의 양(M15의 OLS 계수, 정보 기준, 그룹 CV 점수)은 `make sdgrain`으로 재생성됩니다. ## 그림 모든 그림은 `scripts/_figstyle.py`를 import하므로, 전체 문서가 하나의 Okabe–Ito 팔레트와 하나의 타입 스케일을 사용합니다. 색상이 유일한 채널이 되는 경우는 없습니다. 배치는 서로 다른 마커 모양을 가지며, 모델 계열은 위치로 구분되고, 부호 있는 양은 값을 인쇄합니다. 그림은 최종 인쇄 너비로 그려지므로 스크립트의 포인트 크기가 페이지에서도 같은 포인트 크기입니다. 팔레트는 시뮬레이션된 제2색각이상, 제1색각이상, 제3색각이상에서 검사되었습니다. ## 인용 `CITATION.cff`를 참조하십시오. Zenodo용 아카이벌 메타데이터는 `.zenodo.json`에 있습니다. ## 라이선스 MIT — `LICENSE`를 참조하십시오. 원시 실험 데이터셋과 문헌 편집본이 포함되어 있으며, 인용 문헌 PDF는 재배포되지 않습니다. ## 감사의 글 미 육군 연구소(Army Research Laboratory)의 협력 협정 W911NF-22-2-0106의 지원을 받았습니다.