본문 바로가기

EfficientNet3

딥러닝 이미지 분류: 클래스 세분화의 함정 시작하며;초기에는 초음파 영상이 입체인지 아닌지를 구분하는 것이 핵심 과제였다. 하지만 새로운 서비스 준비와 함께, 이미지 분류 기준을 보다 정교하게 세분화할 필요성이 생겼고, 이는 애초에 내가 지향했던 방향이기도 하다. 단순히 입체 여부를 판단하는 것을 넘어, 영상에 어떤 성장 지표가 (예: AC, BPD, FL) 포함되어 있는지를 구체적으로 분류하고 싶었다. 수많은 시행착오 끝에 구조가 또렷이 보이는 이미지는 ac, bpd, fl 등 긍정 클래스로, 구조 식별이 어려운 이미지는 부정 클래스로 나눠 학습시켰다. 여기서 핵심 기준은 영상 내 십자가 모양의 마커와 (marker) 어노테이션의 (annotation) 존재 여부다.마커와 어노테이션 모두 있는 경우 → 긍정 클래스로 분류 (ac, bpd, fl.. 2025. 7. 2.
AI 모델 학습부터 MLOps 운영까지: 직접 개발한 프로젝트 회고 시작하며;감회가 좀 새롭다. 관련 글을 쓸때마다 "언젠가 실 서비스에 적용해보면 재밌겠다..!" 로 마무리했는데, 그 날이 진짜 왔다. 아니 해냈다. 2025년 4월 14일 오전, 그동안 학습하고 실험해온 AI 기반 프로토타입을 실제 운영 중인 서비스 환경에 성공적으로 적용했다. 단순한 모델 개발에 그치지 않고, 의료 데이터를 입력으로 받아 AI 가 자동으로 분석한 결과를 실시간으로 제공하는 End-To-End 파이프라인을 직접 설계하고 구축했다. AI 추론은 GPU 없이 CPU 만을 활용하는 AWS ECS 환경에서 수행되며, 결과는 API 형태로 앱 서비스에 전달된다. ECS 기반의 인프라를 선택했다. 이유는 안정적인 확장성과 배포 용이성을 제공하며, 서비스 운영에 필요한 빠른 응답 속도와 효율적인 리.. 2025. 5. 25.
Hard Negative Mining: 모델이 틀린 데이터를 다시 학습시키는 방법 시작하며;딥러닝 모델을 학습하면서 성능이 일정 수준에서 정체되는 문제를 자주 겪었다. 특히 분류(Classification) 문제에서 모델은 쉽게 구분할 수 있는 이미지에는 꽤 높은 정확도를 보였지만, 조금만 애매하거나 기준이 모호해지는 사례에서는 성능이 급격히 떨어졌다. 이 문제를 해결하고자, 이전 게시글에서 소개했던 방식보다 더 나아가 분류 클래스를 세분화해보기도 했다. 예를 들어 ac, bpd 등 각각에 대해 별도 부정 클래스로 분리해 na_xxx, no_xxx 처럼 구성 후 학습했다. 하지만 결과는 예상만큼 긍정적이지 않았다. 세분화한다고 해서 혼란스러운 사례들이 더 잘 분류되는 건 아니었고, 오히려 전체적인 정확도가 떨어지는 부작용이 생기기도 했다. 처음에는 그 다양성을 반영하려고 세분화를 했지.. 2025. 3. 22.