# Show GN: Unstable-Singularity-Detector: 100년 유체역학 난제에 도전(DeepMind 논문을 완전 재현한 오픈소스)

> Clean Markdown view of GeekNews topic #23436. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=23436](https://news.hada.io/topic?id=23436)
- GeekNews Markdown: [https://news.hada.io/topic/23436.md](https://news.hada.io/topic/23436.md)
- Type: show
- Author: [flamehaven01](https://news.hada.io/@flamehaven01)
- Published: 2025-10-05T00:11:13+09:00
- Updated: 2025-10-05T00:11:13+09:00
- Original source: [github.com/Flamehaven](https://github.com/Flamehaven/unstable-singularity-detector)
- Points: 4
- Comments: 0

## Topic Body

#### TL;DR  
  
DeepMind의 *“유체 특이점 탐지”* 논문(2024)에는 코드가 없었음.  
  
그래서 논문만 보고 **처음부터 끝까지 완전히 재현.**  
  
이제 7초 만에 PDF 리포트를 생성하는 **실제 작동 파이프라인**을 공개.  
  
---  
  
#### 💥 문제: AI 연구의 고질병  
  
##### DeepMind (2024)  
  
> “Discovering new solutions to century-old problems in fluid dynamics”  
>   
>   
> 📄 [arXiv:2509.14185](https://arxiv.org/abs/2509.14185)  
>   
  
**내용 요약**  
  
- 100년 넘은 난제: *유체가 유한시간에 폭발할 수 있는가?*  
- Physics-Informed Neural Network(PINN)으로 특이점(singularity) 탐지  
- 초고정밀 연산(10⁻¹³), 복잡한 다단계 학습  
  
**문제점**  
  
- ❌ 코드 미공개  
- ❌ 재현 방법 불명확  
- ❌ 수식만으로는 실행 불가능  
  
결과적으로, 전 세계 연구자들은 “읽고 포기”할 수 밖에 없었음.  
  
---  
  
#### ✅ 해결: 독립적 오픈 재현 프로젝트  
  
##### 🚀 [Unstable Singularity Detector](https://github.com/Flamehaven/unstable-singularity-detector)  
  
> DeepMind와 무관한, 완전 독립적 오픈소스 구현  
>   
  
공개된 논문 수식과 방법론만으로  
  
**유체역학 특이점 검증을 처음부터 끝까지 재현.**  
  
---  
  
#### 💡 철학: 왜 이 프로젝트가 중요한가  
  
> 논문 발표 → 코드 없음 → 재현 불가 → 연구 정체  
>   
  
**이 프로젝트의 메시지:**  
  
> “논문만 있는 과학을, 실행 가능한 도구로 바꾸자.”  
>   
>   
> 오픈 과학의 본질은 재현 가능성(Reproducibility)이다.  
>   
> 코드가 없는 논문은 절반짜리 과학이다.  
>   
  
---  
  
#### 🎓 누가 쓸까?  
  
- 🧠 **유체역학 연구자** — 논문 검증 및 확장  
- 🔬 **PINN / SciML 개발자** — 고정밀 최적화 레퍼런스  
- 🎓 **대학원생 / 학생** — 논문 구현 연습용  
- 🤖 **AI 연구자** — “코드 없는 논문” 문제 인식  
- 🧑‍🏫 **교육자** — PINN 수업 실습 자료  
  
---  
  
#### 🚀 5분 안에 시작하기  
  
```bash  
git clone https://github.com/Flamehaven/unstable-singularity-detector.git  
cd unstable-singularity-detector  
pip install -r requirements.txt  
python examples/e2e_full_ipm.py  
```  
  
결과:  
  
- 실시간 수렴 로그 출력  
- `results/ipm_full_demo/ipm_full_report.pdf` 생성  
- 3페이지 PDF 리포트 (수렴 곡선 + 학습 히스토리 + 메트릭)  
  
---  
  
#### 🎯 실제로 작동 증거  
  
##### v1.3.2 — Complete E2E Pipelines (“Show Me It Works” Release)  
  
##### 1️⃣ IPM (Incompressible Porous Media)  
  
```bash  
python examples/e2e_full_ipm.py --grid-size 16  
# 7.3초 후 → PDF 리포트 + JSON 메트릭 자동 생성  
초기조건: sin(πx)sin(πy)sin(πz)  
```  
  
- 초기조건: sin(πx)sin(πy)sin(πz)  
- Lambda 펀널: 1회 반복 수렴  
- 잔차: 1e-3 → 1e-7 (1000배 개선)  
- 출력: 3페이지 PDF 리포트 (수렴 곡선 + 메트릭)  
  
##### 2️⃣ 2D Boussinesq (온도 대류)  
  
```bash  
python examples/e2e_boussinesq_2d.py --grid-size 64  
```  
  
- 에너지 보존 검증 (5e-8 잔차)  
- PDF 자동 보고서 생성  
  
##### 3️⃣ 1D Heat Equation (해석해 검증)  
  
```bash  
pytest tests_e2e/test_heat_equation_1d.py -v  
# 7/7 tests PASSED  
```  
  
- 해석해: u = exp(-π²t)sin(πx)  
- 수치해 오차: < 0.04  
- PDE 잔차: < 0.05  
  
---  
  
#### 🔍 논문 대비 검증 테이블  
  
| 컴포넌트 | 논문 참조 | 검증 방법 | 결과 | 상태 |  
| --- | --- | --- | --- | --- |  
| Lambda 예측 공식 | Fig 2e | 직접 수치 비교 | <1% 오차 | ✅ |  
| Funnel Inference | Sec 3.2 | 수렴 테스트 | 1–2회 수렴 | ✅ |  
| Multi-stage 학습 | Sec 3.3 | 잔차 추적 | 10⁻⁷ 달성 | ✅ |  
| Gauss–Newton | Eq 7–8 | 정밀도 벤치마크 | 10⁻¹³ | ✅ |  
| 경계 조건 | Sec 2.3 | Dirichlet BC | 오차 < 10⁻¹⁰ | ✅ |  
| 자기유사 변환 | Fig 3 | 좌표 변환 | 구현 완료 | ✅ |  
  
✅ **검증 완료율: 100% (논문에서 공개된 모든 공식)**  
  
---  
  
#### 🛠️ 기술적 하이라이트  
  
**핵심 혁신**  
  
1. **정밀도 목표 기반 학습**  
    
    ```python  
    # Stage 1: Adam warmup → 1e-6  
    # Stage 2: Fourier features → 1e-9  
    # Stage 3: Gauss–Newton → 1e-12  
    ```  
    
2. **메모리 효율화**  
    - Rank-1 Hessian 근사 → O(P²) → O(P)  
    - 1000배 메모리 절약  
3. **EMA Smoothing**  
    
    ```python  
    H_t = β * H_{t-1} + (1 - β) * (JᵀJ)_t  
    ```  
    
4. **자동 검증 시스템**  
    - 111/113 테스트 통과 (2 GPU skip)  
    - GitHub Actions CI/CD 완전 통합  
  
---  
  
#### 📊 실제 사용 예시  
  
```python  
from unstable_singularity_detector import UnstableSingularityDetector  
  
detector = UnstableSingularityDetector(equation_type="ipm")  
lambda_0 = detector.predict_next_unstable_lambda(current_order=0)  
  
print(f"Predicted: {lambda_0:.10f}")  
# Output: 1.0285722760 (논문값과 오차 0.000%)  
```  
  
---  
  
#### 🧩 전체 파이프라인 (10줄 요약)  
  
```python  
from examples.e2e_full_ipm import FullIPMPipeline  
from pathlib import Path  
  
pipeline = FullIPMPipeline(output_dir=Path("results/my_experiment"), grid_size=32)  
pipeline.run()  
# 7초 후 PDF 및 JSON 리포트 생성  
  
```  
  
---  
  
#### 📈 프로젝트 상태 (v1.3.2)  
  
| 항목 | 수치 |  
| --- | --- |  
| 코드 | 15,000+ lines |  
| 테스트 | 111/113 passing (98.2%) |  
| 문서 | 2,500+ lines |  
| 커밋 | 150+ |  
| 라이선스 | MIT |  
| Python | 3.8+ |  
| 주요 의존성 | PyTorch, NumPy, SciPy |  
  
---  
  
#### 🔐 투명성과 한계  
  
**명확한 독립성**  
  
- DeepMind와 무관한 개인 연구 프로젝트  
- 공개된 논문 수식만 사용  
- MIT 라이선스  
- 모든 한계 공개  
  
**현재 한계**  
  
- 보존량 위반: IPM 128% (네트워크 용량 한계)  
- Lambda 오차: Boussinesq 42% (경험식 보정 예정)  
- 정밀도: 데모 중심 (프로덕션용 아님)  
  
---  
  
#### 💬 피드백 환영  
  
- 🐛 [버그 리포트](https://github.com/Flamehaven/unstable-singularity-detector/issues)  
- 💡 [아이디어 제안](https://github.com/Flamehaven/unstable-singularity-detector/discussions)  
- 🤝 [기여 가이드](https://github.com/Flamehaven/unstable-singularity-detector/blob/main/CONTRIBUTING.md)  
  
> “논문만 있고 코드가 없는 세상”을 함께 바꿔갑시다.  
>   
  
---  
  
**Made with 🔬 by independent researchers, for open science**

## Comments



_No public comments on this page._
