1
현대모비스 지원
강호승
hoseunggg@gmail.com
github.com/hoseunggg
Suwon, KR
Profile
Experience
소프트웨어 마에스트로 17기 연수생2026 — Present
Education
성균관대학교
기계공학, 경제학, 컴퓨터공학 전공
2021 — 2026
Other experience
Activities
성균관대학교 프로그래밍 수업 TA2025 — 2026
SW 교육 등 자원봉사 300시간 이상
Qualifications
Machine Learning Engineering on AWS
Google AI Fundamentals
SQLD, ADsP, 3D프린터운용기능사
Achievements
Publications
Predicting Bitcoin Returns via Machine Learning with On-Chain Data
Investment Analysts Journal · SSCI
A Study of Optimization Algorithms for ASR Model Training
ASK 2026 학술발표대회 논문집 · KIPS
Honors
대통령과학장학생2025
정보통신기획평가원장상2022
세아해암학술장학재단 제30기 장학생2022
Skills
Languages
Python, C++, C, SQL
ML / AI
PyTorch, Scikit-learn, pandas, NumPy
Backend · Infra
FastAPI, AWS, Docker
2
Project 01
searchON GEO 최적화 플랫폼
웹사이트가 GPT, Claude 등 AI 답변에서 더 잘 인용되도록 돕는 SaaS 플랫폼
[link]github.com/hoseunggg/geo-optimizer
[stack]Python, vLLM, FastAPI, Docker, AWS
Background
생성형 엔진 최적화(GEO, Generative Engine Optimization)는 ChatGPT, Gemini, Perplexity와 같은 생성형 AI 검색 엔진이 웹 콘텐츠를 발견·이해하고 답변에서 인용하도록 최적화하는 기술입니다. 본 프로젝트는 웹페이지의 구조와 콘텐츠를 분석해 생성형 AI 검색 환경에서의 발견 및 인용 가능성을 진단하고, GEO 관점의 최적화 방향을 제공하는 서비스입니다.
(Left) GEO 적용 전 검색 화면 / (Right) GEO 적용 후 검색 화면
(Left) GEO 적용 전 검색 화면 / (Right) GEO 적용 후 검색 화면
3
Project 01
searchON GEO 최적화 플랫폼
LLM Inference Pipeline
AI Pipeline
HTML 정제 파이프라인을 통해 웹페이지의 노이즈를 제거하고, 정제된 콘텐츠를 gpt-oss BF16 기반 vLLM 추론 서버에서 분석하여 JSON-LD를 생성했습니다. FastAPI와 Docker로 추론 API를 서비스화하고, GPU 인스턴스와 EBS 모델 캐시를 활용해 모델 로딩 및 재배포 효율을 개선했습니다.
4
Project 01
searchON GEO 최적화 플랫폼
My contribution
GPU Infra Design
AWS L40S 기반 인스턴스에 vLLM 추론 서버를 구축하고 오픈 웨이트 모델 서빙 환경을 구성했습니다. 운영 과정에서 할루시네이션 사례를 확인한 뒤, BF16 모델 운용을 위해 RTX PRO 6000 Blackwell 기반 인스턴스로 이전했습니다. CUDA 기반 Docker 환경을 유지해 GPU 변경에 따른 애플리케이션 수정 없이 추론 환경을 이전했으며, 모델 가중치와 Hugging Face 캐시는 EBS 볼륨을 활용해 재사용했습니다.
Model Selection
Nemotron, gpt-oss, Qwen 계열 모델을 동일한 태스크로 비교해 선정 과정을 진행했습니다. 특히 양자화가 출력 품질에 미치는 영향을 검증하기 위해 동일 모델의 양자화 버전과 BF16 버전을 직접 비교했고, 양자화 버전에서 원문에 없는 값이 생성되는 문제를 확인했습니다. 추론 시간과 JSON 문법 유효성을 주축으로 평가해 gpt-oss BF16을 최종 선정했습니다.
Hallucination Mitigation
JSON-LD 생성 과정에서 원문에 없는 값이 포함되는 할루시네이션 문제를 확인하고, 입력과 출력 양단에서 통제 장치를 설계했습니다. 입력 단계에서는 script, style, base64와 분석에 불필요한 UI 요소를 제거하는 HTML 클렌징 파이프라인을 적용해 모델이 참조할 본문만 남기고 입력 토큰 수를 줄였습니다. 출력 단계에서는 json.loads 기반 구문 검증을 적용해 파싱에 실패한 응답이 후속 파이프라인으로 전달되지 않도록 구성했습니다.
5
Project 02
Bitcoin Return Prediction
온체인 데이터와 머신러닝을 결합해 비트코인 수익률을 예측한 연구
[link]github.com/hoseunggg/bitcoin-return-prediction
[stack]Python, Scikit-learn, Pytorch, pandas, NumPy
논문 표지
논문 표지
Problem
비트코인은 변동성이 워낙 커서 전통적인 계량경제 모델로는 예측에 한계가 있습니다. 또한 가격 형성의 단서는 오히려 온체인 데이터에 담겨 있지만, 기존 연구들은 외부 요인에만 집중하느라 이를 제대로 활용하지 못했습니다. 그래서 온체인 데이터를 피처로 통합한 머신러닝 모델이 예측 성능을 실제로 끌어올리는지 검증하고자 했습니다.
Approach
FRED API 등에서 수집한 일별 데이터로 피처를 설계하고 금리 같은 거시 지표와 결합했습니다. AR부터 RF, XGBoost까지 여러 모델의 학습·평가 파이프라인을 구현했습니다. 그리드 서치로 하이퍼파라미터를 튜닝한 뒤, one-step-ahead 롤링 윈도우로 예측을 수행해 look-ahead bias를 차단했습니다.
Result
랜덤포레스트가 모든 변동성 구간에서 최고 성능을 기록했고, RMSE 기준 AR 대비 약 40% 개선됐습니다. 변수별 기여도 분석을 구현해 채굴 난이도 등 공급 측 온체인 변수가 예측력을 높인다는 점을 정량적으로 보였습니다. 이 결과는 Investment Analysts Journal(SSCI)에 1저자 논문으로 게재됐습니다.
6
Project 02
Bitcoin Return Prediction
My contribution
Pipeline
CoinGecko, FRED, Yahoo Finance에서 온체인, 거시, 시장 데이터를 수집해 검증, 시계열 정렬을 거쳐 피처 매트릭스를 구성했습니다. 예측은 롤링 윈도우 루프로 자동화했습니다. 윈도우마다 학습 70%, 검증 30% 분할로 하이퍼파라미터를 튜닝하고, 전체 구간으로 재학습해 다음날 수익률을 예측한 뒤 윈도우를 하루씩 밀며 반복하는 구조입니다. 이 파이프라인 위에서 AR, RF, XGBoost, SVM, MLP 5개 모델을 동일 조건으로 비교하고, RMSE와 OOS R²로 평가했습니다.
7
Project 02
Bitcoin Return Prediction
Troubleshooting
Fixing Data Gaps
비트코인은 24/7 거래되지만 S&P 500, 국채 금리 같은 전통 자산은 주말·휴일 데이터가 비어 있습니다. 이 때문에 CoinGecko, FRED, Yahoo Finance 세 소스의 날짜 인덱스가 서로 어긋났습니다. 공통 캘린더 기준으로 인덱스를 통일한 뒤, 결측값은 forward fill로 처리했습니다. 미래 값을 참조하는 방식은 look-ahead bias가 생기기 때문에 배제했습니다. 이 전처리를 거치면 거래일 체계가 다른 데이터도 Rolling Window 파이프라인에 그대로 태울 수 있습니다.
Speeding Up Experiments
모델 5개 × Window 크기 × 하이퍼파라미터 조합이라 실험 한 사이클에 수 시간이 걸렸습니다. 각 (모델, Window) 학습 작업은 서로 의존성이 없어서, Python multiprocessing으로 작업을 워커에 분배하는 병렬 구조로 전환했습니다. 결과적으로 전체 실험 시간이 약 30% 줄었고, 모델 비교와 하이퍼파라미터 탐색 사이클을 훨씬 짧게 돌릴 수 있게 됐습니다.
Checkpoint & Recovery
Rolling Window 실험은 러닝타임이 길어서 OOM이나 환경 문제로 중간에 죽으면 전부 재실행해야 했습니다. 그래서 Window 단위로 예측 결과, 평가 지표, 하이퍼파라미터를 CSV에 저장하는 체크포인트를 넣었습니다. 재시작 시 기존 결과 파일을 스캔해 완료된 Window는 스킵하고 남은 작업만 이어서 실행합니다. 중단이 발생해도 완료분은 그대로 재사용되므로 실험을 처음부터 다시 돌릴 일이 없어졌습니다.
8
Project 03
얼굴 추적 스마트폰 거치대
카메라로 얼굴을 인식해 사용자의 움직임을 자동으로 따라가는 5축 스마트폰 거치대
[link]github.com/hoseunggg/2026_Capstone_Face_LandMarker
[stack]C/C++, Python, MediaPipe, OpenCV, Flask, ESP32
Background
영상 통화나 1인 촬영에서는 사용자가 움직일 때마다 카메라 방향을 직접 맞춰야 합니다. 이 불편을 없애고자 졸업작품으로 5축 추적 거치대를 설계했습니다. 스마트폰이 온디바이스 AI로 얼굴 위치를 실시간 추적하면, 거치대가 스마트폰 방향을 자동으로 제어합니다.
Approach
얼굴 검출은 외부 서버 없이 스마트폰에서 온디바이스로 처리했습니다. MediaPipe와 OpenCV로 얼굴 랜드마크를 검출하고, 얼굴 중심과 화면 중심 사이의 수평·수직 픽셀 오차를 실시간으로 산출합니다. 영상이 기기를 벗어나지 않아 프라이버시를 지키면서도, 이 오차 값만으로 거치대를 제어하도록 설계했습니다.
Control Strategy
픽셀 오차에 비례해 축별 회전량을 산출하는 비례 제어를 구현했습니다. 오차가 작을 때는 Dead Zone으로 반응을 억제해 서보의 잔떨림을 없앴고, 오차가 클 때는 출력 상한을 둬 모터가 급격히 튀는 것을 막았습니다. 축별 게인은 반응 속도와 안정성이 균형을 이루도록 반복 튜닝했습니다.
(Up) 실제 웹 구동/ (Down) 하드웨어 실물
(Up) 실제 웹 구동/ (Down) 하드웨어 실물
9
Project 03
얼굴 추적 스마트폰 거치대
[ 시스템 구성도 : 카메라 → MediaPipe → Flask → ESP32 → 서보모터 ]
[ 시스템 구성도 : 카메라 → MediaPipe → Flask → ESP32 → 서보모터 ]
Architecture
스마트폰 브라우저가 카메라 영상을 받아 MediaPipe로 얼굴 위치를 검출하고, 산출된 좌표는 Flask 중계 서버를 거쳐 ESP32로 전달됩니다. ESP32는 이 좌표를 5축 서보모터의 PWM 제어 신호로 변환합니다. 영상 대신 좌표 데이터만 전송해 전송량을 최소화한 덕분에, 검출·계산·전송 파이프라인 전체를 20 FPS 이상으로 유지하며 실시간 추적을 구현했습니다.
10
Project 03
얼굴 추적 스마트폰 거치대
My role
MediaPipe, OpenCV 기반 얼굴 인식 알고리즘 구현과 인식 결과, 실제 기기 동작 간 오차 분석을 담당했습니다. 얼굴 검출은 스마트폰 브라우저에서 온디바이스로 동작하도록 구성했고, 검출 상태와 오차 값을 실시간 확인할 수 있는 웹 인터페이스도 직접 구현했습니다. 산출한 좌표와 자세 값은 제어부가 곧바로 활용할 수 있는 형태로 가공해 전달했습니다.
Collaboration
인식, 제어, 기구 등 서로 다른 전공의 팀원으로 구성된 팀에서 팀장을 맡아 프로젝트를 이끌었습니다. 모듈 간 연결이 어긋나지 않도록 좌표와 오차 데이터의 규격과 전달 형식을 정의하고, 인식부와 제어부가 맞닿는 지점은 직접 구현했습니다. 전공별 용어와 관점 차이는 기계공학과 컴퓨터공학을 함께 공부한 배경을 살려 도메인 사이를 잇는 소통 창구 역할로 풀었습니다.
Troubleshooting
미세한 좌표 변화에도 서보모터가 반복 작동하며 떨리는 문제가 있었습니다. 오차 값을 로그로 추적해보니 임계값 없이 미세 오차가 그대로 제어 신호로 전달되는 것이 원인이었고, 제어부와 협업해 Dead Zone을 도입했습니다. 임계값은 반응성을 해치지 않는 선에서 실측으로 조정해 불필요한 진동을 제거했습니다.
Result
사용자의 이동 방향과 속도를 바꿔가며 반복 테스트해 화면 이탈과 추적 지연이 발생하는 조건을 찾아냈습니다. 이를 바탕으로 인식과 제어 파라미터를 조정해 약 ±10° 범위에서 안정적인 추적 성능을 확보했습니다.